The COIL data mediator definition language
Modern persistent applications typically run on top of numerous (often hundreds) of distributed, heterogeneous databases, Integrating data from various data sources in order to provide uniform, homogeneous, and consistent access to the data from the underlying data sources while preserving the integrity and autonomy of preexisting data sources is a huge problem, especially in evolving environments, The main issue that a global information sharing system has to address is heterogeneity on all levels of the participating data sources: the data might be stored in heterogeneous data sources, using different data models and access/middleware technologies, Another major type of heterogeneity that has to be addressed by a global information sharing system is due to differences in the semantics of the data from the data source participating in the integration process, In particular, the resolution of potential conflicts due to structural and semantic heterogeneity of the integrated data is an essential part of the integration process performed by a data integration environment. The COIL data mediator definition language supports the definition of the integration process and its semantics on a high level of abstraction, The language provides powerful language components which can be used to resolve potential conflicts due to structural and semantic heterogeneity, and to define the integration process in general, The semantics of a specific integration process are defined in a COIL data mediator definition (COIL program), The COIL compiler uses those specifications expressed in the COIL language to generate a standard Java object which captures the semantics of the integration process defined in the COIL mediator definition, The generated Java object is called a COIL data mediator, In general, a COIL data mediator is a user-defined, customized object/component which can be used like any other normal object in the Java development environment, A COIL data mediator presents a well-defined interface which may be used to access and configure the mediator at runtime, Therefore it is possible to change the data mediator's behavior and the semantics of the integration process in general at runtime, We present a detailed description of the COIL data mediator definition language and its language components, along with a detailed discussion of how COIL data mediators are used to overcome different heterogeneity problems. Copyright (C) 2001 John Wiley & Sons, Ltd.
data mediators heterogeneous databases data source integration and evolution interoperability high-level integration semantics