2.2 Integración de datos 14
2.2.1 Caracterización de un sistema de integración 15
Los sistemas de integración pueden ser caracterizados de acuerdo a las
dimensiones de autonomía, heterogeneidad y distribución (Busse et al., 2000), además de su capacidad y flexibilidad para la evolución:
Autonomía: Cuando los sistemas de integración están situados en múltiples
módulos, también denominados componentes, la autonomía de los
componentes integrados debe ser un tema crítico. Se pueden distinguir según (Ozsu, 1991) varios tipos de autonomía:
o Autonomía de diseño: Un componente es independiente de otros en su
diseño, relativo a temas como el modelo de datos, nombre de
cambiar el diseño en cualquier punto, en cualquier momento, con la particularidad de que es complicado manejarla en infraestructuras de
componentes.
o Autonomía de comunicaciones: Se da cuando un componente puede
decidir independientemente con qué otro componente se comunica. En
sistemas de integración la autonomía de comunicación implica que
cada componente puede dejar o entrar en el sistema en cualquier
momento.
o Autonomía de ejecución: denota la autonomía de cada componente en
la ejecución o en la planificación de peticiones entrantes.
Heterogeneidad: La heterogeneidad de un sistema ocurre debido al desarrollo autónomo de unos sistemas con respecto a otros debidos a diferentes modelos del mismo concepto, entornos tecnológicos distintos, requisitos particulares de aplicaciones, etc. Superar el problema de la heterogeneidad es uno de las principales tareas de la integración. En general se distinguen los siguientes tipos de heterogeneidad (Wiederhold, 1996):
o Heterogeneidad sintáctica:
Heterogeneidad tecnológica referida a aspectos técnicos como
hardware, sistemas operativos, métodos de acceso, protocolos,
seguridad, etc.
Heterogeneidad de interfaz: ocurre cuando diferentes
componentes son accesibles a través de diferentes métodos de
acceso:
Heterogeneidad de lenguaje: diferentes lenguajes de
consulta o restricciones del lenguaje.
Restricciones de consulta: Únicamente pueden realizarse
algunos tipos de consulta, expresiones limitadas, etc.
Restricciones de enlace: Ciertos atributos deben ser
especificados de manera que formen una consulta válida
o Heterogeneidad del modelo: Diferentes modelos de datos tienen
distinta semántica para sus conceptos. Por ejemplo, el modelo
objetos. Aunque la heterogeneidad en el modelo de datos es un
conflicto semántico, se trata de manera separada porque muchos
sistemas manejan aparte este problema y otros conflictos semánticos, ya que los modelos de datos contienen únicamente ciertos conceptos básicos. Por ejemplo, muchos sistemas de integración utilizan wrappers para acceder a las fuentes de datos originales, que ocultan los diversos modelos de datos, pero no la heterogeneidad semántica.
o Heterogeneidad lógica:
Heterogeneidad semántica: Se refiere a la semántica de los
datos y del esquema. En ocasiones varios esquemas de un
mismo modelo pueden tener diferentes semánticas. Se partirá
de que un esquema es un conjunto de relaciones y atributos. Estas relaciones y atributos tienen nombres que llevan una semántica implícita, que es el concepto que representan. Sin embargo, el esquema contiene únicamente el nombre, pero no el concepto. La interpretación de los nombres por personas distintas no tiene porqué coincidir, además de los conflictos
semánticos, como que el mismo nombre denote diferentes
conceptos (homónimos), diferentes nombres para el mismo
concepto (sinónimos), divergencia en la interpretación del
mismo concepto, etc. Los atributos también pueden tener el
mismo significado, pero distintas unidades de medida. La
semántica de los datos es definida a través del esquema bajo el cual se representan. Los valores no llevan ningún tipo de significado, pero se describen a través de la parte del esquema a la que pertenece. Esto no contradice el hecho de que existen sistemas en los que es necesario analizar los valores para extraer la semántica del esquema.
Heterogeneidad esquemática: Es la codificación de los
conceptos en diferentes partes del modelo de datos. En un modelo relacional, existen 3 tipos de conflictos (Krishnamurthy et al., 1991): relación <‐> nombre atributo, nombre atributo <‐>
valor atributo y relación <‐> valor atributo. Tratar con la
heterogeneidad esquemática requiere normalmente lenguajes
de consulta que sean “sintácticamente de segundo orden (de lógica de predicados), pero semánticamente de primer orden”, debido a la necesidad de variables que cubran el rango de un
atributo o nombre de tablas. Son semánticamente de primer
orden debido a que siempre se refieren a un esquema concreto.
Heterogeneidad estructural: Existen elementos que tienen el
mismo significado, están modelados con el mismo modelo de
datos y son esquemáticamente homogéneos, pero se
estructuran de distinta manera, como por ejemplo, atributos
distribuidos en distintas tablas.
Distribución: El tercer problema, ortogonal a la autonomía y a la
heterogeneidad en las fuentes de datos es la distribución física de los datos. Desde que los ordenadores están conectados a algún tipo de red, es natural pensar en la combinación de aplicaciones y fuentes de datos que están físicamente localizadas en diferentes lugares pero conectadas a través de una red. La distribución se ha realizado utilizando diferentes métodos, desde sockets, RPC, Servicios Web, CORBA, .Net Remoting, etc. Usando tecnologías como por ejemplo, CORBA, Servicios Web o .Net Remoting, las aplicaciones se pueden desarrollar para que ignoren hasta cierto punto la localización física de los componentes. Por este motivo no se tratará la distribución como un problema separado, asumiendo que los datos se distribuyen por componentes que no comparten ni memoria ni disco.