Apama 10.7.2 | Developing Apama Applications | Developing Apama Applications in Java | Overview of Apama JMon Applications
 
Overview of Apama JMon Applications
 
Introducing JMon API concepts
About event types
About monitors
About event listeners and match listeners
Description of the flow of execution in JMon applications
Parallel processing in JMon applications
Identifying external events
Optimizing event types
Logging in JMon applications
Using EPL keywords as identifiers in JMon applications
This part provides information and instructions for using Apama's in-process API for Java, called JMon, to write applications that run on the correlator. To develop an Apama application you can use the correlator's native Event Processing Language (EPL) or JMon. This part focuses exclusively on how to use JMon to write an application that runs on the correlator.
JMon reference documentation is provided in Javadoc format.
Important:
Apama provides both EPL and JMon as ways to create powerful Complex Event Processing (CEP) applications. Both types of application can use Apama's event expressions to set up listeners that detect patterns of events. With JMon, however, there are restrictions on the Apama capabilities that can be used. Therefore, for new applications Software AG strongly recommends choosing the more powerful EPL language over JMon. A common pattern for writing the main logic and event expressions for a CEP application is to use EPL (not JMon), with the EPL code calling Java plug-ins (see Writing EPL Plug-ins in Java) as needed for specific operations such as invoking a third-party library. Keep in mind that a Java plug-in is not the same as a JMon application, and JMon - though not deprecated - should be considered a legacy feature. Any future enhancements in this area will be made to the Java plug-in mechanism and not to JMon. Any customer application that needs to tightly integrate CEP logic with Java libraries should use the more modern pattern of EPL calling into Java plug-ins.
JMon restrictions include:
*Streams cannot be defined.
*Multiple contexts are not supported.
*Channels are not supported.
*Decimal data types are not supported.
*Other EPL plug-ins cannot be called.
The correlator is Apama's core event processing and correlation engine. Interfaces to the correlator let you inject monitors that
*Analyze incoming event streams to find patterns of interest
*Specify the actions to undertake when the correlator identifies such patterns
You can use the Apama JMon API to write applications that are to be deployed on the correlator.
The correlator embeds a Java Virtual Machine in which Apama JMon applications can be loaded and run.
The JMon API provides a suite of Java classes that allow a developer to build a Java application, and then inject it into the correlator. Apama JMon applications can define listeners, which specify patterns and sequences of events to look for and actions to carry out when the correlator detects those events.
You can develop Apama JMon applications in Software AG Designer. When you use Software AG Designer to develop an application, it can automatically generate a framework for your JMon event and JMon monitor files.
For more information on developing JMon applications in Software AG Designer, see, Adding a new JMon application, Adding a JMon monitor, and Adding a JMon event.
Note:
Apama includes the in-process API for Java (JMon) and the client API for Java. In most cases, the context makes it clear which API the discussion is addressing. When this is not clear, the APIs are referred to as the JMon API or Apama client API for Java.