This section describes an API-first approach to developing ABL services. It introduces the basic ideas behind API-first development and covers how to develop ABL services using each of PAS for OpenEdge's transports—WEB, REST, SOAP, and APSV.

Development choices

You can expose ABL business logic to client applications in the following ways:
  • Create a REST service using one of the following methods.
    • Use the PAS for OpenEdge WEB transport (recommended). With the WEB transport, you define the service interface using a WebHandler1 or a DataObjectHandler2.
    • Use the PAS for OpenEdge REST transport. With the REST transport, you define the service interface in a GUI editor where you map URIs to ABL classes and HTTP requests and responses to ABL method parameters.
    • Create a Data Object Service using either the WEB or REST transport. A Data Object Service provides access to a single resource and consists of both a server and a client data object. It is meant for a JavaScript Data Object (JSDO) client application
  • Create a SOAP service. PAS for OpenEdge supports the deployment of a SOAP WSDL file. OpenEdge includes a tool called ProxyGenerator that enables you to generate a WSDL file from an ABL procedure that acts as a service interface.
  • Use the PAS for OpenEdge APSV transport. In this case, client applications connect to the PAS for OpenEdge instance and remotely run ABL procedures on the server instance.
1 A WebHandler is an ABL class that enables you to handle GET, PUT, POST, and DELETE requests.
2 A DataObjectHandler is a type of WebHandler where, instead of writing ABL code, you define the service interface in a JSON mapping file.