Home Contact

Event Stream Intelligence: Continuous Event Processing for the Right Time Enterprise

Minimal Requirements

Runs on any Java 5 or Java 6 JVM
Fully embeddable

Supported Platforms

Windows, Linux, Solaris, AIX
32bit and 64bit
Runs on any Java 5 or 6 JVM

Supported Containers

Self-contained (standalone)
BEA WebLogic Server 9.x & 10.x
IBM WebSphere 6.x
JBoss 4.x and 5.x
Tomcat 5, Jetty 5
GlassFish
Any Java AS
Any Java ESB

Supported Databases (*)

Oracle
DB2
MySQL
MSSQL
Sybase
Derby
Any RDBMS with JDBC driver
(*) required for stream to historical data joins

Technical requirements

Esper can run on any Java 5 or Java 6 JVM such as BEA JRockit, IBM J9, or Sun HotSpot JVM. As a consequence, Esper can be embedded in any standalone application, Application Server or Enterprise Service Bus that runs on top of Java 5. Check sample of supported platforms on the right of this page.

Efficient Event Processing

Esper features an expressive Event Processing Language:

  • Continuous queries, filtering and computations (min, max, avg, stddev, vwap, ...)
  • Continuous joins
  • Followed-by logic and detection of missing events
  • ESP and CEP federated processing
  • Time and length based sliding window
  • Output flow control
  • Continuous joins of streams and historical data stored in relational databases, with local caching
  • High performance, low latency

POJO programming model

The Esper container triggers actions which are Plain Old Java Objects (POJO). This enables a very easy integration of Esper with existing components, such as Spring, EJB, MDB, and WebServices and basically any Java developer can benefit of Esper full power without complex API to learn.

High-availability and resiliency

EsperHA can HA-enable Esper application at no code change. It enables you to mix transient, overflow to disk and fully resilient event processing strategies in one single system.

It includes a market proven data storage technology from a market leader partner that is fully included, integrated, certified and supported. Open API further enables you to hook in your existing event repositories.

Simple operational requirements ensure quick deployment, cost effective datacenter architecture and maintenance. Instant failover and hot backup provides zero downtime processing wherever you need it.

Extensible Middleware

Esper provides numerous capabilities for integration into existing systems and extension for unique competitive advantage:

  • Java, .Net, Map or XML events
  • Runtime statement management
  • API or configuration driven
  • Plug-in SDK for functions, aggregations, views and pattern detection extensions
  • Agile development and testing, integrates with Eclipse and JUnit
  • Adapters: CSV, JMS in/out, API

Performance

Esper leverages Java 5 enhancements done in the area of concurrency. It also fully supports 32bit and 64bit architectures.

As an evidence of how Esper is highly performant and scalable, we have conducted in August 2007 a benchmark:

Esper exceeds over 500 000 event/s on a dual CPU 2GHz Intel based hardware, with engine latency below 3 microseconds average (below 10us with more than 99% predictability) on a VWAP (volume weighted average) benchmark with 1000 statements registered in the system - this tops at 70 Mbit/s at 85% CPU usage. Esper also demonstrates linear scalability from 100 000 to 500 000 event/s on this hardware, with consistent results across different statements.
To date, EsperTech is the only ESP/CEP software vendor to publicly disclose benchmark results with complete hardware details, scenario and replay kit.

ESP/CEP applications are somewhat complex to benchmark, because the performance figures are highly dependant on the complexity of the situations to detect among the event stream(s) possibly joined together or involved in a causality relationship. There is no industry benchmark available yet that would allow for apple-to-apple comparison.

If performance is a key requirement for you, let us know and we will show you how Esper scales.

Event representations

Events can be published as XML documents, JavaBeans (POJO with getter and setter), name value pairs, or any kind of Java class thanks to a fully configurable mapping.

Joins to historical data

Event Streams can further be joined with historical data contained in standard relational database using JDBC technology with any JDBC driver either standalone or provided by underlying infrastructure.

Operation & Management

Esper provides a simple API to hot deploy new stream queries, suspend or stop them. It also provides reporting on key counters using the JMX API allowing for remote management.