Introduction to the InfoSphere MDM Application Toolkit
The IBM InfoSphere Master Data Management (MDM) Application Toolkit for business partner management (BPM) offers a rich set of capabilities to further enhance the simple integration experience. These capabilities help organizations build MDM-powered applications and business processes. They help organizations put master data into the hands of business users and improve business processes by integrating them with complete and accurate master data.
Historically MDM was a back-office integration platform. Organizations had to do their own development work to make MDM capabilities available in user applications. For example, assume that an organization wanted to enhance their customer relationship management (CRM) system so that whenever a user added a customer, CRM first checked with MDM to determine whether the customer existed. This process required rewriting portions of the CRM application to call MDM services to do this check. The InfoSphere MDM Application Toolkit makes building these MDM-powered applications and business processes easier.
The chapter describes the components of the InfoSphere MDM Application Toolkit and how to use them to build MDM powered applications and business processes. It includes the following sections:
5.1 Components of the InfoSphere MDM Application Toolkit
The InfoSphere MDM Application Toolkit contains a set of BPM building blocks that you can incorporate into your business process to facilitate rapid construction of process-oriented MDM powered applications.
5.1.1 Architectural overview
The InfoSphere MDM Application Toolkit provides a design-time set of MDM-specific tools to the BPM Process Designer. Experienced users of Process Designer can use these tools with the more familiar standard BPM tools to build their applications that operate against their master data.
The InfoSphere MDM Application Toolkit can be installed into new or existing processes. It includes a configurable Representational State Transfer (REST) service to deploy to a WebSphere Application Server instance that is running the BPM server. By using this approach, some of the UI controls in the InfoSphere MDM Application Toolkit can retrieve data from an InfoSphere MDM Server in the format that is required by some of the InfoSphere MDM Application Toolkit UI controls. When the processes are running, the InfoSphere MDM Application Toolkit Widgets controls and the MDM REST service work together to operate against the MDM engine in use as illustrated in Figure 5-1 on page 39.
Figure 5-1 InfoSphere MDM Application Toolkit architecture
The InfoSphere MDM Application Toolkit has several capabilities (Figure 5-2).
Figure 5-2 Capabilities in the InfoSphere MDM Application Toolkit
Figure 5-2 highlights the following key capabilities in the InfoSphere MDM Application Toolkit:
MDM Data Types For use when you define BPM variables that describe your MDM business objects.
MDM UI Controls Helps you to display your MDM data in a manner that is suited to MDM applications.
MDM Integration Services
Help facilitate easy integration between the MDM and BPM engines.
MDM REST service Helps to provide extra integration services to the UI controls.
5.1.2 MDM data types
A first step in building an MDM powered solution with BPM is to define the BPM business objects that are needed to manage the master data throughout the process flow. The InfoSphere MDM Application Toolkit makes this step easy by providing prebuilt business objects that mirror commonly used MDM data types and data model components. The following MDM data types are commonly used:
Business objects for virtual MDM
The InfoSphere MDM Application Toolkit includes the following prebuilt business objects. These objects mirror the domain templates that are provided by virtual MDM and the attribute types that are used by these domain templates.
 – Patient
 – Provider
 – Individual organization
 – MEMADDR
 – MEMATTR
 – MEMDATE
 – MEMNAME
For a complete list of these business objects for MDM Application Toolkit 10.1, see the “Business objects” topic the IBM InfoSphere MDM Version 10.1 Information Center at:
Business objects for physical MDM
The InfoSphere MDM Application Toolkit includes the following prebuilt business objects that reflect commonly used entities from the physical MDM data model:
 – Customer
 – Company
 – Address
 – Name
 – Contact preferences
For a complete list of these business objects for MDM Application Toolkit 10.1, see the “Business objects” topic the IBM InfoSphere MDM Version 10.1 Information Center at:
Business objects for MDM-specific UI controls
The InfoSphere MDM Application Toolkit includes some MDM-specific UI controls (see 5.1.3, “Hierarchy widget overview” on page 41). These UI controls use the following prebuilt business objects:
 – MDMTree
 – MDM Entity
