Request or response objects for custom transactions

You can define new entities in the module model to be used as request or response objects in a custom transaction.

The request type for a custom Tx style transaction can be any persistent entity (data addition) or a transient data object. Transient data objects are used to pass data into a transaction, but are not directly persisted in the database. Transient data objects are often used to wrap multiple persistent entities into a single request object.

Transient data objects can also be used as the response types of Tx or Inquiry style transactions.

You can add attributes to a transient data object in the same way as you would for a persistent entity. You can also define reference and code type fields and containment relationships for the transient data object.

The generated code for a transient data object is similar to the code generated for a persistent entity, but without any of the code relating to persistence. Default Add, Update, and Get Record transactions are not generated for transient data objects.

If you are using InfoSphere® MDM version 9.0 Web services, then note that Web services are created based on the transactions that have been defined, not the data objects, so when you create a transient data object, you must also create a transaction that uses it within the same module.

Overview of request and response transactions

Beginning with InfoSphere MDM version 10.0, the request and response schemas are merged, including all the elements for both, which accommodates all of the requests and responses that were possible before.

In a few cases, both of the old schemas declared the same elements in a different order so a few elements will now appear in a different order in the response when using the new schema. The schema uses namespaces, so all elements and types are declared within the namespace http://www.ibm.com/mdm/schema, and the names for the actual files are as follows:
Table 1. . Merged schema files that replace legacy schema files.
Merged schema: Replaces:
MDMDomains.xsd
  • myTCRM.xsd
  • tCRMResponse.xsd
MDMCommon.xsd
  • DWLCommonRequest.xsd
  • DWLCommonResponse.xsd
  • DWLAdminService.xsd
  • DWLAdminResponse.xsd
Note that the use of legacy schema files is still supported.

Modular deployment

InfoSphere MDM uses the OSGi framework, which uses a modular method for deploying extensions. OSGi allows code to be deployed in discrete modules called bundles; each bundle declares its dependencies and contributions to the main application.

Hub module projects from v10.x are now bundles in v11.x. Rather than deploying the schema for the whole application, the schemas are deployed in the same modular as the code is deployed.

In version 11.0, xsd-fragment files are generated in each bundle. These files are declared as contributions by the bundle and are assembled dynamically by the server at runtime to create the complete schema against which requests and responses are validated. However, this is only done for the new unified schema.

Legacy schemas are generated into a single bundle project called MDMLegacySchemas, and this bundle project must be added to the CBA in order to be deployed and used.

Because the legacy schemas with separate request and response XSDs are now deprecated, they have not been converted to the same modular format as used in the OSGi framework. It's still possible to create and use these deprecated schemas in InfoSphere MDM version 11.0, but this requires more work.

Existing clients

Although the changes are relatively small, they may be incompatible with existing clients. For this reason, legacy schemas were left in place so that these existing clients would continue to work as they did before.

In the MDM Workbench, prior to version 11, updated schema files were generated for both the legacy and new schemas so that you could use either the new, simpler schema, or you could maintain compatibility with a client still using the separate legacy request and response schemas.

In order to generate and deploy legacy schemas, you must enable generation of the legacy schemas in your MDM Workbench environment by changing properties in the mdmgen.properties file. Once you change this setting, legacy schemas are generated in addition to the unified schemas. The following table describes which mdmgen.properties settings enable which schemas to be generated:
Table 2. . mdmgen.properties file settings to enable and disable legacy schema generation
legacySchema setting in the mdmgen.properties file schemas generated
legacySchemas=true
  • unified schemas
  • legacy schemas
legacySchemas=false
This is the default setting for new projects in version 11.0 and later.
  • unified schemas
legacySchemas property not present
This applies to projects migrated from versions earlier than version 11.0.
  • unified schemas
  • legacy schemas

If you have migrated a project from a version of InfoSphere MDM earlier than version 11.0.x, the legacySchemas property does not appear in the will not be present in the mdmgen.properties file.



Last updated: 23 October 2014