Brenda Michelson over at PSGroup has done some deep thinking about the connection between Event-Driven Architecture (EDA) and SOA, raising the point that SOA is part of a constellation of strategies she calls the 'business-driven architecture.'
"The most viable, agile architectures will be comprised of a blend of architecture strategies, including (but not limited to) service-oriented architecture, event-driven architecture, process-based architecture, federated information, enterprise integration and open source adoption. How you blend, depends on your business."
Spot on. I agree, and have argued in this blogspace that SOA is but one (albeit important) part of a set of initiatives that is driving organizational management into the 21st Century (or in some cases, the second half of the 20th...). Companies taking the initiative and breaking down business processes and technologies into consumable services are likely to also be supporting a range of initiatives, ranging from enterprise data warehousing or federated enterprise information integration to enlightened management practices.
And EDA is one of those strategies that enlightened companies are picking up on. Michelson explains how the interaction between ED and SOA plays out: First, "the occurrence of an event (a notable thing that happens inside or outside your business) can trigger the invocation of one or many services. Those services may perform simple functions, or entire business processes. This interaction between events and services is commonly referred to as event-driven SOA."
Next, "a service may generate an event," Michelson continues. "The event may signify a problem or impending problem, an opportunity, a threshold, or a deviation. Upon generation, the event is immediately disseminated to all interested parties (human or automated). The interested parties evaluate the event, and optionally take action. The event-driven action may include the invocation of a service, the triggering of a business process, and/or further information publication/syndication. In this interaction, the service is purely one of many event sources in a broader event-driven architecture. A broader event-driven architecture stretches beyond event-driven SOA, to include real-time information flow and analysis, and complex event processing."