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.
First we need to create  and configure a Workflow within FlexDeploy.  Download the workflow source.

Lets 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 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.

Now 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 as shown below.

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

 

Dan Reynebeau

I have been working with Oracle and IBM integration technologies, along with custom development, for over 20 years providing solutions to the customer. While working with the different platforms, I have developed deployment scripts along with utilizing 3rd party deployment products to automate the deployment process. As a Principal architect at Flexagon I work with customers to enable DevOps/CI solutions using FlexDeploy, as well as primary development of FlexDeploy.

More posts by Dan Reynebeau

Leave a Reply

Your email address will not be published. Required fields are marked *