Monday, July 25, 2011
On terminology again
While the EPTS glossary team is about to produce additional version of the glossary, I received by Email a question about terminology from a student investigating this area, whether "event driven architecture" and "event processing" (both titles of books) are indeed the same thing
The answer is -- not really, but the difference is simple:
Event Driven Architecture is an architecture in which there are event producers, event processors, and event consumers, with the following principles: 1). All players are decoupled; 2). All the communication between players is that they send events to one another: 3). All communication between players is asynchronous.
Event Processing is a type of processing that takes as input one or more events and produce as output one or more event applying functions such as: filtering, aggregation, transformation and pattern matching.
The concepts are related in the sense that it is common to implement event processing on top of event driven architecture, but it is not tightly coupled:
Event Driven Architecture can implement pub/sub systems that are doing routing only and do not do any processing of events;
Event Processing can be be implemented in synchronous mode and not on top of EDA.