Setting up an MDM Server development environment

  • There is now an MDM Workbench white paper which covers development environment set up, and continues with the subsequent tasks required for a complete MDM Server extension.
  • For InfoSphere Master Information Hub (MIH), see the more up-to-date MIH getting started guide.

So you’ve got your brand new Master Data Management Server and you want to get down to doing some development on it. Here are the steps I use to get up and running. (I’ll update them if I discover any other useful tips, or glaring errors!)

You will need:

  • Prereq software installed*
  • MDMWorkbench.zip and MDM80_WAS_AIX.tar.gz files from MDM Server

* Make sure you do not have the WebSphere Application Server feature pack for web services installed in RSA. If you do have the feature pack installed, you will need to use the IBM Installation Manager to uninstall the whole WebSphere Application Server version 6.1 runtime, not just the feature pack, and reinstall the runtime without the feature pack selected. The DB2 prereq (DB2 Enterprise Edition 9.1 fixpack 3a) is also very important. See below for log locations if the MDM database is not created properly.

Preparation:

The first part of this preparation covers clearing up from previous attempts to set up an MDM development environment, which you can skip if you are using a machine for the first time.

  • Drop any existing MDM database using the DB2 Control Center
  • Delete all WebSphere profiles using manageProfiles -deleteAll in <SDP70_INSTALL>\runtimes\base_v61\bin
  • Delete directories left behind by the profile delete, by default in <SDP70_INSTALL>\runtimes\base_v61\profiles
  • Use the following command to create a new WebSphere profile, replacing <PLACEHOLDERS> with the correct values for your system (I use localhost for <HOSTNAME> and you can find out your <MACHINE_NAME> by running echo %COMPUTERNAME% in a Command Prompt window):

manageProfiles -create -winserviceCheck false -omitAction defaultAppDeployAndConfig -templatePath "<SDP70_INSTALL>\runtimes\base_v61\profileTemplates\default" -profilePath "<SDP70_INSTALL>\runtimes\base_v61\profiles\MdmDev01" -nodeName <MACHINE_NAME>Node01 -cellName <MACHINE_NAME>Node01Cell -enableAdminSecurity false -profileName MdmDev01 -hostName <HOSTNAME> -isDeveloperServer

  • Start RSA and create a new workspace with a short path length, for example, C:\ibm\mdm. This is important because long path lengths can cause problems when importing EAR files in to RSA
  • (If you are not prompted to choose a workspace location when starting RSA, use the File > Switch Workspace… menu option after RSA has started.)
  • Open the ‘J2EE’ perspective and enable J2EE capability if prompted
  • Open the ‘Servers’ view
  • If the server is not already shown, right click in the ‘Servers’ view, choose New > Server, and enter details for the WebSphere 6.1 server1 created with the profile earlier
  • Right click the server and choose Open
  • In the ‘Publishing’ settings, select the ‘Run server with resources on Server’
  • Open the Window menu and choose Preferences… Set the default JRE for new Java projects to ‘WebSphere v6.1 JRE’ on the Java/Installed JREs page.
  • Install the MDM Workbench if you have not already done so.

Using the Developer Environment Setup Tool (DEST):

To open the DEST wizard open the File menu and choose New > Other… then filter for ‘MDM’ and pick ‘MDM Development and Test Environment’

When using the DEST wizard, double check all the values it asks for. The defaults may not be correct for your system and the values are not validated. For example, if the database home is wrong or does not exist, you will only find out when errors occur later.

  • Start the DEST wizard and run the last step (‘Restore the MDM Development Environment Setup Tool’) on its own. This is not strictly necessary, especially if you haven’t run the wizard before, but best to be on the safe side!
  • Start the DEST wizard again and run the first 5 steps (up to and including ‘Create an MDM Server Database’)
  • Fill in all the requested values to match your system, including the name of the profile you created earlier. Note: the ‘MDM distribution file’ it asks for is the ‘MDM80_WAS_AIX.tar.gz’ file
  • When the tasks have been completed, test the data sources that have been configured using the WebSphere administrative console**
  • Close the administration console and restart the server (this is required to complete SIB configuration)
  • Start the DEST Wizard again and run the remaining steps up to and including ‘Validate MDM Installation’
  • When the tasks have finished, refresh the ‘xml’ folder in the ‘InstallVerification’ project and check the responses from MDM.

If the responses look good, you’re ready to start using the MDM development tools! That’s something for another post though.

** To check the data source settings:

  • Right click the server in the ‘Servers’ view and choose ‘Run administrative console’
  • Open Resources > JDBC > Data sources in the navigation pane
  • Check the driver type is set to ‘4’ (not ‘,4’) in the DWLConfig, DWLCustomer and EventManager data sources
  • Use the ‘Test Connection’ option to double check all is well

Where to look if things go wrong:

As well as the usual WebSphere logs, you can find MDM specific logs in <RSA_WORKSPACE_LOCATION>\logs, i.e. under the same directory as all the projects in your workbench.

Logs from the ‘Create an MDM Server Database’ step can be found under the MDMDatabase project in the RSA workspace . Look for the CM and CUST directories under WCC/DB2/Standard/ddl (you may need to refresh before the log files appear in the workspace).

