IBM Support

Steps to connect two MDM environments to single Process Center environment

Technical Blog Post


Abstract

Steps to connect two MDM environments to single Process Center environment

Body

Author: Geetha S Pullipaty

Product: Infosphere Master Data Management.
Component: Data Stewardship and Governance.
Version: 11.5.0

Other prerequisite software: IBM Business Process Manager 8.5.6 , IBM Process Designer 8.5.6, IBM Stewardship Center 11.5.0 installed and all process applications imported on BPM and EPVs for MDM Connection details set for all of them.

This blog provides detailed steps of connecting two MDM instances to a single Process center environment for IBM Stewardship Center(ISC) component. It provides the manual steps and doesn't do run any scripts. It also doesn’t explain all the steps required for installing and configuring ISC but only those additional steps when two MDM instances are involved.

This document assumes that you haven’t done any configurations on MDM or BPM WAS consoles for configuring ISC. If you have already done please delete those additional configurations.

 

Lets say you have two MDM instances MDM1 , MDM2 and single Process Center instance BPM1.

 

Steps to be done on WebSphere Administrative Console of MDM1.

1.    Create an Alias Destination on MDM Server's SIBus as below:
        
        a) Navigate to Service Integration  -> Buses  -> <BUS Name>
        b) Click the <Bus name> link to open the configurations of the Bus.
        c) Click on the Destination link to open the list of destinations.
        d) Click on New and Select Alias and click Next
        
        Provide the Destination attribute values:
            Identifier: MDMBPMAlias
            Bus: Select the SIbus of MDM environment. Note: The Bus name in typical MDM installation will be MDM.SIB.server1
            Target identifier: Select Other, please specify from the drop down list.  Specify the identifier of the BPM environment target. Note: Target identifier name in a typical Process center installation will be  eventqueueDestination.SingleCluster
            Target bus: Select Other, please specify from the drop down list.  Specify the bus name of the BPM environment. Note: Target bus name In a typical Process center installation will be BPM.ProcessCenter.Bus
            After providing the detail click Next
            Click Finish.
            Save the configurations

            image
            
            

        

 

2.    Create JMS Queue on MDM Environment as below:
        a) Navigate to Resources  -> JMS  -> Queues
        b) Select the scope.  If it is a Standalone MDM server set it to Node, Server (Example, Node=mdmNode, Server=server1).  If MDM installed in cluster, set the scope to Cluster
        c) Click New
        d) Select Default messaging provider and click OK
        e) Set the values of the attribute as below:
            Name: MDMBPMQueue
            JNDI name: notification/MDMBPMQueue
            Bus name: Select the SIbus of MDM environment. Note: The Bus name in typical MDM installation will be MDM.SIB.server1
            Queue name:   MDMBPMAlias  
        f) After setting the attribute values, Click OK and Save the configurations.

      image

 

3.    Create JMS Queue Connection Factory on MDM Environment as below:
        a) Navigate to Resources  -> JMS  -> Queue connection factories
        b) Select the scope.  If it is a Standalone MDM server set it to Node, Server (Example, Node=mdmNode, Server=server1).  If MDM installed in cluster, set the scope to Cluster
        c) Click New
        d) Select Default messaging provider and click OK
        e) Set the values of the attribute as below:
            Name: MDMBPMQueueConnectionFactory
            JNDI name: notification/MDMBPMQueueConnectionFactory
            Bus name: Select the SIbus of MDM environment. Note: The Bus name in typical MDM installation will be MDM.SIB.server1
            Provider endpoints: It is generallyof the format “host:port:Inbound Transport Chain”. You can look at the existing Queue connection factories of MDM and get this value  
        f) After setting the attribute values, Click OK and Save the configurations.

image

 

4.    Creation of Foreign Bus Connection on MDM Environment as below:
        a) Navigate to Service Integration  -> Buses  -> <BUS Name>. Note: The Bus name in typical MDM installation will be MDM.SIB.server1
        b) Click the <Bus name> link to open the configurations of the Bus.
        c) Click on the Foreign Bus Connection link to open the list of destinations.
        d) Click New…
        e) Select Direct Connection and click Next
        f) Select Service integration bus and click Next
        g) Select the messaging engine on MDM environment from the list and click Next
        h) Set the values of the attribute as below:
            Name of service Integration bus to connect to (the foreign bus): Set the value to the name of the SIBus in BPM environment. Note: The Bus name in typical BPM Process center  installation will be BPM.ProcessCenter.Bus
            Gateway messaging engine in the foreign bus: Set the value to the name of the messaging engine of BPM environment. Note: The messaging name in typical BPM Process center  installation will be SingleCluster.000-BPM.ProcessCenter.Bus
            Service integration bus link name: MDM_BPM_LINK_ONE
            Bootstrap service integration bus provider endpoints: Set the value as <bpmNodeHostName>:<port>:<protocol>   (For example mdmdemowin:7278:BootstrapBasicMessaging)  Note: If the BPM cluster has multiple nodes provide the endpoints for all the nodes as comma separated list.
        i) After setting the values click Next
        j) Review the summary and click Finish and Save the configurations

