Win a copy of TDD for a Shopping Website LiveProject this week in the Testing forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Jeanne Boyarsky
  • Tim Cooke
  • Liutauras Vilda
  • paul wheaton
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Frits Walraven
  • Piet Souris
  • Himai Minh

to esb or not

Ranch Hand
Posts: 312
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.

Posts: 1638
IntelliJ IDE MySQL Database Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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 ]
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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 ]
please buy this thing and then I get a fat cut of the action:
free, earth-friendly heat - a kickstarter for putting coin in your pocket while saving the earth
    Bookmark Topic Watch Topic
  • New Topic