Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ibm Infosphere Master Data Management Server 8.5.0

Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

IBM InfoSphere Master Data Management Server Version 8.5.

0


Licensed Materials – Property of IBM

InfoSphere Master Data Management Server v8.5.0 Data Stewardship UI


Developers Guide
IBM InfoSphere Master Data Management Server Version 8.5.0


Licensed Materials – Property of IBM

InfoSphere Master Data Management Server v8.5.0 Data Stewardship UI


Developers Guide
Licensed Materials – Property of IBM

Note
Before using this information and the product it supports, read the general information under “Notices” on page 41.

Edition Notice
This edition applies to version 8.5.0 of IBM InfoSphere Master Data Management Server and to all subsequent
releases and modifications until otherwise indicated in new editions.
This document is licensed to you under the terms of the International Program License Agreement or other
applicable IBM agreement. You must ensure that anyone who uses this document complies with the terms of the
International Program License Agreement and any other applicable IBM agreement.
This document may only be used for your internal business purposes. This document may not be disclosed outside
your enterprise for any reason unless you obtain IBM’s prior written approval for such disclosure.
You may not use, copy, modify, or distribute this document except as provided in the International Program License
Agreement or other applicable IBM agreement.
© Copyright International Business Machines Corporation 1996, 2008.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Licensed Materials – Property of IBM

Contents
Chapter 1. About the Data Stewardship Authentication summary . . . . . . . . . . 21
application . . . . . . . . . . . . . 1 Logging utility class . . . . . . . . . . . 21
Modifying the Data Stewardship UI . . . . . . 1 Properties file access class . . . . . . . . . 21
Data Stewardship prerequisite for Suspect DataStewardship configuration files . . . . . . 22
Duplicate Processing . . . . . . . . . . . 1 Exception class . . . . . . . . . . . . . 23
SDO objects . . . . . . . . . . . . . . 23
Generating SDO objects . . . . . . . . . 25
Chapter 2. Data Stewardship Functional requirements for generating SDO
architecture . . . . . . . . . . . . . 3 objects . . . . . . . . . . . . . . . 26
JSF pages and pagecode classes . . . . . . . . 3 Globalization . . . . . . . . . . . . . . 26
JSF runtime . . . . . . . . . . . . . . . 4 Key naming conventions for externalizing labels 27
Model classes and SDO objects . . . . . . . . 4 Key naming conventions for externalizing strings 27
IBM InfoSphere Master Data Management Server . . 4
Data Stewardship activity diagrams . . . . . . 4 Chapter 6. Customizing and extending
Maintain parties activity diagram . . . . . . 4
Process suspects activity diagram . . . . . . 5
Data Stewardship . . . . . . . . . . 29
Maintain hierarchies activity diagram . . . . . 7 Prerequisites for customizing the Data Stewardship
Maintain groupings activity diagram . . . . . 8 web application . . . . . . . . . . . . . 29
WebSphere test environment. . . . . . . . . 29
Data Stewardship application source code . . . . 29
Chapter 3. Setting up the Data Adding a field to an existing page . . . . . . . 30
Stewardship workspace . . . . . . . . 9 Adding a new page . . . . . . . . . . . 30
Unpackaging resources required for setting up the
workspace . . . . . . . . . . . . . . . 9 Chapter 7. New design of Data
Enabling the Web perspective . . . . . . . . . 9
Importing EAR files . . . . . . . . . . . 10
Stewardship interface . . . . . . . . 31
Importing existing projects into the workspace . . 10 Use of frames in the Data Stewardship application 31
Fixing errors related to weblogic.jar dependency . . 11 Adding a new navigation menu . . . . . . . 32
Commenting out WebLogic-related code . . . . 12
Chapter 8. Limitations and future
Chapter 4. Data Stewardship changes . . . . . . . . . . . . . . 35
application content . . . . . . . . . 15
Enterprise project content . . . . . . . . . . 15 Chapter 9. Additional information . . . 37
Java project content . . . . . . . . . . . . 16
Web project content. . . . . . . . . . . . 17 Chapter 10. Product information and
support . . . . . . . . . . . . . . 39
Chapter 5. Data Stewardship API . . . 19
Base Data Stewardship . . . . . . . . . . 19 Notices . . . . . . . . . . . . . . 41
Service classes . . . . . . . . . . . . . 19
Code tables data . . . . . . . . . . . . . 19
Sorting classes . . . . . . . . . . . . . 20
Trademarks . . . . . . . . . . . . . 45

© Copyright IBM Corp. 1996, 2008 iii


Licensed Materials – Property of IBM

iv InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 1. About the Data Stewardship application


The IBM® InfoSphere™ Master Data Management Server web application allows
users to perform various processing activities on party data.

The intended audience for this document includes architecture and development
teams. System implementers will find this developer guide useful as they perform
their implementation or create extensions. This developer guide assumes the
audience has a basic knowledge of J2EE concepts and experience with XML and
XML Schema. The audience should also be familiar with the Eclipse platform and
have knowledge of Java™ Server Faces.

Modifying the Data Stewardship UI

Data Stewardship prerequisite for Suspect Duplicate


Processing
In order to enable the suspect duplicate processing option for the Data
Stewardship UI, you must establish a database schema and set up a task owner.

The information you need to accomplish this is:


v the database schema (referred to in the following section as <SCHEMA>) in
order to run the SQL commands
v the name of the user (referred to in the following section as
<DESIRED_USER_NAME>) to be added for task management related operations

Setting up suspect duplicate processing for the Data


Stewardship UI
In the SQL statements listed below locate and substitute the following placeholders
with the corresponding values:
<SCHEMA>
<UNIQUE_ID_FOR_DESIRED_USER_NAME> --- comment: unique ID for
USERPROFILE table
<DESIRED_USER_NAME>
<UNIQUE_ID_FOR_DS_GROUP> --- comment: unique ID for GROUPPROFILE
table
<UNIQUE_ID_FOR_USERGROUPPROFILE> --- comment: unique ID for
USERGROUPPROFILE table

The following placeholders will have to be unique IDs for USERACCESS table:
<UNIQUE_ID_FOR_USERACCESS_1>
<UNIQUE_ID_FOR_USERACCESS_2>
<UNIQUE_ID_FOR_USERACCESS_3>
<UNIQUE_ID_FOR_USERACCESS_4>
<UNIQUE_ID_FOR_USERACCESS_5>
<UNIQUE_ID_FOR_USERACCESS_6>
<UNIQUE_ID_FOR_USERACCESS_7>
<UNIQUE_ID_FOR_USERACCESS_8>

© Copyright IBM Corp. 1996, 2008 1


Licensed Materials – Property of IBM

<UNIQUE_ID_FOR_USERACCESS_9>
<UNIQUE_ID_FOR_USERACCESS_10>

To setup suspect duplicate processing for the Data Stewardship UI, take the
following steps:
1. Add a user to the USERPROFILE table:
insert into <SCHEMA>.userprofile ( user_profile_id, user_id, LAST_UPDATE_DT ) values(
<UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’<DESIRED_USER_NAME>’, CURRENT TIMESTAMP );
2. Add a group named DS to the GROUPPROFILE table ():
insert into <SCHEMA>.groupprofile ( GROUP_PROFILE_ID, GROUP_NAME, LAST_UPDATE_DT ) values(
<UNIQUE_ID_FOR_DS_GROUP>, ’DS’, CURRENT TIMESTAMP );

Note: this is a task management related prerequisite.


