Remote callback

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Remote callback

Mansour Al Akeel
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 | Threaded
Open this post in threaded view
|

RE: Remote callback

Paul Hsu
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:[hidden email]]
Sent: Thursday, May 10, 2018 9:02 PM
To: [hidden email]
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.