Developing a REST Service
This section describes how to provide a REST service from an Ensemble Business Service and to pass the request to a Business Process or Business Operation. It lists the best practice for different requirements.
If you want to:
-
Parse and process the request in the production—use a subclass of %CSP.RESTOpens in a new tab and call the Ens.Director.CreateBusinessService() method to instantiate the class as a business service. This service uses Ensemble’s CSP port.
-
Pass through a REST URL to an external server with minimal changes—use the pass-through REST service, EnsLib.REST.GenericServiceOpens in a new tab.
For details on implementing a subclass of %CSP.RESTOpens in a new tab, see Creating REST Services in Caché.
For an example of using the Ens.Director.CreateBusinessService() method, use Studio to examine the class Demo.ZenService.Zen.WeatherReportForm.cls. Although this is a Zen service rather than a REST service, you would use the Ens.Director.CreateBusinessService() method in the same way.
For details on using the pass-through REST service, see the sections on pass-through business services in “Configuring ESB Services and Operations” and “Pass-through Service and Operation Walkthrough” in Using Ensemble as an ESB.
Although Ensemble defines a class EnsLib.REST.ServiceOpens in a new tab, that is a subclass of %CSP.RESTOpens in a new tab, we recommend that you not use this class because it provides an incomplete implementation of %CSP.RESTOpens in a new tab. The only feature that EnsLib.REST.ServiceOpens in a new tab provides that is not available from %CSP.RESTOpens in a new tab is the ability to use a special port, but we recommend against using a special port because it does not provide the robustness and security you get by using a commercial web server and the CSP port.