PAS for OpenEdge is a component of the OpenEdge environment. The following figure shows PAS for OpenEdge and the related OpenEdge components:

PAS for OpenEdge is the application server component of an OpenEdge business application. PAS for OpenEdge interacts with the OpenEdge database and serves client requests using transports.

Each PAS for OpenEdge instance has the following components, as shown:

The components in the diagram are:

  • The Tomcat Web Server (PAS for OpenEdge Instance). Tomcat is used as both a web server to deliver static web content and as an application server for ABL applications. Tomcat accepts incoming HTTP/S requests from clients such as ABL, browser clients and mobile devices and routes those to the web applications deployed to the Tomcat web server. All clients (including ABL and OpenClient) communicate with PAS for OpenEdge using HTTP. You can find details on the Tomcat environment at PAS for OpenEdge Instances.
  • An ABL application is a grouping of ABL web applications and business logic that operate within a unique PROPATH, set of database connections, application configuration such as locale, and security configuration. An ABL application also provides perimeter security. A single ABL application can be used to replace both classic AppServer Agents and WebSpeed Messengers. You can find details on ABL applications at ABL applications.
  • One or more ABL web applications. A web application is the next level of isolation within an ABL application. It is identified by a unique URL path and security configuration. All HTTP/S requests to that URL are mapped to a published API defined as an ABL Service or are used to access static content. Each API is a logical representation and maps to specific ABL code which permits obfuscation of sensitive implementation details such as method and parameter names. Each web application is packaged as a web application archive file (.war). You can find details on ABL web applications at PAS for OpenEdge Web applications.
  • One or more ABL Services. ABL Services define domain- and micro-service APIs as part of an ABL web application. The ABL Service is identified as a resource in the URL and mapped to business logic within the ABL Application. The mapping details are transport type specific—one of WEB, REST, SOAP or APSV are used. You can find details on ABL services at Create an ABL Service and ABL Service Artifacts.
  • One or more Multi-session Agents (MS Agents). An MS Agent is a specialized AVM that can run multiple ABL sessions concurrently, allowing one MS Agent to handle requests from multiple PAS for OpenEdge clients. An MS Agent maps one-to-one with an OS process. Since you can run multiple ABL sessions within a single process, this highly scalable architecture uses less system resources than classic AppServer. When an MS Agent starts up, it runs the Agent Startup procedure if one was specified. This procedure can be used to perform tasks required by all server sessions that run in the agent. One common task is to create all self-service database connections that are shared by the server sessions created and managed by a given MS Agent. Each MS Agent is a user with its own self-service connection to a given database, and all its server sessions share that same connection as separate users. You can find details on Agents and ABL Sessions at Agents and Sessions and ABL sessions.
  • The Session Manager. The Session Manager is responsible for processing all incoming requests and routes them to the ABL Sessions within a MS Agent. It also manages the pool of ABL Sessions that can be running in one or more MS Agents. Refer to the Session Manager component in the diagram to understand how an ABL Session Manager processes the incoming request and routes them to the ABL Session within a MS Agent. For more information about session pool, see ABL Session Manager and Session Pool.
  • PAS for OpenEdge Clients send requests to a PAS for OpenEdge instance. PAS for OpenEdge Clients can be an ABL Client, Java Open Client, .NET Open Client, browser Client, REST clients, SOAP clients, Web UI and Mobile UI. In general, PAS for OpenEdge expects clients to operate in a stateless manner. For the purposes of supporting classic AppServer applications, the APSV and SOAP transports give you a means to emulate session-managed and session-free models. ABL Services identify the type of clients that can be supported by including a transport identifier in the URI of the service. Supported transports are:
    • APSV for ABL clients, Java, and .NET Open Clients
    • WEB, REST for RESTful requests
    • SOAP for SOAP requests
    • Static for Static content
    You can find details on transports at Transports and services and details on client access migration to PAS for OpenEdge in the Learn About Migrating Classic AppServer Applications to PAS for OpenEdge.

For more information, see the Progress Application Server (PAS) for OpenEdge Technical Migration Guide.