What is WSO2 Complex Event Processor?

12th December 2019

Digitization has led business organizations to perform an enormous amount of daily information and data transactions. This constant data entry, management, and output is part of a continuous flow activity, a flow to which companies respond by monitoring data in real time. Those who respond more quickly and efficiently to this need gain a greater commercial advantage over their competitors.

This is where WSO2 Complex Event Processor (CEP), an agile, easy-to-use, open source tool, can provide significant added value. This data processing server recognizes those actions linked to them that are most relevant within an entire data cloud, is able to measure their impact and acts on them in real time. Such complex data processing consists of listening to them and detecting patterns in real time, with minimal or no storage.

What is Complex Event Processor capable of doing?

WSO2 Complex Event Processor is built to be extremely efficient with WSO2 Siddhi and massively scalable using Apache Storm. WSO2 CEP is based on the renowned WSO2 Carbon platform, which in turn is based on the OSGi framework and enables better modularity for service-oriented architecture (SOA). The WSO2 Carbon framework contains many enhanced features and optional components to customize server behavior through quick and easy provisioning. The CEP can be seamlessly integrated with the WSO2 data analysis server, adding support for event recording and post-processing with Map-Reduce via Apache Spark, and WSO2 Machine Learner for predictive analysis.


Complex Event Processor Solutions

WSO2 Complex Event Processor contributes to real-time new data detection, identification, and alert notification, combined with rich visualization tools to help set up simple and efficient monitoring dashboards.

WSO2 CEP employs high-performance streaming event processing, which is the result of extensive research by WSO2. Thanks to its architecture, memory optimizations and new approaches to storing event data, WSO2 CEP is one of the fastest open source solutions available today, capable of finding event patterns in milliseconds in real time. At the heart of this tool is Siddhi. Configured using a rich, compact and easy-to-learn language, WSO2 CEP is especially suitable for complex queries involving specific time frames, as well as for pattern and sequence detection.

CEP queries can be dynamically modified at runtime using templates. The core of the streaming engine is low latency, extremely small in size and can be deployed for edge analysis, i.e. for the execution of event processing flows on an IOT device or gateway. This, together with its ability to handle extremely large volumes of event flows, makes the WSO2 CEP particularly suitable for handling Internet Of Things (IoT) scenarios.

WSO2 CEP can be deployed in standalone or distributed mode. In distributed mode, it leverages the Apache Storm architecture for near linear scalability. Pre-built solutions, such as fraud detection, leverage the performance of the WSO2 CEP and provide domain-specific implementations at the top of the main engine.


Features of WSO2 CEP

WSO2 Complex Event Processor features a number of features that make it unique for on-the-spot data processing and real-time analysis, such as handling massive amounts of transmitted data (100,000 data per second or more) thanks to its low latency engine. It has a rich and compact query and configuration language, similar to SQL, which covers the most complex event processing flow configuration. In addition, it supports the filtering of data streams by conditions, as well as the transformation of data streams.

WSO2 CEP allows for high scalability and high availability; supports independent error-tolerant implementation, with or without persistence of data flows, as well as distributed implementation over the Apache Storm architecture. It includes specific streaming operators to drive parallel execution in Apache Storm and contributes to the complete and integral integration of data, as demonstrated by the fact that data can be received and sent in XML, JSON, text or map format. On the other hand, it supports receivers and editors of standards, including HTTP(s), JMS, files or SOAP, REST or Email, Apache Thrift or Web sockets, and takes advantage of support for IoT-friendly transports such as MQTT or Apache Kafka.

In terms of operational management, this tool has a remarkable ability to collect statistical data at various points in the event processing flow and to view them in integrated dashboards or through JMX. It also has a high capacity to solve problems in production systems, as well as the possibility of instrumentation, monitoring and visualization of operative metrics.