Apama Advent Calendar - 10 Dec 2021 - Apama Development Environments

Level: BEGINNER

Programmers are not alike, and all have personal preferences for different developer environments. For this edition of the Apama advent calendar, we will give you a quick tour through some of the various options we provide developers to get productive with Apama quickly.

Software AG Designer

Software AG Designer is our Eclipse-based IDE with specialized integration for the Apama product on the Windows OS. This is what we recommend as a place to start if you’ve never developed with Apama before.

Within Designer, you can create Apama projects. A project typically represents a single Apama application and serves as a way of keeping the resources of the project grouped. These resources can include (but are not limited to) EPL files, event files, Dashboard definition files, and bundles.

Designer comes with standard IDE features, such as syntax highlighting, autocomplete, and easy project running, with a simple press of a button being all you need to get the project running in a correlator including views of the outgoing event streams and logs. We also provide some demos and tutorials to bring you up to speed with both the capabilities of Apama and developing your skills with EPL.

Problems happen, and that is where Designer’s debugging functionality shines, which allows you to easily diagnose problems. In fact, not only does Designer support debugging local EPL files, it can even debug remote applications! Designer makes it easy to build integrations with third-party pieces of software utilizing “bundles”, pre-created assets that contain the relevant code to connect to third-party services, such as generic JSON, HTTP, and MQTT support, as well as specific connectors for services such as Cumulocity IoT.

Designer also has facilities for adding support to projects to facilitate building into Docker images - more on that another day.

Visual Studio Code

Another development environment that is used with Apama is Visual Studio Code (VSCode), which Stack Overflow rated as the most used code editor in 2021. There are extensions provided by the ApamaCommunity project, and as such are not as rigorously maintained as Software AG Designer (but nonetheless provide plenty of features that any developer will find useful!). These extensions are downloadable from the Visual Studio Marketplace.

The extension comes with a variety of functionality, such as EPL syntax highlighting, support for debugging and launching EPL code in a correlator, and support for the apama_project command-line utility, enabling you to create Apama projects compatible with Software AG Designer, with the ability to use bundles.

Additionally, another VSCode extension exists to make it easier to write tests within PySys, Apama’s preferred testing environment. You can read more about the development and usage of it in this blog post.

These extensions do not currently support VSCode on the web or Codespaces, but we are aware of the growing popularity of this use-case. Watch this space.

Cumulocity IoT

Cumulocity IoT is Software AG’s IoT platform, and Apama is a first-class citizen within it. You might be required to have a relevant subscription to access some of the features we will be described in this section.

Within the “Streaming Analytics” section of Cumulocity IoT, there exists an EPL Apps section, which enables you to view an editor for EPL files. While it may not contain the full feature set of the above options, it provides the standard syntax highlighting and error detection features you’d expect from any modern development interface. Fans of Visual Studio Code might also notice that the editor is based upon the same Monaco open-source editor project that powers VSCode, giving you the same basic editor functionalities to perform your job quickly. An overview is provided within the Cumulocity IoT Guides.

Additionally, as we mentioned on day #3, Cumulocity IoT also comes with Analytics Builder, which allows domain experts to quickly solve problems using an intuitive graphical web interface, and not need to dip into the specifics of using EPL code and Apama.

Today’s article was kindly provided by Bevan Philip from the Apama engineering team.

Next article is Monday 13th Dec. Have a great weekend.


This is Day #10 of a short series of brief tips, tricks, hints, and reminders of information relating to the Apama Streaming Analytics platform, both from Software AG as well as from the community.
This series of articles will be published Monday-Friday only, with the occasional weekend bonus.

1 Like