image

 

Steps to be done on WebSphere Administrative Console of MDM2

 

1.Create a new Service Integration Bus on MDM2. The reason for this to be done is because both MDM environments are identical and have same SIBus names connecting back from BPM will be an issue if BPM has to connect to two SIBuses with same name.
        a) Navigate to Service Integration  -> Buses  -> <BUS Name>
        b) Click New..
        c) Give a name to the new SIBus to be created. For example MDM.SIB.NewBPMSer

 

2.    For the new SIBus created , add a Bus member. This is required to create a messaging engine for the new bus created.
        a) Navigate to Service Integration  -> Buses  -> <BUS Name>
        b) Click the <Bus name> link to open the configurations of the Bus. Here click the SIBus created during step 1.
        c) Click Bus members and Click on Add.
        d) Choose the server or cluster to add to the new bus that got created. If MDM is installed on a server then server option has to be selected and the corresponding server. If cluster then the cluster option to be selected. Click Next.
        e) If server option is selected , then you select option “Data store” in the type of message store. Click Next
        f) If server option is selected, then select the option “Create default data source with generated JNDI name”in properties of data store. Click Next
        g) Leave performance parameters as defaults and click Next.
        h) Review the details and finish the configuration.


3. Follow steps 1 to 4 in the previous section. Wherever the SIBus name is required or to be selected , select the new Bus that’s created in step 1 in this section. Please note that while creating foreign bus connection provide the link name as “MDM_BPM_LINK_TWO” instead of “MDM_BPM_LINK_ONE” mentioned in the previous section.

 

Steps to be done on Websphere Administrative console of BPM

1.    Creation of Foreign Bus Connection on BPM Environment as below:
        a) Navigate to Service Integration  -> Buses  -> <BUS Name>
        b) Click the <Bus name> link to open the configurations of the Bus.
        c) Click on the Foreign Bus Connection link to open the list of foreign bus connections.
        d) Click New…
        e) Select Direct Connection and click Next
        f) Select Service integration bus and click Next
        g) Select the messaging engine on BPM environment from the list. Provide Inbound user id as admin user id of BPM and click Next
        h) Set the values of the attribute as below:
            Name of service Integration bus to connect to (the foreign bus): Set the value to the name of the SIBus in MDM1 instance.
            Gateway messaging engine in the foreign bus: Set the value to the name of the messaging engine of MDM1 instance
            Service integration bus link name: MDM_BPM_LINK_ONE
            Bootstrap service integration bus provider endpoints: Set the value as <mdmInstance1HostName>:<port>:<protocol>   (For example mdmdemowin:7276:BootstrapBasicMessaging)
            Note: If the MDM cluster has multiple nodes provide the endpoints for all the nodes as comma separated list.
        i) After setting the values click Next
        j) Review the summary and click Finish and Save the configurations

image

 

Repeat the same steps but this time giving details of MDM2 instance. The values to be given in this case are

    Name of service Integration bus to connect to (the foreign bus): Set the value to the name of the new SIBus created during step 1 in previous section in MDM2 instance.
    Gateway messaging engine in the foreign bus: Set the value to the name of the messaging engine associated with the new SIBus created during step 1 in previous section in MDM2 instance.
    Service integration bus link name: MDM_BPM_LINK_TWO
    Bootstrap service integration bus provider endpoints: Set the value as <mdmInstance2HostName>:<port>:<protocol>.
        If the MDM cluster has multiple nodes provide the endpoints for all the nodes as comma separated list.

So by the end of these steps you would have two foreign bus connections created on BPM. MDM_BPM_LINK_ONE pointing to MDM1 instance and MDM_BPM_LINK_TWO pointing to the new SIBus created on MDM2 instance.

 

Steps to be done on BPM Process Center console

 

1.    Login to BPM Process Center Console with admin access
2.    All the process applications for ISC are available at the installed location “<ISC_INSTALLED_FOLDER>/mdmg/processes”.
3.    If not already imported you need to import all of them using Process Center console.
4.    Create two snapshots “TESTSNAPSHOTONE” and “TESTSNAPSHOTTWO” for both MDM Party Maintenance and Physical MDM Suspected Duplicates process applications. Our focus is mainly on testing only these two.
5.     Make all these 4 new snapshots Active.

 

Steps to be done on BPM Process Admin Console

 

