Apama Oct 2022 update (v10.15.0)

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 the drag-and-drop Analytics Builder.

The latest version of Apama has arrived, version 10.15.0, with a focus on supporting the latest platforms. This follows Apama’s commitment to support the latest technology, incorporate the latest security updates and allows you to take advantage of the latest features.

Version 10.15.0

Concurrent HTTP connectivity to improve performance

The HTTP client transport has been enhanced to allow you to execute multiple HTTP requests concurrently, rather than serially. This can improve application performance by removing a restriction in the transport that means applications must wait for an existing HTTP request to complete before they can make another HTTP request.

This example creates 3 threads with 3 permanent connections to the target server and, by default, any idle connection will execute the next request:

HttpTransport transport := 
  HttpTransport.getOrCreateWithConfigurations("www.example.com", 80, 
    { HttpTransport.CONFIG_NUM_CLIENTS: "3" });

Using concurrent processing means that request responses may not arrive back in the expected order, for example, a later request can complete before an earlier request has completed. If you have application logic that requires requests to be ordered, you can use a “concurrency control key” to all requests that are to be serialized: For example:

Request req:= transport.createGETRequest("/geo/");
req.setConcurrencyControlKey("geo");
req.setConcurrencyControlFlush(true);
req.execute(handleResponse);

Better performance connecting with Cumulocity IoT

The Cumulocity IoT client transport has been enhanced to take advantage of the underlying improvements to the HTTP client transport included in this release. The Cumulocity IoT client transport is therefore able to support executing multiple requests to Cumulocity IoT concurrently which can improve application performance by removing the restriction that applications must wait for requests to Cumulocity IoT to complete.

By default, the Cumulocity IoT client transport automatically uses concurrent connections. Existing applications that make numerous requests to Cumulocity IoT may gain immediate performance benefits from the new concurrent connectivity. This default behavior incorporates logic in the transport to try and prevent existing applications from breaking. If necessary, the default behavior can be adjusted, and connections forced to be always serial or always concurrent.

monitor.subscribe(conn.getChannel(FindManagedObjectResponse.SUBSCRIBE_CHANNEL));
FindManagedObject fmo := // create a request
send fmo to conn.getChannel(FindManagedObject.SEND_CHANNEL));
 
on FindManagedObjectResponse(reqId=fmo.reqId) {
   // do something
monitor.unsubscribe(conn.getChannel(FindManagedObjectResponse.SUBSCRIBE_CHANNEL));
   conn.destroy(); } // can't use it after this

Installation and deployment improvements

The Windows installer, which you can use to install the Eclipse-based IDE, has been updated to provide you with more flexibility on the components that get installed. You can now ensure you create an installation with only the components you need for your specific projects.

A larger selection of use-case targeted Docker images are now available on Docker Hub. These include a new minimal Apama correlator image that does not include Java or Python and can be used for deployment onto lightweight devices, for example, onto thin-edge.io devices.

Platform changes

Several platform changes have been made to the supported databases, application servers, Web browsers etc. Please refer to the Supported Platforms document for version 10.15. This is available from the Apama documentation web page.

Capital Markets

The EBS Spot Ai FIX adapter has been enhanced so that it supports connections and subscriptions from the CME EBS Ai platform. The CME EBS Ai platform allows existing EBS customers to transact on CME Globex using EBS Ai over the FIX protocol with minimal modifications to their trading and market data solutions.

Community Edition

The Community Edition of Apama contains a number of restrictions that can affect the scope and size of projects that can be deployed. You can read more about the restrictions in the Apama documentation.

Find out more

The Community Edition of Apama 10.15.0 is available for you to download now. More information about the new capabilities mentioned here are described in the v10.15.0 release notes and in the product documentation.

Please give this latest version of Apama a try and let us know how you get on!

2 Likes