This documentation is for WSO2 Complex Event Processor 4.0.0. View documentation for the latest release.
WSO2 Complex Event Processor is succeeded by WSO2 Stream Processor. To view the latest documentation for WSO2 SP, see WSO2 Stream Processor Documentation.

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  1. WSO2 CEP receives events from external event sources and data agents. These events have different formats such as XML, JSON, Map, Text, etc. 
  2. WSO2 CEP supports a range of event receiver types to receive events in different formats. Each event receiver receives the events in a specific format based on its type, and converts them to a specific format tuples which enables enable WSO2 CEP to process them.
  3.  The The converted events event tuples are forwarded to the event stream connected to the event receiver.  Each event stream selects the events that pass through it based on a structure that consists of a unique set of attributes of specific types. Each event forwarded by the event receiver should meet the following conditions to pass through the event stream.
    • It should have attribute values for attribute names that match that of the event stream.
    • The data type of each attribute value should match the type specified in the event stream for the relevant attribute.
     The events selected by the event steam are forwarded to the execution plan that uses the stream mentioned above as an input stream. An execution plan processes the events selected and forwarded by event streams using Event tuples are associated with their respective event streams based on the event stream ID.
  4.  The event stream in turn forwards the events to the connected execution plan (i.e. the execution plan with queries that define the same event stream as the input stream). The events are also forwarded to the event publishers in order to be published in external systems. 
  5. An execution plan processes the events in the input event streams via Siddhi queries written in the Siddhi Query Language.


    The events processed via the queries in produced via output streams after processing the Siddhi queries of the execution plan are forwarded back to an event stream that is used by the execution plan as an output stream. This event stream forwards them to the connected event publishersthe event streams.

  6. WSO2 CEP supports a range of event publisher types to publish processed events in a range of interfaces which require different formats such as JMS, KAFKA, SOAP etc. Each publisher converts the events into a specific format depending on its type before publishing the events in the relevant interface. The interface in which events are published can be dashboards, external event sinks or data stores.