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 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 which enables WSO2 CEP to process them.
  3.  The converted events 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.
  4.  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 Siddhi queries written in the Siddhi Query Language
  5. The events processed via the queries in the execution plan are forwarded to an event stream that is used by the execution plan as an output stream. This event stream forwards them to the connected event publishers.

  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.