• Post Reply Bookmark Topic Watch Topic
  • New Topic

to esb or not

 
manish ahuja
Ranch Hand
Posts: 312
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi there,

I have a requirement where in I need to propagate events to an external (legacy) system.
Likewise some events also have to be propagated from the legacy to the new system.

Our brainstorming sessions resulted in 3 options
1) Database trigger which pushes data to and fro between these systems.
2) Webservices. The legacy system will expose a web service interface. Our new system will generate xml payloads of the data and invoke this web service after transforming this xml payload into legacy system compliant xml payload.
3) ESB. This was kind of proposed by the client. We do not have much idea on the same but would like to understand the advantages of using an ESB over Plain Webservices model.

In the above scenario will using ESB be a more sensible approach. Do post your thoughts.


Regards,
 
Nitesh Kant
Bartender
Posts: 1638
IntelliJ IDE Java MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ESB is a beast. It provides you with a lot of features related to service management.
The idea is to write the business logic as a web service, then put it behind an ESB and you can implement things like security, rate limiting, protocol mediation, service versioning, etc. using the ESB.
ESBs help you do these things at a common point for all the services and the services are unaware of the work done before the request reaches them.
The result being that the services are only concerned about business logic and the IT/Admin related work is done behind the scenes. Also, these actions can be applied to all the deployed services seamlessly.

Having said the above, the mileage of using an ESB comes only if your application foresees usage of the functionalities that ESB provides. Using an esb is many a times a company level decision and depends on the size of the services deployed for the organization.
It has its advantages but you would not use a sword where a needle can be handy.
[ May 30, 2008: Message edited by: Nitesh Kant ]
 
Jimmy Clark
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To have the most flexibility, using an enterprise service bus is the better option that calling web services directly with HTTP Requests.

Enterprise Service Bus is typically implemented with a series of message queues. To make a call on the (legacy) web service, you place a Request message containing the data on a queue. And you listen for Response messages placed on a reply queue by the (legacy) web service.

Check out IBM's MQ Series for more details. Or, OpenESB from Sun.
[ May 30, 2008: Message edited by: James Clark ]
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!