Data mapping

Figure 7 shows different types of business objects at each application and at the collaborations. The IBM WebSphere Business Integration Server Express system, therefore, must convert business objects into like forms so that it can send events and data across applications and collaborations. Data mapping is the process of converting business objects from one type to another. Data mapping is required whenever the IBM WebSphere Business Integration Server Express system sends data between a source and a destination that does not share exactly the source's data model.

Unlike custom application integration solutions that map data directly from one application to another, InterChange Server Express collaborations generally use the generic business object between the application-specific data models. The generic business object serves as a common, cross-application data set. If you change applications in the future, you need only get a new connector and map the new application-specific business object to the generic business object. Collaborations then continue to work as they did previously.

Whenever a collaboration transfers a business object across dissimilar applications, mapping transforms the business object to and from the common data set. Business object transformation takes place:

Each connector controller manages the mapping of business objects that pass between its connector agent and the InterChange Server Express. The maps themselves are created through the use of the mapping tools--Map Designer Express and Relationship Designer Express. These tools let you create and modify detailed mapping specifications and execute mapping at runtime.

A connector controller invokes the mapping function when it receives business objects that require mapping. Figure 9 illustrates the invocation of mapping from the connector controller.

Figure 9. Mapping control and execution

Types of data transformations

A map associates a source business object with a destination business object, and contains a series of transformation steps--one for each attribute that is being transformed. Each transformation step contains Java code that calculates the value of the attribute. You need a map for every business object that you intend to transfer between different applications. When you modify business objects, you might also need to modify the associated maps. You typically create one map for each source business object you want to transform.

Within a data map, the conversion of source to destination attributes can be simple, or it can require establishing and maintaining relationships between data entities that are equivalent but which are represented differently in each different application, and so cannot be directly transformed.

For example, for a Country attribute, one application might use a two-letter code (such as US, FR, or EG) while another application uses a numeral (such as 1, 2, or 3).

To associate such attributes between different applications, you create a relationship definition, associating the data of the source and destination attributes. Most maps use one or more relationship definitions.

Both map and relationship definitions reside in the repository of InterChange Server Express. Like business object definitions, relationship definitions function as specifications or templates for the instances that are created. Unlike instances of business objects, relationship instances persist, and are stored in special tables for each relationship.

Each time the system receives a request to transform a given business object, it executes the associated map, and, depending upon the purpose of the transformation, creates one or more instances of its associated relationship definitions. Relationship instances created during map execution contain the runtime data from the attributes they associate, and this data is stored in relationship tables.

Copyright IBM Corp. 2004, 2005