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: