On Tue, May 15, 2018 at 2:38 AM, Gordon Sim <[email protected]> wrote: > On 15/05/18 04:49, Mansour Al Akeel wrote: >> >> 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.
There's a much better pattern for request/reply that uses temporary addresses for the client. This causes replies to be sent directly to the clients without the need for a selector. > > > Yes, you can use queues. You can also communicate end-to-end using the > dispatch router. +1.. Queues are not a real benefit for the Request/Reply pattern unless the clients and servers are not present at the same time. Using the router allows you to get the cross-datacenter benefit reliably without the need for clustered brokers or backing stores. > >> 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 > > > There is a simple client/server (i.e. request/response) example included in > the qpid jms examples[1][2] > >> 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. > > > That looks pretty old, I suspect you will have to tweak things to get it to > work at all. > > > [1] > https://git1-us-west.apache.org/repos/asf?p=qpid-jms.git;a=blob;f=qpid-jms-examples/src/main/java/org/apache/qpid/jms/example/Client.java;h=482af7954c28d4e99c0bafc7b689e97fe17869b6;hb=HEAD > [2] > https://git1-us-west.apache.org/repos/asf?p=qpid-jms.git;a=blob;f=qpid-jms-examples/src/main/java/org/apache/qpid/jms/example/Server.java;h=ef12d6b6d67fcf654ebb49af9a49e30aad5a61c3;hb=HEAD > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
