In this blog, I will show how to automate the installation of SOA, BPM, OSB and/or B2B using FlexDeploy. For 12c, there is only one installation JAR file that you can download to install WebLogic.
Automating a SOA Installation
First, we need to create and configure a Workflow within FlexDeploy. Download the workflow source.
Let’s add a few workflow inputs to provide control and customization of the workflow process.
Now we need to create the workflow to conditionally perform the installation and creation of the required database tables.
The Install Binaries step in the workflow has the following script that utilizes the properties created above.
if [[ ${inpSOAVersion} == "12.2.1" ]] then ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.0.0_infrastructure.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/fmw_12.2.1.0.0_install.rsp ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.0.0_osb.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/osb_12.2.1.0.0_install.rsp ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.0.0_soa.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/soa_12.2.1.0.0_install.rsp ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.0.0_soa.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/bpm_12.2.1.0.0_install.rsp ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.0.0_b2bhealthcare.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/b2b_12.2.1.0.0_install.rsp elif [[ ${inpSOAVersion} == "12.2.1.3" ]] then ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.3.0_infrastructure.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/fmw_12.2.1.3.0_install.rsp ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.3.0_osb.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/osb_12.2.1.3.0_install.rsp ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.3.0_soa.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/soa_12.2.1.3.0_install.rsp ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.3.0_soa.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/bpm_12.2.1.3.0_install.rsp ${inpJavaHome}/bin/java -d64 -jar ${inpInstallFileDir}/fmw_12.2.1.3.0_b2bhealthcare.jar -silent -invPtrLoc /etc/oraInst.loc -responseFile ${inpInstallFileDir}/b2b_12.2.1.3.0_install.rsp fi
NOTE: Due to the size of the JAR files, I keep them in a shared folder to eliminate transferring these files to each server.
Now, let’s create a project and associate it to the workflow. In this case we have created a FlexDeploy utility project. Upon execution, you can see that Workflow Inputs are displayed and user will pick which version of install they want to perform. The other inputs are defaulted and can be changed, if needed.
Next, monitor execution logs. If everything works, you will see a success message for each component installed that will be as shown below (SOA install shown).
After the installation, the directory should now have various folders like those shown below.
Fusion Middleware Sample Response Files
Here are sample response files for Fusion Middleware Infrastructure, SOA, BPM, OSB, and B2B. These response files would be located on the shared file structure with the JAR files.
Infrastructure Sample
[ENGINE] #DO NOT CHANGE THIS. Response File Version=1.0.0.0.0 [GENERIC] #Set this to true if you wish to skip software updates DECLINE_AUTO_UPDATES=true # MOS_USERNAME= # MOS_PASSWORD=<SECURE VALUE> #If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true AUTO_UPDATES_LOCATION= # SOFTWARE_UPDATES_PROXY_SERVER= # SOFTWARE_UPDATES_PROXY_PORT= # SOFTWARE_UPDATES_PROXY_USER= # SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE> #The oracle home location. This can be an existing Oracle Home or a new Oracle Home ORACLE_HOME=/apps1/oracle/products/fmw #Set this variable value to the Installation Type selected. e.g. Fusion Middleware Infrastructure, Fusion Middleware Infrastructure With Examples. INSTALL_TYPE=Fusion Middleware Infrastructure #Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name. MYORACLESUPPORT_USERNAME= #Provide the My Oracle Support Password MYORACLESUPPORT_PASSWORD=<SECURE VALUE> #Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration DECLINE_SECURITY_UPDATES=true #Set this to true if My Oracle Support Password is specified SECURITY_UPDATES_VIA_MYORACLESUPPORT=false #Provide the Proxy Host PROXY_HOST= #Provide the Proxy Port PROXY_PORT= #Provide the Proxy Username PROXY_USER= #Provide the Proxy Password PROXY_PWD=<SECURE VALUE> #Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port] COLLECTOR_SUPPORTHUB_URL=
SOA Sample
[ENGINE] #DO NOT CHANGE THIS. Response File Version=1.0.0.0.0 [GENERIC] #Set this to true if you wish to skip software updates DECLINE_AUTO_UPDATES=true # MOS_USERNAME= # MOS_PASSWORD=<SECURE VALUE> #If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true AUTO_UPDATES_LOCATION= # SOFTWARE_UPDATES_PROXY_SERVER= # SOFTWARE_UPDATES_PROXY_PORT= # SOFTWARE_UPDATES_PROXY_USER= # SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE> #The oracle home location. This can be an existing Oracle Home or a new Oracle Home ORACLE_HOME=/apps1/oracle/products/fmw #Set this variable value to the Installation Type selected. e.g. SOA Suite, BPM. INSTALL_TYPE=SOA Suite
OSB Sample
[ENGINE] #DO NOT CHANGE THIS. Response File Version=1.0.0.0.0 [GENERIC] #Set this to true if you wish to skip software updates DECLINE_AUTO_UPDATES=true # MOS_USERNAME= # MOS_PASSWORD=<SECURE VALUE> #If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true AUTO_UPDATES_LOCATION= # SOFTWARE_UPDATES_PROXY_SERVER= # SOFTWARE_UPDATES_PROXY_PORT= # SOFTWARE_UPDATES_PROXY_USER= # SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE> #The oracle home location. This can be an existing Oracle Home or a new Oracle Home ORACLE_HOME=/apps1/oracle/products/fmw #Set this variable value to the Installation Type selected. e.g. Service Bus. INSTALL_TYPE=Service Bus
BPM Sample
[ENGINE] #DO NOT CHANGE THIS. Response File Version=1.0.0.0.0 [GENERIC] #Set this to true if you wish to skip software updates DECLINE_AUTO_UPDATES=true # MOS_USERNAME= # MOS_PASSWORD=<SECURE VALUE> #If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true AUTO_UPDATES_LOCATION= # SOFTWARE_UPDATES_PROXY_SERVER= # SOFTWARE_UPDATES_PROXY_PORT= # SOFTWARE_UPDATES_PROXY_USER= # SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE> #The oracle home location. This can be an existing Oracle Home or a new Oracle Home ORACLE_HOME=/apps1/oracle/products/fmw #Set this variable value to the Installation Type selected. e.g. SOA Suite, BPM. INSTALL_TYPE=BPM
B2B Sample
[ENGINE] #DO NOT CHANGE THIS. Response File Version=1.0.0.0.0 [GENERIC] #Set this to true if you wish to skip software updates DECLINE_AUTO_UPDATES=true # MOS_USERNAME= # MOS_PASSWORD=<SECURE VALUE> #If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true AUTO_UPDATES_LOCATION= # SOFTWARE_UPDATES_PROXY_SERVER= # SOFTWARE_UPDATES_PROXY_PORT= # SOFTWARE_UPDATES_PROXY_USER= # SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE> #The oracle home location. This can be an existing Oracle Home or a new Oracle Home ORACLE_HOME=/apps1/oracle/products/fmw #Set this variable value to the Installation Type selected. e.g. B2B, Healthcare. INSTALL_TYPE=B2B