The web applications deployed to a PAS for OpenEdge instance are generated as Web Application Archive (WAR) files. When deployed, WAR files are expanded in the Java servlet container of the server in the /webapps directory of the PAS for OpenEdge instance.

In PAS for OpenEdge, the /webapps folder typically includes:

  • A PAS for OpenEdge ROOT application that replaces the default Tomcat ROOT application.
    Note: The server must have an application named ROOT installed.
  • (Optional) administrative applications such as manager.war and oemanager.war. For more information, see Manager applications.
  • The ABL web applications, based off of oeabl.war, that the application server runs in response to a client request.

The oeabl.war application provides transports for accessing ABL and web services via HTTP. Copies of the oeabl.war application can be deployed from the openedge-installation-dir/servers/pasoe/extras (also known as $CATALINA_HOME/extras) directory.

As an example of a web application in the /webapps directory, the OpenEdge ABL web application (oeabl.war) is structured as follows:

  • /apsv — A URI path reserved for OpenEdge client connections (can be disabled).
  • /soap — A URI path reserved for OpenEdge SOAP client connections (can be disabled).
  • /rest — A URI path reserved for OpenEdge REST clients (can be disabled).
  • /web — A URI path reserved for OpenEdge WebSpeed and new REST clients (can be disabled).
  • static — A directory that contains static files, including images, style sheets, and HTML pages.
  • META-INF — A required directory that contains metadata and context.xml definitions specific to the web application. OpenEdge uses a tailored context.xml file for the web application, and can be tailored by the deployment site to meet security requirements.
  • WEB-INF — A required directory that holds the configuration file of the web application (web.xml), Spring Security configuration files, and other application private files.
    • adapters — OpenEdge directory tree that hold REST, SOAP, and WEB deployment files.
    • lib — Required directory that holds any Java libraries specific to the web application.
    • classes — Required directory that holds any Java classes or data files specific to the web application.
    • openedge — Directory provided intended for ABL developer to distribute their r-code files that apply specifically to the web application.
For each ABL web application, include:
  • (Optional) The .r and .p files specific to the application in the instance-name/webapps/webapp-name/WEB-INF/openedge directory. The directory structure should be capable of being configured read-only in a secure installation
  • Static pages used by the web application. They should be located relative to the web application's URI from the root URI (/) , but not from one of the reserved OpenEdge URIs.
  • Configuration files for the web application, including the application-specific web.xml files and oeablSecurity*.xml files in the webapps/webappname/WEB-INF directory.
  • A default REST configuration properties file: WEB-INF/adapters/rest/runtime.props.
    Note: REST properties are not contained in the instance-name/conf/openedge.properties file.
  • REST .paar files that may be incrementally deployed into an existing OpenEdge web application.
  • SOAP .wsm files that may be incrementally deployed into an existing OpenEdge web application.
  • A fragment of the openedge.properties file that contains the defaults for the ABL application and its associated web applications, transports, session manager, and multi-session agents. The fragment is appended to the instance-name/conf/openedge.properties file at installation time by a user-written tailoring script.
  • (Optional) User-written installation tailoring script that customizes web applications and openedge.properties files.
  • (Optional) User-written startup environment script (myapp_setenv.[sh|bat]) that sets OS process environment variables used by the ABL application code.

Additional information about ABL web applications in PAS for OpenEdge:

    • An ABL application contains at least one ABL web application derived from the oeabl.war application.
    • An ABL web application exposes ABL application logic using HTTP, so it can be called with a URI and with HTTP methods.
    • An ABL web application has a URI that is relative to the instance, for example, http://localhost:8810/webapp-name. The ROOT OpenEdge ABL web application (ROOT application) has a special relative URI to the instance, which is accessed through the instance URL, for example: http://localhost:8810/. Therefore, if you removed the ROOT application from the /webapps folder, then the instance URL would not be accessible.
    • An ABL web application can act as an authentication boundary, for example, using login web pages (JSP) or inheriting ABL application authentication.
    • An ABL web application contains one or more ABL services, including a /static service.
    • An ABL web application has a WEB-INF/openedge directory which is added to PROPATH when the web application is deployed. This directory contains ABL code from individual ABL services.
    • Other web applications can also be deployed to an instance that are related to but not part of an ABL application, such as a monitoring application like manager.war. For more information, see Manager applications.