Take the 2-minute tour ×

I've read of an ESB being used as a SOA approach. What are some other approaches?

share|improve this question
add comment

2 Answers

up vote 0 down vote accepted

This is a very broad question, you may want to focus is.

If you are asking regarding approaches that are instead of ESB, then you may consider using direct access to services, instead of using a service bus.

This approach is often used with a directory or lookup service like UDDI to look up service end point location.

When using an ESB, you send the message to the ESB, who 's responsible to route it to the service provider.

When using direct access the client should know in advance the address of the service provider, and he sends the message directly to him.

When using a lookup service, you first query the address of the service provider (like using DNS to lookup IP addresses), and using this address you send the message to the service provider.

Beyond addressing and routing, the ESB may provide other functions that you loose (or have to implement in other way) if you use the direct access approach.

  • multi cast routing - sending the request to more then one service provider
  • context based routing - deciding to which service provider we should send the request, based on the content of the request
  • central logging
  • central policy enforcement
  • load balancing \ fault tolerance
  • format or protocol translation
  • buffering and asynchronous service invocation
share|improve this answer
add comment

First.... ask yourself which SOA philosophy are you adhering to. If you are in the IBM camp, then there are 4 different products that provide ESB functionality. Each product is optimized for a different scenarios but basically each one does similar functions.

Think.... SOA == a car. IBM is one manufacturer. Different products == different type of cars for different type of drivers.

share|improve this answer
add comment

Your Answer


