B2BSI Installation Using Urban Code Deployment
IBM UrbanCode Deploy helps you meet the challenge of deploying software throughout your enterprise by providing tools that improve both deployment speed and reliability. The release automation tools in IBM UrbanCode Deploy provide complete visibility into n-tiered deployments. Use the tools to model processes that orchestrate complex deployments across every environment and approval gate.
To start with this exercise, once should have a prior knowledge on UCD workflow.
For that you can refer below links
1. Install UCD Server:
http://www.ibm.com/support/knowledgecenter/en/SS4GSP_6.2.0/com.ibm.udeploy.install.doc/topics/serverInstall.html
UI Will be like:

2. Install UCD Agent:
http://www.ibm.com/support/knowledgecenter/SS4GSP_6.2.0/com.ibm.udeploy.install.doc/topics/agent_install_ov.html
It will show like this in UCD Server UI Under Resources tab

3. Install Plugins:
Name: IBM Installation Manager
1.Download the installation files for one or more plug-ins from the following site:https://developer.ibm.com/urbancode/plugins/ibm-urbancode-deploy/
2.Load the plug-ins:
a.For automation plug-ins, click Settings > Automation Plugins and click Load Plugin.
b.For source plug-ins, click Settings > Source Config Plugins and click Load Plugin.
c.Enter the path to the compressed plug-in file, and then click Submit.
Click on Load Plugin and Add Required Plugin.

To create HelloWorldApplication:
http://www.ibm.com/support/knowledgecenter/SS4GSP_6.2.0/com.ibm.udeploy.tutorial.doc/topics/quickstart_abstract.html
Above activities are enough to start with SI Installation.
Usage OF UCD for SI Installation
SI Installation requires an array of task
1.Install SI Base
2.Apply patch
3.Install Filegateway
4.Install Liberty
5.Install Ifix
6.Update JDK
7.Upgrade JDK.
8.Start SI
All Above task are mapped to component. This article focus is mainly on SI Install (Media)
Flow chart to create and run application:

To Create Component:
1. Click on Create Component Under Component Tab

2. Fill the details
2.a. Specify Name: Triger_Response_File
2.b. Select Source Configuration Type as File System Versioned
3. Associate Agent to Component
3.a. Base Path: /data/UrbanCode/Version (On Agent_9.109.114.106)
3.b. Agent for Version Import: Agent_9.109.114.106 (Any Agent Created) and Save
4. Click on Trigger_File_Response component created and click on “Versions”

5. Click on Import Version

6. Create Component Process, Click on Process and Create Process.

7. Specify Name of Process and Working directory ${p:environment/WORK_DIRECTORY} (its dynamic value will be resolved with Environment property of an application, later in this document we will see how to create these property) and Save .

8. In Design editor: We have to create an application process.

8.a. Load IBM Installation Manager plugin attached as IMPlugin_V3.zip: This is required in triggering response file (see Install Plugins section at page no. 2 to load plugin.)
8.b. Switch utility is from Utilty Step Plugin which is installed along with UCD Server.
8.c. Left side contains the list of all plugins. Select "Switch" utility from plugin list section and drop in editor area. Select "Execute Response file" utility and drop in editor area twice one for Windows and another for Non Windows. Connect "Switch" to switch Execute Response file_Unix and Execute Response file_Windows and in middle of connecting line we can add condition to switch Execute Response file_Unix or Execute Response file_Windows based on OS value (This OS parameter will be in Application Environment Properties).
8.d. To add condition to switch click on icon shown below

8.e. This will open below screen, Default : Drag button to left side and give the values in "Value" input field. Multiple values can be entered, one per line.
8.f. Important Parameters in Execute Response File_Unix element
Click on Icon shown below

