Overview of working with legacy JAX-RPC web services

JAX-RPC based web services have been deprecated and will be removed soon.

In order to facilitate the InfoSphere® MDM migration to being an OSGi based application, InfoSphere MDM legacy web services have been moved to their own Java™ Enterprise Archive (EAR) -- com.ibm.mdm.server.jaxrpcws.app.ear. This archive contains only InfoSphere MDM deprecated RPC legacy web services and the supporting .jar files they need to run. These web services will access the InfoSphere MDM OSGi based enterprise business archive (.eba) as an EJB client.

Overview of the com.ibm.mdm.server.jaxrpcws.app.ear

Table 1.
com.ibm.mdm.server.jaxrpcws.app.ear
Web Services JAR files
Business Services:
  • BusinessServicesWS.jar
  • BusinessServicesWSEJB.jar
  • BusinessServicesWS_HTTPRouter.war
Cross Domain Services
  • CrossDomainServicesWS.jar
  • CrossDomainServicesWSEJB.jar
  • CrossDomainServicesWS_HTTPRouter.war
DWL Business Services
  • DWLBusinessServicesWS.jar
  • DWLBusinessServicesWSEJB.jar
  • DWLBusinessServicesWS_HTTPRouter.war
DWL Admin Services
  • DWLAdminServicesWS.jar
  • DWLAdminServicesWSEJB.jar
  • DWLAdminServicesWS_HTTPRouter.war
DWL Common Services
  • DWLCommonServicesWS.jar
  • DWLCommonServicesWSEJB.jar
  • DWLCommonServicesWS_HTTPRouter.war
Financial Services
  • FinancialServicesWS.jar
  • FinancialServicesWSEJB.jar
  • FinancialServicesWS_HTTPRouter.war
Party
  • PartyWS.jar
  • PartyWSEJB.jar
  • PartyWS_HTTPRouter.war
Product Services
  • ProductServicesWS.jar
  • ProductServicesWSEJB.jar
  • ProductServices_HTTPRouter.war
Product
  • ProductWS.jar
  • ProductWSEJB.jar
  • ProductWS_HTTPRouter.war
Utility JAR files
  • com.ibm.mdm.server.commonclient.jar
  • com.ibm.mdm.server.logging.jar
  • com.ibm.mdm.ws.common.transferobjects.jar
  • com.ibm.mdm.ws.domain.transferobjects.jar

InfoSphere MDM consists of nine separate sets of web services, with each set consisting of an EJB project containing the service endpoint for the web service along with its corresponding client project, and an HTTP router project that accepts a soap request using HTTP and routes it to the EJB project. For example, the PartyWS_HTTPRouter accepts a SOAP request, de-serializes it, and invokes the appropriate method on the PartyServiceBean in the PartyWSEJB project.

Five JAX-RPC web service related New have been introduced to the MDM Product suite:
  • com.ibm.mdm.server.commonclient.jar
  • com.ibm.mdm.ws.common.transferobjects.jar
  • com.ibm.mdm.ws.domain.transferobjects.jar
  • com.ibm.mdm.ws.common.converters_<qualifier>.jar
  • com.ibm.mdm.ws.domain.converters_<qualifier>.jar

Overview of the com.ibm.mdm.server.commonclient.jar

This JAR file contains a small number of classes required by the various web services projects so they can continue to run. These classes are DWLStatus.java, DWLError.java, dWLResponse.java, DWLResponseException.java, RootCauseStubException.java, DefaultReqRespLogger.java, ReqRespLogger.java, SOAPMsgLoggingHandler.java, StringUtils.java, and MDMServiceController.java.

Of these, the most important is MDMServiceController.java. It is the interface used by the web services to interact with the new InfoSphere MDM enterprise business archive (.eba) in the OSGi container.

This JAR file can be considered the "client side" JAR file that can be used by any client in order to access the new OSGi based InfoSphere MDM.

Overview of the com.ibm.mdm.ws.common.converters_<qualifier>.jar and com.ibm.mdm.ws.common.converters_<qualifier>.jar

These projects contain the Java classes that convert Transfer Objects into Business Objects. Originally they had been part of the content in each web service project. Because all the projects in InfoSphere MDM were in one giant EAR file with a common class loader, they could be accessed from anywhere in the EAR. Now, these projects only need to be accessed from the enterprise business archive (.eba) in the OSGi container. They are not in the InfoSphere MDM web service EAR.

Overview of the com.ibm.mdm.ws.common.transferobjects and com.ibm.mdm.ws. domain.transferobjects

These projects contain the Java classes that are the serializable transfer objects. They are used to carry serialized data payload across an HTTP connection. They are de-serialized within the HTTP Router projects and inflated back into normal Transfer objects. They are then passed to the .eba for parsing and translation into Business Objects. Because transfer objects are used both in the Web Services projects and also in the OSGi based InfoSphere MDM enterprise business archive (.eba), they must be deployed into both.