Developing Apama Applications > EPL Streams: A Quick Tour
EPL Streams: A Quick Tour
Apama EPL allows code authors to express event-driven programs using natural event-processing constructs.
Note: This quick tour assumes that you are using monitors, and not Apama queries, in your Apama application.
An EPL program consists of a set of interacting monitors that receive, process and emit events. Monitor instances are self-contained, communicating with other monitor instances via events. An Apama application can thus be viewed as a dynamic network of interacting monitor instances communicating via events. Why dynamic? Because the application creates and destroys monitor instances in response to the external events received; similarly, the monitor instances dynamically subscribe and unsubscribe to particular event patterns or complex event expressions as needed. Thus, at any given instant, the application has only the monitor instances it needs and is only listening for the events of interest at that time. This novel approach makes Apama a highly efficient and responsive tool for complex event processing.
Complex event processing systems come in different flavors, one of which is event stream processing. The event stream processing approach is similar to the Apama approach, but tends to involve networks that are much less dynamic. These networks are constructed from streams and processing nodes, where a processing node is typically a query, defined using declarative, relational language elements.
Event stream processing is useful in cases where one or more flows of raw events are to be converted into a set of 'refined' flows of added-value events. For these operations, the use of event stream processing language elements allows these operations to be expressed more clearly and concisely than when using procedural language constructs. For this reason, Apama EPL includes event stream processing elements.
The event stream processing constructs in EPL maintain the Apama ethos of operational responsiveness. Thus you will find that Apama stream queries are not static and that they are closely integrated with the rest of the EPL language. Application developers can write code to add and remove stream queries as required, and the streams language elements allow the values controlling the stream query behavior to be varied dynamically.
For complete information about using Apama stream queries, see Working with Streams and Stream Queries.
Copyright © 2013-2015 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.
Use, reproduction, transfer, publication or disclosure is prohibited except as specifically provided for in your License Agreement with Software AG.