Gordon, Thank you for replying. I am sorry I didn't explain it well. Maybe I was relying on the link on ServiceMix mailing list. I will try to explain it again here.
We have two systems, on separate networks. System A and System B. Each of them provide different services. Some services in System A, need to call services on System B. However, since each of them on a different network, we have to rely on opening holes in the firewalls. I think we can replace the existing setup, with a AMQP. For example a service on system A (Service A), can call a service on System B (Service B), buy connecting to an instance of QPID, and send a message to a queue called INPUT_A. Service B would get this message, and process it, then reply on queue OUTPUT_B. Service A would then select the reply based on CorrelationId, and match it with the request. Therefore we can establish a connection between those two services. This is summarized in the request/response pattern. I was wondering if there's a library that allows to do this without having to deal with the details. After searching, I found something close to what I have in mind (and you replied to the user). http://qpid.2158936.n2.nabble.com/RPC-over-AMQP-with-Hessian-td5103076.html Here's an RPC over messaging, (or Request/Reply) implementation by RabbitMQ, https://www.rabbitmq.com/tutorials/tutorial-six-java.html I will check out the project "https://github.com/ebourg/qpid-hessian" and test it out. If there's nothing similar to in the Qpid, it will be nice to have it. On Mon, May 14, 2018 at 12:32 PM, Gordon Sim <[email protected]> wrote: > On 13/05/18 16:39, Mansour Al Akeel wrote: > >> Hello all, >> >> We have a situation where we need to connect multiple application in >> different networks. We are trying to avoid opening a firewall hole. >> I have posted a question in ServiceMix users mailing list explaining what >> we need. >> >> http://mail-archives.apache.org/mod_mbox/servicemix-users/ >> 201805.mbox/%3CCAFvvX%3DZ-EbDo9T8388dCrVAfxiNjEZ- >> AY785o7oU%3DKya7-3WBw%40mail.gmail.com%3E >> >> As I am searching, I found Microsoft Azure addresses exactly this use >> case. >> They use what is termed as relays. >> http://mail-archives.apache.org/mod_mbox/servicemix-users/ >> 201805.mbox/%3CCAFvvX%3DZ-EbDo9T8388dCrVAfxiNjEZ- >> AY785o7oU%3DKya7-3WBw%40mail.gmail.com%3E >> >> Since I need to expose services from clients behind firewall, I was >> considering doing this in Qpid by creating multiple queues (in >> virtualhost) >> for each client. Each virtual host have a queue to pass the input for the >> service. When the service complete (on the client), it provides the output >> on another queue within the same virtual host. Requests and replies are >> matched based on correlation it. The response is served back through a >> restful service to original caller, after matching request-response. >> >> While I haven't used Azure, it looks they are exposing the service as a >> webservice using SOAP bindings. Not necessary what I hoped, but it does >> the >> job. >> Is there something equivalent to Azure Service Bus in Qpid that we can >> utilize for our use case ? >> >> > I'm not completely sure what you are looking for. However the Qpid > dispatch router[1] allows you to communicate with services behind a > firewall without requiring inbound connections through that firewall. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
