An Event Driven Architecture is one that has the ability to detect events and react intelligently to them. An event is a state change, which draws the attention of systems and is evaluated by them to decide whether trigs or not an action. An example of an event-driven system is the thermostat. It turns the heat on or off based of his evaluation of an event, which is the change in temperature. This shift is a state change that triggers the reaction of the thermostat, which in turn affects the action of the heater. An EDA must detect events (events producers), transmit messages (messaging platform) and process and initiate (event processors) the reaction to the event .
Figure 1. EDA
There are three patterns of event processing: SEP (Simple Event Processing), ESP (Event Stream Processing) and CEP (Complex Event Processing). In SEP, the event producers generate event data and send it to the event listener, which in turn processes it in whatever manner is required. ESP involves event processors receiving a number of signals from event producers, but only reacting when certain criteria are met. CEP reacts to multiple events under multiple logical conditions . They may be processed by an event engine before being sent to consumer. This processing may involve rules for filtering events, combining two or more simple events into a new complex event, detecting event patterns, and detecting patterns that satisfy constraints. Once the simple events have been processed, the event engine can generate new events and send them to event consumers . For example, we are interested in a product but we only want to receive an alert if it is available in a specific store below a specific amount. The rule only is fulfilled when the engine receives the availability event and the price event so it generates a new event to warn us.
EDA can also complement SOA, because the incoming events can trigger rules that can invoke services.
Though some organizations have implemented event drive solutions, this integration architecture is yet to mature. More importantly, organizations are studying ways to take advantage of current event streams in order to predict trends and anticipate business opportunities .
EAI Consultant and IoT Evangelist at Polarising
- Taylor, H., Yochem, A., Phillips, L., Martinez, F.: Event-Driven Architecture: How SOA Enables the Real-Time Enterprise. Pearson Education, Boston (2009)
- Ramanathan, R.: Service-Driven Approaches to Architecture and Enterprise Integration. IGI Global (2013)