{{More footnotes|date=March 2015}} {{Infobox Software | name = Esper_(software) | logo = | caption = | developer = EsperTech Inc. | latest release version = check website | latest release date = | latest preview version = | latest preview date = | operating system = Cross-platform | programming language = Java, C# | genre = Complex Event Processing | license = GPL v2 | website = {{URL|www.espertech.com/esper}} }}

'''Esper''' is an open-source Java-based software product for complex event processing (CEP) and event stream processing (ESP), that analyzes series of events for deriving conclusions from them.

Esper extends the SQL-92 standard for its engine and enterprise framework, providing Aggregate function, Pattern matching, event windowing and joining. Esper implements Event-driven programming and event-driven architecture.

Esper was created in 2006 by EsperTech Inc. It offers a Domain-specific language for processing events called Event Processing Language (EPL). EPL is a Declarative programming 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 under the name NEsper.

==Example== This example<ref>{{cite web|url=http://espertech.com/esper/solution_patterns.php#aggregate-0 |title=Page Redirection |publisher=www.espertech.com/esper |date= |accessdate=2015-03-08}}</ref> 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.

<syntaxhighlight lang="java"> select count(*) from OrderEvent#time(3 min) having count(*) >= 5 </syntaxhighlight>

== Related systems == * [http://complexevents.com/stanford/rapide Rapide (Stanford)] * StreamSQL: StreamSQL is a query language that extends SQL with the ability to process real-time data streams.

==See also== {{Portal|Free and open-source software}} * Complex event processing (CEP) - A related technology for building and managing event-driven information systems. * Data Stream Management System (DSMS) - A type of software system for managing and querying data streams * Event correlation * Event-driven architecture — (EDA) is a software architecture pattern promoting the production, detection, consumption of, and reaction to events. * Event stream processing — (ESP) is a related technology that focuses on processing streams of related data. * Operational intelligence — Both CEP and ESP are technologies that underpin operational intelligence. * Pattern matching * Real-time business intelligence — Business Intelligence is the application of knowledge derived from CEP systems * Real-time computing — CEP systems are typically real-time systems * Real time enterprise

==References== {{Reflist}}

==External links== * [https://scholar.google.com/scholar?q=espertech 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 ({{ISBN|9781935182214}}), a book that provides Esper examples * ''Open Source SOA'' by Jeff Davis, Manning Publications ({{ISBN|1933988541}}), 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 * [http://wiki.iao.fraunhofer.de/images/studien/marktuebersicht-real-time-monitoring-software-fraunhofer-iao.pdf Fraunhofer CEP Market Overview, by Fraunhofer, year 2010]

Category:Events (computing) Category:Free software programmed in Java Category:Free business software Category:Software using the GNU General Public License