Salesforce

Must oeabl.war be deployed multiple times when multiple ABL applications run in a single PASOE instance

« Go Back

Information

 
TitleMust oeabl.war be deployed multiple times when multiple ABL applications run in a single PASOE instance
URL Namedeploy-oeabl-war-to-multiple-ABL-applications-per-PAS-instance
Article Number000117190
EnvironmentProduct: OpenEdge
Version: 11.6.x, 11.7.x, 12.x
OS: All supported platforms
Other: Progress Application Server for OpenEdge
Question/Problem Description
Multiple ABL Apps running in one PASOE Instance: must oeabl.war be deployed multiple times?

Must the oeabl.war be deployed multiple times with distinct App Names, when multiple ABL Apps (with multiple Web Apps each) are running in a single PASOE instance.

Must an ABL Web App be deployed introducing a new ABL App name which then implicitly creates that new ABL App mapping in openedge.properties without deploying the oeabl.war?

When multiple Applications have different session-managers for each Application, does the oeabl.war be deployed to each application?

Does the oeabl.war need to be deployed for each ABL Apps when they are created inside one PASOE instance?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
To answer the question directly, the oeabl.war file must be deployed for each ABL web application that is deployed.

The oeabl.war file is associated with each ABL web app, NOT necessarily the ABL application at the higher level.

PASOE ABL application structure: pne1638888330133.image
https://docs.progress.com/bundle/pas-for-openedge-introduction/page/PAS-for-OpenEdge-architecture.html

Notes:

An ABL Application is a logical name/grouping for one or more ABL Web applications.
A way to separate your Web Apps in case they require different PROPATH, DB, event, configs... 

The only way to create an ABL Application is to specify a name when calling the deploy command, and this can't be done without deploying an ABL Web App.

Since OpenEdge 11.6, the Progress Application Server for OpenEdge (PASOE) supports multiple ABL Applications per PAS instance.
  • One PAS instance can have one or more "ABL apps".
    • ABL Applications refer to a group of ABL WebApplications
    • An ABL application is not created by default when a web application is deployed based on the oeabl.war template.  
    • The oeabl.war simply provides one or more URL space 'service interface' to an ABL application. The analogy to a classic AppServer is 1 ABL application and the REST adapter web application(s) are the HTTP REST 'service interface' to that ABL application.
    • Each ABL Application is required to have a minimum of one web application ( oeabl.war ) that interfaces clients to the Application's business logic.
    • The corresponding mapping will be shown in the CATALINA_BASE/conf/openedge.properties file [Appserver] section.
  • One "ABL App" can have one or more "ABL webapps", being the oeabl.war discussed below.

Rule 1: ./tcman deploy <dlc>\servers\pasoe\extras\oeabl.war
  • When an oeabl.war based web application is deployed without explicitly specifying an ABL application name, the web application is mapped to the default ABL application (example: [oepas1.oeabl] 
  • When the <web-app-name> for the web application is not used, the name will be the same as the .war file name.
  • An ABL application may have any number of web applications mapped to it. 

Rule 2: ./tcman deploy <dlc>\servers\pasoe\extras\oeabl.war <ABLAppName>

When an ABL application name is explicitly specified at the same time an oeabl.war web application is deployed:
            
$   tcman deploy <dlc>\servers\pasoe\extras\oeabl.war ABLApp1 
  • A new ABL application will be defined with the application name specified, if it does not exist.
  • When the <web-app-name> for the web application is not used, the name will be the same as the .war file name. (Example: applications=oepas1,ABLApp1 )
  • The oeabl web application to its list of mapped web application 'service interfaces' (example: [ABLApp1.oeabl] )
  • If the ABL application does already exist it will add the oeabl web application to its list of mapped web application 'service interfaces'. (example: [ABLApp1.oeabl] )
When an ABL application name and Web App name is explicitly specified at the same time an oeabl.war web application is deployed:
          
$   tcman deploy -a OEABL2 <dlc>\servers\pasoe\extras\oeabl.war ABLApp1 


[AppServer]
    applications=oepas1,ABLApp1

[ABLApp1]
    webApps=oeabl,OEABL2 // Note oeabl is from deploying without the web app name 

[ABLApp1.OEABL2]

When using OEPROP to configure the openedge.properties file, care needs to be taken:
  • When explicitly adding an ABL application name to the deploy web application operation. If there's a spelling/typo you can end up with ABL applications you do not expect.
  • When specifying a property as a parameter, the appropriate group name must precede the property name. For example considering the above:
$   oeprop +ABLApp1.oeabl.WEB.adapterEnabled=1
$   oeprop +ABLApp1.OEABL2.WEB.adapterEnabled=1
Workaround
Notes
Keyword Phrase
Last Modified Date4/9/2024 1:14 PM

Powered by