Event stream processing (ESP) is a software capacity designed to support implementation of event-driven architectures. In an environment where some software entities produce events, other entities manage events, and still others consume events, event stream processing may be properly ascribed to the event manager. This kind of software entity is constantly fielding events, and deciding whether or not to forward them to event consumers for subsequent reactions that can range from simple logging to triggering complex collection of error handling, recovery, clean-up, and other related routines.
In slightly different terms, ESP offers software constructs designed to support event visualization (a dashboard is a classic example), event databases, various forms of event-driven middleware, and even event processing languages. Essentially, ESP provides a set of tools for acquiring and processing multiple event streams to help identify and react to important or critical events in such streams. These tools often include state machines to permit modeling of complex patterns among multiple events, as well as event hierarchies, and event correlation and abstraction tools. You will often find support for event hierarchies, various labels for relationships between events (Such labels include "caused-by, " "member-of, " "timing values, " and so forth), and event-driven processes of all kinds.
ESP is used for various forms of algorithmically based financial trading, fraud detection, process and supply chain monitoring, and so forth.