3. Add user (previously added at STEP 1) to the DS group (previously added at
STEP 2):
insert into <SCHEMA>.usergroupprofile ( USER_GRP_PROF_ID, GROUP_PROFILE_ID, USER_PROFILE_ID, LAST_UPDATE_DT, ACTIVE_IND ) values (
<UNIQUE_ID_FOR_USERGROUPPROFILE>, <UNIQUE_ID_FOR_DS_GROUP>, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, CURRENT TIMESTAMP, ’Y’);
4. Grant the user (added in STEP 1) access to task management related business
transactions:
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_1>, 601, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_2>, 602, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_3>, 603, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_4>, 726, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_5>, 727, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_6>, 745, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_7>, 746, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_8>, 747, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_9>, 748, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );
insert into <SCHEMA>.useraccess ( user_access_id, business_tx_tp_cd, user_profile_id, active_ind ) values (
<UNIQUE_ID_FOR_USERACCESS_10>, 763, <UNIQUE_ID_FOR_DESIRED_USER_NAME>, ’Y’ );

Setting up suspect duplicate processing task management


The Data Stewardship UI enables you to set up task management for suspect
processing.

To assign data stewardship tasks to users, the following data must be added to the
InfoSphere MDM Server database.
1. Create a new data stewards group, with GROUP_NAME=DS in the
GROUPPROFILE table. The group name is externalized in the
mdmUIConfiguration.properties file and set to ″DS″.

Important: The group name in the database must match the entry in the
properties file.
2. Update the USERPROFILE table to add the users who will have tasks assigned
to them.
3. Update the USERGROUPPROFILE table to add the users to the DS group.
4. Update the USERACCESS table to add the users and the task transactions.
5. Update the TASKDEFINITION table to add the suspect processing task.
6. Add a record to the TASKROLEASSOC table to associate the task definition
with the data stewards (DS) group.

2 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 2. Data Stewardship architecture


The Data Stewardship web application takes advantage of the service-oriented
architecture of IBM InfoSphere Master Data Management Server.

The user interface layer is isolated from the business logic implementation and
data storage, and only binds to InfoSphere MDM Server through the client.

The Data Stewardship architecture is based on the Model View Controller (MVC)
design pattern. The diagram below shows the Data Stewardship web application
architecture.

JSF pages and pagecode classes


The Data Stewardship web application is implemented using JSF technology.

© Copyright IBM Corp. 1996, 2008 3


Licensed Materials – Property of IBM

The JSF pages and the corresponding pagecode classes represent the DS view in
the MVC design. By using JSF implementation, developers are isolated from the
details of HTTP Servlet API, and they can focus on the page layout.

JSF runtime
The JSF runtime includes the JSF servlet and the JSF XML configuration file,
faces-config.xml. Together they represent the DS controller in the MVC design.

Model classes and SDO objects


The model classes and the SDO objects represent the DS model in the MVC design.
The model classes are responsible for communicating with the InfoSphere MDM
Server application using XML requests and responses over RMI.

The services exposed by InfoSphere MDM Server can be grouped in two


categories—TCRM Service and Administrative Service. Each service has its own
service schema defined.

The DS web application uses DWLAdmin.xsd and DWLCustomer.xsd created by


merging the request/response XML schema definitions from the InfoSphere MDM
Server application for Administrative Services respectively TCRM Services.

The SDOs used to display the MDM XML response and generate the MDM XML
request are generated based on these XSD files.

IBM InfoSphere Master Data Management Server


IBM InfoSphere Master Data Management Server is a service-oriented architecture
(SOA) application.

Clients of IBM InfoSphere Master Data Management Server are loosely coupled
and only bind to a service schema. Clients communicate with InfoSphere MDM
Server through RMI/IIOP and exchange XML messages that comply to the XML
schema definition. DS uses MDMClient.jar to communicate with InfoSphere MDM
Server.

Data Stewardship activity diagrams


The activity diagrams below describe the screens workflow for the main modules
of the Data Stewardship web application.

The main modules found in the DS application are:


v Maintain parties
v Process suspects
v Maintain hierarchies
v Maintain groupings

Maintain parties activity diagram


The following activity diagram describes the screen flow for the Party Maintenance
module.

4 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Process suspects activity diagram


The following activity diagram describes the screen flow for the Suspect Processing
module.

Chapter 2. Data Stewardship architecture 5


Licensed Materials – Property of IBM

6 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Maintain hierarchies activity diagram


The following activity diagram describes the screen flow for the Hierarchy module.

Chapter 2. Data Stewardship architecture 7


Licensed Materials – Property of IBM

Maintain groupings activity diagram


The following activity diagram describes the screen flow for the Grouping module.

8 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 3. Setting up the Data Stewardship workspace


Before you begin setting up the Data Stewardship workspace, you must first create
a new workspace in RSA.

Setting up the Data Stewardship workspace involves the following tasks:


1. “Unpackaging resources required for setting up the workspace.”
2. “Enabling the Web perspective.”
3. “Importing EAR files” on page 10.
4. “Importing existing projects into the workspace” on page 10.
5. “Fixing errors related to weblogic.jar dependency” on page 11.

Unpackaging resources required for setting up the workspace


In order to set up the workspace for the Data Stewardship UI project, you need to
access the following projects, which are contained in MDM850_Samples.tar.gz,
under UI/src/DataStewardship.
v CustomerDataStewardshipWeb
v CustomerDataStewardshipModel
v CommonUIServiceDataObjects
v CommonUIModel

To find the resources required for setting up the workspace:


1. Unpack the .tar.gz file located in the UI/src/DataStewardship directory, for
example MDM850_WAS_AIX.tar.gz, if you are on AIX.
2. After MDM850_WAS_AIX.tar.gz is unpacked, locate the WAS.jar and unpack it.
3. After WAS.jar is unpacked, locate the MDMDataStewardship.ear. This files is
required in a subsequent task.

After you have unpackaged the resources you require for setting up the
workspace, continue to the task of “Enabling the Web perspective.”

Enabling the Web perspective


Before you enable the Web perspective, you need to complete the task of
“Unpackaging resources required for setting up the workspace.”

To enable the Web perspective:


1. In RSA, click Window → Open Perspective → Others. The Open Perspective
window opens.
2. Select the Web option then click OK.

Note: If the Web option is not shown, check the Show all checkbox on the
Open Perspective window.
3. If the Confirm Enable window opens, click OK to indicate that you want to
enable the required activity.

© Copyright IBM Corp. 1996, 2008 9


Licensed Materials – Property of IBM

Now, that you have enabled the Web perspective, continue to the task of
“Importing EAR files.”

Importing EAR files


Before you import the EAR files, you have to complete the task of “Enabling the
Web perspective” on page 9

To import the EAR files:


1. From the Web perspective in RSA , click File → Import. The Import window
opens.
2. Under the J2EE folder, select the EAR file option, then click Next. The Import
window opens.
3. Click Browse and navigate the file system to select MDMDataStewardship.ear.
The EAR Project field automatically updates to show MDMDataStewardship.
4. Modify the text in the EAR Project field to be CustomerDataStewardship
instead of MDMDataStewardship, then click Next.
5. On the next dialog leave everything unchanged and click Next.
6. On the next dialog, click Finish.
7. Delete files that are not required from the generated CustomerDataStewardship
project. Right-click each of the following and select Delete:
v the utility jars files (CommonUIModel.jar, CommonUIServiceDataObjects.jar,
CustomerDataStewardshipModel.jar)
v the CustomerDataStewardshipWeb.war file
v the generated CustomerDataStewardshipWeb project. When prompted,
indicate that you also want to delete the content of the project.