5.1.3 Hierarchy widget overview
The InfoSphere MDM Application Toolkit includes a UI control to manage relationship data as a tree or hierarchy. After you import the InfoSphere MDM Application Toolkit into Process Designer, the MDM Tree control is available within the pallet of controls in BPM coaches (or user interfaces).
 
Coach: A coach is a window for the user to indicate when in the process to perform an operation on data so that the process can proceed to the next step.
The MDM Tree control is a full-featured tree widget and supports a wide range of use cases. The MDM Tree control includes the following features:
Lazy loading
The tree retrieves data from the MDM back end through an MDM REST service as needed. As you expand nodes in the tree, the control makes extra requests for more data from the REST service. Because the tree does not need to retrieve all of its data initially, the initial rendering of the tree is fast. Each subsequent retrieval of data is also fast because it retrieves only the information that is necessary to expand the tree by an extra level.
Multiple relationships and node types
You can use a single tree to see multiple types of relationships and nodes. For example, each person node might have child nodes for “boss of,” “reports to,” and other relationships.
Filtering relationship types
From the tree, users can filter the relationship types that are displayed in the window by using a simple menu option.
Moving nodes
By using the tree, users can change relationships by dragging nodes to other places in the tree.
Deleting nodes
Users can use the tree to remove relationships by deleting nodes in the tree.
Validation
The tree control prevents users from making changes that might violate constraints by preventing the dropping of nodes into invalid locations in the tree. For example, a company node cannot be dropped under a “boss of” relationship that was meant to show a manager’s employees.
Undo and redo
With the tree, users can undo changes and redo them as needed.
Export To CSV
A user can export the data that is displayed within the hierarchy into a comma-separated value (CSV) file.
Figure 5-3 shows an example of the MDM tree with customer data.
Figure 5-3 MDM tree with customer data
Tree styles
The MDM Tree control shows data that the MDM REST service provides. This data can be relationship data with multiple relationships as categories, or it can be relationship data with a single relationship such as a corporate hierarchy. If the relationship data has multiple relationships, each relationship type has a category node. Child nodes under the category node indicate entities that have that relationship. If the relationship data has a single relationship, each subsidiary of a company is shown directly under the node that represents the parent company. There is no need for category nodes to indicate the relationship type.
Component architecture
The MDM Tree works with the other capabilities that are provided by the InfoSphere MDM Application Toolkit to make it as simple as possible to integrate into a BPM-based application. The MDM Tree accepts MDM data in the form of an MDM_Entity. The Get MDM Entity integration service calls into the BPM REST Service of the InfoSphere MDM Application Toolkit to retrieve the MDM data as defined by an XML configuration file. The MDM data is then converted into an MDM_Entity data type. The data type is then passed into the MDM Tree UI control for display. After the data is displayed in the MDM Tree, more data is lazy loaded into the MDM Tree through subsequent calls into the MDM REST service. These calls are initiated each time that the user expands a tree node.
Changes to the data that are displayed in the MDM Tree are not persisted to the MDM engine until a user clicks the Add button to signal Process Designer to add the changes to the Coaches tab. To facilitate this behavior, the MDM Tree must be bound to a BPM variable of type MDM_Tree. This button must be configured to call the Save MDS Tree or Save MDMS Tree, depending on which edition of the MDM engine is in use. The MDM_Tree variable that was bound to the MDM Tree UI Control should then be passed with the connection details into the Save MDS Tree or Save MDMS Tree services as a parameter. Figure 5-4 on page 44 illustrates this process.
Figure 5-4 The MDM Tree designed to work with other capabilities
For more information about how to use the MDM Tree with the other capabilities provided by the MDM Application Toolkit, see 5.3.3, “The MDM Tree UI control” on page 53.
5.1.4 Integration services
The InfoSphere MDM Application Toolkit includes prebuilt BPM integration components that you can use to interact with an IBM InfoSphere MDM engine. These integration services facilitate rapid construction of process-orientated MDM powered applications by abstracting integration coding away from application developers. The integration services that are currently included within the MDM Application Toolkit focus specifically on simplifying the manipulation of data for display and updating within the MDM tree.
The InfoSphere MDM Application Toolkit includes the following integration components:
Get MDM Entity An integration component to retrieve MDM tree data from the MDM engine. This integration component returns its data by using the MDM Entity business object. This data is then typically bound to an MDM Tree UI component so that users can view and manipulate the tree data in the format that is expected by the MDM Tree UI component.
Save MDS Tree An integration component to save changes to relationships that are made by using the MDM Tree control. This service handles the complexity of determining which services to call on the MDM engine, based on the changes that are made by the user to the data displayed within the MDM tree. Use this service when working against MDM Standard Edition Engines.
5.1.5 Overview of the MDM REST service
The InfoSphere MDM Application Toolkit includes an MDM REST service for retrieving MDM data from an IBM InfoSphere MDM solution. The MDM REST service is used by the MDM Tree control of the InfoSphere MDM Application Toolkit to lazy load data as a user navigates a tree. The behavior of the REST service can be configured by using an XML file. It can also be extended by Java developers who want to have complete control over how and what data is retrieved.
The MDM REST service provides a pluggable framework to allow different back-end services to be configured and started by the MDM Tree (see 5.1.3, “Hierarchy widget overview” on page 41). This capability is provided through adapters that can be configured through an XML configuration file to call the required services. The REST service comes configured with four preconfigured adapters.
Table 5-1 shows the key features of the MDM REST service.
Table 5-1 Key features of the MDM REST service
Feature
Description
MDMSHierarchyWithCategories
A service to retrieve multiple relationships from the Physical MDM engine. The data that is returned by the service includes a category node for each relationship type. The service also returns a category node for showing suspected duplicates.
MDSHierarchyWithCategories
A service to retrieve multiple relationships from the virtual MDM engine. The data that is returned by the service includes a category node for each relationship type. The service also returns a category node for showing suspected duplicates.
MDMSHierarchy
A service to retrieve a single-relationship hierarchy from the physical MDM engine. The data does not include category nodes.
MDSHierarchy
A service to retrieve a single-relationship hierarchy from the virtual MDM engine. The data does not include category nodes.
You can also use the XML configuration to define other characteristics of the MDM tree. The following characteristics can be configured:
Connection information to connect to the appropriate MDM engine
The relationship types to include
The label to use for each relationship type
The fields to use as the label for each entity node
Whether to include suspected duplicates as a category
5.1.6 Mobile applications
IBM Business Process Manager provides an app for iOS devices. By using this app, which is available for download free of charge from the Apple App Store, a user with a supported mobile device can point their device to their organization’s BPM server that hosts their MDM-powered application. The user can then access their BPM task list and take action on tasks that are routed to them from their handheld device. The InfoSphere MDM Application Toolkit, which is coupled with this iOS app, opens the MDM powered application to users of handheld devices, giving them greater access to key governance processes and reducing the wait time between process steps.
Figure 5-5 shows a typical human task that is running from a handheld device.
Figure 5-5 Accessing the BPM Server from the handheld device
The handheld device has the following features:
Support for Apple iPhone and iPad
Notifications of new tasks that require action
Ability to initiate new workflows
The handheld device has the following prerequisites:
Access to the BPM server from the handheld device, either on the same physical network or through a virtual private network (VPN)
BPM V8 or later
5.2 Installing the InfoSphere MDM Toolkit
When you use the MDM installer to install IBM InfoSphere MDM, the installer places the InfoSphere MDM Application Toolkit components in your installation directory. After the installation, two files are placed on a disk (Table 5-2).
Table 5-2 Files installed
File name
Description
MDM_Application_Toolkit.twx
The main BPM controls to install into the BPM Process Designer for use in building your application.
MDMAT_BPM_REST_EAR.ear
The Enterprise Application File that contains the MDM REST service. This file must be deployed to the WebSphere Application Server instance that is used by your BPM engine.
5.2.1 Installing the MDM Application Toolkit .twx file
The InfoSphere MDM Application Toolkit components include the MDM_Application_Toolkit.twx file that represents the InfoSphere MDM Application Toolkit plug-in for BPM. To install this file:
1. Start Process Designer, and sign on.
2. Click the Toolkits tab to navigate the Toolkits view.
3. Click Import Toolkit.
4. Browse to the MDM_Application_Toolkit.twx file, and click OK (Figure 5-6).
5. Assign a name for your toolkit such as MDM Application Toolkit.
6. Specify a version for your toolkit, preferably one that matches the version of InfoSphere MDM that you installed.
Figure 5-6 Browsing to the MDM_Application_Toolkit.twx file
In any business process where you want to use the InfoSphere MDM Application Toolkit to add a dependency (Figure 5-7):
1. Open your process in Process Designer.
2. In the left panel, hover over the Toolkits menu, and click the + button to add a dependency.
3. Click the MDM Application Toolkit.
Figure 5-7 Adding a dependency
The MDM Application Toolkit components are now available for use within your process.
5.2.2 Installing the MDM REST Service
The MDM REST Service is a Java Platform Enterprise Edition (Java EE) enterprise archive (EAR) file. This EAR file must be deployed to the WebSphere Application Server instance to which the Business Process Manager Engine is deployed. Before you install the MDM REST service, make any changes to the MDMConfig.xml file that are required by your application.
To install the MDM REST service, you must have administrator access to the administrative console or to run the wsadmin scripts on the WebSphere Application Server. During the installation steps, you can use the default settings, unless you want to change them. By default, the MDMAT_BPM_REST is the context root for the deployed REST service.
For more information about how to configure the MDM REST service, see “Configuring the REST service for BPM” on page 57.
5.3 Building applications with the InfoSphere MDM
Application Toolkit for BPM
As explained in 5.1, “Components of the InfoSphere MDM Application Toolkit” on page 38, BPM offers multiple components to help you build MDM-powered applications and business processes. These components fall into the following categories:
MDM data types
MDM UI controls
MDM services
This section explains how to use each of these components.
5.3.1 MDM data types for creating BPM variables
When a business process uses data that comes from MDM or creates data that is targeted for BPM, you need to define BPM variables for that data. The InfoSphere MDM Application Toolkit includes predefined MDM data types that you can use to create BPM variables (Figure 5-8 on page 52).
For example, you are building a business process that interacts with an MDM deployment that uses the individual MDM domain template. In this case, you can use the predefined Individual business object of the InfoSphere MDM Application Toolkit that matches the data types of the individual MDM domain template. You can also add variables to these ready-to-use data types to customize your BPM variables to match any changes that you make to your MDM data model.
In addition to providing data types that match common MDM domains, the InfoSphere MDM Application Toolkit includes the building blocks, or individual attributes and fields, that make up each domain. You can use these building blocks to assemble your own BPM variables that reflect the MDM data that you want to use in your process.
Figure 5-8 MDM data types
5.3.2 Customizing an InfoSphere MDM Application Toolkit data type
You can use the MDM data types from the InfoSphere MDM Application Toolkit as is by selecting them as the variable type for any variable you define. These data types were created to act as accelerators for building your applications. By using BPM, you can customize these data types to suit the specific requirements of your MDM powered applications.
To modify the default InfoSphere MDM Application Toolkit data types:
1. In the left navigation pane of Process Designer, expand Toolkits, and select MDM Application Toolkit.
2. Click Data to see the predefined data types.
3. Right-click any of the data types, select Copy Item To, and then click Other Process App.
4. Choose the process app to which you want to copy the data type.
5. Use Process Designer to edit the properties of the data type to suit your application.
5.3.3 The MDM Tree UI control
An application that includes an MDM Tree generally uses the following components:
A variable of type MDMEntity
The Get MDM Entity integration service
A coach that uses the MDMTTree control
An integration service to save changes to the tree
This section explains how to use each of these components.
MDMEntity data type
The MDMTree control uses the MDMEntity data type to store the data that it renders. To use the tree, you must first define a BPM variable of type MDMEntity. MDMEntity is a data type provided by the MDM Application Toolkit (Figure 5-9).
Figure 5-9 MDMEntity data type
Setting the data mappings by using the Get MDM Entity
integration service
The Get MDM Entity integration service reads the initial tree data from the MDM system. To set the data mappings:
1. In the left navigation pane of Process Designer, expand Toolkits, and select MDM Application Toolkit.
2. Click Implementations.
3. Drag the Get MDM Entity integration service to your business process.
You connect this integration service into your business process as appropriate. For example, you might first define a search process that allows a user to search for an entity. When the user selects a search result, you might then connect that to this Get MDM Entity node to retrieve tree data for that selected entity and then visualize that data in an MDMTree control.
4. In the lower right panel of Process Designer (Figure 5-10 on page 55), click Data Mappings. Under Input Mapping, complete the following inputs for the Get MDM Entity integration service:
a. For Service, enter a name that matches the name of an adapter that is defined in your REST service configuration file, as explained in 5.3.4, “Configuring the REST service for BPM” on page 57. When integrated with the MDM Standard Edition engine, you might call this service MDS. When you integrate the service with the MDM Advanced Edition engine, you might call this service MDMS.
b. For Type, enter the type of entity that you want to retrieve. The type must match an entity type that is defined in your MDM configuration. For example, an entity type might be “person,” “customer,” or “organization.”
c. For ID, enter the unique ID of the entity that you want to retrieve.
Under Output Mapping for the Get MDM Entity integration service, set response (MDMEntity).
Figure 5-10 Data mappings for the Get MDM Entity integration service
Configuring the parameters for the MDMTree UI control
To configure the MDMTree UI control, you must first create a coach in your BPM process. To configure the parameters for the MDMTree UI control:
1. In the right pane of Process Designer, on the Coaches tab, open the MDM palette.
2. Drag the MDMTree UI control onto the coach.
3. In the Properties panel, click General, and bind the control to the variable of type MDMEntity that you created.
The MDMTree requires the configuration parameters that are listed in Table 5-3.
Table 5-3 Required MDMTree configuration parameters
Parameter
Description
Use
rootNode
A parameter of type MDM_Entity that contains the entityid or partyid of the root entry to be displayed within the tree. Typically this object is the same object that is returned by the previous node in the process that called the Get MDM Entity integration service.
Mandatory
iconClasses
A list of custom CSS classes that can be specified to display different icons in the MDM Tree.
Optional
restContext
A string parameter that contains the context root of the MDM Rest interface that is deployed to the server. The MDM Tree uses this parameter to initiate a call to the REST interface to support lazy loading.
Mandatory
service
A string parameter that you set to the name of the required adapter in the REST configuration file. For a list of default adapters that are available, see “Overview of the MDM REST service” on page 45.
Mandatory
4. To define the configuration parameters, select the tree on the Coaches tab of the Designer page. Then, in the Properties pane, click Configuration (Figure 5-11).
Figure 5-11 Configuration tab of the Properties pane
Saving changes to tree data
As described in 5.1.4, “Integration services” on page 44, the InfoSphere MDM Application Toolkit includes two prebuilt integration services. You can use them to persist, to the underlying MDM engine, any changes that are made to the data that is displayed in the MDM Tree. These integration services handle the complexities that can be involved in determining which services to call to ensure the changes that are made by the users are saved to the MDM engine.
The MDM Application Toolkit includes two integration services for this purpose:
Save MDS Tree to use with an MDM Standard Edition Engine Save
MDSM Tree to use with an MDM Advanced Edition Engine
Both integration nodes use the same parameters, which are listed in Table 5-4.
Table 5-4 Integration nodes parameters
Service
Description
Use
tree
The MDMTree object that was bound to the MDM Tree UI control. This data type contains the change history that was built up as a result of user changes to the hierarchy data.
Required
connection
An object of type MDM_Connection. It properties must be set to the connection credentials of the MDM Engine that you want to connect to.
Required
5.3.4 Configuring the REST service for BPM
You can configure the REST service of the InfoSphere MDM Application Toolkit to return only the data that is required by your application. For example, you can specify which relationships to return to the tree.
The REST service components include the BPMConfig.xml file in the WEB_INF/classes directory of the MDMAT_BPM_REST.war file. This configuration file defines the configuration for the REST service. The <Adapter> tag identifies the different connections for each MDM system, as shown in Example 5-1.
Example 5-1 The <Adapter> tag
<Adapter servicePath="MDSHierarchy"
adapterClass="com.ibm.atlantis.bpm.rest.toolkitdataadapters.MDSToolkitDataAdapter"> <server>
<host>localhost</host>
<port>16013</port>
and so forth...
Table 5-5 describes the parameters of the <Adapter> tag.
Table 5-5 <Adapter> tag parameters
Parameter
Description
servicePath
The name of the adapter. The name must match the name that is specified in the Get MDM Entity integration service and that you used within the URL for the REST service that you provide to the MDMTree control.
adapterClass
Specifies the Java class that implements this service.
<server>
Includes connection and authentication information for the MDM engine, which you must configure to suit your specific MDM engine connection credentials.
The <tree> tag in the configuration file determines the specific structure of the MDM objects to display in the MDM Tree UI control and the MDM objects to display in the MDM Tree UI control. See Example 5-2.
Example 5-2 The <tree> tag
<entities>
<entity type="person" cvw="Person EMCA">
<nodeLabel>Person: {NAME:name1}, {NAME:name2}, {NAME:name3} </nodeLabel>
<attributeCategory attribute="POB" categoryLabel="Place of
Birth">
<nodeLabel>{attrval}</nodeLabel> </attributeCategory>
<attributeCategory attribute="ADDRESS" categoryLabel="Address">
<nodeLabel>{stline1} {postalcode}</nodeLabel> </attributeCategory>
<attributeCategory attribute="EMAIL"
categoryLabel="Email Address"> <nodeLabel>{attrval}</nodeLabel> </attributeCategory>
<relationship type="employer" categoryLabel="Employees" /> <suspectedDuplicate categoryLabel="Suspect Duplicates"/> </entity>
and so forth...
Table 5-6 describes the Tree tag parameters.
Table 5-6 Tree tag parameters
Parameter
Description
<nodeLabel>
Represents the attributes that are displayed when an entity is displayed in the MDM Tree.
<attributeCategory>
Represents the categories that are displayed in a tree node and to which MDM attributes they refer.
<relationship>
Represents any relationships that are required for display in the hierarchy.
<suspectedDuplicate>
Represents any suspect duplicate records that are required for display in the hierarchy.
Each entity type that is defined in your MDM configuration must have an entry. If you do not provide a configuration for a specific entity type, the REST service uses the default behavior for that entity type as defined by the MDM data model. For example, it returns any relationship types you defined that involve the entity type and use the label that is defined in the MDM configuration for each of those relationship types.
 
Node label: You can specify a node label for each entity type. You can specify attributes that you want to appear as nodes in the tree. You can also specify which relationship types to include and the label to use for each.
For more information about how to configure the REST service, see the Business Space Information Center at:
5.3.5 Extending and adding services
The MDM REST service that is used to retrieve MDM data for the MDM Tree is extensible. Java developers can extend the REST service to customize its behavior. For example, you might be required to retrieve more data from a third-party data source (other than MDM) to include in the tree. Your development team can write its own Java class and extend the classes of the InfoSphere MDM Application Toolkit that are used in this REST service. The XML configuration can be extended to define a new adapter that refers to the new Java integration service.
For more information about how to extend the REST service of the InfoSphere MDM Application Toolkit, search for extending a rest service in the IBM InfoSphere MDM Information Center at:
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset