Esper (software)
   HOME

TheInfoList



OR:

Esper is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
-based software product for
Complex event processing Event processing is a method of tracking and analyzing (processing) streams of information (data) about things that happen (events), and deriving a conclusion from them. Complex event processing, or CEP, consists of a set of concepts and techniques ...
(CEP) and
Event stream processing In computer science, stream processing (also known as event stream processing, data stream processing, or distributed stream processing) is a programming paradigm which views data streams, or sequences of events in time, as the central input and ou ...
(ESP), that analyzes series of events for deriving conclusions from them. Esper extends the
SQL-92 SQL-92 was the third revision of the SQL database query language. Unlike SQL-89, it was a major revision of the standard. Aside from a few minor incompatibilities, the SQL-89 standard is forward-compatible with SQL-92. The standard specificatio ...
standard for its engine and enterprise framework, providing
Aggregate function In database management, an aggregate function or aggregation function is a function where the values of multiple rows are grouped together to form a single summary value. Common aggregate functions include: * Average (i.e., arithmetic mean) * C ...
,
Pattern matching In computer science, pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern. In contrast to pattern recognition, the match usually has to be exact: "either it will or will not be ...
, event windowing and joining. Esper implements
Event-driven programming In computer programming, event-driven programming is a programming paradigm in which the flow of the program is determined by events such as user actions ( mouse clicks, key presses), sensor outputs, or message passing from other programs or t ...
and
event-driven architecture Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events. Overview An ''event'' can be defined as "a significant change in state". For example, when a consumer p ...
. Esper was created in 2006 by EsperTech Inc. It offers a
Domain-specific language A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging f ...
for processing events called Event Processing Language (EPL). EPL is a
Declarative programming In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that ap ...
language for analyzing time-based event data and detecting situations as they occur. Esper is a Java-based application but has been ported to the C# programming language and is available for the
.NET Framework The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
under the name NEsper. EsperTech Inc. provides Esper Enterprise Edition with enterprise-ability features.


Example

This example illustrates a simple EPL query that outputs a row immediately when within a sliding window of 3 minutes the number of order events reaches 5 or more events. select count(*) from OrderEvent#time(3 min) having count(*) >= 5


Related systems


Rapide (Stanford)
* StreamSQL: StreamSQL is a query language that extends SQL with the ability to process real-time data streams.


See also

*
Complex event processing Event processing is a method of tracking and analyzing (processing) streams of information (data) about things that happen (events), and deriving a conclusion from them. Complex event processing, or CEP, consists of a set of concepts and techniques ...
(CEP) - A related technology for building and managing event-driven information systems. *
Data Stream Management System A data stream management system (DSMS) is a computer software system to manage continuous data streams. It is similar to a database management system (DBMS), which is, however, designed for static data in conventional databases. A DBMS also offers ...
(DSMS) - A type of software system for managing and querying data streams *
Event correlation Event correlation is a technique for making sense of a large number of events and pinpointing the few events that are really important in that mass of information. This is accomplished by looking for and analyzing relationships between events. Hi ...
*
Event-driven architecture Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events. Overview An ''event'' can be defined as "a significant change in state". For example, when a consumer p ...
— (EDA) is a software architecture pattern promoting the production, detection, consumption of, and reaction to events. *
Event stream processing In computer science, stream processing (also known as event stream processing, data stream processing, or distributed stream processing) is a programming paradigm which views data streams, or sequences of events in time, as the central input and ou ...
— (ESP) is a related technology that focuses on processing streams of related data. *
Operational intelligence Operational intelligence (OI) is a category of real-time dynamic, business analytics that delivers visibility and insight into data, streaming events and business operations. OI solutions run queries against streaming data feeds and event data to ...
— Both CEP and ESP are technologies that underpin operational intelligence. *
Pattern matching In computer science, pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern. In contrast to pattern recognition, the match usually has to be exact: "either it will or will not be ...
*
Real-time business intelligence Real-time business intelligence (RTBI) is a concept describing the process of delivering business intelligence (BI) or information about business operations as they occur. Real time means near to zero latency and access to information whenever it ...
— Business Intelligence is the application of knowledge derived from CEP systems *
Real-time computing Real-time computing (RTC) is the computer science term for hardware and software systems subject to a "real-time constraint", for example from event to system response. Real-time programs must guarantee response within specified time constrai ...
— CEP systems are typically real-time systems *
Real time enterprise Real-time enterprise (commonly abbreviated to RTE) is a concept in business systems design focused on ensuring organisational responsiveness that was popularised in the first decade of the 21st century. It is also referred to as on-demand enterprise ...


References


External links


Esper Official Website

EsperTech Inc.

Research Papers referencing Esper, by Google Scholar
* ''Analysis of Complex Event Processing with Esper'' by Eric Miller, a book on Esper and CEP. * ''Event Processing in Action'' by Opher Etzion and Peter Niblett, Manning Publications (), a book that provides Esper examples * ''Open Source SOA'' by Jeff Davis, Manning Publications (), a book that provides examples of Esper for monitoring web services * ''OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management'', by Diego Adrian Naya Lazo, PACKT ({{ISBN, 978-1847191526 ), a book with a chapter on Esper
Fraunhofer CEP Market Overview, by Fraunhofer, year 2010

Forrester Wave for Complex Event Processing, by Forrester - Oct. '09

Real-Time Stream Processing as Game Changer in a Big Data World with Hadoop and Data Warehouse, InfoQ - Sept. '14
Events (computing) Java (programming language) software Free business software