i. Name : Execute Response File_Unix
ii. Response File Location: This is the location of response file to execute on any agent. Its parameterized and based on environment variable it will be replaced.
iii. IMCL Path: This is the path till imcl utility. Its again parameterized and based on environment variable it will be replaced. Generally the path is Media_5020602/InstallManager/IM_{$OS_NAME}/tools.imcl
iv. Response File variable :
sharedLocation=${p:environment/IBMIMShared},installLocation=${p:environment/INSTALLLOCATION},eclipseLocation=${p:environment/ECLIPSELOCATION},profile=${p:application/PROFILE},SI_ADMIN_SMTP_HOST=${p:application/SI_ADMIN_SMTP_HOST},os=${p:environment/OS},os_arch=${p:environment/OS_ARCH},ws=${p:environment/WINDOWS_SYSTEM},nl=${p:environment/LANG},FIPS_MODE=${p:environment/FIPS_MODE},NIST_MODE=${p:environment/NIST_MODE},JVM_LOC=${p:environment/JVM_LOC},JCE_DIST_FILE=${p:environment/JCE_DIST_FILE},SI_ADMIN_MAIL_ADDR=${p:environment/SI_ADMIN_MAIL_ADDR},repoLocation=${p:environment/REPOLOCATION},MEMORY=${p:environment/MEMORY},PROCESSORS=${p:environment/PROCESSORS},PORT1=${p:environment/PORT1},installIP=${p:environment/installIP},APSERVER_PASS=${p:environment/APSERVER_PASS},APSERVER_PASS_CONFIRM=${p:environment/APSERVER_PASS_CONFIRM},DB_VENDOR=${p:environment/DB_VENDOR},DB_USER=${p:environment/DB_USER},DB_PASS=${p:environment/DB_PASS},DB_PASS_CONFIRM=${p:environment/DB_PASS_CONFIRM},DB_DATA=${p:environment/DB_DATA},DB_HOST=${p:environment/DB_HOST},DB_PORT=${p:environment/DB_PORT},DB_DRIVERS=${p:environment/DB_DRIVERS}
These variable can be declared at application level, component level or at environment level.
In this exercise we have declared at Environment level , These variables will be resolved with the values passed from Environment properties.
Instead of creating the component you can Import the components.
To Import the Component: Download the script attached with named as Trigger_Response_File.json / B2BSI_Component.json
1. Go to component tab and click on Import Component

2. Browse the Trigger_Response_File.json / B2BSI_Component.json and submit , this import contains component and component process. The only change is to specify the agent in component configuration and import the version.

To Create Application:
1. Click the Applications tab and then click Create Application.

2. Specify Name: Trigger_ResponseFile_Execution and Save

3. Add the component to the application:
3.a. Click on application created in previous step under Application tab.

3.b. Click on Component

3.c. Click on Add Component

3.d. Select the component and Save

4. Create Application Process to install component added in previous step.
4.a. Click on Process under the application created and click on Create Process

4.b. Specify Name : Install_SI and Save

4.c. Click on process created in previous step to add component to install. Drag Install Component to design editor


4.d. Specify Name Install Trigger_Response_File , Select the component added to application and Select the component process and Save
To Define the Environment for an Application:
1. Go to Application Tab, then Environments.
1.a. Click on Create Environment


1.b. Specify Name Test_ResponseFile_Execution and Save.

2. Add the resource group that contains the agent created earlier. Using the Resources tab for the Application environment "Test_ResponseFile_Execution", click Add Base Resources.Add Resource to Environment window shows all available resources select the one you want and click ok.
Also if component is not added to agent we can add that too: Click on Action against agent added then "Add Component" select the component created earlier or you intended to run on agent.


3. Add Environment Variables: These variables are used to pass values to parameterized response file attached.
3.a. Go to Application Environment "Test_ResponseFile_Execution" for Application Test_ResponseFile_Execution
3.b. Go to Configuration

3.c. Go to Environment Properties

3.d. Click on Add Property: Its Name Value pair, I am creating WORK_DIRECTORY property name and /data/UrbanCode value.

Same way below variables needs to be added because we are using parameterized Response file and that need to be resolved with some value and we are passing those values using these Environment variables:
WORK_DIRECTORY, IBMIMShared, INSTALLLOCATION, ECLIPSELOCATION, PROFILE, OS, OS_ARCH, WINDOWS_SYSTEM, LANG, FIPS_MODE, NIST_MODE, JVM_LOC, JCE_DIST_FILE, SI_ADMIN_MAIL_ADDR, REPOLOCATION, RESPONSE_FILE_LOCATION,IMCL_PATH, SI_ADMIN_SMTP_HOST, MEMORY, PROCESSORS, PORT1, installIP, APSERVER_PASS, APSERVER_PASS_CONFIRM, DB_VENDOR, DB_USER, DB_PASS, DB_PASS_CONFIRM, DB_DATA, DB_HOST, DB_PORT, DB_DRIVERS
To Import Application: Download the script attached with named as Test_ResponseFile_Execution.json/B2BSI_Application.json
Change Environment variable according to the environment you are going to use and add base resources (explained above in Application creation section)
1. Goto Application and click "Import Application" and browseTest_ResponseFile_Execution.json / B2BSI_Application.json


2. Submit.
To Execute application Test_ResponseFile_Execution (Manually and Scheduling)
1. Go to Application "Test_ResponseFile_Execution" and then click on Icon against Application Test_ResponseFile_Execution

2. Select Process, Choose the Version and Save.

This will start execute the Job on Agent and to schedule this Application click on Schedule Deployment and select the time.
To View the Execution:
1. Go to Application Environment "Test_ResponseFile_Execution" and history

Resources Added
1. Response File as ResponseFile.xml
2. Components :
a.Install_SterlingFileGateway.json to install SFG
b. Install_Liberty.json to install B2BAPI
c. Start_SI.json to start B2BSI
d. Stop_SI.json to stop B2BSI
#DataExchange#IBMSterlingB2BIntegratorandIBMSterlingFileGatewayDevelopers