For those who may be interested the paper that I wrote reviewing an article on system interoperability, it can be found here. The following is the list of techniques or tools that I reviewed in the paper.
From the following article: Park, Jinsoo and Sudha Ram. (2004). Information Systems Interoperability: What Lies Beneath. ACM Transactions on Information Systems. 22(4), 595-632.
Semantic interoperability – Semantic interoperability is the ability for disparate systems to understand the semantics, or meanings, or each other despite incompatibilities in data formats, data meanings, etc. Semantic interoperability exists at the knowledge level and results from incompatibilities in implicit meanings, perspectives and assumptions. This is contract to syntactic interoperability which exists at the application level. Syntactic interoperability often happens in the form of software conflicts.
Mapping-based approach – This is an approach to developing systems with semantic interoperability. In this approach, it is necessary to develop or construct mappings between the information sources that are related semantically. This is accomplished by developing a federated or global schema, then constructing mappings between the federated schema and the local schemas for each information system. The problem with this approach is that it is not independent of the federated and local schemas for which it is developed. This means the solution is not portable and does not adapt well to the addition of new systems.
Intermediary-based approach – This approach relies upon the development of intermediary mechanisms such as mediators, agents or ontologies in order to achieve interoperability. Most often, this approach relies upon created ontologies which allow the use of shared standardized vocabularies or protocols to allow systems or databases to communicate with each other. The ontology is domain specific, but is independent of local schemas and applications. As such, it is not feasible to maintain such ontologies due to the dynamic, autonomous and heterogeneous nature of local schemas.
Query-oriented approach – The query-oriented approach depends upon interoperable languages (usually logic-based languages or extended SQL). The important way that this approach stands out is in its ability to formulate queries to span several databases. The main drawback to this approach is that a heavy burden is placed upon the user to understand the differences in the different databases and to resolve semantic conflicts themselves.
Data level conflicts – One level where semantic conflict can occur is at the data level. Generally, data level conflicts are differences in data which can be caused by multiple representations and interpretations of similar data. Examples of data level conflicts are data-value conflicts, data representation conflicts, data-unit conflicts, and data precision conflicts. Data-value conflicts are conflicts in data values. Data values may mean different things depending on their relationships to other factors. Data representation conflicts happen when the same data is represented in different ways (dates can be represented as 9/17/2006, 17-9-2006 and/or September 17, 2006). Data-unit conflicts are those where the same values are represented in different units – feet, yards, meters, etc. Data precision conflicts happen when the same type of data is represented in ways that differ conceptually. For example, different systems may rate the same item, but use different rating schemes.
Schema level conflicts – Schema level conflicts involve differences at the structural level of the systems. Examples of schema level conflicts are naming conflicts, entity-identifier conflicts, schema-isomorphism conflicts, generalization conflicts, aggregation conflicts, and schematic discrepancies. Naming conflicts happen when labels of the same schema elements are different from local schema to local schema. Entity-identifier conflicts arise when different primary keys are assigned to the same concepts in different databases. Schema-isomorphism conflicts happen when the same concept is described by different, non-compatible attributes. Generalization conflicts occur when concepts or data values are modeled differently in various databases. As an example, the category of students can be classed in different ways – by year of graduation, school affiliation, etc. Aggregation conflicts happen when “aggregation is used in one database to identify a set of entities in another database” (Park and Ram, 2004). Schematic discrepancies arise when the data structure in one local schema has a different structure in another one.
Schema mapping knowledge – The schema mapping knowledge is created by establishing mappings between the disparate local schemas and then mapping the local schemas to the federated schema. It is essential that semantically similar concepts, ideas and data are identified. Park and Ram point out that human intervention is essential in this part of the system development process. This makes the schema mapping knowledge one of the most important part of the CREAM model developed by Park and Ram.
Ontology relationship knowledge – This knowledge is the foundation of the reasoning process for semantic resolution. In this knowledge structure there are three different types of relationships: parenthood, sibling and domain-value relationships. The parenthood relationship is a vertical relationship (parent to child). The sibling relationship is a horizontal relationship between constructs or concepts. The domain-mapping relationship is used by the “semantic mediators to determine whether the actual data values that are mapped to instances can be transformed from one value to another and vice versa” (Park and Ram, 2004).