Now, you have imported the EAR files, continue to the task of “Importing existing
projects into the workspace.”

Importing existing projects into the workspace


Before you import existing projects, you need to complete the task of “Importing
EAR files.”

To import existing projects into workspace:


1. From the Web perspective in RSA , click File → Import. The Import window
opens.
2. From within the General folder, select Existing Projects into Workspace, then
click Next.
3. On the window that opens, click Browse and navigate the file system to the
directory where the sample projects are located. Select the Copy projects into
workspace check box, then click Finish.
4. Add modules and utility jars to the CustomerDataStewardship EAR project:
a. In your workspace, open the CustomerDataStewardship project, and click
the Module tab. On this tab you can edit the deployment descriptor.
b. Click Add to add the CustomerDataStewardshipWeb.war module and
required utility jars (CommonUIModel.jar, CommonUIServiceDataObjects.jar
and CustomerDataStewardshipModel.jar) to the project.
c. Save your changes to the deployment descriptor.
5. Modify the build path settings for the CustomerDataStewardshipModel project:

10 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

a. On the Libraries tab look for the required JAR files and make sure that they
are from the CustomerDataStewardship project. The required JAR files are:
v CMSIntegration.jar
v log4j.jar
v IICEIntegration.jar
v MDMClient.jar
v xsdsdotransform.jar
If they are from a project other than CustomerDataStewardship, you must
remove the existing JAR files, then click Add JARs to locate the correct JAR
files from the CustomerDataStewardship project.
b. On the Projects tab, select CMSIntegration and IICEIntegration and click
Remove.

Note: If you receive errors regarding weblogic.jar dependency, see “Fixing


errors related to weblogic.jar dependency.”
6. Modify the build path settings for the CustomerDataStewardshipWeb project.
On the Libraries tab look for the required JAR files and make sure that they are
from the CustomerDataStewardship project. The files are:
v MDMClient.jar
v xsdsdotransform.jar
If they are from a project other than CustomerDataStewardship, you must
remove the existing JAR files, then click Add JARs to locate the correct JAR
files from the CustomerDataStewardship project.
7. Modify the build path settings for the CommonUIModel project.
a. On the Libraries tab look for the required JAR files and make sure that they
are from the CustomerDataStewardship project. The jars are:
v CommonUtilities.jar
v log4j.jar
v MDMClient.jar
v xsdsdotransform.jar
If they are from a project other than CustomerDataStewardship, you must
remove the existing JAR files, then click Add JARs to locate the correct JAR
files from the CustomerDataStewardship project.
b. On the Projects tab, select CommonUtilities and click Remove.

Note: If you receive errors regarding weblogic.jar dependency, see “Fixing


errors related to weblogic.jar dependency.”
8. Click OK.

Now, that you have imported existing projects into the workspace, continue to the
task of “Fixing errors related to weblogic.jar dependency,” if necessary.

Fixing errors related to weblogic.jar dependency


When import existing objects into the workspace for the first time, you will receive
a number of compile errors related to WebLogic dependency. You can fix the errors
in one of the following ways:
v If you are planning to make code adjustments for a WebLogic deployment, then
you need to locate the weblogic.jar file from the runtime location of your
WebLogic Application server.

Chapter 3. Setting up the Data Stewardship workspace 11


Licensed Materials – Property of IBM

v If the purpose of the code change or adjustment is targeted for a WebSphere


deployment, then you can comment out the weblogic-related errors. This
removes the library dependency for weblogic.jar. For more information, see
“Commenting out WebLogic-related code.”

Note: You might also receive compile errors related to the file
/CommonUIModel/src/com/ibm/mdm/ui/registry/BEAUserGroupImpl.java. This file is
not required for a WebSphere deployment. To get rid of the error, you can remove
the file from the workspace.

After these errors are addressed, your workspace setup should be complete and
ready for use.

Before you attempt to connect the DataStewardship UI to an InfoSphere MDM


Server instance you will need to inspect the propertiesUI.jar, located under
CustomerDataStewardship project, and configured it accordingly.

Commenting out WebLogic-related code


If you are deploying on WebSphere, you can address the errors from
/CommonUIModel/src/com/ibm/mdm/ui/services/CustomerServices.java by
commenting out the WebLogic-related code, as follows:
//STEP 1
/*import weblogic.security.Security;
import weblogic.security.SimpleCallbackHandler;
import weblogic.security.SubjectUtils;
import weblogic.security.URLCallbackHandler;*/

//STEP 2
/*final DWLServiceController controller = (DWLServiceController) Security
.runAs(subject, createController);

final String req = request;


final HashMap cxt = context;

java.security.PrivilegedAction processRequest = new java.security.PrivilegedAction() {


public Object run() {
Object response = null;
try {
response = (String) controller.processRequest(cxt,
req);
} catch (com.dwl.base.exception.DWLResponseException e) {
response = e.getLocalizedMessage();
} catch (RemoteException e) {
logger.error(ResourceBundleHelper.resolve(
CommonResourceBundleNames.COMMON_STRINGS,
LOG_REMOTE_EXCEPTION), e);
}
return response;
}
}; // PrivilegedAction

response = (String) Security.runAs(subject, processRequest);


*/

//STEP 3
/*
if (logger.isDebugEnabled()) {
logger.debug("BEA deployment");
logger.debug("Context.SECURITY_PRINCIPAL: "
+ dataStewardshipEnv
.get(context.SECURITY_PRINCIPAL));
logger.debug("Context.SECURITY_CREDENTIALS: "
+ dataStewardshipEnv
.get(context.SECURITY_CREDENTIALS));
logger.debug("Context.SECURITY_AUTHENTICATION: "
+ dataStewardshipEnv
.get(context.SECURITY_AUTHENTICATION));

12 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

logger.debug("Context.SECURITY_PROTOCOL: "
+ dataStewardshipEnv
.get(context.SECURITY_PROTOCOL));
logger.debug("Security.getCurrentSubject(): "
+ Security.getCurrentSubject().toString());

}
byte[] password = wccClientPassword.getBytes();
CallbackHandler loginHandler = new URLCallbackHandler(wccClientId,
password, dataStewardshipEnv.getProperty(JAVA_NAMING_PROVIDER_URL));
LoginContext lc = null;
try {
lc = new LoginContext("WLSecurity", loginHandler);
lc.login();

} catch (LoginException e) {
throw new CommonModelException(e);
}

subject = lc.getSubject();

// create PrivilegedAction for accessing the protected bean


// method
java.security.PrivilegedAction getControllerHome =
new java.security.PrivilegedAction() {
public Object run() {
Object home = null;
try {
home = context.lookup(controllerName);
} catch (Exception e) {
e.printStackTrace();
}
return home;
}
}; // PrivilegedAction

try {
home = Security.runAs(subject, getControllerHome);
controllerHome = (DWLServiceControllerHome) PortableRemoteObject
.narrow(home, DWLServiceControllerHome.class);
} catch (Exception e) {
e.printStackTrace();
}

logger.debug("->context username is: "


+ SubjectUtils.getUsername(Security
.getCurrentSubject()));

*/

Chapter 3. Setting up the Data Stewardship workspace 13


Licensed Materials – Property of IBM

14 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 4. Data Stewardship application content


The Data Stewardship application is a J2EE web application using JSF technology.

Data Stewardship contains a web module (CustomerDataStewardshipWeb) and a


utility module (CustomerDataStewardshipModel).

The Data Stewardship web application includes the following projects:


