Home Contact

Event Stream Intelligence

Downloads
Demos & Datasheet

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 Browsers

Requires Flash Player 9 or higher

Supported Containers (*)

(*) 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)
DB2
MySQL
MSSQL
Sybase
Derby
Any RDBMS with JDBC driver
(*) only required for historical data joins
(x) when choosing EsperHA database storage option

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 or Java 6. 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, repeat patterns 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
 

Simple 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.

Open API further enables you to hook in your existing event repositories such as databases or distributed caches.

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.

EsperHA includes a market proven disk data storage technology from a market leader partner that is fully included, integrated, certified and supported. As an option EsperHA can also entirely rely on a traditional RDBMS system such as Oracle Enterprise Database.

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, FIX and OpenTick, Axiom XML, and adapter SDK
 

Performance

Esper leverages advanced multi-threading and concurrency primitives and 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 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. EsperJMX exposes all key components as managed objects for standardized based manageability. Esper Studio streamlines operation with an advanced and feature rich management console.

Standards and Interoperability

EsperJDBC can turn Esper into a JDBC server endpoint that you can query using EsperJDBC JDBC 3 compliant driver. It provides immediate interoperability with any JDBC compliant reporting, charting, and query tools and enables on demand query on continuous results and streams handled by the underlying Esper engine either local or remote.

EsperJMX opens up Esper to any JMX compliant management tool or script.