Introduction to Apama > Apama Architecture > Distinguishing architectural features
Distinguishing architectural features
Apama inverts the paradigm of traditional data-centric systems. Rather than the store > index > query model of those architectures, Apama introduces the correlator — a real-time, event processing engine. When you develop an Apama application, you create monitors that specify the events or patterns of events that interest you. These specifications are the logical equivalent of database queries. After you load monitors into the correlator, incoming events flow over them and they monitor incoming event streams for the events and patterns you specified. When a monitor finds a matching event or pattern, it processes it according to the rules you specify in the monitor.
Apama's architecture is further distinguished by its ability to support huge numbers of individual monitors 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 Java API. In addition, the Event Modeler GUI lets non-programmers define scenarios for handling events. Event Modeler translates scenarios into monitors. EPL, Java, and Event Modeler are three different approaches for developing Apama applications. A development team can use one or more of these.
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 Studio’s Data Player let you analyze the actual performance of scenarios already in production, and also investigate the likely behavior of Apama scenarios prior to deployment.
Finally, 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.
The following figure illustrates Apama architecture. Each component is described later in this section.
Copyright © 2013 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or Terracotta Inc., San Francisco, CA, USA, and/or Software AG (Canada) Inc., Cambridge, Ontario, Canada, and/or, Software AG (UK) Ltd., Derby, United Kingdom, and/or Software A.G. (Israel) Ltd., Or-Yehuda, Israel and/or their licensors.