v CustomerDataStewardship — enterprise project
v CustomerDataStewardshipModel, CMSIntegration, CommonUIModel,
CommonUIServiceDataObjects, CommonUtilities, FileNetIntegration,
IICEIntegration, SharedResources, UITools — Java projects
v CustomerDataStewardship Web — web project

All the assets for deploying the Data Stewardship application are packaged in the
file CustomerDataStewardship.ear.

The following sections describe the application structure at the .ear and .war level.

Enterprise project content


The CustomerDataStewardship enterprise project contains a web module, project
utility jars, and utility jars.
Modules
CustomerDataStewardshipWeb.war
Project Utility JARs
CustomerDataStewardshipModel.jar
CommonUtilities.jar
CommonUIModel.jar
CommonUIServiceDataObjects.jar
CMSIntegration.jar
FileNetIntegration.jar
IICEIntegration.jar
SharedResources.jar
UITools.jar
Utility JARs
org.eclipse.emf.common_2.2.1.v200703010000.jar,
org.eclipse.emf.commonj.sdo_2.1.0.v200703010000.jar,
org.eclipse.emf.ecore_2.2.3.v200703010000.jar,
org.eclipse.emf.ecore.change_2.2.1.v200703010000.jar,
org.eclipse.emf.ecore.sdo_2.2.1.v200703010000.jar, and
org.eclipse.emf.ecore.xmi_2.2.3.v200703010000.jar contain the Eclipse
Model Framework library.
icu4j.jar is the same version of icu4j.jar as is used by the application.

© Copyright IBM Corp. 1996, 2008 15


Licensed Materials – Property of IBM

log4.jar is the same version of log4.jar as is used by the InfoSphere


MDM Server application.
propertiesUI.jar contains properties files related to
CustomerDataStewardship.
xsdsdotransform.jar contains the runtime library for the generated Service
Data Objects (SDOs).
MDMClient.jar contains the client stub used to invoke the InfoSphere MDM
Server application services.

The CustomerDataStewardship/META-INF folder contains the deployment


descriptors:
v application.xml
v ibm-application-bnd.xmi
v ibm-application-ext.xmi

The ibm-application-bnd.xmi file contains the default binding of the attribute


AllAuthenticatedUsers = DataSteward

Java project content


The CustomerDataStewardshipModel Java project contains model classes related to
Customer Data Stewardship.
v CommonUtilities.jar contains the a ResourceBundleHelper used for
globalization purposes
v SharedResources.jar contains the log4j.jar and weblogic.jar referenced
throughout the project
v UITools.jar contains the Eclipse Model Framework library, xsdtransform.jar
and WCCClient.jar CommonUIModel.jar, utility classes, service classes, and
registry classes
v CommonUIServiceDataObjects.jar contains generated SDOs, as well as the XML
Schema Definition files used by the Data Stewardship application:
– CustomerDataStewardshipModel/schema/DWLAdmin.xsd
– CustomerDataStewardshipModel/schema/DWLCustomer.xsd
v CMSIntegration.jar contains the API for an external content management
system.
v FileNetIntegration.jar contains the file net implementation for the external
content management system.

Note: This is a sample implementation only.


v IICEIntegration.jar contains the IICE implememtaion for the external content
management system.

Note: This is a sample implementation only.

16 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Web project content


The CustomerDataStewardshipWeb web project contains JSF pages, pagecode
classes, business object wrappers, converters, JavaScript™ files, style sheet files,
images, the JSF XML configuration file, and the deployment descriptors and
properties files.

The CustomerDataStewardshipWeb web project is structured as follows:


v CustomerDataStewardshipWeb/Java Resources/JavaSource contains all the
pagecode classes, business object wrappers, converters, utility classes, and
properties files.
v CustomerDataStewardshipWeb/WebContent/suspectProcessing contains all the .jsp
pages in the process suspects module.
v CustomerDataStewardshipWeb/WebContent/grouping contains all the .jsp pages in
the maintain groupings module.
v CustomerDataStewardshipWeb/WebContent/hierarchy contains all the .jsp pages in
the maintain hierarchies module.
v CustomerDataStewardshipWeb/WebContent/search contains the search and search
result pages.
v CustomerDataStewardshipWeb/WebContent/partyMaintenance contains all the .jsp
pages in the maintain parties module.
v CustomerDataStewardshipWeb/WebContent/WEB-INF contains the deployment
descriptors and the library jars for the web module.

The web project also contains all the resource bundles required to support
globalization. The resource bundles are structured as follows:
v DataStewardshipLabels.properties contains all the labels and static content
displayed on the screen;
v DataStewardshipStrings.properties contains all the application specific
messages, errors or exceptions;
v DataStewardshipSettings.properties contains all the non-translatable,
locale-specific data.

Chapter 4. Data Stewardship application content 17


Licensed Materials – Property of IBM

18 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 5. Data Stewardship API


Base Data Stewardship
com.dwl.datastewardship.BaseDataStewardship.java is the base class for all the
classes that are part of the data stewardship model.

The class diagram below illustrates the main model classes.

Service classes
The service classes wrap the complexity of RMI communication to the InfoSphere
MDM Server application and the specific parameters for each type of service.

The CustomerServices.java abstract class provides access to InfoSphere MDM


Server Services by invoking a static method: invokeBackEnd (String request,
HashMap context). The context HashMap provides information about the target
application among other context values. There are two accepted values for target
application:
TargetApplication = “DWLAdminService”
TargetApplication = “TCRMService”

The TCRMServices.java class provides access to InfoSphere MDM Server TCRM


services by invoking a static method: invokeCustomer (String request).

The AdminServices.java class provides access to InfoSphere MDM Server Admin


Services by invoking a static method: invokeAdmin (String request).

Code tables data


The com.dwl.datastewardship.data.CodeTablesData class retrieves and caches all
of the code tables’ data.

© Copyright IBM Corp. 1996, 2008 19


Licensed Materials – Property of IBM

To add a new code table for data retrieval and caching, you must add lines of code
to accomplish the following:
v Declare a string final static variable that holds the name of the code table.
v Declare a private collection variable that holds the collection of type codes.
v Generate getter and setter methods for the collection of type codes.
v Modify the get method to retrieve, sort, and cache the code table data.

In the example bellow we retrieve, sort, and cache data for the CdGroupingTp
code table.
private static final String CD_GROUPING_TP = "CdGroupingTp";
private Collection allGroupingTypeCodes;

public Collection getAllGroupingTypeCodes() throws DataStewardshipException {

if (allGroupingTypeCodes == null) {
allGroupingTypeCodes = AdminServices.getAllAdminCodeTypesByLocale(
getLocale(), getUserId(), CD_GROUPING_TP);

//set the Name tag to <no name> if is null


Iterator it = allGroupingTypeCodes.iterator();

while (it.hasNext()) {

DWLEObjCdGroupingTpType eobj = (DWLEObjCdGroupingTpType) it


.next();

if (eobj.getName() == null) {
eobj.setName(NO_NAME);
}
}
}
//sort the type codes by name
EmfObjectSorter emfObjectSorter = new EmfObjectSorter();
emfObjectSorter.sortLexical((List) allGroupingTypeCodes,
AdminPackage.eINSTANCE.getDWLEObjCdGroupingTpType_Name(),
getRequesterLocale());

return allGroupingTypeCodes;
}

public void setAllGroupingTypeCodes(Collection collection) {


allGroupingTypeCodes = collection;
}

Sorting classes
The Data Stewardship API provides two sorting classes: EmfObjectSorter and
StringObjectSorter.

EmfObjectSorter

The EmfObjectSorter class sorts a list of org.eclipse.emf.ecore.EObject types by


