Event Series Intelligence
Runs on any Java 8 or newer JVM
Windows, Linux, Solaris, AIX
32bit and 64bit
Runs on any Java 8 or newer JVM
Supported Containers (*)(*) Esper does not require any container
Any Java AS (requires custom integration)
Any Java ESB (requires custom integration)
Supported Databases (*)
Any RDBMS with JDBC driver
(*) for use with Esper and EsperIO
(x) when choosing EsperHA database storage option
What is Esper?
Esper is an event series analysis and event correlation engine (CEP) written entirely in Java and that is fully embeddable in your existing platforms. It is also the only open source Event Series Processing engine for Event-Driven Architectures. Read more in the product section
What is Esper Enterprise Edition?
Esper Enterprise Edition is a complete turnkey solution for addressing Event Processing and CEP requirements in enterprise grade deployments. It combines Esper in the same version as the community version, clustering technologies, a rich multi-window web-based GUI, Eventlet continuously-updating displays, EsperJMX and EsperJDBC in one single certified and supported package. "Eventlets" is our term for composable, interactive and real-time graphical or textual views of managed event series that may originate from multiple and distributed CEP engines. EsperJMX enables remote runtime management through third party tools. EsperJDBC provides maximized interoperability over a standard JDBC client API for point and click use of Esper with dashboards and business intelligence tools. Read more in the product section
What is EsperHA?
EsperHA is high-availability and resiliency enabled event series analysis and event correlation engine (CEP) written entirely in Java and that is fully embeddable in your existing platforms. It includes Esper and can HA-enable any existing Esper application at no code change and ensures you can process more than what your memory can hold, yet faster than what your storage can do. Read more in the product section
What is Event Series Analysis?
Event series analysis consists in sensing infinite event sets of arbitrary complexity and detecting situations occurring in the event series.
What is Complex Event Processing (CEP)?
Complex Event Processing is complementary to event series analysis. CEP is used to detect patterns among events based on relationships between events such as causality, membership, and timing. A simple pattern could detect situations where an event happens before another event, or an event happens after another event but no later than 30 seconds.
Does Esper support both CEP and Event Series Analysis?
Absolutely. Esper supports both CEP and Event Series Analysis and enables you to combine both in the very same query, which opens for a wide range of possibility.
Why use Esper?
Esper is the only open source event series analysis engine for Event-Driven Architectures. It is available under the GPL GNU Public License v2.0 open source license, benefits from a vibrant Java open source community, and is further backed by commercial support and services provided by EsperTech so there is no risk at trying it for simple things and moving on to critical applications. You won't be the first.
Esper uniquely combines event series analysis and CEP and is fully embeddable in existing Java platforms which can lead to dramatically simpler and cheaper architectures. Partners of our Embedded Event Series Intelligence Partner Program also understand the competitive advantage they get by embedding Esper into their product and solutions.
Finally, Esper provides you with a unique guarantee to scale and cluster your application when you will need without extra complexity thanks to EsperHA. Start small, think big.
Can I freely redistribute Esper (ship another product that is using Esper)?
Esper is licensed under the open source GPL GNU Public License v2.0 license. That means if you redistribute an application or product that links with Esper, it must also be made available under open source unless you acquire a dedicated license for redistribution. You can read further about the exact terms in the license. If those terms are not compatible with your application or product, join the EsperTech Embedded Event Series Intelligence Partner Program and contact us so that we can discuss your requirements further towards a dedicated license that best suits your business.
Can I freely use Esper in my application?
Esper is licensed under the open source GPL GNU Public License v2.0 license. You may check this license depending on your application and how you redistribute it. Restrictions may apply. You should consider Esper Enterprise Edition for any production use. Esper Enterprise Edition is not made available under a viral copyleft license and combines Esper, EsperJMX, EsperJDBC and Esper Studio in one single certified and supported package for maximal productivity, interoperability and manageability.
Can I use Esper in an Application Server?
Esper is fully embeddable in any Application Server powered by a Java 8 or newer JVM such as Apache Tomcat, Jetty, BEA WebLogic Server, IBM WebSphere, RedHat JBoss, Apache Geronimo, Caucho Resin etc.
Can I use Esper in Enterprise Service Bus (or alike) X?
Esper is fully embeddable in any Enterprise Service Bus powered by a Java 8 or newer JVM such as Camel, Mule, ServiceMix, for example.
Why not just JMS, JMS MessageSelector and custom coding?
JMS is a great specification, API and architecture for transporting events from one platform to another. It doesn't deal with event series at all but simply with "Message", looking at each event one by one. A JMS MessageSelector suffers from the same limitation and allows filtering messages one by one without considering causality, joins, or even sliding window. You'll have to come up with custom development to enable a basic event series analysis capability on top of JMS APIs such as MessageSelector - and it will fall short on scalability.
You can think of JMS as a great enabler to publish events to an Esper server, and you can think of JMS MessageSelector as a 10 years step back when looked from an CEP perspective.
Why not a simple database and some SQL?
Event series are finite or infinite sets of event data stored or flowing in at real-time speed, and detecting complex situations is rather incompatible with what a database or data storage technology is designed for: storing data to later query it. Esper can be considered precisely the opposite of the database: you don't push the data to later query the data (possibly with expensive polling or complex triggers). Instead you express what situation you are looking for (event query) and run the data through at real-time speed.
CEP emerged from research done in the field of "active" database - if the name "active" doesn't tell enough, you should try to implement your use case with a classic database (even an in-memory one) and compare this to an Esper enabled architecture. Download Esper now.
Can I use combine real-time arriving and historical event series with more historical data?
Absolutely. Esper enables you to join event series with classic SQL stores so that you can use enrich output with historical data, or use historical data to further filter stream.
Where do I learn more?
How can I ask other questions about Esper?
How do I report a bug?
If you don't have a support subscription, you can use our issue tracking system, or try to post it to the project mailing lists.
What does Esper stands for?
You may try Wikipedia at http://en.wikipedia.org/wiki/Esper. As you can see ESP can stands for Extra-Sensory Perception so it is likely to help Event Series Intelligence.