This is the WSO2 Data Services Server documentation version 2.6.3

Cloud Services Gateway

Cloud Services Gateway (CSG) can be used to expose a private service to public through a cooperate firewall. CSG consists of two parts:

  • CSG Agent - This feature lets you to add/edit CSG servers and publish/unpublish services to a remote CSG server. This feature should be installed in the service hosting product, which is WSO2 Data Services Server in this case. 
  • CSG - This feature runs on WSO2 ESB. It requires Qpid component to run on the system.

Note

By default, the CSG Agent comes with all the service-hosting WSO2 products such as the WSO2 Data Services Server. However, to benefit from the CSG feature, you have to use both CSG Agent as well as CSG, which runs on WSO2 ESB.

Most of the cooperate networks are secured with cooperate firewalls. There are services deployed in the private network that can only be accessed within the organization. If the user wants to access one of these services outside the organization, the firewall will not allow to do that. However, CSG can be useful in this situation.

When the CSG component is installed within ESB, the user can deploy a Proxy Service, which acts as a front-end for the private services. This minimal Proxy has a very specific feature. The Proxy will have a JMS endpoint and the private service (when published) will start listening to this JMS queue. This queue uses the CSG as the communication medium for the front-end proxy and the back-end private service.

The technique that is used to publish private to public is very simple. When you are within the firewall, you can access the outside but not from outside to inside. When you publish a private service, that service acts as the client and always makes the connection to the Internet from the cooperate firewall. Since the firewall allows connection from inside to outside, there is no barrier to publish services and use them outside. Once published, a Proxy Service will be deployed on ESB that you can use.

The deploying Proxy has the following name: "private service nameProxy". For example, a back-end echo service with the service name "Echo" will have Proxy name "EchoProxy."

Note

To learn more about the WSO2 ESB's Qpid component and Proxy Services, please refer to the WSO2 ESB Documentation hosted in the relevant product page in WSO2 Oxygen Tank: http://wso2.org/library/esb

Deployment of CSG

When installing, CSG will be installed on the WSO2 ESB and a CSG agent will be available in WSO2 Data Services Server (and all other service-hosting products of the WSO2 Carbon products stack).

When deploying CSG, the private services which will be hosted on the Data Services Server and will be deployed behind the corporate firewall. The ESB which contains the CSG component will be deployed in a place publicly accessible.

The user can add a new CSG server, publish and unpublish CSG services.