Event stream processing

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Event stream processing, or ESP, is a set of technologies designed to assist the construction of event-driven information systems. ESP technologies include event visualization, event databases, event-driven middleware, and event processing languages, or complex event processing (CEP). In practice, the terms ESP and CEP are often used interchangeably, with CEP becoming a more fashionable term recently. ESP deals with the task of processing multiple streams of event data with the goal of identifying the meaningful events within those streams, employing techniques such as detection of complex patterns of many events, event correlation and abstraction, event hierarchies, and relationships between events such as causality, membership, and timing, and event-driven processes.

ESP enables applications such as algorithmic trading in financial services, RFID event processing applications, fraud detection, process monitoring, and location-based services in telecommunications.



This example of an EPL (Event Processing Language) modelled on SQL illustrates how such a language may be used to perform complex event processing. This code fragment detects weddings among a flow of external "events" such as church bells ringing, the appearance of a man in a tuxedo or morning suit, a girl in a flowing white gown and rice flying through the air. A "complex" or "composite" event is what one infers from the individual simple events: a wedding is happening.

WHEN Person.Gender EQUALS "man" AND Person.Clothes EQUALS "tuxedo"
  Person.Clothes EQUALS "gown" AND
  (Church_Bell OR Rice_Flying)
WITHIN 2 hours
ACTION Wedding


You can also do this kind of processing with NoSQL product.

One way to do that is via XML and XPath based languages like XSLT, XQuery, XProc or even Schematron

Here a XPath expression

 //Person[Gender = 'man' and Clothes = 'tuxedo' ./following::Person[Clothes = 'gown' and (ChurchBell or RiceFlying) and time < 2*60*60]]

See also[edit]

  • 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
  • openPDC A complete set of applications for processing streaming time-series data in real-time.
  • Real-time computing - ESP systems are typically real-time systems
  • RFID - Radio-frequency identification, or RFID, recommends application of ESP to prevent from data flooding
  • SCADA - Supervisory control and data acquisition, a similar technology used in engineering applications
  • Emergency processing and management [1]


  1. ^ Emergency processing

External links[edit]