Apama 10.7.2 | Connecting Apama Applications to External Components | Developing Custom Clients | The Client Software Development Kits
 
The Client Software Development Kits
 
The client libraries
Working with event objects
Logging
Exception handling and thread safety
Apama applications that are to run within the correlator can either be built natively in the Apama Event Processing Language (EPL) or in JMon.
Although Apama includes a suite of tools to allow EPL code to be submitted to the correlator interactively, as well as submit events from text files, it is often necessary to go further and integrate the correlator directly with other software. Often this is required in order to drive custom graphical user interfaces, or to deliver messages to and receive messages from the correlator (like market data and order management).
In environments that require the correlator to be integrated with middleware infrastructure and data buses, it is usually preferable to do this with Apama's Integration Adapter Framework (IAF). For information on developing adapters with the IAF, see The Integration Adapter Framework.
If your environment needs to interface programmatically with the correlator, Apama provides a suite of Client Software Development Kits. These allow you to write custom software applications that interface existing enterprise applications, event sources and event clients to the correlator. These custom applications can be written in C++, Java or .NET. The following interface layers are available:
*Engine Management API. Low-level base API on which other APIs are built. It provides facilities to inject/delete EPL, send/receive events, inspect and monitor engines. See Engine Management API for detailed information.
Note:
In most cases, we recommend using one of the higher-level APIs listed below in preference to the Engine Management API.
*Engine Client API. More powerful API built on top of the Engine Management API. It provides all the functionality provided by the Engine Management API along with functionality such as auto-reconnection or listeners for property changes. See Engine Client API for detailed information.
*Event Service API. More powerful API focused around sending and receiving events to and from channels. It provides synchronous or asynchronous pseudo-RPC mechanisms. See Event Service API for detailed information.
*Scenario Service API. Provides an external interface to DataViews and queries. See Scenario Service API for detailed information.
The Engine Management API is available for C++, Java and .NET. The other APIs are available only for Java and .NET.