a given org.eclipse.emf.ecore.EAttribute. The class provides methods for
locale-sensitive sorting that can be lexical or numeric, ascending or descending,
and case sensitive or case insensitive.

20 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

StringObjectSorter

The StringObjectSorter class sorts lists of java.lang.String objects by their string


value. The class provides methods for locale-sensitive sorting that can be ascending
or descending, and case sensitive or case insensitive.

Authentication summary
The application uses a form-based login.

The user registry for authentication exists in an LDAP server. The current
authentication for the UIs is implemented using form authentication.

Currently the UIs authenticate a user by using the BEA WebLogic or WebSphere
application server’s security implementation. Depending what application server
the UIs are intended to be deployed on—currently WebLogic and WebSphere are
supported—at installation time, a UserGroupImpl property in
mdmUIConfiguration.properties is set to one of the following:
v com.ibm.mdm.ui.registry.WASUserGroupImp when deployed on a WebSphere
application server
v com.ibm.mdm.ui.registry.BEAUserGroupImpl when deployed on BEA WebLogic

The authentication implementation can be adapted to any other mechanisms or


platforms, but will require code changes and additions.

Logging utility class


The com.dwl.datastewardship.util.LogUtil.java class is a utility class that serves
as a logger factory to create logger instances based on the log.properties file.

Sample code usage:


private static final Logger logger = LogUtil.getLogger(EmfObjectSorter.class);
logger.warn(ResourceBundleHelper.resolve(ResourceBundleNames.DATA_STEWARDSHIP_STRINGS,
LOG_FAIL_LOOK_FOR_GET_TPCD_METHOD), se);

Properties file access class


ResourceBundleHelper.java provides access to the globalization related properties
file.
Chapter 5. Data Stewardship API 21
Licensed Materials – Property of IBM

DataStewardship configuration files


The DataStewardship configuration files can be found in the propertiesUI.jar file
located under the CustomerDataStewardship enterprise project.

The following configuration files are used:


v mdmUIConfiguration.properties defines the connection point to InfoSphere
MDM Server Customer as well as application related settings.
v ClientAuthentication.properties contains authentication credentials for the
MDM application.
v cmsAuthentication.properties contains authentication credentials for external
content management system.
v CMSConfig.properties defines the implementation classes for the CMS adapter.
v FileNetConfig.properties provides the access point for WebServices available
for FileNet.
v IICEConfig.properties provides the access point for WebServices available for
IICE.
v log.properties contains logging related configuration information.

For the DataStewardship application released with IBM InfoSphere Master Data
Management Server were introduced new properties in order to accommodate
possible gold data changes, which could be initiated by clients in order to meet
there particular needs.

The following is the list of the new properties added in


mdmUIConfiguration.properties:
#This value represents the task status type corresponding to "Pending" value in
#the CDTaskStatusTP code table. If the value is changed in the MDM database,
#this value has to be changed as well.
TaskStatusType.pending=2

#This value represents the task status type corresponding to "New" value in
#the CDTaskStatusTP code table. If the value is changed in the MDM database,
#this value has to be changed as well.
TaskStatusType.new=1

#This value represents the task status type corresponding to "Completed" value in
#the CDTaskStatusTP code table. If the value is changed in the MDM database,
#this value has to be changed as well.
TaskStatusType.completed=4

#This value represents the task priority type corresponding to a "high" priority
#task.
Task.taskProrityType.high=100

#This value (where the field Priority_Cat_Tp_Cd equals 1) represents the possible
#task priority values in
#the CDPriorityTp code table. If the value is changed in the MDM database,
#this value has to be changed as well.
CdPriorityTp.PriorityCatTpCd=1

#7 represents the ‘Suspect Processing’ task type value in


#the CDTaskCatTP code table. If the value is changed in the MDM database,
#this value has to be changed as well.
TaskCatType=7

# Number of suspects presented per page on the suspect list screen


SuspectPagination=10

22 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

# Users in this group have access to the suspect processing tasks


suspectProcessingGroup=DS

# The list of task actions displayed


# code type=1, task action name= Create
# code type=2, task action name= Assign
# code type=3, task action name= Reassign
# code type=4, task action name= Unassigned
# code type=6, task action name= Submit
# code type=9, task action name= Delete
taskActionList=1, 2, 3, 4, 6, 9

#This value represents the task status type corresponding to "create" value in
#the CDTaskActionTP code table. If the value is changed in the MDM database,
#this value has to be changed as well.
TaskActionType.create=1

#This value represents the task status type corresponding to "submit" value in
#the CDTaskActionTP code table. If the value is changed in the MDM database,
#this value has to be changed as well.
TaskActionType.submit=6

# This property represents taskroleassoc.task_definition_id (in the database).


# In the database (taskroleassoc.task_owner_role), it has to correspond with the
# value defined through ’suspectProcessingGroup’ property
TaskDefinitionType=1101

# External Doucments tab flag. The default value is false.


# ON or OFF representing the render option for the "External Documents" tab in
# party maintenance section.
externalDocuments=OFF

Also the following additional options are available for the DataStewardship and
Customer Business Admin UIs:
# View request and response xml flag. The default value is true.
# This flag can have 2 possible values (true or false).
# view_xml=true a link is rendered ’View Transactions’ on the top right section of
# every screen.
# view_xml=false the ’View Transactions’ link is hidden.
view_xml=true

# Infor Center URL


infoCenterURL=<INFOCENTRE_URL>

Exception class
The com.dwl.datastewardship.DataStewardshipException.java class is the
exception class created to represent any exception raised inside the Data
Stewardship application.

The com.ibm.mdm.ui.base.CommonModelException.java class is used to represent


any exception relevant to data retrieval or handling throughout the Data
Stewardship application.

The errors and exceptions are handled in the page code.

SDO objects
The SDO objects are generated from the XML schema definition files.

Chapter 5. Data Stewardship API 23


Licensed Materials – Property of IBM

If there are changes to XML schema definition files or there are new XSD files that
have to be added, the SDO objects have to be generated again.

The Data Stewardship web application has two XML schema definitions:
v DWLAdmin.xsd
v DWLCustomer.xsd

When SDO objects are generated from the service schema, the request and
response schemas generate two sets of different classes for the same model data.
This forces a field-to-field data transformation from the request model data to the
response model data. To avoid this, merge the request and response schema to
generate only one class for the model data.

DWLAdmin.xsd represents the following InfoSphere MDM Server XSD files:


v DWLAdminService.xsd
v DWLAdminResponse.xsd
v DWLAdminRequest_extension.xsd
v DWLAdminResponse_extension.xsd
v CompositeAdminTransactionRequest.xsd
v CompositeAdminTransactionResponse.xsd
v DWLCommonRequest.xsd
v DWLCommonResponse.xsd
v DWLCommonRequest_extension.xsd
v DWLCommonResponse_extension.xsd

DWLCustomer.xsd represents the following InfoSphere MDM Server XSD files:


v myTCRM.xsd
v tCRMResponse.xsd
v tcrmRequest_extension.xsd
v tcrmResponse_extension.xsd
v CompositeTransactionRequest.xsd
v CompositeTransactionResponse.xsd
v DWLCommonRequest.xsd
v DWLCommonResponse.xsd
v DWLCommonRequest_extension.xsd
v DWLCommonResponse_extension.xsd

The sequence of schema elements must follow the request schema. InfoSphere
MDM Server services require that the request XML strictly complies with the
request schema. SDO objects are not affected by the sequence of response XML
when they are populated from the schema.

