Apama Nov 2023 update (v10.15.4)

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 powers Cumulocity IoT-only capabilities, such as the drag-and-drop Analytics Builder.

The latest version of Apama has arrived, version 10.15.4, with a continued focus on making EPL development even easier. Apama’s commitment is to support the latest technology, incorporate the latest security updates and allow you to take advantage of the latest features.

Version 10.15.4

EPL enhancements

Apama EPL now includes a number of useful developer-oriented improvements to the language.

  • To help make applications more robust, exceptions thrown from listeners and stream listeners which are not caught no longer terminate the monitor instance. Instead, exceptions simply stop the handling of the current event.

  • Using + to concatenate a string and a non-string (e.g., float) will now convert the non-string to a string and concatenate the two strings, rather than raising an error.

    print "Welcome " + 2024;
    > Welcome 2024
    
  • There are now many new convenience methods that can be used with strings, sequences and dictionaries. E.g., the new getOr method on a sequence returns a default value if no value was found at the specified index.

    mySequence.getOr(100, "default value");
    
  • You can now use negative indices to refer to items referenced from the end of a sequence. E.g. seq[-2] refers to the penultimate item in the sequence.

  • A sequence of <any> items can be now be written without casting the first item in the sequence as an <any>. E.g. Use the more straightforward notation [12345, "a string"] rather than [<any> 12345, "a string"].

  • Return values for functions or expressions can now be optionally ignored, if you don’t need them, of course.

    action doSomething() returns integer
    {
    ...
    return result;
    }
    doSomething();
    

Base64 string encoding and decoding

  • A new EPL plug-in is included that allows you to easily encode UTF-8 strings in Base64 format, and to decode them.

    base64ToString(encodedString);
    

Connectivity plug-in enhancements

  • To help you manage unexpectedly large data responses from a server, the HTTP client now allows you to use the maxResponseKB and maxResponsePolicy options to restrict the size of the server responses for either an individual request or for the entire transport. The pre-defined event definitions for working with HTTP services also include the ability to restrict the size of responses.

    Request req:= transport.createGETRequest("/logs");
    req.setMaxResponseKB(10);
    req.setMaxResponsePolicy("REJECT");
    req.execute(handleResponse);
    
  • You can now use the existing flushAllQueues management request to flush all the queues used in a connectivity plug-in chain. Previously the request did not wait for some internal queues in the HTTP client and Batch Accumulator codec to empty.

Find out more

The Community Edition of Apama 10.15.4 is available for you to download now.

More information about the new capabilities mentioned here and other improvements and changes are described in the v10.15.4 release notes in the product documentation.

Please give these latest enhancements to Apama a try and let us know how you get on!

5 Likes