Getting ready to develop Apama applications

The discussions in the following topics provide a foundation for developing your Apama application.

Becoming familiar with Apama

To become familiar with Apama, you should

  • Work through the tutorials in Apama Plugin for Eclipse. On the Welcome page, click Tutorials under the Apama heading. The tutorials provide step-by-step instructions for developing EPL applications.
  • Examine sample code. Your Apama installation directory contains a samples directory that contains many examples of monitors, EPL plug-ins, Apama client programs, and more.
  • Read all of this material, Introduction to Apama, so that you have a broad understanding of what Apama is all about.
  • Understand what is covered in the Apama user documentation. Peruse the documentation so that you know where to look for particular information. You can then refer to the documentation for the component you need to use.

Introduction to Apama Plugin for Eclipse

Info
The Apama Plugin for Eclipse is deprecated and will be removed in a future release.

Apama Plugin for Eclipse is a tool for implementing Apama applications. It contains a set of Eclipse plug-ins that provides a number of Eclipse perspectives:

  • Use the Apama Workbench perspective when you are new to Apama. This perspective provides a simplified view of Apama features that makes it easy to get started developing Apama applications.
  • Use the Apama Developer perspective when you are comfortable using the Apama Workbench perspective. The Developer perspective gives you far more control over your Apama project than the Apama Workbench perspective. For example, you can view more than one Apama project at one time, and you can specify launch configuration parameters.
  • Use the Apama Runtime perspective for monitoring and debugging the execution of Apama applications.
  • Use the Apama Debug perspective to debug your Apama application. The Debug perspective allows you to set break points, examine variable values, and control execution.
  • Use the Apama Profiler perspective to profile your Apama application. The Profiler perspective allows you to see which components of your application are consuming the most CPU time or to see if there are other bottlenecks in the application.

When developing an Apama application, the first step is to create an Apama project to contain your application files. An Apama project is a convenient way to manage the various files that make up your application. For example, an Apama application can include the following types of files:

  • EPL files (.mon extension).
  • Files that contain sample events (.evt extensions).
  • C++, Java and.NET files that contain Apama client applications or EPL plug-ins.
  • Text, HTML or XML files.

You can add and manage all of these files from your Apama project in Apama Plugin for Eclipse. In addition, Apama Plugin for Eclipse provides an EPL editor whose features include content assistance, auto-bracketing, templates for frequently entered constructs, and problem detection. After you build an Apama project, Apama Plugin for Eclipse flags any line that contains an error.

You can use Apama Plugin for Eclipse to test your application. Apama Plugin for Eclipse provides Apama features that inject your application into the correlator, send test event streams to the correlator, launch adapters, and configure and monitor the operation of your application in a test environment.

Finally, Apama Plugin for Eclipse provides tools for packaging your application so that you can deploy it. See Overview of developing Apama applications.

Steps for developing Apama applications

Typically, Apama development is an iterative cycle:

Illustration of the development cycle

Multiple contributors with varying expertise can work concurrently to develop an Apama application.

The main steps for developing an Apama application include:

  1. Model: Design your application. Important tasks are modeling the events that your application needs to handle and identifying the services that your application must provide.

  2. Implement: Use Apama Plugin for Eclipse to create an Apama project to contain your application files (EPL files, event files, and so on). Since Apama applications typically consist of many components, it is often possible to concurrently implement them, particularly if several people are working on the application:

    • Write EPL programs in Apama Plugin for Eclipse.
    • Develop Apama client applications.
    • Implement or develop connectivity plug-ins.
    • Develop EPL plug-ins that extend the correlator’s standard features.
  3. Test: In Apama Plugin for Eclipse, Apama provides a runtime perspective and Scenario Browser view that help test applications as they are built. You can automate testing through the use of command-line clients.

  4. Deploy: Docker containers (on Linux) are a great way to deploy Apama applications. Or use the macro definitions in the Ant script that is provided with Apama. You can also use the Ant export wizard in Apama Plugin for Eclipse to generate a simple Ant script for deploying your Apama project. Tune Apama applications for optimum performance.

    See Overview of Deploying Apama Applications.

Overview of starting, testing and debugging applications

Note: The Apama Plugin for Eclipse is deprecated and will be removed in a future release.

Apama Plugin for Eclipse provides tools for running your Apama application in a test environment.

In the Apama Workbench perspective, click the Start button to start a correlator and inject the current project. The Scenario Browser panel is then shown. Use the Scenario Browser to examine parameter values during execution. You can monitor execution in the Console and Problems panes.

In the Apama Developer perspective, select the project you want to test. Select Run from the menu bar and then select whether you want to run, debug or profile your Apama application. You can specify one or more launch configurations for your project.

In the Apama Runtime perspective, you can monitor your running application.

See Launching Projects and Debugging EPL Applications.