1.    Login to BPM Process Admin Console with admin access.
2.    Go to Admin Tools > Manage EPVs
3.    Select MDM Party Maintenance(TESTSNAPSHOTONE) and select EPV MDM_Connection_Details. Set the details of MDM1 instance over here. Provide non secure port for example 9080 for simplicity purposes, usessl option to be not checked i.e., set to false.
4.    Select MDM Party Maintenance(TESTSNAPSHOTTWO) and select EPV MDM_Connection_Details. Set the details of MDM2 instance over here. Provide non secure port for example 9080 for simplicity purposes, usessl option to be not checked i.e., set to false.
5.    Select Physical MDM Suspected Duplicates(TESTSNAPSHOTONE) and select EPV MDM_Connection_Details. Set the details of MDM1 instance over here. Provide non secure port for example 9080 for simplicity purposes, usessl option to be not checked i.e., set to false.
6.    Select Physical MDM Suspected Duplicates(TESTSNAPSHOTTWO) and select EPV MDM_Connection_Details. Set the details of MDM2 instance over here. Provide non secure port for example 9080 for simplicity purposes, usessl option to be not checked i.e., set to false.

 

SQLs to be run on MDM databases

 

1. Run these SQLs on the database connected to MDM1 instance

UPDATE CONFIGELEMENT SET VALUE = 'true', LAST_UPDATE_DT = CURRENT_TIMESTAMP WHERE NAME = '/IBM/DWLCommonServices/Notifications/enabled';
 

UPDATE CDEVENTDEFTP SET ENABLE_NOTIFY='Y', LAST_UPDATE_DT=CURRENT_TIMESTAMP WHERE (LANG_TP_CD=100 AND EVENTDEF_TP_CD=8);
update configelement set value='true', last_update_dt=current_timestamp where name='/IBM/Party/SuspectProcessing/enabled';

INSERT INTO BPMNOTIFICATIONTYPE VALUES ('ntem','MDMSDP', 'TESTSNAPSHOTONE', null, 'MDM_EVT_SDP', null, null, null, null, CURRENT_TIMESTAMP, null);
INSERT INTO BPMNOTIFICATIONTYPE VALUES ('nt1','MDMSDP', 'TESTSNAPSHOTONE', null, 'MDM_EVT_SDP', null, null, null, null, CURRENT_TIMESTAMP, null);
INSERT INTO BPMNOTIFICATIONTYPE VALUES ('nt2','MDMSDP', 'TESTSNAPSHOTONE', null, 'MDM_EVT_SDP', null, null, null, null, CURRENT_TIMESTAMP, null);
INSERT INTO BPMNOTIFICATIONTYPE VALUES ('nt3','MDMSDP', 'TESTSNAPSHOTONE', null, 'MDM_EVT_SDP', null, null, null, null, CURRENT_TIMESTAMP, null);
INSERT INTO BPMNOTIFICATIONTYPE VALUES ('ntpe','MDMHDQ', 'TESTSNAPSHOTONE', null, 'PERSIST_ENTITY', null, null, null, null, CURRENT_TIMESTAMP, null);

 

2. Run these SQLs on the database connected to MDM2 instance.

UPDATE CONFIGELEMENT SET VALUE = 'true', LAST_UPDATE_DT = CURRENT_TIMESTAMP WHERE NAME = '/IBM/DWLCommonServices/Notifications/enabled';
 

UPDATE CDEVENTDEFTP SET ENABLE_NOTIFY='Y', LAST_UPDATE_DT=CURRENT_TIMESTAMP WHERE (LANG_TP_CD=100 AND EVENTDEF_TP_CD=8);
 

update configelement set value='true', last_update_dt=current_timestamp where name='/IBM/Party/SuspectProcessing/enabled';

INSERT INTO BPMNOTIFICATIONTYPE VALUES ('ntem','MDMSDP', 'TESTSNAPSHOTTWO', null, 'MDM_EVT_SDP', null, null, null, null, CURRENT_TIMESTAMP, null);
INSERT INTO BPMNOTIFICATIONTYPE VALUES ('nt1','MDMSDP', 'TESTSNAPSHOTTWO', null, 'MDM_EVT_SDP', null, null, null, null, CURRENT_TIMESTAMP, null);
INSERT INTO BPMNOTIFICATIONTYPE VALUES ('nt2','MDMSDP', 'TESTSNAPSHOTTWO', null, 'MDM_EVT_SDP', null, null, null, null, CURRENT_TIMESTAMP, null);
INSERT INTO BPMNOTIFICATIONTYPE VALUES ('nt3','MDMSDP', 'TESTSNAPSHOTTWO', null, 'MDM_EVT_SDP', null, null, null, null, CURRENT_TIMESTAMP, null);
INSERT INTO BPMNOTIFICATIONTYPE VALUES ('ntpe','MDMHDQ', 'TESTSNAPSHOTTWO', null, 'PERSIST_ENTITY', null, null, null, null, CURRENT_TIMESTAMP, null);

 

 

If you give snapshot names in the Process Center Console different than these make sure to change these SQLs as well. Make sure all the SQLs are run successfully.
If any duplicate errors come up while inserting data to BPMNOTIFICATIONTYPE table delete the existing entries causing the issue and run the sqls again.

 

Restart all the instances MDM1, MDM2 and BPM. You need to restart the Application servers, nodeagents , deployment managers.

 

 

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSWSR9","label":"IBM InfoSphere Master Data Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

UID

ibm11142146