Proxy Based Two-Way Web-Service Router Gateway
A system for providing two-way Web services is disclosed that enables the client and server to be in different enterprise domains—behind firewalls—with few or no changes to the firewalls. In accordance with the illustrative embodiment, a “tunnel hub” is deployed in the public domain and “tunnel gateways” are deployed behind the firewalls where the clients request two-way services and the servers provide two-way services. Each tunnel gateway initiates a secure tunnel out through the firewall to the target hub. Thereafter, a request for service enters the tunnel gateway, travels to the tunnel hub and to the appropriate tunnel gateway where the server is that provides the service. When the server provides the service, it enters the tunnel gateway, travels to the tunnel hub and to the appropriate tunnel gateway where the client is that requested the service.
1 . A method comprising:
establishing a first tunnel from a first tunnel gateway in a first enterprise domain through a first firewall to a tunnel hub in the public domain; and
establishing a second tunnel from a second tunnel gateway in a second enterprise domain through a second firewall to the tunnel hub.
2 . The method of claim 1 further comprising:
transmitting a request for a two-way web service from the first tunnel gateway to the tunnel hub and to the second tunnel gateway; and
transmitting a service, in response to the request, from the second tunnel gateway to the tunnel hub to the first tunnel gateway.
3 . The method of claim 1 further comprising establishing a third tunnel from a third tunnel gateway in a third enterprise domain through a third firewall to the tunnel hub.
4 . The method of claim 3 further comprising:
transmitting a first request for a first two-way web service from the first tunnel gateway to the tunnel hub and to the second tunnel gateway;
transmitting a first service, in response to the first request, from the second tunnel gateway to the tunnel hub to the first tunnel gateway;
transmitting a second request for a second two-way web service from the first tunnel gateway to the tunnel hub and to the third tunnel gateway; and
transmitting a second service, in response to the second request, from the third tunnel gateway to the tunnel hub to the first tunnel gateway.