Synergy Systems Limited

ilona analytics : routing and workflow

ilona analytics supports a wide range of data binding components to integrate with external systems. These are used to receive events for analysis, invoke application services and send alerts. Alerts are generated each time a rule is triggered. Each alert contains the event, the rule and the evidence. Alerts are delivered to a downstream system for handling, usually a workflow system.

A data binding component connects an external messaging protocol - REST, JMS, Kafka and many others - to ilona analytics services. There are data binding components to meet most requirements. Custom data binding components to integrate with bespoke protocols are simple to develop.


Events can be processed synchronously or asynchronously. Synchronous processing requires guaranteed event processing, enabling ilona analytics to return the status of each event analysis to the invoking system, which waits for the result.

When guaranteed event processing is required events are received via an XA transactional or a time based data binding component. A Java Transaction Architecture (JTA) transaction manager, provided by a JEE server or the JTA implementation bundled with ilona analytics, is required to manage XA transactions. In widely distributed environments, deployments may prefer the greater scalability of a time based data binding component. Unlike an XA transaction, a time based invocation does not required a JTA environment and has greater freedom to dispatch requests and decide how to respond should a response not be received within a given time frame, for example by resubmitting the request to another node in the cluster.

Asynchronous processing supports a broader choice of integration patterns and data binding components as ilona analytics only needs to confirm that an event has been received and the invoking system does not need to wait for a result. Amongst many options, the REST web service data binding component is most frequently used as it is lightweight, highly scalable and commonly supported by existing applications and network infrastructures.

Application Services

Applications services can be local to the analysis nodes(s) or remote.

Local application services run in the same Java Virtual Machine (JVM) as the ilona analytics components. They must be written in a language runnable on a Java Virtual Machine (JVM), typically Java or Scala.

A remote service can be implemented on any platform in any language that communicates via a supported data binding protocol. Remote services must have the same elasticity as ilona analytics to achieve scalability and performance.

Remote services are most often used to integrate ilona analytics with existing business services, such as a service that when passed the account identifier referred to in an event answers the account details. Remote services are also used to extend the capabilities of ilona analytics. For example, by using Torch to run neural network analyses written in Lua or enabling statisticians to express analyses in a statistical language, such as R.


Alerts are delivered to an external service for handling. This separation of concerns allows the environment and rules for raising alerts to evolve independently of the environment and services that react to them. Usually the two environments are quite different as the traffic to the former is (hopefully!) vastly greater than to the latter.

Alerts can be sent as they are triggered or as a collection of all the alerts triggered by an event. Like application services described above, the receiving system can be any service implemented on any platform in any language that communicates via a supported data binding protocol. While there are no constraints, typically the receiver is a workflow system.


A workflow management system provides the flexibility to automate the handling of the majority of alerts while supporting human intervention when necessary.

ilona analytics ships with its own sophisticated workflow management system that supports all common business process modelling standards. A rich and highly customisable web interface handles human interactions. A management dashboard provides insights into and management of the workflow queues and rule sets. Templates are available for many common applications.

Alternatively, existing workflow systems are easily integrated with ilona analytics. We work with vendors to ensure best practise and avoid duplication.

The path you take is your call. We are here to assist.

Let's talk! Explore with us how ilona analytics can apply the power of real time analytics to enhance your business.