Enterprise Service Bus
Jan 2013
Enterprise Service Bus
* http://en.wikipedia.org/wiki/File:ESB_Component_Hive.png
- An architectural style built on top of a Broker or a Bus, when built on top of a Broker its very similar to an EAI
- No global standard for ESB
- Big differences between vendors
- Protocol Bridging
- Handles application adapters, routing of messages based on rules, and data transformation engine
- “Enterprise Service Bus,” author David Chappell states that “Rather than conform to the hub-and-spoke architecture of traditional enterprise application integration products, ESB provides a highly distributed approach to integration.” * Most big vendors still follow the hub-and-spoke architecture
- general agnosticism to operating-systems and programming-languages; for example, it should enable interoperability between Java and .NET applications
- Using the broker pattern, single point of failure, must be robust and performant. But can be overcome using redundancy – which in turn introduces complexity:
Two patterns for distributed systems: Enterprise Service Bus (pdf) Page 6/15
Advantages:
- Infrastructure features managed centrally.
- Standardises communication for heterogeneous services.
Disadvantages:
- Too much responsibility. Many requests will be serviced by infrastructure features that they do not need.
- Causes vendor lock-in.
- Hard to test infrastructure features.
- Slower communication due to infrastructure overhead.
- On Content Based Routing :
“When implementing a Content-Based Router, special caution should be taken to make the routing function easy to maintain as the router can become a point of frequent maintenance”
- Enterprise Integration Patterns, Gregor Hohpe and Bobby Woolf