Stream catcher
The essential system components from both vendors consist of a core runtime engine for processing and correlating events in
memory, and a visual IDE used to piece together apps.
StreamBase Studio modeler defines schemas on streams and visually connects components into flows with filters, data maps,
and stream routing. Managing variables and data queries proved easy in my testing, and storage tables were a snap to set up
and access.
StreamBase showed good visual cues and component insight (ports and I/O data). Real-time data-type matching improved usability
by quickly detecting potential errors.
The new StreamSQL editor allowed me to create modules by hand with productivity-boosting features such as code assist and
parameter hinting. Although I’d prefer to see auto-completion rather than user-initiated pop-ups, the result assists developers
in learning StreamSQL. StreamBase provides a conversion utility for translating flow-based apps to editable StreamSQL, but
a better one-to-one relationship between apps and underlying code would iron out some of the compatibility creases moving
between the two.
Part of the Apama suite of tools, Event Modeler Professional Edition includes Scenario Manager, a rules-based IDE and graphical
state mapper that ties states and transitions to conditions and actions within rule definitions.
Although I could build up rules using the fly-out menu palettes, which showed only relevant variables and actions for my immediate
focus, I found it cumbersome. I don’t mean to suggest Apama was not ultimately capable and effective in its purpose. I only
wish for a more manageable interface that simplified rules development, management, and ultimately, comprehension, as rule
sets grew unwieldy.
In its favor, Apama’s approach does ensure valid rule creation, and its state/rule sync between development panels enhanced
navigation.
Both vendors showed solid features for aggregating data sets, managing time windows, filtering, and modifying event payloads
in flight.
Although both offer good access to finance and statistical functions, I found StreamBase to deliver better all-around string
and date manipulation features. StreamBase also has a useful function for exception catching, so division by zero, for example,
won’t crash your engine.
Apama’s Dashboard Wizard jump-starts JSP client interfaces, although it can only deliver and update text tables. For graphical
heads-up, you’ll want to use the full Dashboard Studio, a separate IDE for data binding the included collections of widgets:
charts (many stock-specific), tables, graphs, and meters.
Apama’s incomplete documentation and lack of help facilities disappointed me, in stark contrast to StreamBase’s abundant reference
materials and tutorials. For my money, I want my team going in with more support than the generic, PDF overviews provided
with Apama.
To the test
StreamBase Studio well-integrated simulation testing enabled me to feed historic simulation data into my application for playback.
I was able to use the onboard recorder to save live streams for later use, make manual changes into event payloads (good for
testing isolated issues), and use the included data randomizer to generate continuous loops of parameterized test data. StreamBase
also offers an add-on, StreamBase Chronicle, capable of storing terabytes of event stream info for later recall.