ubi:mediator Dynamic Data Mediation Overcoming Data Schemas Heterogeneities
In Service-Oriented Architectures, the communication and interoperability between enterprises and systems is achieved though message based communication for exchanging information. Even in the context of the utilization of the most promising and popular message based communication model (i.e. the Web Services technology), multiple types of data heterogeneities may appear (i.e. syntactic, schematic or structural, semantic and system heterogeneities). More specifically, assuming that, an enterprise system wants to interact and exchange information with another enterprise system, exposing Web Services that are by a WSDL file, both enterprise systems want to exchange information represented in XML files compliant to the related XSDs (of their internal data models). Most probably, these enterprise systems’ XSDs will differ and fall into mismatches and conflicts, arising the problem of XML data transformation during the Web Services invocation time.
ubi:mediator facilitates the interoperability between two exposed schemas that can be derived by a Web Service argument or a standalone schema, with the help of a common-reference canonical model. ubi:mediator facilitates the interoperability process between the producer and consumer services, by supporting the annotation and adaptation of their data schemas to a canonical model, providing a user-friendly and intuitive interface that permits the declaration of correlation between two schemas, and providing peer data transformations between source and target XML Schemas. ubi:mediator is responsible for providing the mechanics for interoperating among service invocations. It exposes a simple yet powerful Application Programming Interface (API) which is used by software clients in order to automatically apply transformations for Input and Output (I/O) data in service invocations.
ubi:mediator comprise of three main components that serve the following scopes:
- the Annotation Component that is used for performing the actual matching process and undertakes the tasks of a) semi-automated mapping identification, b) transformations’ creation, and c) transformation execution. The engine comprises of run-time and design-time supportive tools, facilitating the elements matching between two schemas in a bidirectional way, i.e. up-casting and down-casting. so as the executable transformation between two schemas to be achieved.
- the Mediation Component that helps to find to identify, given two models/schemas, which element of both models are correlated. It is employed by software clients, at runtime, between two service invocations, in order to perform data transformations from a source schema to a target one.