Migrate multiple classic AppServer properties to PAS for OpenEdge using PASPROPCONV

To convert multiple classic AppServer application properties to PAS for OpenEdge, use the PASPROPCONV utility to specify how you want to configure your applications on PAS for OpenEdge. The migration process involves creating new ABL applications and ABL web applications on a PAS for OpenEdge instance to suit your organization's business logic requirements. After you run the PASPROPCONV utility on your classic AppServer applications, merge the exported properties into the PAS for OpenEdge instance.

This topic describes how you migrate multiple classic AppServer ABL applications to PAS for OpenEdge using three example applications, which may contain some analogs to applications in your organization.

For more information about the migration process, see Quick Start: Move Classic AppServer Applications to PAS for OpenEdge.

To migrate multiple classic AppServer applications to PAS for OpenEdge using PASPROPCONV:

  1. Create a PAS for OpenEdge instance (for example, myProdInst):
    proenv>pasman create -Z prod myProdInst

    This instance comes with a default ABL application called myProdInst, and a ROOT web application that accesses the myProdInst ABL application.

    For more information about ABL applications, the ROOT web application, and web applications on PAS for OpenEdge, see "What is PAS for OpenEdge" in Learn about Progress Application Server for OpenEdge.
    Note: If you do not require a ROOT web application for your server URL (for example, if you want all web applications to be accessed using named server URLs, rather than through the root (/) URL), then create the instance using the -Z pas security model. If the instance already exists and you do not require a ROOT web application, then deploy the noaccess.war application in place of ROOT. For more information, see "About security models" in Manage Progress Application Server for OpenEdge.
  2. Undeploy the default ROOT web application, to remove its association with the default ABL application, myProdInst:
    proenv>myProdInst/bin/tcman undeploy ROOT

    This topic assumes that you want to access a migrated ABL application, inventoryApp, through the root (/) URL, so you must remove the ROOT application's association with the default ABL application, myProdInst, by undeploying ROOT.

  3. Create the ABL applications that correspond to your existing clasic AppServer applications on the PAS for OpenEdge instance using TCMAN deploy. Use TCMAN deploy while specifying the ABL application and ABL web application name to create the applications on the PAS for OpenEdge instance, for example:
    proenv>myProdInst/bin/tcman deploy -a ROOT $DLC/servers/pasoe/extras/oeabl.war inventoryApp
    proenv>myProdInst/bin/tcman deploy -a finance $DLC/servers/pasoe/extras/oeabl.war financeApp
    proenv>myProdInst/bin/tcman deploy -a shipping $DLC/servers/pasoe/extras/oeabl.war shippingApp
    

    In this example, the PAS for OpenEdge ABL applications are called inventoryApp, financeApp, and shippingApp. The inventoryApp ABL application is associated with the default ROOT web application, while the financeApp and shippingApp applications are associated with ABL web applications with related names (finance and shipping, respectively).

    ABL applications are accessed through the ABL web application using a server URL, for example:
    • The financeApp ABL application is accessed through the finance web application at http://hostname:port/finance/
    • The shippingApp ABL application is accessed through the shipping web application at http://hostname:port/shipping/
    • The inventoryApp ABL application is accessed through the default ROOT web application at http://hostname:port/
  4. Export the ubroker.properties for each classic AppServer ABL application using PASPROPCONV.
    1. If you are migrating properties of a classic AppServer application to the ROOT ABL web application on the PAS for OpenEdge instance (as in the example inventoryApp created in Step 2), specify the ubroker.properties file location, ubroker name, and ABL application name in the PASPROPCONV command:
      proenv>paspropconv --ubrokerPropsFile path/to/inventory/ubroker.properties  --ubrokerName UBroker.AS.inventory_prod  --pasoeAppName inventoryApp

      The command exports the ubroker.properties for use in the ROOT web application that is deployed to the inventory ABL application, but is accessed through the ROOT web application server URL (/).

    2. For each of the ABL applications on the PAS for OpenEdge instance that you want to run in an ABL web application that is specified using the server URL, run the PASPROPCONV command specifying the ABL application name and the ABL web application name that you specified at deployment, for example:
      proenv>paspropconv --ubrokerPropsFile path/to/finance/ubroker.properties  --ubrokerName UBroker.AS.finance_prod  --pasoeAppName financeApp --pasoeWebAppName finance
      proenv>paspropconv --ubrokerPropsFile path/to/shipping/ubroker.properties  --ubrokerName UBroker.AS.shipping_prod  --pasoeAppName shippingApp --pasoeWebAppName shipping

      The command exports the ubroker.properties file for for each classic AppServer application for use in the named PAS for OpenEdge web application URL (/finance and /shipping, respectively).

    Running PASPROPCONV on your classic AppServer applications produces a several files, including:
    • inventoryApp.inventory_prod.oemerge
    • financeApp.finance_prod.oemerge
    • shippingApp.shipping_prod.oemerge

    A corresponding Set Environment script for each application is also produced.

  5. Move each Set Environment script to the myProdInst/bin directory.
  6. Review and modify the oemerge files according to your organization's requirements. For more information, see "Review and update the oemerge file" in Prepare to move from Classic AppServer to PAS for OpenEdge.
  7. From the myProdInst/bin directory, run the OEPROP utility on each oemerge file, for example:
    proenv>oeprop -f path/to/inventoryApp.inventory_prod.oemerge
    proenv>oeprop -f path/to/financeApp.finance_prod.oemerge
    proenv>oeprop -f path/to/shippingApp.shipping_prod.oemerge
    
  8. Review the myProdInst/conf/openedge.properties file, and verify that the classic AppServer properties were merged for each application. To verify this, ensure that each ABL application has a section in openedge.properties that contains its associated ABL web application (in the webApps property), shown in the following entries:
    [inventoryApp]
    	webApps=ROOT
    
    [financeApp]
     	webApps=finance
    
    [shippingApp]
    	webApps=shipping