Previous section   Next section

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.REST 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.GenericService.
For details on implementing a subclass of %CSP.REST, 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.
Note:
Although Ensemble defines a class EnsLib.REST.Service, that is a subclass of %CSP.REST, we recommend that you not use this class because it provides an incomplete implementation of %CSP.REST. The only feature that EnsLib.REST.Service provides that is not available from %CSP.REST 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.
Previous section   Next section