Another good thing to check is the CONFIGELEMENT table; if it does not contain any data, the ‘Deploy MDM Server Configuration to WebSphere Profile’ step failed. Check the ManagementAgent.log and ManagementConsole.log files in <RSA_WORKSPACE_LOCATION>\logs.

Update: If you want to try running some MDM transactions after setting up the development environment, here’s how. (14 July 2008)

Update: Added hints for <MACHINE_NAME> and <HOSTNAME> placeholders. (22 August 2008)

Update: Added link to new white paper. (27 May 2009)

Update: Added link to MIH getting started guide which has more up-to-date information for InfoSphere Master Information Hub, or version 9 of MDM. (4 February 2010)

15 thoughts on “Setting up an MDM Server development environment

  1. A quick followup with the error to look out for in the Customer.log as a result of having the WebSphere Application Server feature pack for web services installed:

    2008-03-06 11:02:14,180 ERROR – java.lang.NoSuchMethodError:

    com/sun/xml/xsom/XSFacet.getValue()Ljava/lang/String;

    You need to uninstall the runtime completely and reinstall it without the web services feature pack to fix the problem. (Simply uninstalling the feature pack will not work.)

  2. Hi

    could you please guide me how can i run a MDM transaction in a dev environment set up using RSA. Do you have any tool for the same.

  3. Hi,

    That’s a well timed question- I was planning to write a post about that very subject in the next day or two. Watch this space.

  4. Pingback: Running MDM transactions in a development environment « Notes from a small field

  5. Hi,

    I follow these steps and it looks working perfect, except that there are some missing tables in my DB. I cannot find any tables without those’ name start with “SYS”. So, I cannot find the “CONFIGELEMENT” table and many other tables. Do you have any idea what I have missed?
    Thank you.

  6. It’s often not obvious when things have gone wrong, so it’s worth checking the logs after each step even if the wizard reports a success.

    In your case it sounds like the database creation step failed for some reason. There should be an MDMDatabase project in your RSA workspace; refresh the contents, then have a look for the CM and CUST directories under WCC/DB2/Standard/ddl. Hopefully you should find some logs that will explain what went wrong.

  7. Pingback: Another way to run MDM transactions in a development environment « Notes from a small field

  8. Hi James,

    All worked fine until I tried to do an extension.
    The solution was to:
    a) Go to admin console
    b) Applications -> Enterprise Applications
    c) If list is empty, click on ‘Start’
    d) Check MDMServer, click on ‘Stop’,
    e) Check MDMserver, click on ‘Uninstall’
    f) Logout of the admin console, saving your changes

    g) Right click on your Server Profile in the servers tab
    h) Choose ‘Add or Remove Projects’
    i) Add MDM.
    j) Click OK.

    Should issues arise, such as naming conflicts, restart the server and try again.

  9. Pingback: Get your lovely fresh user interface generator here « Notes from a small field

  10. Hi James,

    It seems that the setup tool is quite picky about the WAS profile path and profile name as well. I tried using your example profile creation, but used my own profileName without changing the profilePath, and DEST couldn’t see my new server.

  11. Im using RSA when i tried to add the project to my server it was giving the following message “publish failed due to problem in war file please check server logs for more details” i could not able to fix the problem pls guide me with out the server im not able to finish my work.
    i tried to remove that war file but if i remove it i cant run my web files.

  12. Hi,

    I don’t remember seeing a problem like that before. Is this error happening the first time you deploy with the MDM Workbench wizard, or some time after a successful install verification. Have you added any extensions to MDM? Are there any useful messages in the server logs?

    I’d recommend posting as much information as possible to the new MDM Workbench forum on developerWorks if you’re still stuck, since more people check that forum for questions:

    http://www.ibm.com/developerworks/forums/forum.jspa?forumID=1581

  13. Pingback: MDM Workbench white paper « Notes from a small field

  14. Hi,
    I’m new in these arguments…please, can you help me in the clearest way?
    I’ve installed DB2 9.5, WAS 6.1 and MDM server 8.5 on Red Hat OS.
    The installation seems to be all right but now there are some problems and I’ve some doubts.
    I haven’t load the data from a extern DB to the MDM DB2 yet and so I think that the DB2 of the MDM server could be empty.
    Furthermore I haven’t performed a data model for the parties.
    In this moment the only applications offered by the MDM server are the 2 GUI Data Stewardship and Business Administration.
    When I tested the Data Stewardship application, I verify that, if I try to add a Person through Party Maintenance -> Add Person -> Submit, I get a error like this:
    “Failed to set the attribute field”
    The same thing if I try to add an user group in th Business Administration GUI:
    “Error adding a new group profile”.
    So I think that probably there are problems with the linking between DB2 and MDM server. Is it right?
    I also would ask you for some questions about the Rational Software Architecture… I would to define a data model for the data in my DB and so I have to use this application, is it true?
    I’ll download RSA and I’ll follow your guide. But I would know if I have to uninstall all IBM softwares or if I can install RSA and the MDM workbench without problems.
    Thanks a lot for your attention

Leave a reply to Leela Cancel reply