StreamBase Studio

StreamBase Studio™, one of three components of the StreamBase Event Processing Platform, is a powerful Eclipse-based integrated development environment (IDE) which enables developers to desing real-time applications using the industry's first and only graphical event-flow language (StreamSQL EventFlow). Studio users can also write applications in the standards-based StreamSQL text language--the leading SQL extension for streaming data. Development is typically cut to a fraction of the time compared to custom-coding or other alternatives. Studio provides rich user interface support for the full application lifecycle, spanning feed integration, application modeling, development, stream recording/playback, testing, debugging, and integration with downstream systems and sachboards.
Based on the Eclipse open development platform, StreamBase Studio also provides the unique advantage of enabling developers to leverage the entire ecosystem of Eclipse plug-ins from within the StreamBase IDE. This includes capabilities for source code version control, task management, graphical UI development and integration, XML editing, and SQL design.

[+] Click to enlarge
StreamBase Studio removes much of the complexity of creating a streaming application by bringing together the infrastructure components behind the scenes, so that developers can devote their energies to the most important task-implementing business logic. At the same time, developers with expertise in C++ or Java programming can also readily leverage existing code in StreamBase applications.
High-Level Programming
StreamBase Studio enables developers to leverage the emerging standard StreamSQL language graphically via a palette of StreamSQL operators which can be "dragged and dropped" onto a drawing canvas. Using this GUI, the user can assemble the components that comprise the target application in a logical way and visually show how they are related.
As an alternative to the graphical interface, StreamBase also provides a textual StreamSQL interface that is identical in its expressiveness. The textual representation can be generated by and embedded into other programs. The mapping between the graphical and textual representation allows developers to choose the programming approach with which they are more comfortable. StreamBase operators provide developers with a complete set of high level commands in which to express common time-series idioms. Users familiar with database programming will find StreamBase operators similar to relational database operators. In addition to combining and correlating multiple streams of data, business rules can be defined to filter, compute and aggregate the data needed for the business function. StreamBase also provides a variety of built-in analytics and statistical functions.
Development Cycle Tools
The StreamBase authoring tool does much more than to allow developers to write application logic. It is an integrated environment for building, testing, and deploying applications. StreamBase includes several tools to help with many stages of the application life-cycle, including the following key components:
- StreamBase Feed Simulator lets developers connect to a running StreamBase application and submit simulated data to it. This tool can help developers quickly test the validity and performance of a StreamBase application.

[+] Click to enlarge
- StreamBase Debugger lets users pause a running StreamBase application, and then step through the processing to understand how and when individual operators or queues are handling input data.

[+] Click to enlarge
- StreamBase Monitor lets developers view information about streaming data, such as the number of tuples that arrived at each operator, and how many of them passed the condition set by the operator and moved into the next one.

[+] Click to enlarge
- StreamBase Record and Playback lets developers capture incoming data in real time and played back to test new ideas and strategies on historical data.

[+] Click to enlarge
- StreamBase Java API lets developers create specialized StreamBase operators, clients, adapters, and functions. For instance, an embedded Java Virtual Machine (JVM) runs Java operators in a StreamBase application as equivalent to native StreamBase operators. And the easy-to-use Operator API lets you create your own operators, which you can then import directly into your StreamBase application.

[+] Click to enlarge
For developers needing to add other specialized capabilities, StreamBase Java, C++, and .NET APIs can be dynamically linked into a StreamBase application and run in-process at high speeds. And the StreamBase Java API can be used with wizard-based templates as part of StreamBase's Eclipse-based plug-in architecture. Using these APIs, users can create clients, operators, functions, and adapters. For more details, see the StreamBase Developer Zone Library, which includes technical articles about these and related topics.