The two merged schemas list all the request elements first, followed by the
response schema elements, and then any additional required elements.

The request and response schemas do not exactly match each other, so you must
clear any unexpected elements that are presented in the request XML for the
request schema carried from the response.

24 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

If there is a need for new XML schema definition files for each new schema,
regenerate the SDO objects and update the BaseDataStewardship class in order to
statically register the name space of the new XSD.

The following is an example of the registered DWLAdmin.xsd and DWLCustomer.xsd


XML schema definitions.
static{
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(AdminPackage.eINSTANCE.getNsURI(),
AdminPackage.eINSTANCE);
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(CustomerPackage.eINSTANCE.getNsURI(),
CustomerPackage.eINSTANCE);
}

For more information about SDO, visit the following page: http://www-
128.ibm.com/developerworks/library/j-sdo/?ca=d

Generating SDO objects


Before you can generate SDO objects, you must have the
CommonUIServiceDataObjects project in your RSA 7.0.0.2 workspace.

Generating SDO objects involves the following tasks:


1. “Creating the .genmodel file”
2. “Modifying .genmodel file properties and generating SDO objects” on page 26

Creating the .genmodel file


This is part of the larger task of “Generating SDO objects.” Before you can generate
SDO objects, you must have the CommonUIServiceDataObjects project in your
RSA 7.0.0.2 workspace.

To generate the .genmodel file:


1. Click CommonUIServiceDataObjects → New → Other. In the window that
opens, click Eclipse Modeling Framework → EMF Model. The New EMF
Model window opens.

Note: If the Eclipse Modeling Framework wizard is not visible, you need to
first enable the EMF Capabilities Sample Set, as follows:
a. From the Windows menu, select Preferences window → General →
Capabilities.
b. In the Capabilities window, check the checkbox next to EMF Capabilities
Sample Set, then click Advanced
c. In the Advanced window, enable all of the subitems listed under EMF
Capabilities Sample Set.
2. In the Enter or select the parent folder field, make sure that
CommonUIServiceDataObjects/model is selected. This is where the *.genmodel
file will be created.
3. In the File Name field, type DWLCustomer.genmodel.

Note: If a file called DWLCustomer.genmodel already exists, you must first


delete the existing file.
4. Click Next. On the Select a Model Importer screen, select XML Schema then
click Next.
5. On the XML Schema Import screen, indicate the name of the directory where
the xsd file (for example, DWLCustomer.xsd) is located, then click Next.

Chapter 5. Data Stewardship API 25


Licensed Materials – Property of IBM

6. On the Package Selection screen click Finish. The new


DWLCustomer.genmodel file is created in the CustomerUIServiceDataObjects/
model directory.

Now that you have created the .genmodel file, you need to modify the .genmodel
file properties and generate SDO objects.

Modifying .genmodel file properties and generating SDO objects


You need to create the .genmodel file before you begin this task.

To modify the .genmodel file properties and generate SDO objects:


1. 1. Double-click the DWLCustomer.genmodel file that you created. A visual
editor opens with a tree representation of the object structures from your xsd.
2. Click on the root node.
3. In the Properties view modify the following sections:
a. For Model → Feature Delegation, provide the value Reflective.
b. For Model Class Defaults → Root Extends Class, provide the value
com.dwl.base.BaseImpl.
4. In the main window, expand the root node and select the child node.
5. In the Properties view, for Model → Literals Interface, provide the value false.
6. In the main window, right-click the root node and select Generate Model
Code. The SDO objects will now be generated.

Functional requirements for generating SDO objects


In order to make use of the SDO generator, the following jar dependencies are
available to support the new SDO objects.

They are:
v org.eclipse.emf.common_2.2.1.v200703010000.jar
v org.eclipse.emf.commonj.sdo_2.1.0.v200703010000.jar
v org.eclipse.emf.ecore.change_2.2.1.v200703010000.jar
v org.eclipse.emf.ecore.sdo_2.2.1.v200703010000.jar
v org.eclipse.emf.ecore.xmi_2.2.3.v200703010000.jar
v org.eclipse.emf.ecore_2.2.3.v200703010000.jar

The UI project structure includes two new projects, CommonUIServiceDataObjects


and CommonUIModel, that provide a number of benefits. The benefits are:
v They are reusable for any future InfoSphere MDM Server client application
v They provide a communication layer, with a Customer hub
v They provide the business object structure (SDO objects)
v They facilitate easier code maintenance by eliminating previously existing
duplicate code

Globalization
The Data Stewardship web application has been globalized and support for several
languages is available.

To support globalization, all of the static labels of all pages and messages are
externalized in properties files:

26 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

v The labels, tool tip images, and static messages on the “Welcome” page are
included in the DataStewardshipLabels.properties file.
v The messages, validation errors, Java exceptions and Java script messages are
included in the DataStewardshipStrings.properties.
v The locale-specific settings that do not require translation are included in
DataStewardshipSettings.properties.

Key naming conventions for externalizing labels


The naming conventions used for defining the keys in the
DataStewardshipLabels.properties resource bundles are shown below:

button_<Label>=<Label Description> (for example: button_Update)

Common_<field>=<Label Description> (for example: Common_startDate=Start Date)

<BusinessObject>_<field>=<Label Description>

menu_<BusinessObject>_<field>=<Label Description>

label_<Label>=<Label Description>

Key naming conventions for externalizing strings


The naming conventions used for defining the keys in the
DataStewardshipStrings.properties resource bundles are shown below:
<Category>_<ClassName>_<Identifier>

Where:
v <Category> is the type of the string. The types of strings that are currently
identified as requiring externalization are exception and logger messages for
level warnings and above.
v <ClassName> is the name of the Java class.
v <Identifier> is a meaningful string to identify the string.

Chapter 5. Data Stewardship API 27


Licensed Materials – Property of IBM

28 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 6. Customizing and extending Data Stewardship


This section provides instructions for customizing and extending the Data
Stewardship web application.

The development tool used to build the Data Stewardship web application is the
Rational® Application Developer (RAD).

SDO is a framework for data application development, which includes an


architecture and API. An eclipse plugin is required in order to regenerate SDOs if
changes to the XSD files are required. This plugin simplifies the modeling of data,
and does not require the manual creation of a large set of classes for the business
model. The SDO objects are used in the model classes to handle the page-related
model data.

The JSF page design involves dragging and dropping faces components to create
the page layout. The JSF component value is bound to an attribute of a JSF
managed bean or a simple Java bean. The JSF component actions are bind to the
pagecode classes and the navigation within the JSF pages is defined in the
faces-config.xml.

Prerequisites for customizing the Data Stewardship web application


The prerequisites for customizing the Data Stewardship are:
v InfoSphere MDM Server application – DS is based on the current version of IBM
InfoSphere Master Data Management Server. In order to develop or deploy the
DS web application, a running InfoSphere MDM Server instance has to be
installed and running.
v LDAP Server – DS assumes that an LDAP server is used to store user and group
security information. The LDAP server has to be configured and ready to use
before you can begin the development or deployment of the Data Stewardship
application.
v Rational Application Development (RAD), version RAD 7.0.0.2

Note: The plugin can be downloaded from IBM developerWorks® at


http://www-128.ibm.com/developerworks/views/
download.jsp?contentid=99384&filename=xsdsdotransform-feature.zip
&method=http&locale=worldwide

WebSphere test environment


The Data Stewardship web application should be tested on a local test
environment.

To set up a local test environment for the InfoSphere MDM Server Data
Stewardship web application, you must use the IBM WebSphere® Application
Server v6.1 Test Environment.

