Tibco CIM Installation
Introduction
This is a short guide to install and configure Tibco MDM 8.3 from scratch on Windows (7 and 64 bit). The database used is Oracle 11g R2 and the application server is Jboss 7. Only the essential steps are covered. You must refer to the official documentation for production level installations. The aim here is to cut through the fog and set up MDM real quick.
Required Tools
Windows 7 64-bit OS
Oracle 11gR2 64 bit server
jdk-6u31-windows-x64
jboss-as-7.1.1.Final
TIB_rv_8.3.1_win_x86_64_vc8
TIB_tra_5.7.3_win_x86_64
TIB_ems_7.0.0_win_x86_64_vc8
TIB_mdm-JBOSS_8.3.0_win_x86_64
ThirdParty.jar
-The ThirdParty.jar is a jar file containing the following third party jar files : com.ibm.mq.jar,com.ibm.mqjms.jar,connector.jar,gnu-regexp.jar,jsse.jar,tibjms.jar,xmlc-all-runtime.jar,xmlc-base.jar,xmlc-chtml.jar,xmlc-taskdef.jar,xmlc-xerces.jar,xmlc.jar
-A slightly hard way is to download these jar files independently and consolidate into a single ThirdParty.jar file. The easier (and recommended) way is to get this file from your colleagues who have already installed MDM.
Install Oracle 11gR2
(Skip this step if you have installed Oracle already. Including this section to make this document complete)
First unpack the “win64_11gR2_database_1of2.zip” file in the directory named “database”. Also unpack the “win64_11gR2_database_2of2.zip” into the same “database” directory. (the files in both the zip files should be in the database directory)
Double click on the setup.exe file in the “database” directory and start Oracle 11gR2 installation.
Installation should be straightforward. Create the default database (named “orcl”). Provide the system user password as “orcl”.
At the end of the installation, open cmd prompt and make sure you are able to login to the orcl database:
Install TIBCO Components
Install the following in sequence.
TIB_rv_8.3.1_win_x86_64_vc8
TIB_tra_5.7.3_win_x86_64
TIB_ems_7.0.0_win_x86_64_vc8
TIB_mdm-JBOSS_8.3.0_win_x86_64
At the end of the installation, you should be having the directory C:\tibco (or any other TIBCO_HOME).
Install Jboss and JDK
Copy or unzip JBoss into the TIBCO_HOME directory.
Install JDK using “jdk-6u24-windows-x64.exe”. It is better to install into C:\JDK1.6 instead of installing inside C:\Program Files\Java (to avoid issues due to the “space” character in the “Program Files” directory name)
Set the Environment Variables
Set the MDM specific environment variables (at System level) as shown in the table below. You will have to set them at Start ->All Programs->Computer->(right click) ->Properties->Advanced System Settings->Environment Variables -> System Variables
ENVIRONMENT VARIABLE / EXAMPLE PATHsMQ_HOME / C:\tibco\mdm\8.3
MQ_LOG / C:\tibco\mdm\8.3\log
MQ_COMMON_DIR / C:\tibco\mdm\8.3\common
MQ_CONFIG_FILE / C:\tibco\mdm\8.3\config\ConfigValues.xml
JAVA_HOME / C:\JDK1.6
EMS_HOME / C:\tibco\ems\7.0
JBOSS_HOME / C:\tibco\jboss-as-7.1.1.Final
ANT_HOME / C:\tibco\tpcl\5.7\ant\1.6
ORACLE_HOME / E:\app\apps\product\11.2.0\dbhome_1
AS_HOME / C:\tibco\mdm\8.3\bin\as\2.0
OS / Windows_NT
NODE_ID / Member1
NLS_LANG / AMERICAN_AMERICA.UTF8
Prepend the following environment paths to the PATH variable
%JAVA_HOME%\bin;%EMS_HOME%\bin;%JBOSS_HOME%\bin;%ORACLE_HOME%\bin;%AS_HOME%\bin;%AS_HOME%\lib;%AS_HOME%\lib\as-common.jar;Perform some simple checks by opening cmd prompt and by hitting the following commands:
set : this command will show all the environment variables.
java –version :to show the java version
javac –version : to show the javac version
tibemsadmin :should take you into the TIBCO EMS administration prompt
------Skip This Step - Start ------
Merging the files in ThirdParty.jar into ECM.ear
In cmd prompt, navigate to :%MQ_HOME%
Create a directory named thirdPartyLibrary :md thirdPartyLibrary
Copy the ThirdParty.jar file to the thirdPartyLibrary directory. You will have the jar file’s full path as: %MQ_HOME%\thirdPartyLibrary\ThirdParty.jar
Now navigate to :%MQ_HOME%\build\custom, and run the following script:
customUtil.bat –mergeExternalLibrary
Follow the instructions given by customUtil.bat, until the files in the ThirdParty.jar file are merged into ECM.ear file.
------Skip This Step - End ------
Database Specific Configurations in CIM:
Go to the folder: %MQ_HOME%\db\oracle\configure and open the file createtablespace.sqlin a text editor.
Modify the path of the tablespace data files, as shown below:
FIND / C:\oracle\product\10.2.0\oradata\orcl6REPLACE / E:\app\apps\oradata\orcl
Now open cmd prompt. Navigate to the directory :%MQ_HOME%\db\oracle\configure
Run the batch file :doall.bat
You will be asked to provide some input, as shown below:
"specify the sys dba user : "<System username>
"specify the sys dba password : "
<System password>
"specify the instance name : "
<System Instance Name>
"specify the new user to create : "
cimuser
"specify the password to new user : "
Cimuser
"Specify the name for the MDM instance : "
Demo
"Specify the Description for the MDM instance : "
Demo Instance created for Tibco 8.3
After providing the input, you will see that the tablespaces are getting created. The script then runs for about a minute, creating the cimuser, the CIM specific tables, and imports all the seed data. Make sure you don’t see any errors.
Try connecting to sqlpluscimuser/Cimuser@Demo to check if the Oracle MDM instance got created successfully.
Creating EMS Queues for CIM
Make sure you have installed EMS, and that the EMS server is running (default port is 7222)
Open cmd prompt, and navigate to :%MQ_HOME%\bin
Create the CIM specific EMS queues using the below command (or you can also copy paste the create queue commands after logging into tibemsadmin):
tibemsadmin -server "tcp://localhost:7222" -user admin -password "" -script C:\tibco\mdm\8.3\bin\createQueues.txtIn the above case, the EMS username is admin and has no password. If you do have a password, change it accordingly.
Configuring CIM for JBoss 7 Application Server
Class loading in AS7 is considerably different than in previous versions of JBoss AS. Class loading is now based on the JBoss Modules project
Steps to be followed
1.Creating a Module
i) For Oracle Database, create the below directory structure
1. Go to $JBOSS_HOME\modules\com
2. Create the following three hierarchal folders:
— oracle > ojdbc6 > main
ii) Download and Copy Jar Files
Oracle Database
Copy the ojdbc6.jar file from $ORACLE_HOME\jdbc\lib\ and copy it to the
following locations:
• $JBOSS_HOME\modules\com\oracle\ojdbc6\main
• $JBOSS_HOME\standalone\deployments
iii) Create a new module.xml file under $JBOSS_HOME\modules\com\oracle\ojdbc6\main with the below content.
For Oracle database
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle.ojdbc6">
resources
<resource-root path="ojdbc6.jar"/>
<!-- Insert resources here -->
</resources>
dependencies
<module name="javax.api"/>
</dependencies>
</module>
2.Configuring Tibco MDM for JBOSS Application Server
Step 1 - Create Admin User
create an admin user to set the configuration parameter using the JBoss Admin web console
On the command line, type $JBOSS_HOME/bin.
Enter the following command:
— For Windows: add-user.bat
— For UNIX and Linux: add-user.sh
The following two options are displayed in the command line:
— a> Management User <mgmtusers.properties
— b> Application User <application-users.properties
3.Type a. The utility prompts for the Realm name.
The default name of the realm for management users is ManagementRealm,therefore do not enter any values and accept the default
Type the user name, password, and confirm password.
The Admin user is successfully created.
Step 2 - Start JBoss Application Server
Before you start the JBoss Application Server, you need to modify the
standalone.xml file to enable the access to the Remote server.
$JBOSS_HOME/standalone/configuration directory.
Change the value of an interface attribute from management to public in the following property:
socket-binding name="management-http" interface="public"
port="${jboss.management.http.port:9990}"/>
Now start the JBOSS Application Server, by running the standalone.bat or ./standalone.sh present in JBOSS_HOME/bin.
For remote server: standalone.bat -b 0.0.0.0 or ./standalone.sh -b
0.0.0.0
The JBoss Application Server starts.
Step 3 - Run the JBoss Application Console
Login to JBOSS Application Console using the protocol://host:port/console URL and the admin credentials created in above steps.
Step 4 - Specify System Properties
Under the Profile Section, In the General Configuration section, set the system properties as below
ENVIRONMENT VARIABLE / EXAMPLE PATHsMQ_HOME / C:/tibco/mdm/8.3
MQ_LOG / C:/tibco/mdm/8.3/log
MQ_COMMON_DIR / C:/tibco/mdm/8.3/common
MQ_CONFIG_FILE / C:/tibco/mdm/8.3/config/ConfigValues.xml
ORACLE_HOME / E:/app/apps/product/11.2.0/dbhome_1
NODE_ID / Member1
log4j.ignoreTCL / True
org.apache.tomcat.util.http.Parameters.MAX_COUNT / 5000
Note: The path separator must contain forward slash instead of backward slash. For
example, for MQ_COMMON_DIR - C:/tibco/mdm/8.3/common
Step 5 – Create JDBC Data Sources
In the Profile panel, under Connector > Data Sources, add the MDM Data source
Name / JNDI NameMDMDataSource / java:jboss/eCMDataSource
Complete the setup by providing the below values in the Next screens
Driver : ojdbc6.jar
Connection URL :jdbc:oracle:thin:@localhost:1521:<dbinstance_name
Username:dbinstance_username
Password: <dbinstance_password
Specify Pool Size
Min. Pool Size = 50, Max. Pool Size = 150
Click on ‘Enable’ to enable the eCMDataSource
Step 6 - Configure Transaction Isolation
Step 7 - Change Deployment Timeout
Under Core > Deployment Scanners
Step 8 - Specify Transaction timeout
In the standalone.xml file located at $JBOSS_HOME\standalone\configuration\ , Go to <subsystem xmlns="urn:jboss:domain:transactions:1.1">
section, and set the following parameter from “300” to “7200” at the end of the section:
<coordinator-environment default-timeout="7200"/>
And Save it.
Create Module.XML in com.tibco.main as below.
EMS Related Libararies- Required if you are using TIBCO EMS as JMS vendor.
Copy the tibjms.jar and tibcrypt.jar from %EMS_HOME%/lib to %JBOSS_HOME%/modules/com/tibco/mdm/main directory
Create a new module.xml in %JBOSS_HOME%/modules/com/tibco/mdm/main location with the below contents.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.tibco.mdm">
resources
<resource-root path="tibjms.jar"/>
<resource-root path="tibcrypt.jar"/>
</resources>
dependencies
<module name="javax.api" />
<module name="javax.jms.api" />
<module name="javax.resource.api" />
<!-- These are required for EMS with SSL -->
<!--<system export="true">
paths
<path name="sun/security/ssl" />
<path name="com/sun/net/ssl/internal/ssl" />
<path name="sun/security/util" />
<path name="sun/security/validator" />
<path name="sun/security/provider" />
<path name="javax/net/ssl" />
<path name="sun/net/www/protocol/https" />
</paths>
</system> -->
</dependencies>
</module>
Configure this module as global module in standalone.xml.
Go to
%JBOSS_HOME%/ standalone /configuration directory.
Open standalone.xml file and go to --> subsystem
xmlns="urn:jboss:domain:ee:1.0" section and add the following lines:
<subsystem xmlns="urn:jboss:domain:ee:1.0">
global-modules
<module name="com.tibco.mdm" slot="main"/>
</global-modules>
</subsystem>
'com.tibco.mdm' module has been created & configured. Whenever a OOB
functionality needs to be configured which requires some external jars then the jar
files will be copied in this module.
Deploying TIBCO MDM on JBoss Application Server
To deploy TIBCO MDM on JBoss Application Server:
1. Deploy TIBCO MDM by copying the ECM.ear file from $MQ_HOME to the
$JBOSS_HOME/standalone/deployments directory.
2. Start the JBoss Application Server by running standalone.bat present in $JBOSS_HOME/bin. Ensure that EMS server is running prior to this.
Launch the application using the URL Login using super user (tibcocim@tadmin/euc!1d)
Issues? Use the Checklist
Here is a checklist which you can use to debug and isolate issues
CHECK / Yes/NoOracle server / database is up?
You are able to login to database?
Faced any issues while running doall.bat? CIM specific tables have been created in the database?
EMS server is up?
You are able to connect to ems server using tibemsadmin or GEMS?
MDM specific queues have been created? show queues
MDM specific topics are available?show topics
ALL the environment 13 variables are set correctly?
The PATH environment variable has all the CIM, ORACLE.JBOSS, AS specific paths? : echo %PATH%
The configvalues.xml file is edited correctly to include the database parameters?
The ojdbc6.jar file is copied to the %JBOSS_HOME%/ lib directory?
Check Module.xml to see if all the required jars are included.
The “updated” ECM.ear file present in the directory: %JBOSS_HOME%/server/<CIM_SERVER>/deploy?
Installing MDM:
Follow the above steps provided for installing cim and then after that follow the below steps:
1.Copy the ECM.ear file to the following location C:\tib\mdm\8.3
2.Install Microsoft loop back adapter (via Device Manager – right click add..) and configure all the network parameters(single case, multicast) in configvalues.xml and the default port number of the loop back adapter is 50000.
Click the Start menu.
Search for “cmd".
Right-click on “cmd” and select “Run as Administrator”
Enter “hdwwiz.exe”
In the "Welcome to the Add Hardware Wizard", click Next.
Select "Install the hardware that I manually select from a list (Advanced)" and click Next.
Scroll down and select "Network adapters" and click Next.
Select under Manufacturer "Microsoft" and then under Network Adapter "Microsoft Loopback Adapter" and click Next.
Now Open Network and Sharing Centre and right click on Microsoft Loopback Adapter and set the properties for TCP/IP4.
IP - 10.10.10.10, subnet – 255.255.255.0
3.Run batch file of Jboss_Home bin and if the installation is successful then the Cim GUI will open and will be able to login. (If an error comes while running batch file i.e if the batch file stops after pointing to the run.conf.bat then the java home path should be checked so that it will not point to two java paths).
4.Install Cim Business Studio for developing projects.
5.Sometimes if Data Source upload fails, edit MQ_CONFIG_FILE for Database Parameters: %MQ_CONFIG_FILE% , that is the file C:\tibco\MDM\8.3\config\ConfigValues.xml has some database properties which should to be modified. For some reason, this step is not available in the CIM installation document. But here are the properties that need to be edited :
PROPERTY / Example VALUEcom.tibco.cim.database.name / ORCLCIM
com.tibco.cim.database.user / Cimuser
com.tibco.cim.database.password / Cimuser
com.tibco.cim.database.docroot / D:\CIM_SETUP\Oacle\oradata\ORCLCIM
Note: It is best to modify the above properties via the Configurator tool.
6.Launch Cim Configurator by using default username and pwd as admin and admin. For launching Cim configurator first C:\tib\MDM\8.3\configurator\tomcat\bin\startup.bat should be run or it can run by using start –tibco-cim-configurator-startserver. If starting the server gives an JRE path error then setenv.bat (C:\tib\MDM\8.3\configurator\tomcat\bin) should be checked for the jre path if it points to some other path then the path should be changed to C:\jdk1.6.0_31. Then the configurator will be launched successfully.
Jar – cfv thirdparty.jar *.* (creating jars)
War – cfvthirdparty.war *.* (creating wars)
Jar – cfv thirdparty.jar D:\eml\*.*
7.After installation, on the CIM UI start up page (Inbox, or while creating user or role) the below error is encountered
JAV-8001: Unexpected error. Class: 'com.tibco.mdm.ui.workflow.engine.workitem.WorkListHandlerServlet' and method name: 'list'. Additional information: java.lang.NullPointerException
OR
XMLDOCUMENT: java.lang.NullPointerException
Solution: Add the below property tag in the standalone.xml present in $JBOSS_HOME\standalone\\configuration
remote connector-ref="remoting-connector" thread-pool-name="default"/>
thread-pools
<thread-pool name="default">
<max-threads count="10"/>
keepalive-time time="100" unit="milliseconds"/>
</thread-pool>
</thread-pools>
<in-vm-remote-interface-invocation pass-by-value="false"/>
</subsystem>
Restart the CIM application.