EAI Vs ESB Vs SOA

SOA (Service Oriented Architecture):

Service-oriented architecture is an approach having software resources in an enterprise available and discoverable on the 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.

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 with age old security and reliability limitations.

SOA is an architectural approach where you expose and encapsulate 'services' in a coarse-grained manner. It does not prescribe any technical mechanism or implementation. SOA is more related to boundary/integration interaction between systems. So if system A exposes services using an SOA. I can interact with those services from system B.

SOA is service-oriented architecture. In SOA services are decoupled and can interact with each other irrespective of the service type. Meaning a particular service can be platform or protocol specific but SOA enables such services to interact and exchange data. This data is essentially exchanged via ESB (Enterprise service bus) which forms the backbone of any SOA architecture.

Basically In SOA, On one side we have the Producer/Provider and on the other side, we have the Consumer, separated by a Bridge(which is a network) where the two sides communicate. So focus is on how two parties interact(produce/consume).

----End of EAI Vs ESB Vs SOA----