Data Stewardship application source code


The Data Stewardship application source code is distributed with the product.

© Copyright IBM Corp. 1996, 2008 29


Licensed Materials – Property of IBM

The source code for Data Stewardship application can be found in the distribution
jar MDM80_Samples.tar.gz. After you extract the contents of the tar file, the
application source code can be found under DataStewardship directory.

To import the source code into RAD, IBM recommends that you use the Project
Interchange import option.

Adding a field to an existing page


If want to add a field to screen because the XML schema has changed or you want
to display a new field from the SDO objects on the screen, you need to extend a
page.

If the field has been added to the schema:


1. Regenerate the SDO Objects.
2. Add the field to the page.
3. Create the corresponding value binding for the field.

Tip: If the field has already been added to the SDO objects, you can simply
add the field to the page and then create the corresponding value binding.

Adding a new page


The Data Stewardship uses multiple pages to display party data. Each page, or tab,
corresponds to a part of the party data.

The Party Maintenance and Suspect Processing modules display party data on
separate pages. For example, to see a party’s addresses you can go to the Address
page by clicking on the Address tab.

To add a new page to one of the existing modules:


1. Update the corresponding navigation tab JSF page to include the new page.
2. Update the resource bundles with the page label.
3. Add the navigation for the new page in the faces-config.xml file.
4. Create the page layout using an existing page as a template.
5. Create the value binding for all the fields and command buttons.
6. Update the model class to include the method that corresponds to the
InfoSphere MDM Server transaction required to retrieve data for the new page.

30 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 7. New design of Data Stewardship interface


The Data Stewardship has a new interface design.

These are the features of the new Data Stewardship interface:


v The index.jsp is the main page of the application. It has four iframes:
– The first iframe is the header
– The second iframe is the primary tabs and links
– The third iframe is for the vertical navigation menu
– The fourth iframe is the workarea.
v On the right side of the vertical navigation menu, there are triangular icons
called twisties. Click a twistie to expand or collapse a particular section of the
vertical navigation menu.
v The colors of the application follow the design standards of the Mozart
programming system
v The titles, tabs, font, buttons and tables all follow the design standards of the
Mozart programming system.

Use of frames in the Data Stewardship application


The Data Stewardship application has four iframes in index.jsp.

The actual application screens are presented in the fourth iframe, which is the
workarea.
© Copyright IBM Corp. 1996, 2008 31
Licensed Materials – Property of IBM

Communication with each iframe is accomplished through JavaScript. For example,


if you click on the navigation menu, the workarea is refreshed with the
corresponding JSP file.

The vertical navigation menu, which is the third iframe, can be displayed or
hidden by clicking on the twistie located on the right side of the vertical
navigation menu.

Adding a new navigation menu


In order to add a menuItem or a submenuItem to the navigation vertical menu,
follow the same approach used for the existing menu.

To add a menuItem or a submenuItem to the vertical navigation menu,


