Skip to Content

MDM connectivity to java application

During the last few weeks I have been involved as a lead ESA Architect in a development
project that integrates MDM5.5 , Enterprise Portal 6.0 and SOA. In this Weblog I would
like to share my experience of using MDM5.5 from the application point of view.

Short description of the project:

Before we start, lets understand what was the
requirments of the project. The solution should integrate the current SAP systems and own systems now in use,
exploiting the capabilities of the Enterprise Portal/Netweaver technology, and MDM 5.5

The Solution in a nutshell

MDM5.5 contains catalog data , a composite application is built on top of MDM5.5 in order to
expose via services the data. The Enterprise Portal 6.0 serves as a client to the composite
application via a new UI. The following diagram describes the high level architecture


How can application connect to MDM 5.5?

MDM5.5 has an out of the box Connector which is a middleware component that enables the
integration between SAP Web AS (Java) and MDM Server.

Introducing the MDM5.5 connector

The connector architecture defines a standard architecture for connecting the Application
Server (J2EE) platform to heterogeneous Enterprise Information Systems (EIS). MDM Connector
will provide connectivity between SAP Web AS (Java) Server and MDM Server.
The MDM connector enables a developer to:

  • Open a connection to a repository running on MDM Server.
  • Enable connection pooling.
  • Support a native interface.
  • Enable managing MDM Connection in Enterprise Portal via Portal System Landscape Service.

The MDM Connector is based on the SAP Connector Framework of JCA J2EE Architecture version 1.0.
It uses the MDME4J library to maintain the connection and it supports connection pooling.
The MDM Connector also supports a native interface for retrieval of the physical connection
(repository data) to a repository, thus it gives you the MDME4J library full capabilities.

Using the connector

From the application side of the code using MDM5.5 connector is very similar to suing JDBC
to RDBMS The connector is used for both data and images retrieval and supports data from
different languages. The necessary steps are:

  • Open a connection to a repository – in order to open a connections there is a need to
    perform a JNDI lookup, get a connection from the factory & invoke getConnectEx method.
  • Get the physical connection via the native interface
  • Get data from a repository – CatalogData object is used by various methods to collect
    data from MDM5.5
  • Close the connection

Installation options

Installing the connector is rather easy task to perform. The connector can be installed either
on the WAS6.40 (for building applications on top of the WAS) or deployed to the Enterprise Portal 6.0.
For the WAS6.40 the following SDA files are requires

  1. MDME4J.sda
  2. MDMEConnector.sda


MDM5.5 as part of the NetWeaver stack can be fully integrated into costume composite application by
exposing data via the MDM5.5 connector. The configuration , installation and retrieval of data
is very straight forward and by this allowing the development team to focus on developing the
interfaces and not lose precious time on complex issues.

You must be Logged on to comment or reply to a post.
    • I've downloaded MDM 5.5 from market place and as binaries I've got MDM4J.jar, is that ok too? instead of using sda?

      I was planning on maintaining an standalone MDM installation (MDM linking 2 MS SqlServer databases for "multiple instances" management) and developing an small website on jsp maybe hosted on tomcat (so no web as at all), is that possible?

      If so, do you have some examples for  retrieving data? You said its quite like jdbc, but the api is quite harsh

  • Hi Udi,

    i want to add to Michals Comment: MDM 2.0 and MDM 3.0 were already using XI for connectivity and it was working rather well as i can say from our project and productive experience. Now with MDM 5.5 SAP makes a step back to point to point integration, not really NetWeaver like.
    What i am wondering is, how MDM 5.5 will allow customers to enhance interfaces. With XI this was rather straightforward but now with an own adapter, will it be possible to add customer fields or disregard standard fields of the objects?

    Best regards

    • Hello Christine and Michals

      I think you have mixed-up two issues: MDM/WAS integration and MDM-XI Adapter.

      The Connector summarized by Udi in this Weblog is the MDM/WAS Java connector.
      The purpose of this module is to enable Java developers to use a standard connector to open a connection to one or more MDM repositories and utilize the full MDM/API library in their development on top of MDM.
      The connector is a "step ahead" as it enhances performance. The connector establishes a "Connection Pool" using a standard JCA (Java Connectivity Architecture).

      Regarding MDM - XI adapter:
      XI plays role in any Inbound/Outbound scenarios utilizing Batch processing of data.
      MDM took these adapter layer architecture step ahead in SP1, introducing a "two step approach".

      In the Inbound a file is transferred via XI (using a standard File Adapter) loaded into MDM enabling Normalization of data while loading (Using the Import Manager). The only limitation of the current scenario is that it misses automation capabilities.

      The Outbound scenario is using the Syndicator instead of the Import Manager having the same automation limitations.

  • Its a very nice weblog. But, I am wondering from where you got these two ".sda" files. I searched even on Service place under MDM. Please let me know the link so that I can try something similar.


    Rajani Kumar K

    • Hi Rajani,

      The MDM Connector & Documentation will be available for GA in the next SP which due in several weeks.


  • ....there appear to be issues.

    I'd love to use the connector, but documentation is rather thin (read: non-existant).  Are there any guides on how to use the Connector?  Samples perhaps?

    I'm also having problems creating a MDM system in the portal - the system does not show up when trying to specify user mapping (yes, the system has an alias defined).  I'm getting an obscure error in the portal log (which may be related to my above issue): "Failed to get alias mappers sub context in the Portal Registry".  Got any ideas?  This occurs on both SP12 and 13.

    I can't stress this enough: more documentation is needed to make the java API useful - a reference manual is unfortunately not enough.

    • Hi,

      I understand the need for documentation since it was one of the biggest challenge for my development team as well.
      I will pick up the glove and shortly publish some code examples and documentation.


    • Hi Ken,

      there is a HowTo Guide on the SAP Service Marketplace, that deals with the MDM Java Connector (including code examples). The path is: -> Media Library -> How To Guides -> Master Data Management

  • Hi,
    I have deployed the with and want to make a connection from a session bean to MDM. And I want to implement the "How to use the MDM Java Connector in SAP Web As". But I am facing a problem with finding the connectionFactory.getConnectionSpec() method because it isn't there in the MDM4J.JAR. I only have the com.a2i.xcat.internal.connections.IConnectionFactory getInstance(int) method. It seems to me that the connection has been changed from sp2 to sp5

    Sander Valkenburg