Products & Services

High Level Authoring Tools

The real value of event processing technology is the ability to express the logic to be applied to incoming data streams - the "rules" if you will - in high level languages or using high level tools. This speeds implementation and deployment by freeing the user to focus on the business logic without worrying about the underlying data handling or how to achieve high performance in a real-time environment.

What is "Authoring"?

In order for the Aleri Streaming Platform to work, it needs to load a data model that describes the format of the incoming data and the logic to be applied to create derived streams of data that can be used to trigger a response, feed into another application, or for display on a "dashboard". We call the definition of the data model "authoring".

Choice of Environments, Languages

Aleri is unique in giving users a choice of tools and languages for authoring a data model. This allows each user to choose the method they are most comfortable with, to minimize the learning curve, and to maximize efficiency.

  1. The Aleri Studio is a visual IDE based on the EclipseƔ framework. It guides the user through the creation of a model and minimizes any learning curve by letting the user visually create the data flow, set properties of individual streams, and enter expressions.
  2. Aleri SQL follows the SQL standard with a few extensions for streams. For anyone familiar with using SQL to define a query, this provides a familiar way to get running quickly and is also a very concise and efficient way of defining the data model.
  3. Aleri XML is standard XML following the Aleri XML Schema (or XSD). The user can create an XML file that defines each derived stream as an element along with it's associated attributes and child elements. This is also a very efficient way of working and provides an option that is well suited to automatic generation of a model or portions of a model via scripts or translators.

How does SQL work with Streams?

It might not seem obvious at first that SQL would be a language for complex event processing, but it's actually a natural. The Aleri event processor is built on a relational dataflow architecture. A stream can be viewed as a "table" where each row arrives one at a time and where you normally don't save all the rows, but only save a specific number, or for a specific time window. Incoming messages can add a row to the table, delete a row from the table, or update a row in the table. Normal relational operators can then be used to SELECT data, combine data from multiple tables (Join), filter data (WHERE, HAVING), aggregate (GROUP), etc. Thus an SQL SELECT statement is a well defined syntax that can be used to create a new data stream - i.e. a derived stream. A derived stream in the Aleri environment is analogous to a Materialized View in a relational database.

Support for SQL, not built around SQL

Some people see SQL and immediately think "relational database". While Aleri supports SQL for expressing event processing logic, it is not architected around SQL. The Aleri Streaming Platform has been designed from the ground up around a high performance data flow architecture that is event driven. Thus while it borrows some of the concepts from the world of relational databases, and offers Aleri SQL in support of a widely used, well understood standard for manipulating data sets, it does not rely on SQL internally. That is why Aleri is able to offer a choice of authoring environments and languages to suit the varied needs and preferences of different users.

Watch our video presentation and learn more about Complex Event Processing

YouTub