A PAS for OpenEdge instance and the ABL applications that it hosts have a defined structure with specific locations for different components. An ABL application is the smallest unit of packaging for business application logic that can run independently on a PAS for OpenEdge instance. However, there is no direct URI to the ABL application.

An ABL Application is a logical construct within a PAS for OpenEdge instance that consists of the following:

  1. One or more multi-session agents, each containing one or more AVM sessions, all configured alike.
  2. A common security configuration.
  3. One or more ABL web applications.
  4. One or more ABL services.
  5. Environment variables and lifecycle scripts.
  6. Additional artifacts such as non-ABL web applications like Tomcat manager.war.
All PAS for OpenEdge instances must have at least one ABL application (abl-app) and at least one oeabl.war-based web application (abl-webapp). ABL applications are created via the following command:
tcman deploy webapp-name ablapp-name
If the ablapp-name is not supplied, the ABL web application will be deployed against the default ABL application. The default ABL application has the same name as the PAS for OpenEdge instance it is hosted in. All ABL applications can be found in the /ablapps directory of the instance.

An ABL application in the context of PAS for OpenEdge is a business application that has:

  • A unique name that can be referenced from administrative tools.
  • A set of r-code files that comprise the application.
  • A single PROPATH value to access the r-code of the application.
  • One or more OpenEdge database connections.
  • A set of startup options.

Each ABL application can have its own configurations for agent and session settings, database connections, authentication, event procedures, and PROPATH within the same instance.

Additional information about ABL applications in PAS for OpenEdge:

  • There is a single session manager for an ABL application, regardless of how many OpenEdge web applications are running on the instance.
  • An ABL application must have at least one OpenEdge web application, but can have more.
  • An ABL application lives in the /ablapps directory, and by default the ABL application contains a /conf directory with security information in it.

To package an ABL application for deployment to a PAS for OpenEdge instance, see OpenEdge Archive Structure in Manage Progress Application Server (PAS) for OpenEdge.

ABL application best practices

Even though an ABL application can physically locate its files anywhere in the OS file system, keeping them inside the PAS for OpenEdge instance /ablapps directory promotes scaling, extensibility, and deployment.

To promote scalability, extensibility, and deployment, an ABL application should contain the following components:

  • The ABL application (identified by name) should be deployed to an existing PAS for OpenEdge instance in the instance-name/ablapps directory.
  • Common .r or .p files used across multiple OpenEdge ABL web applications (abl-webapp) should be located in the instance-name/openedge/* directories. The directory structure should be capable of being configured read-only for a secure installation.
  • Application-specific .r or .p files should be located in the instance-name/webapps/ABL_webapp_name/WEB-INF/openedge/* directories. The directory structure should be capable of being configured read-only for a secure installation.
  • ABL web applications derived from oeabl.war can be deployed to an existing PAS for OpenEdge instance in the instance-name/webapps directory. They are used to host APSV, SOAP, and REST transport access to ABL business logic. For more information about ABL web applications, see Web applications.