Install DSS features to ESB and enable local transport for Data Service endpoints
Calling DSS from ESB is the usual practice. This contains http calls. If you want to avoid http calls and use local transport, it is still possible. In some architectures it is suggested to use local transport because of some reasons like performance, latency etc. Lets see how it can be done.
01. Add Feature Repository
Login to ESB management console. Go to Configure tab and click on Features. Then click on Repository management and then Add Repository.
Then Add relavant repository url.
Using following link you can find out which repository url you need to use with your carbon version.
Using following link you can find out which carbon version is used as the base for your ESB product. This is WSO2 Release matrix.
Since Im using WSO2 ESB 5.0.0 which is based on carbon 4.4.0 I have to use following url as my P2 repo url.
https://product-dist.wso2.com/p2/carbon/releases/wilkes/
Once you click Add button, it will start installing the repo.
Once repository is installed properly, it will look like this.
02. Install Data Services Feature
Then go to ‘Available Features’ tab in same page and find features. Search by ‘Data’ keyword.
Results will be like below. Select the feature(click on the tick icon) Data Services Server Hosting and click install.
03. Enable Local transport in Data Services
After installing the DSS feature, now you can see in your left navigation panel Data Service option is also available other than Proxy service under Services menu item.
Then create a Data service and when creating select local transport as well.
You can do it via editor as well.
Once you finished creating the Data service, if you go in to that service’s service dashboard , you might see the local transport endpoint as well.
04. Use local transport end point as uri/url in your ESB endpoints.
Note: One thing to note here is if you are deploying Data Services using a car file you will need DSS server role added to the ESB. You can do it as follows.
Go to Configure -> Server Roles. Then add DataServicesServer as new server role.
You can add this in carbon.xml as well. Edit <ServerRoles> tag as follows in carbon.xml file
<ServerRoles>
<Role>EnterpriseServiceBus</Role>
<Role>DataServicesServer</Role>
</ServerRoles>
If you have any doubts please ask here or send a mail to maheshc@wso2.com. Thank you!