Ester Open Source Complex Event Processing


Esper Complex Event Processing (CEP) for Java is an open source event series analysis and event correlation engine. It enables users to detect rich situations in event series (historical or currently-arriving) and to trigger custom actions when event conditions occur among event series. Esper is designed for high volume event correlation where millions of events coming in would make it impossible to store them all to later query them using classical database architectures. It provides a rich Event Processing Language (EPL) to express filtering, aggregation, and joins, possibly over sliding windows of multiple event series. It also includes pattern semantics to express complex temporal causality among events (followed-by relationship).

Esper supports a wide variety of event representations, such as Java beans, XML document, legacy classes, or simple name value pairs. It can be easily embedded in an existing Java application or middleware to add event-driven capabilities to existing platforms without paying high serialisation cost or network latency for every message received and action triggered.


Once event queries and pattern statements are registered in the Esper core container, event data gets analyzed and can trigger arbitrary logic bound to the engine in the form of Plain Old Java Objects. This enables leveraging any existing Java technology and ensures easily connection to existing SOA building blocks. Esper does not sacrifice simplicity for providing a rich feature set. Its POJO (Plain Old Java Object) based programming model and core API enable any Java developer to enrich an existing application with Event Series Intelligence now, leveraging today’s world technologies such as lightweight containers, object oriented programming techniques and XML document management.

Esper can fully be embeddable in existing Java based architectures such as Java Application Servers or Enterprise Service Bus. It can also be used as a standalone container in any existing standalone applications. This can help replace legacy in-house developed event series analysis logic with far less risks than other big-bang approaches.

Esper is being developed under an open source license and community process, which ensures features are being discussed according to user requirements and feedback. It also significantly decreases the cost of acquisition. EsperTech provides mission critical support and services to keep your total cost of ownership under control; further ensuring key expectations are met in today enterprise grade environments.

EsperTech provides commercial license for redistribution, and enterprise grade extensions, such as high-availability, under non open source licenses for mission critical environments.

Supported Containers (although Esper does not require any container):

  • Self-contained (standalone)
  • Oracle WebLogic Server
  • IBM WebSphere
  • JBoss
  • Tomcat, Jetty
  • GlassFish
  • Any Java AS
  • Any Java ESB

Supported Databases

  • Oracle (x)
  • MySQL (x)
  • SQLServer (x)
  • DB2
  • Sybase
  • Derby
  • Any RDBMS with JDBC driver