The latest version of Apama Community Edition has arrived bringing dynamic HTTP server responses, command line tooling for managing Apama projects and general connectivity improvements.
HTTP server dynamic responses
EPL applications can dynamically determine the payload for responses from the HTTP server. Previously HTTP requests to the HTTP server automatically returned an empty
Accepted response. However now an application can programmatically determine what the response for each request should be. This allows Apama’s HTTP server to implement a request/response REST protocol.
HTTP client and server enhancements
The HTTP client and server transports have been extended with support for gzip, deflate decoding and encoding/decoding of
application/x-www-form-urlencoded HTML form data.
In addition, the HTTP client transport can now automatically handle HTTP redirects and pass on cookies.
New connectivity codecs
There are three new codecs available for connectivity plug-in chains.
Base64 codec. This brings bidirectional translation between the payload and a Base64-encoded string of the payload. The codec is able to operate on arbitrary message fields or the entire payload.
Batch Accumulator codec. This automatically batches incoming messages that have been received from an unbatched transport, such as the HTTP server transport. It allows the system to confirm the messages have been received before they have been processed and for the processing to take place in batches on a separate thread. This code is typically used to increase the maximum throughput of the system.
Message List codec. This automatically combines multiple messages produced by the correlator into a single message containing the original messages as a list. It can also be used for separating a list of messages into single messages. It can be used when the external service is able to send or receive messages in a combined list format but you want your application to process the messages separately. The codec can help to reduce the number of transactions with such a service.
Create and manage projects from the command line
apama_project command-line tool is provided that allows you to create and manage Apama projects for Software AG Designer from the command line. You can use the
apama_project tool to:
Create an Apama project
- List all supported bundles that can be added to a project
- List all bundles/instances that have already been added to a project
- Add connectivity, adapter and EPL bundles and their instances to a project
- Remove bundles/instances from a project
apama_project create MyApamaProject
apama_project list bundles
apama_project add bundle "HTTP Client" --instance "MyHTTP"
any type now has a
getActionParameterTypes() method that you can use to return the required types as a sequence of strings. This allows you to perform reflection on action parameters, built-in methods, closures, and plug-in methods.
The Management interface has a couple of new additions:
Component.getConfigProperties()allows you to fetch the list of configuration properties that the correlator was started with from EPL
Component.incrementUserStatus()allows you to atomically increment or decrement a status value from different contexts
There are a few other notable improvements to Apama:
- The ARM version of Apama can now work with license files to enable commercial edition features such as allowing the Zementis Predictive Analytics Plug-in to be used within the correlator
- A correlator will now make available non-numeric metadata status for accessing by Prometheus.
- The Cumulocity IoT transport honors the
pageSizeparameter for querying resources and both the
toDateparameters when querying operations. These capabilities make it easier to optimize queries against Cumulocity IoT
- String codec. This existing codec has been extended to allow the conversion of a payload or metadata to a character set other than UTF-8
Apama Analytics Builder for Cumulocity IoT
Analytics Builder is a new web-based, drag-and-drop tool for creating, managing and deploying streaming analytic models. This new capability is initially only available for Cumulocity IoT Edge. You build up your model from a palette of pre-built analytic blocks and wire them together with your connected devices.
You can manage, test against historical simulated data and deploy the models with a few clicks using the model manager.
Ok, Analytics Builder is not available in Apama Community Edition and we do try to keep blog posts focused on what can be done using the Community Edition. However in this instance I wanted to share one of the exciting highlights when Apama is used within the Cumulocity IoT platform.
10.3.1 full commercial edition
In addition to the above new features in Apama Community Edition, the full commercial edition of Apama 10.3.1 includes improved integration with other Software AG products, enhanced web-based management and monitoring capabilities from Command Central, and additional support for capital markets. Please refer to the release notes for the complete set of new features in Apama 10.3.1.
Find out more
Apama 10.3.1 Community Edition is available now for you to download. More information about the new capabilities mentioned here and numerous other smaller improvements are described in the release notes and product documentation available with the downloads.
The Software AG Apama team is extremely proud of this new version. Please give Apama 10.3.1 a try and let us know how you get on!
– Rob Jones