ABL application architecture
- Last Updated: January 16, 2024
- 1 minute read
- OpenEdge
- Version 12.8
- Documentation
An ABL application is a container for ABL web applications. The hierarchy of
components is as follows:
- A PAS for OpenEdge instance can contain multiple ABL applications.
- Each ABL application can contain multiple web applications.
- Each web application, in turn, can contain multiple ABL services.
- Each ABL service is bound to a PAS for OpenEdge transport and is mapped to ABL resources (ABL classes and procedures).
Note: As a Service Developer, you create ABL services in an OpenEdge project in
Progress Developer Studio for OpenEdge. The project can be packaged into a web
application archive (WAR) file and deployed to PAS for OpenEdge.
In addition to containing web applications, each ABL application has a session manager that launches one or more multi-session agents to process client requests. A multi-session agent is an operating system process that starts a session within which a client request is executed.

PROPATH
Each ABL application includes an environment variable called PROPATH, which is a list of directory paths containing compiled ABL code and other artifacts.
A PAS for OpenEdge multi-session agent starts an ABL Virtual Machine (AVM) either to process a request within a session or to run event procedures. When it does so, the AVM uses the PROPATH setting to find the code and artifacts that it needs to execute.