Configure Multiple Applications

Deploy multiple applications with one Jython file.

Overview

When using RapidDeploy for application release automation for WebSphere Process Server, and some other applications, we deploy multiple EAR files in the same deployment package. Whilst this is not recommended, in some scenarios with third party applications, it is mandated.

The default behaviour is to require one Jython file per EAR file. However, this can become unwieldy when there are many EAR files, such as is the case for WebSphere process server. The two cases below explain how to reduce this overhead to a single set of config files.

In this case the property earLocation becomes the folder where the EAR files will be held.

Along this documentation page we always refer to EAR files, but all this configuration applies to WAR files in the same way although keeping always in mind to set the -MapWebModToVH option for the specific WAR application.

Simple case: No specific application bindings to set.

In this case we can specify in a single py file all of the EAR files in the deployment. We can also set a python file for some of the simple applications, and separate files for more complex ones. We can mix and match as we see fit.

You will need to choose an application to name the python file. This must be one of the encompassed applications. E.g. dmserver01.wasenv01.PROJECT1ServerIntTst02.A1_MRApp.py

Then set:

installMultipleApps = "true"

Then insert the list of applications as follows. An EAR file must exist for each of the named applications:

enterpriseApplicationList = ["MM_IN_IBGTW_ArrangementSetup", "MM_IN_IBGTW_ProductCustomerMatching", "MM_OUT_IBGTW_ArrangementSetup", "MM_OUT_OCIS", "MM_OUT_WPSRefDataMarketing", "MM_OUT_WPSRefDataProduct", "MM_OUT_WPSRefData_Instruction", "PM_ActivateProductArrangement", "PM_DetermineCustomerProductConditions", "PM_DetermineEligibleCustomerInstructions", "PM_DeterminePromotionalCustomerInstructions", "PM_EligibilityRules", "PM_MarketingRules"]

In this case, appname is set automatically to the enterprise application name.

Complex case 1: Some or all EAR files need their own bindings specified.

In the following example we set up bindings information from one of the applications, then set it in the enterpriseApplicationList:

PM_MarketingRules_res7_1 = ["PM_MarketingRulesWeb", "PM_MarketingRulesWeb.war,WEB-INF/web.xml", "MVServerIntTst02APP"]

PM_MarketingRules_app_options = ["-appname"]
PM_MarketingRules_app_options.append("PM_MarketingRules")
PM_MarketingRules_app_options.append("-MapWebModToVH")
PM_MarketingRules_app_options.append([PM_MarketingRules_res7_1])

installMultipleApps = "true"

enterpriseApplicationList = [["PM_MarketingRules", PM_MarketingRules_app_options], "MM_IN_IBGTW_ArrangementSetup", "MM_IN_IBGTW_ProductCustomer
Matching", "MM_OUT_IBGTW_ArrangementSetup", "MM_OUT_OCIS", "MM_OUT_WPSRefDataMarketing", "MM_OUT_WPSRefDataProduct", "MM_OUT_WPSRefData_Instruc
tion", "PM_ActivateProductArrangement", "PM_DetermineCustomerProductConditions", "PM_DetermineEligibleCustomerInstructions", "PM_DeterminePromo
tionalCustomerInstructions", "PM_EligibilityRules"]

Note in the above example that -appname is set. This must be set for any application adding its own app_options.

Complex case 2: Each application EAR file needs a different starting weight.

You can specify, for each enterprise application, it's starting weight and other options as the following example demonstrates:

EntpAppName_startingWeightForApplication="1000"
EntpAppName_classloaderForApplication="PARENT_FIRST"
EntpAppName_classloaderPolicyForWar="PARENT_FIRST"
EntpAppName_appAutoStart="true"

Where EntAppName is the name of the enterprise application. This must match a name in the enterpriseApplicationList . Multiple such entries may be added to the py file.

Other settings may also be added for any of the modules within any of the individual EAR files. Please see additional help to configure these settings.

Non-Process server and using EnvIdentifier

Where the deployed EAR has a different name to the EAR file name in the tar file (most WAS applications), you need to do a further mapping as follows:

enterpriseApplicationList = [["csdcapplication", csdcapplication_app_options, "csdcapplicationIntTst00"], ["csdcmdbapplication", csdcmdbapplication_app_options, "csdcmdbapplicationIntTst00"]]

Each entry has 3 sub-entries, EAR file name, app_options followed by EAR file name in the target environment.