Time For Event-Driven SOA

author-image
DQChannels Bureau
New Update

Companies face large number of complex events every day and responses are
anticipated in real time. SOA is good if the requirement is just to send
requests and receive responses synchronously, but not good enough to handle
real-time events asynchronously. Event-driven SOA (ED-SOA) combines SOA's
request—response and event-driven architectures

(EDA) event publish-subscribe paradigms. This new ED-SOA architecture (also
referred to as business-driven architecture) allows system designers to support
both events and services. It also enables designers to map the application
design to the business problem, which consists of both events and
requests/responses. This results in extreme agility, enabling enterprises to
conduct business at the speed of light.

Advertisment

SOA

An SOA is essentially a collection of services that communicate with each
other. The communication can involve either simple data passing or it could
involve two or more services coordinating some activity. Service communication
is made possible using technologies like web services.

SOA is based on a conventional request-response mechanism. A service consumer
invokes a service provider through the network and has to wait until the
completion of the operation on the provider side. Replies are sent back to the
consumer in a synchronous way.

One of the most important advantages of SOA is to get away from an
isolationist practice in software development, where each department builds its
own system without any knowledge of what has already been done by others in the
organization. This approach leads to inefficient and costly situations where the
same functionality is developed, deployed and maintained multiple times. SOA is
based on a service portfolio shared across the organization.

Advertisment

EDA

An event is a notable thing that happens inside or outside business. It may
signify a problem, an opportunity, a deviation, or a threshold. Each event
occurrence has an event header and an event body. Even header contains elements
describing the event occurrence details like specification ID, event type, name,
creator, time stamp, etc. And the event body describes what happened.

In EDA, an event happens inside or outside business, which disseminates
immediately to all event subscribers. They evaluate the event and take
appropriate action. The action could include invocation of a service, triggering
a business process, etc. EDAs are best used for asynchronous communication.

ED-SOA

The occurrence of an event (which could have been initiated inside or
outside of your business) can trigger the invocation of one or many services.
Upon generation, the event is notified to all interested parties. The interested
parties evaluate the event and optionally take an action. The action may include
invocation of service(s). Those services may perform a simple action or an
entire business process. This inter-action between events and services is
commonly referred to as ED-SOA.

Advertisment

An Enterprise Service Bus (ESB) combines event-driven and service-oriented
approaches to simplify integration of business units, bridging heterogeneous
platforms and environments. The ESB acts as an intermediary layer to enable
communication between different application processes. A consumer or an event
can trigger a service deployed onto an ESB. It supports synchronous and
asynchronous communication, facilitating interactions between one or many
stakeholders. So, the ESB provides all the capabilities of both SOA and EDA
paradigms. An ESB is effective in addressing complex integration challenges and
is the technical solution that provides the greatest business flexibility and
efficient connectivity between dissimilar applications.

Conclusion

There are lot of similarities between SOA and EDA, but at the same time,
there are certain differences too. It's about how we think about solving a given
problem. In SOA, a request can be sent and the result can be controlled. But,
even in the case of driven architecture, you react to things as and when they
happen. Both have a similar underlying infrastructure to talk to various
systems, to carry information from one place to another, to transform messages
that are flowing through and to process business rules.

An optimized business needs to handle both services and events to enable
extreme transaction processing. ED-SOA combines the capabilities of both SOA and
EDA to address all the capabilities needed to respond to the real-time business
dynamics.

Advertisment

Prasad Bonthala

(The author is Sr Project Leader, ADP)