event-driven architecture (EDA)
An event-driven architecture (EDA) is a framework that orchestrates behavior around the production, detection and consumption of events as well as the responses they evoke. An event is any identifiable occurrence that has significance for system hardware or software.
An event-driven architecture consists of event creators and event consumers. The creator, which is the source of the event, only knows that the event has occurred. Consumers are entities that need to know the event has occurred; they may be involved in processing the event or they may simply be affected by the event.
Event consumers typically subscribe to some type of middleware event manager. When the manager receives notification of an event from a creator, it forwards that event to all registered consumers. The benefit of an event-driven architecture is that it enables large numbers of creators and consumers to exchange status and response information in near real-time.
An EDA is most effective when existing business rules, triggers and related stored procedures are surfaced and made available to the middleware's event processor. In the short run, this will mean additional work for the database administrator (DBA), but making that effort will simplify data management in the long run by making changes easier.
See also: event handler, event forwarding, complex event processing, business event management, event stream processing