Dear Sir,

I am not on the Job market now
I will contact you in the future.

Also, I am not ready for a job change yet.
You can remove my profile from your Database now. 
I will contact you in the future 

Thank you
Paul Hsu
Cincinnati, Ohio
= = = = = = = = = = = = =
= = = = = = = = = = = = =
= = = = = = = = = = =

-----Original Message-----
From: Mansour Al Akeel [mailto:[email protected]] 
Sent: Thursday, May 10, 2018 9:02 PM
To: [email protected]
Subject: Remote callback

Hello all
We have a need to expose some services to an external server. These service is 
behind a firewall. We are trying to avoid having to open a port in the firewall 
to access these services

To be specific, we have multiple customers. They wish to expose their 
inventory, prices ... etc. to a search service. The search functionality 
resides on a public host, and needs to query their dbs (which are on internal 
network), we have to open a port in the firewall and expose the services we 
need. What I have in mind is a mechanism to subscribe and register a callback. 
In other words exposing the services without having to go through the 
additional work and maintenance to open ports and forward in the their 
infrastructure.

In Pseudo code:
* client connect to the server.
* the client registers its services (findProduct, getInventory ... ).
* when the server  recieves a request and needs to query the client it invokes 
the call back.
* The call back is executed on the client machine without having to modify the 
firewall configurations.

This setup saves us a lot of work trouble shooting and digging issues, and it 
works even if the client change their location.

One way to do this is by using queues. Each client may subscribe to queue and 
writes the results to another queue using correlationId. This approach is 
discussed in this article http://mikehadlow.blogspot.ca/
2013/10/rabbitmq-request-response-pattern.html?m=1

I have a feeling that this has been implemented somewhere and servicemix may 
have this already. The problem is I am unable to find an example. Maybe I am 
not searching using the correct keyword. Is there an example or a library that 
will handle this integration requirement ? By the way, RMI is an option that we 
are considering.


Thank you.

Reply via email to