Request A Demo
Back to All Blog Articles

Automate SOA Installation Using FlexDeploy – Flexagon

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

 

Related Resources

Simplify Oracle Integration and API Artifact Deployments

Achieve Faster, More Reliable Business Outcomes Learn how to simplify your Oracle integrations and API artifact deployments.  FlexDeploy can streamline ...

Release Orchestration

Assemble software components into a FlexDeploy release to orchestrate delivery across a pipeline for shared milestones. ...

FlexDeploy Workflows

We can’t talk about DevOps without talking about automation.  Automation is at the very core of how teams increase productivity ...

Join DevOps leaders across the globe who receive analysis, tips, and trends in their inbox