Web Services or Sonic Queue

Posted by Admin on 08-Dec-2008 00:16

I need to get a message from sonic ESB and want to send it to a distributed server( e.g Bank) and return the response to ESB. To do this task web service or sonic queue is suitable?

All Replies

Posted by Admin on 08-Dec-2008 00:24

Well this depends on a number of facts.

First of all, you need to verify, if the bank accepts a sonic queue. That requires Sonic client libraries on their end and some custom coding. Web Service is (usually) just a http transported xml message. Support for that is much broarder spreaded.

Sonic is much more reliable, configurable, etc. so it gives you much more options and control.

If you need to bypass a DMZ to send the message to the bank, http might be much easier.

Posted by Admin on 08-Dec-2008 00:56

Thanks for the reply,

Still I have some more to clarify,

Is it possible to communicate in both ways using a web service?

How's the Web service pass request to the remote place? and get back the response from there?

Posted by Admin on 08-Dec-2008 01:11

Let's assume we are using Web Services as a synonym for SOAP via http Web Services.

A single request is a request and a reply. Request and reply are both XML messages. In order to receive a reply, you need an http listener (a web server such as TomCat, Apache or IIS) or a Sonic Web Services acceptor (that takes the XML and puts it on a named Sonic Queue).

If you want to communicate in both directions, both partners need to know the http endpoint (the http listener) of the partner. A single http Web Service is not a bi-directional tunnel - that's why you endup with two web services.

Posted by Admin on 08-Dec-2008 02:03

thanks,

In this problem the main thing I have to do is to get a message from ESB and check configurations and select the remote place(there are several remote places) and pass the message to there and get the response and return it to Sonic ESB.

If I use a SonicMQ we have to setup sonic sites in each remote place, is this method is efficient? or there is any efficient way of doing my task?

Posted by Admin on 08-Dec-2008 02:33

Sounds like an ESB CBR (content based routing) step was just made for you... Then the ESB could call out via web services or a sonic queue to the remote sites.

You don't need to have a sonic MQ broker installed at the remote sites. Just the client libs - and they'd connect to a queue at your sonic broker. But that still requires a minimal deployment, that's right.

This thread is closed