Distinguishing architectural features
Apama inverts the paradigm of traditional data-centric systems. Rather than the store > index > search model of those architectures, Apama introduces the correlator — a real-time, event processing engine. An Apama application comprises monitors and/or Apama queries that specify the events or patterns of events that interest you. These specifications are the logical equivalent of database queries. After you load monitors and /or Apama queries into the correlator, incoming events flow over them and they monitor these event streams for the events and patterns you specified. When a matching event or pattern is found the correlator processes it according to the rules you specify.
Apama's architecture is further distinguished by its ability to support huge numbers of monitors and queries operating simultaneously. Each can have its own logic for monitoring the event streams, seeking out patterns and, upon detection, triggering specified actions.
The correlator supports two main programming languages: EPL and Java. EPL, Apama’s native event programming language, lets developers define rules for processing complex events. Such rules let the correlator find temporal and causal relationships among events. Developers who prefer to program in Java can use the correlator's in-process API for Java (called JMon). In addition, the Event Modeler GUI lets non-programmers define scenarios for handling events. Event Modeler translates scenarios into monitors.
Messages on a variety of transports, such as an Enterprise Service Bus (ESB), carry events to and from event correlators. Apama adapters translate application-specific data into Apama application event formats that the correlator can process. For example, Apama trading systems integrate with various exchanges by means of adapters that translate between Apama and market data feeds or order management protocols.
Apama’s architecture also provides tools for creating dashboards that let you manage your event processing scenarios. You can use Apama dashboards to start, stop, parameterize, and monitor event processing from client applications.
The Apama ADBC (Apama Database Connector) adapters provides a mechanism to capture and to replay event streams from JDBC/ODBC-compliant third-party databases. Together, the ADBC standard adapters and Apama’s Data Player in Software AG Designer let you analyze the actual performance of scenarios already in production, and also investigate the likely behavior of Apama scenarios prior to deployment.
Apama’s architecture provides a monitoring and management service that enables centralized configuration of an Apama deployment. A monitoring and management console lets you configure and assess the status of all Apama components in your deployed system.
Apama components can be connected to each other by executing the Apama engine_connect utility with specification of an explicit point-to-point connection or by using Software AG's Universal Messaging (UM) message bus.
The following figure illustrates Apama architecture. Each component is described later in this section.