Developing Apama Applications
Apama offers multiple approaches to developing Apama applications. Your development team can use one, two, or all three approaches in a single application.
Developers can make use of the full set of APIs and technologies within the
Apama architecture to create sophisticated, customized CEP solutions. Developers can create applications directly in
Apama native event processing language (EPL) or in Java via
Apama’s Java in-process API for processing events.
Developers and business analysts can create scalable applications that process events originating from very large populations of real-world entities. Scaling, both vertically (same machine) and horizontally (across multiple machines), is inherent in
Apama query applications. Scaled deployments on multiple machines use
Terracotta’s distributed cache technology to maintain and share application state. This makes it easy to deploy across multiple servers, and keep the application running even when some servers are taken down for maintenance or fail.
Apama queries can be used alongside EPL monitors in the same correlator process, interacting by sending events between them.
Business analysts can also use
Apama’s Event Modeler to create
scenarios without having to write code. A scenario is a sequence of event monitoring and event responses that constitutes a single business activity. The Event Modeler is a graphical environment that complements
Apama’s event processing language.
Apama’s Data Player accelerates the development/deployment cycle of EPL applications, Java applications, and scenarios by letting users pre-test applications using event streams captured in Apama. Users can investigate the likely behavior of Apama applications prior to deployment via simulation, or analyze the actual performance of those applications already in production. Users can select event streams to test, and specify segments of time from the past to use (for example, an entire day or a specific 30-minute period). Users can accelerate replay speeds to many times the actual live speeds, or slow them down or pause for more careful exploration of event processing operations.