Skip to content

Event Driven Architecture

August 5, 2009
Event is something which is generated whenever some changes occurs either in the software or hardware.
In an Event Driven Architecture whenever an event occurs, it is make known to all the components which are actually interested in it, and they react accordingly.
The play is between the Event Producers, Event Consumers and the Event Manager. The Event Producers publish them with the Event Manager and the Event Consumers subscribe them with the Event Manager. Whenever the Event Producers generate an Event the Event Manager notifies all the Event Consumers who were listening for the particular event. If the Consumers are not available the Event Manager stores the event and tries to forward it later and is referred to as “store and forward”.
What is in an Event?
Event contains an Event Header and Event Body.
The Event Header contains details about the event id, time of event generation, source of the event.
The Event Body contains the actual cause of the event.
Event Flow Layers
The Event Driven Architecture is build over four logical layers. They are
1) Event Generator:
This is the source of the event. This may be software component or a hardware component.
2) Event Channel:
This is the medium through which the generated event is transferred to the Event Processing Engine. This may be TCP/IP protocol or any file medium.
3) Event Processing Engine:
This is where the events are processed. This may lead to the generation of another event.
4) Event Response:
The consequences of the event are reflected here. The response may be again some changes in software of hardware component.
Advantages of Event Driven Architecture:
1) This architecture is extremely loose coupled, because the event itself does not know about its consequences.
2) It is well suited for asynchronous workflows.
3) More efficient than SOA in case if the data is need by multiple clients, because the event is generated only once. In SOA multiple calls must be made successively.
4) Components may be reused in multiple applications.
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: