Bring business analysis to streaming events
AptSoft's and iSpheres' complex event processing solutions provide effective ways to sift business meaning from system events in real time
This low-overhead assembly is an efficient processing mechanism, capable of standing up to heavy volume, but it comes at the expense of enterprise-grade persistence over long-running, concurrent processes. Event Server would be well-suited to detecting an arbitrage opportunity or for monitoring brokers for market timing, where the tell-tale events happen quickly and in no particular order. It would be less suited to monitoring longer running processes that involve parallel, concurrent transactions, such as those found in commercial lending and other financing scenarios.
At this stage of the game, all EPLs are proprietary; no open standards yet exist. Whereas AptSoft’s rule language is friendly to businesspeople, iSpheres’ is quite friendly to developers. iSpheres EPL is fully extensible, allowing users to add new functions and extend the functionality of EPL’s keywords and components. Enterprise developers will appreciate the ability to tinker under the hood to meet custom specifications.
I found the EPL syntax clean and unambiguous. Using its On-When-Then framework (with Catch for exception handling) I could set up triggers, conditions, and actions in response to stream events. The EPL Studio -- used for programming in EPL -- offers a menu-driven UI for defining Event Server applications, enabling me to specify stream and data providers, build listeners, and construct templates and event definitions -- EPL rules -- over time-based constraints. With features such as one-click EPL code verification and dependency checking, EPL Studio proved helpful.
On the downside, the coding editor offered only stark basics, namely color-coded keywords. Niceties found in commercial development environments -- syntax checking, type ahead, auto-indent -- are nonexistent. Worse, EPL provides none of the plain-English abstraction found in AptSoft.
Event Server also lacks a code repository, simulation tools, graphical event flow modeling, and an integrated test facility. Debugging can be enabled at the server level, but the IDE offers no interface for it. You must leave the console to run the newly created server. On the plus side, I found the multi-event macros and named views beneficial in defining complex event situations.
Event Server’s reporting facilities amounted to little more than text screens, with no ability to sort or correlate among events. You will need to build your own or bridge the reporting gap with external BI tools for analysis. Officials at iSpheres indicated the next release would offer a report module.
Administrative tools for server and process management provided granular views of operating parameters. I could not only see current streams but even change and add event definitions -- that is, EPL rules -- to my server on the fly. Although change controls would be a nice addition, this does show how quickly you could update processing rules in fluid business circumstances.
Event Server is great for developers. It’s sleek, responsive, and well-styled for driving complex event processing. However, the scenarios in which it might be usefully applied are limited by the absence of a persistent data store, adapters for enterprise systems, and bells and whistles for plugging in line-of-business staff. Until iSpheres provides dashboards and better tools for business decision makers to monitor the system engine for ongoing changes in event patterns and to easily tweak the process rules in response, Event Server will remain best suited to relatively hard-coded deployments.