CustomerDataStewardshipWeb/WebContent/navigationVertical.jsp:
1. Using the existing code as a basis, modify the navigationVertical.jsp file and its
corresponding page code, NavigationVerical.java, to add the new navigation
menu item.
2. Click the menuItem to show or hide relevant submenuItems, if any exist.
3. Modify the following Javascript functions to accommodate the newly added
navigation menu item. The navigationVertical.jsp file relies on the following set
of JavaScript functions:
v clickNavigationOption(navName) applies the application’s context path for
the clicked menuItem. .
function clickNavigationOption(navName) {
var path = ’<%= request.getContextPath() %>’;

if(top.document.getElementById(’workArea’).contentWindow.mbody)
top.document.getElementById(’workArea’).contentWindow.mbody.style.cursor = "wait";

if(navName == "searchParty")
top.document.getElementById(’workArea’).src = path+’/faces/search/partySearch.jsp’;
if(navName == "addPerson")
top.document.getElementById(’workArea’).src = path+’/faces/partyMaintenance/addPerson.jsp’;
if(navName == "addOrganization")
top.document.getElementById(’workArea’).src = path+’/faces/partyMaintenance/addOrganization.jsp’;
if(navName == "searchSuspect")
top.document.getElementById(’workArea’).src = path+’/faces/suspectProcessing/search/suspectSearch.jsp’;
if(navName == "hierarchy")
top.document.getElementById(’workArea’).src = path+’/faces/search/partySearch.jsp’;
if(navName == "grouping")
top.document.getElementById(’workArea’).src = path+’/faces/search/partySearch.jsp’;
if(navName == "searchTaskByOwner")
top.document.getElementById(’workArea’).src = path+’/faces/suspectProcessing/search/searchTaskByOwner.jsp’;
if(navName == "mySuspectProcessingTaskList")
top.document.getElementById(’workArea’).src = path+’/faces/suspectProcessing/search/mySuspectProcessingTaskList.jsp’;

return;

v showHideInitialSubmenu(subMenu, thisEvent) Shows or hides the submenu


when the page is loaded.
function showHideInitialSubmenu(subMenu, thisEvent) {
// set the show/hide of the submenu
menuOpt = document.getElementById("form1:menuOptionFlag").value;

if(menuOpt == "partymaintenance" || menuOpt == "addPerson" || menuOpt == "addOrganization"){


document.getElementById("form1:partyMaintenanceSubMenu").style.display = "";
document.getElementById("form1:link5a1").style.display = "";
document.getElementById("form1:link5a2").style.display = "none";
}
if(menuOpt == "partysuspectprocessing"){
document.getElementById("form1:partySuspectProcessingSubMenu").style.display = "";
document.getElementById("form1:link5a1SuspectProcessing").style.display = "";
document.getElementById("form1:link5a2SuspectProcessing").style.display = "none";
}
if(menuOpt == "hierarchy" ){
document.getElementById("form1:hierarchySubMenu").style.display = "";
document.getElementById("form1:link5a1Hierarchy").style.display = "";
document.getElementById("form1:link5a2Hierarchy").style.display = "none";
}
if(menuOpt == "grouping"){
document.getElementById("form1:groupingSubMenu").style.display = "";
document.getElementById("form1:link5a1Grouping").style.display = "";
document.getElementById("form1:link5a2Grouping").style.display = "none";
}

document.getElementById("form1:menuOptionFlag").value = "";

return false;
}

32 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

v showHideSubmenu(subMenu, thisEvent) shows or hides the submenu when


you click on a menuItem.
hfunction showHideSubmenu(subMenu, thisEvent) {
// set the show/hide of the submenu
// menuOpt = document.getElementById("form1:menuOptionFlag").value;
if(subMenu == "partyMaintenanceSubMenu"){
if(document.getElementById("form1:partyMaintenanceSubMenu").style.display == ""){
document.getElementById("form1:partyMaintenanceSubMenu").style.display = "none";
document.getElementById("form1:link5a1").style.display = "none";
document.getElementById("form1:link5a2").style.display = "";
}
else{
document.getElementById("form1:partyMaintenanceSubMenu").style.display = "";
document.getElementById("form1:link5a1").style.display = "";
document.getElementById("form1:link5a2").style.display = "none";
}
}
if(subMenu == "partySuspectProcessingSubMenu"){
if(document.getElementById("form1:partySuspectProcessingSubMenu").style.display == ""){
document.getElementById("form1:partySuspectProcessingSubMenu").style.display = "none";
document.getElementById("form1:link5a1SuspectProcessing").style.display = "none";
document.getElementById("form1:link5a2SuspectProcessing").style.display = "";
}
else{
document.getElementById("form1:partySuspectProcessingSubMenu").style.display = "";
document.getElementById("form1:link5a1SuspectProcessing").style.display = "";
document.getElementById("form1:link5a2SuspectProcessing").style.display = "none";
}
}
if(subMenu == "hierarchySubMenu"){
if(document.getElementById("form1:hierarchySubMenu").style.display == ""){
document.getElementById("form1:hierarchySubMenu").style.display = "none";
document.getElementById("form1:link5a1Hierarchy").style.display = "none";
document.getElementById("form1:link5a2Hierarchy").style.display = "";
}
else{
document.getElementById("form1:hierarchySubMenu").style.display = "";
document.getElementById("form1:link5a1Hierarchy").style.display = "";
document.getElementById("form1:link5a2Hierarchy").style.display = "none";
}
}
if(subMenu == "groupingSubMenu"){
if(document.getElementById("form1:groupingSubMenu").style.display == ""){
document.getElementById("form1:groupingSubMenu").style.display = "none";
document.getElementById("form1:link5a1Grouping").style.display = "none";
document.getElementById("form1:link5a2Grouping").style.display = "";
}
else{
document.getElementById("form1:groupingSubMenu").style.display = "";
document.getElementById("form1:link5a1Grouping").style.display = "";
document.getElementById("form1:link5a2Grouping").style.display = "none";
}
}

return false;
}

Chapter 7. New design of Data Stewardship interface 33


Licensed Materials – Property of IBM

34 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 8. Limitations and future changes


This section discusses troubleshooting the white box application, and discusses
migration with regard to future plans.

White box application

This application is distributed as white box software, shipped with source code,
and it is supported in its original form. If you do encounter problems you should:
v Attempt to reproduce the problem in the original distribution, assuming you
made changes.
v If the problem can be reproduced in the original application, report the problem
through the web-based product support tool. See Chapter 10, “Product
information and support,” on page 39.
v If you cannot reproduce the problem, it may be for any of a number of reasons.
Verify that:
– You are using the same the development tools that were used to develop the
application.
– The fix pack levels are the same.
– The fixes mentioned in the release notes are installed.
v IBM recommends that you deploy a separate instance for the original application
and have your own development deployed on another instance. This makes it
easier to verify whether the problem exists in the original distribution.

Migration

The migration of an application that was developed based on the methodology


described in this document is not guaranteed. The methodology used to develop
this product may change in future versions.

© Copyright IBM Corp. 1996, 2008 35


Licensed Materials – Property of IBM

36 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 9. Additional information


This topic lists sources for additional information related to developing for the
InfoSphere MDM Server Data Stewardship application.
IBM WebSphere Application Server 6.0 InfoCenter
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp
developerWorks introduction to the XSD SDO transform feature
http://www-128.ibm.com/developerworks/views/
download.jsp?contentid=99384&filename=xsdsdotransform-feature.zip
&method=http&locale=worldwide
Information from developerWorks about SDOs
http://www-128.ibm.com/developerworks/library/j-sdo/?ca=dnt-539

© Copyright IBM Corp. 1996, 2008 37


Licensed Materials – Property of IBM

38 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Chapter 10. Product information and support


Information about InfoSphere MDM Server and support information can be
obtained through the following methods.
On the Web
Go to http://www-306.ibm.com/software/data/infosphere/mdm_server/.
This site contains the InfoSphere MDM Server library, news, and links to
web resources.
By Telephone
If you are in North America, call 1-800-IBM-SERV (1-800-426-7378).
If you are outside of North America, check the web page
http://www.ibm.com/planetwide/ for contact information for your area.

© Copyright IBM Corp. 1996, 2008 39


Licensed Materials – Property of IBM

40 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Notices
This information was developed for products and services offered in the Canada.

IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user’s responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give you
any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing


IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country/region or send inquiries, in
writing, to:

IBM World Trade Asia Corporation


Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

The following paragraph does not apply to the United Kingdom or any other
country/region where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS
FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions; therefore, this statement may not apply
to you.

This information could include technical inaccuracies or typographical errors.


Changes are periodically made to the information herein; these changes will be
incorporated in new editions of the publication. IBM may make improvements
and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.

This document may provide links or references to non-IBM Web sites and
resources. IBM makes no representations, warranties, or other commitments
whatsoever about any non-IBM Web sites or third-party resources that may be
referenced, accessible from, or linked from this document. A link to a non-IBM
Web site does not mean that IBM endorses the content or use of such Web site or

© Copyright IBM Corp. 1996, 2008 41


Licensed Materials – Property of IBM

its owner. In addition, IBM is not a party to or responsible for any transactions you
may enter into with third parties, even if you learn of such parties (or use a link to
such parties) from an IBM site. Accordingly, you acknowledge and agree that IBM
is not responsible for the availability of such external sites or resources, and is not
responsible or liable for any content, services, products, or other materials on or
available from those sites or resources. Any software provided by third parties is
subject to the terms and conditions of the license that accompanies that software.

IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information that has been exchanged, should contact:

IBM Canada Limited


Office of the Lab Director
8200 Warden Avenue
Markham, Ontario
L6G 1C7
CANADA

Such information may be available, subject to appropriate terms and conditions,


including in some cases payment of a fee.

The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement, or any equivalent agreement
between us.

Any performance data contained herein was determined in a controlled


environment. Therefore, the results obtained in other operating environments may
vary significantly. Some measurements may have been made on development-level
systems, and there is no guarantee that these measurements will be the same on
generally available systems. Furthermore, some measurements may have been
estimated through extrapolation. Actual results may vary. Users of this document
should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of


those products, their published announcements, or other publicly available sources.
IBM has not tested those products and cannot confirm the accuracy of
performance, compatibility, or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the
suppliers of those products.

All statements regarding IBM’s future direction or intent are subject to change or
withdrawal without notice, and represent goals and objectives only.

This information may contain examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious, and any similarity to the names and addresses used by an actual
business enterprise is entirely coincidental.

COPYRIGHT LICENSE:

42 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

This information may contain sample application programs, in source language,


which illustrate programming techniques on various operating platforms. You may
copy, modify, and distribute these sample programs in any form without payment
to IBM for the purposes of developing, using, marketing, or distributing
application programs conforming to the application programming interface for the
operating platform for which the sample programs are written. These examples
have not been thoroughly tested under all conditions. IBM, therefore, cannot
guarantee or imply reliability, serviceability, or function of these programs.

Each copy or any portion of these sample programs or any derivative work must
include a copyright notice as follows:

© (your company name) (year). Portions of this code are derived from IBM Corp.
Sample Programs. © Copyright IBM Corp. _enter the year or years_. All rights
reserved.

Notices 43
Licensed Materials – Property of IBM

44 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide


Licensed Materials – Property of IBM

Trademarks
Company, product, or service names identified in the documents of the text may
be trademarks or service marks of International Business Machines Corporation or
other companies. Information on the trademarks of IBM Corporation in the United
States, other countries, or both is located at http://www.ibm.com/legal/
copytrade.shtml.

Windows is a trademark of Microsoft Corporation in the United States, other


countries, or both.

Linux is a trademark of Linus Torvalds in the United States, other countries, or


both.

UNIX is a registered trademark of The Open Group in the United States and other
countries.

Other company, product, or service names may be trademarks or service marks of


others.

© Copyright IBM Corp. 1996, 2008 45


Licensed Materials – Property of IBM

46 InfoSphere MDM Server v8.5.0: Data Stewardship UI Developers Guide




Licensed Materials – Property of IBM


Printed in USA

You might also like