Understanding the different user viewpoints
Apama has been designed for a range of users. The figure below shows the spectrum of users from application developers to business analysts to pure business users. Apama provides different facilities for each of these classes of user. After the initial design is set for an Apama application, multiple users can work concurrently to implement the design.
Application developers can make use of the full set of APIs and technologies within the Apama architecture to create sophisticated, custom, CEP solutions. Using Software AG Designer, they can create applications directly in EPL or Java. They can extend the capabilities of the Apama correlator with their own in-house analytic routines. Using the connectivity plug-in API or the Integration Adapter Framework (IAF), they can integrate with a new data service by developing a new adapter if one that can be plugged in does not already exist. They can also take advantage of low-level APIs for building custom client user interfaces in C, C++, Java and .NET.
Business analysts are provided with GUI tools (Query Designer, Dashboard Builder) to enable the creation of queries and dashboards without having to write code. A query is a self-contained processing unit suitable for applications where the incoming events provide information updates about a very large set of real-world entities. A query can be an application in its own right, or part of a bigger application. Query Designer provides features for creating reusable application components (parameterized queries).
Thus, there are several approaches to developing Apama applications. Your development team can use one, two or all three in an Apama application:
EPL. Apama's native event processing language.
Queries. Use EPL and the Query Designer GUI to create Apama query applications.
Java. Apama provides an in-process API for Java (called JMon) for processing events.
Pure business users are often only interested in the end-game application. The output of the Dashboard Builder GUI provides an immediately usable application for this purpose.