INTRODUCTION
This paper aims to bring clarity to terms EAI, ESB, SOA and provide a clear distinction. Also
this paper would discuss architecture options available for enterprise integration and what
these options are most suitable for. Finally this paper would address the discussions we
have seen in various forums about whether EAI is going to be replaced by SOA or ESB.
SOA- Service oriented architecture is approach to have software resources in an enterprise
available and discoverable on network as well defined services. Each service would achieve
a predefined business objective and perform discrete units of work. The services are
independent and do not depend on the context or state of the other services. They work
within distributed systems architecture.
Earlier SOA used COM or ORB based on CORBA specifications and recent SOA stress on web
services using standard description (WSDL), discovery (UDDI) and messaging (SOAP).
Service oriented architecture may or may not use web services but yes web services provide
a simple way towards service oriented architecture albeit with the age old security and
reliability limitations.
EAI -Enterprise application integration is a business need to make diverse applications in an
enterprise including partner systems to communicate to each other to achieve a business
objective in a seamless reliable fashion irrespective of platform and geographical location of
these applications. It is a business need and business never dies it only evolves. I have seen
people saying that EAI is a thing of past now SOA is here, it is just like saying
“transportation is a thing of past now road is here”.
EAI comprises of message acceptance, transformation, translation, routing, message
delivery and business process management. Usually messages transportation is
asynchronous but for a business need it can be synchronous as well. There are two basic
architectures to achieve this, bus and hub/spoke architecture. Both of these can be used to
develop services and then it also becomes service orientated architecture.
ESB- Enterprise service bus is an infrastructure to facilitate SOA. It gives API which can be used
to develop services and makes services interact with each other reliably. Technically ESB is
a messaging backbone which does protocol conversion, message format transformation,
routing, accept and deliver messages from various services and application which are linked
to ESB.
Current EAI landscape is seeing many vendors who offer enterprise service bus and claim it
to be a brand new concept. This brings a question on what exactly is the difference between
ESB and the bus based implementations which have been there in market for quite a long
time now. Actually there is not much difference between ESB and proprietary buses except
for a few subtle ones. Main difference between ESB and proprietary bus implementation is
of cost which is significantly low for ESB. Reason for this cost difference is two fold, first
proprietary bus offers lot of built in functionalities as a suit of product which need to be
developed for ESB implementations based on business requirement, second most
proprietary buses use some proprietary formats to enhance the performance and that
increases the cost. ESB on the other hand is usually standard based, so it is a tradeoff
between performance and cost between proprietary bus and ESB. Main advantage of ESB is
that it costs much less then hub/spoke or bus based product suits and that it is standard
based.
Please visit the link for more information
No comments:
Post a Comment