An ABL service is a set of business logic that can be accessed through a URL path. The ABL Service Deployment feature allows users to package their ABL services into one deployment action, which allows users to build a custom service quickly and to easily deploy to a PAS for OpenEdge instance. This creates a single archive file (.oeds) for each transport, which makes the ABL Service easy to maintain and benefit from CI/CD processes.

For more information about how to create an .oeds file, see Oeds.

OpenEdge Data Service (.oeds) file format

The .oeds file is a zip file with a predefined structure, it represents a single ABL service:

Location Description Contents Target location Applicable transport
./conf The configuration directory.

This is required.

.MANIFEST.MF None APSV, REST, SOAP, STATIC, WEB
./openedge The r-code and other related artifacts for the ABL application.

This is recommended.

**/*.r **/*.cls **/*.p **/*.w **/** ${CATALINA_BASE}/webapps/${oepas-webapp}/WEB-INF/openedge APSV, REST, SOAP, WEB
./static Static files to be copied into the ABL webapp's static folder. These are files that can be accessed by any client. They are not private to the application.

This is optional.

Various files, including:

**/*.js **/*.json **/*.xml **/*.css **/*.png **/*.*
${CATALINA_BASE}/webapps/${oepas-webapp}/static REST, STATIC, WEB
./tlr

Files in this folder are merged with those in the target location.

Recommended: oeablSecurity.merge: The security properties are merged into the existing security intercept URL properties

Optional: build.xml: contains tailoring for this abl-app:
  • ABLSVC_DEPLOY, ABLSVC_DEPLOYED
  • ABLSVC_UNDEPLOY, ABLSVC_UNDEPLOYED
  • ABLSVC_PATCH, ABLSVC_PATCHED
build.xml merge.properties merge.oeablSecurity n/a ${CATALINA_BASE}/conf/openedge.properties ${CATALINA_BASE}/webapps/${oepas-webapp}/WEB-INF/oeablSecurity.csv APSV, REST, SOAP, STATIC, WEB
./svc

For REST and SOAP, the artifacts are deployed via the deployREST and deploySOAP tools.

For the MAP file, a simple copy into the webapp's WEB-INF/openedge folder.

The HANDLERS file contains the configuration of the webhandler(s) and the URI's they handle.

The ${oepas-ablsvc}.json file is the Data Object Service catalog, and is copied to the ./static folder.

This is recommended.

${oepas-ablsvc}.paar ${oepas-ablsvc}.wsm ${oepas-ablsvc}.map/.gen ${oepas-ablsvc}.handlers ${oepas-ablsvc}.json ${CATALINA_BASE}/webapps/${oepas-webap p}/WEB-INF/adapters/rest ${CATALINA_BASE}/webapps/${oepas-webap p}/WEB-INF/adapters/soap ${CATALINA_BASE}/webapps/${oepas-webap p}/WEB-INF/openedge ${CATALINA_BASE}/webapps/${oepas-webap p}/WEB-INF/adapters/web ${CATALINA_BASE}/webapps/${oepas-webap p}/static REST, SOAP, WEB
./custom There may be additional folders in the archive; application administrators will need to deploy these artifacts into the appropriate directory by tailoring the build.xml script.

This is optional.

*.* A custom location depending on your setup and tailoring. APSV, REST, SOAP, STATIC, WEB

ABL-ablsvc MANIFEST.MF attributes

The ABL application contains a manifest file that is a description of the ABL application which includes version information and attributes in the webapp's MANIFEST.MF defining the tailoring task names.

In addition to the common attributes, the following attributes are supported:

Attribute name Sample value Description
ABL-Service-Name CustOrdSvc This value should match the folder name. If not, a warning must be written into the deployment logs
ABL-Service-Version 0.0.0.0 The version of the service should match the version number in the filename.
ABL-Service-Type REST,SOAP,WEB,STATIC,APSV The type of service.