Jun 8, 2017

ESB

The central concept is that the ESB provides the middleware and interfaces that allow businesses to connect their applications without writing code.

This could include mediation to reconcile incompatible protocols, data, and interaction .

An ESB is a any technology that you can insert into an SOA (Service-Oriented Architecture), allowing you to connect disparate systems together.

An ESB is basically a MOM (message oriented middleware) with an added data model and structure definition management. You have a common data definition for all applications and adapters on that bus (could be XML with a shared XSD). An Enterprise Service Bus (ESB) is fundamentally an architecture. It is a set of rules and principles for integrating numerous applications together over a bus-like infrastructure.•

The "bus" concept decouples applications from each other. This is usually acheived using a messaging server like JMS or AMQP.

• The data that travels on the bus is a canonical format and is almost always XML.
• There is an "adapter" between the application and the bus that marshals data between the two parties.

ESB are similar to other untyped/typed choices:

•REST vs. SOAP
•unvalidated XML vs. XML validated with an XSD
•Groovy vs. Java
•interpreted language vs. compiled language

An ESB is used for service virtualization, typically manage a much larger set of services, and is positioned inside the Intranet.A general rule of thumb to note is that when services are exposed to the outside world, an API gateway is a tool to be considered. It is positioned outside of the Intranet