Apama provides real-time streaming analytics and intelligent automated actions on fast-moving data. Apama is a standalone product that is also available as part of Cumulocity IoT where it also includes Cumulocity IoT-only capabilities such as Analytics Builder.
The latest version of Apama has arrived, incorporating 10.7.0 and 10.7.1, with several developer-focused improvements.
The PySys testing framework includes a number of improvements making automated testing of EPL easier and more powerful. PySys has been updated to version 1.6.1 and you can refer to the PySys change log for full details.
The new PySys highlights include:
BaseTest.assertThatGrep()method for extract and assert use cases
- New plug-in API to write simpler Apama specific code such as
correlator = self.apama.startCorrelator('testCorrelator', ...)
- Proxy servers are now supported when sending requests from HTTP Client transports, Cumulocity IoT transports and the Cumulocity IoT REST API
apama_projecttool allows you to add multiple bundles to a project using a single command (instead of only one bundle at a time)
- EPL memory profiler contains more detailed and more complete information about the memory used for maintaining the stream network
- Apama images available on Docker Hub (
apama-cumulocity-jre) have been changed to use Red Hat UBI 8 minimal as their base operating system. This changes the OS from v7 to v8 and the switch to a minimal image results in much smaller image sizes
- Capital Markets adapters have a small number of enhancements to the Apama Base FIX adapter and the BM&F Bovespa UMDF Adapter
- HTTP Client transport’s generic JSON chain includes a
FormRequestevent definition which allows invoking an HTTP service with a payload encoded to either
- Cumulocity IoT transport specifies sensible defaults for SMS sender name and address when used in conjunction with the HTTP Client transport’s generic JSON bundle
- Geofence helper methods have been added to the
Utilities for CumulocityEPL bundle. to make it easier to deal with geofences
- The events
isUpdate()actions to help identify whether the events are a result of a creation or an update
withChannelResponseaction for the event types (
Operation) allows your application to receive a response on the
type.SUBSCRIBE_CHANNELchannel when one of these object types is created or updated
- The Error event has a
reqIdfield which corresponds to the identifier of the request from which the error event occurred to help make identifying the cause of errors easier
- Coverage reports are additionally generated in the widely used XML format popularized by Cobertura (a code coverage utility for Java) which allows coverage results to be checked and visualized by third-party tools
- Reports now include the coverage data for deleted EPL monitors
AnyExtractoractions offer a non-throwing alternative to the existing actions by returning a user-specified default value if the path to the nested value does not exist, or if the path exists but the value is not of the required type
- Extract values from additional types including
- JMS receiver-specific status lines in the correlator log file show a new
maxMsgKBfield which indicates the maximum size in kilobytes of JMS messages that have been received so far
Want to try out Apama? Download Apama Community Edition!