Entregado Cap1,2y3 Doctorado 2007-08

69
 DIT-UPM PARTE I y II: Concep tos y Técnicas de BD  Curso Doctorado:  Ar quitectura s de Bases de Dat os We b. Tecnolo gía s de la We b Sem án tica  A bril, 200 8 . P o r: C .C o stilla i ÍNDICE  Parte I. Conceptos y Técnicas de Bases de Datos __________________________________ _____ 1  Capít ulo 1. Introdu cción y Cont extual ización a Ba ses de Datos . ______ 1  1.1.- Introducción. Niveles de Abstracción, Modelado Conceptual y Modelos de Datos.____________ 1 1.2.- Introd ucción . Las Bases de Datos vistas desde los proyec tos informáti cos. 3 1.3.- Introducción. Las Bases de Datos vistas desde la Tecnología Comercial. ____________________ 3 1.3.1.- Tres grandes alternati vas tecnológicas para registra r la Información . _______ _______ 3  1.4.- Situación Actual y Consolidada de las BDs._________________ ___________________________ 5  1.4.1.- Arquitectura Estándar de los SGBDs Centralizados (ANSI/X3/SPARC). 5  1.4.2.- Ejemplo de los tres Niveles de representación de una BD Centralizada. ______________________________ 8  1.5.- Bases de Datos Central izadas. Software. 8 1.6.- Bases de Datos Centralizadas. Usuarios y Aplicativos. 9 1.7.- Bases de Datos Centraliz adas. Arquite ctura de Procesos. _______ _______ _______ _______ ____ 9 1.8.- Bases de Datos Centralizadas. Componentes de un Sistema de Informac ión. _____________ 10  1.9.- Sistemas de Información Centraliz ados e Interc onectad os. ________ 11 Capít ulo 2. Interop erabili dad en tre Base s de Da tos Hete rogéne as y Dist ribuidas. _____ _ 12 2.1.- Contextu alizac ión del Capítul o. ______________ 12  2.2.- Concep to de Intero perabi lidad entre Sistemas de Informac ión Heterogéne os. ______________ 13  2.3.- El mundo de la Interconexión: OSI, DARPA, SNA Y DNA ______________________________ 15 2.4.- Niveles de Interoperabilidad.__________ ________________ 17 2.4.1.- Primer Nivel de Intero perabil idad: TCP, Inter conexión de Aplicacio nes cualesqu iera. _______ _______ ___ 17  2.4.2.- Segundo Nivel de Interoperabilidad: Arquitectura Cliente/Servidor y Acceso Remoto a Bases de Datos.___ 17  2.4.2.1 .- Las APIs. _______ ______ _______ _______ _______ _______ ______ _______ _______ _______ ______ __ 19  2.4.3.- Tercer Nivel. Interoperabilidad entre BDs Centralizadas e Interconectadas o entre BDs Distribuidas Homogén eas y altamente Integr adas. _______ _______ _______ ______ _______ _______ _______ _______ 20  2.4.3.1.- Consultas Distri buidas a Bases de Datos Centr alizadas e Inter operabl es. _______ 22  2.4.4.- Cuarto Nivel de Interoperabilidad: BDs Heterogéneas, Distribuidas, Federadas y Multidatabases. ________ 24  2.5.- Conclusiones a los Niveles de Interoperabilidad.____ 25 Capítulo 3. Software de Bases de Datos Distribuidas. Arquitecturas Cliente/Servidor y Web.___ 29 3.1 .- Contextualización. Organización de las BDR Distribu idas, Homogéneas y Altamente Integradas.______ 29 3.2.- Arquitectura de los Sistemas de Bases de Datos Distribuidos. 30 3.2.1.- Niveles de Transparencia de los aspectos de distr ibución. 30  3.2.2.- Concept os de Distri bución, Autonomía y Hetero geneidad . _______ _______ 30  3.2.3.- Alterna tivas de Implementació n de los SGBD Distribuido s. ______ _______ 31  3.2.4.- Arquitectura ANSI/X3/SPARC de los SGBD Distribuidos. 31  3.2.5.- Arquitectura de los SGBD Multidatab ase Distr ibuido s. _______ _______ 32  3.2.6.- Conclusiones a las Arquitecturas de los SBDD. 32  3.3.- Diseñ o de Bases de Datos Distribuidas . _______ 33 3.4.- Proce samient o de Consul tas Distr ibuidas. _______ _______ _______ _______ ________ _______ _ 33  3.4.1.- Pasos internos del Proces amiento de Consultas Distribui do. _______ ____ 34  3.4.2.- Parámetros de Análisis en los Procesadores de Consultas._______________________________________ _ 34  

Transcript of Entregado Cap1,2y3 Doctorado 2007-08

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

NDICEParte I. Conceptos y Tcnicas de Bases de Datos _______________________________________ 1 Captulo 1. Introduccin y Contextualizacin a Bases de Datos. __________________________ 11.1.- Introduccin. Niveles de Abstraccin, Modelado Conceptual y Modelos de Datos.____________ 1 1.2.- Introduccin. Las Bases de Datos vistas desde los proyectos informticos. __________________ 3 1.3.- Introduccin. Las Bases de Datos vistas desde la Tecnologa Comercial. ____________________ 31.3.1.- Tres grandes alternativas tecnolgicas para registrar la Informacin. ________________________________ 3

1.4.- Situacin Actual y Consolidada de las BDs. ____________________________________________ 51.4.1.- Arquitectura Estndar de los SGBDs Centralizados (ANSI/X3/SPARC). _____________________________ 5 1.4.2.- Ejemplo de los tres Niveles de representacin de una BD Centralizada. ______________________________ 8

1.5.- Bases de Datos Centralizadas. Software. ______________________________________________ 8 1.6.- Bases de Datos Centralizadas. Usuarios y Aplicativos. ___________________________________ 9 1.7.- Bases de Datos Centralizadas. Arquitectura de Procesos. ________________________________ 9 1.8.- Bases de Datos Centralizadas. Componentes de un Sistema de Informacin. _______________ 10 1.9.- Sistemas de Informacin Centralizados e Interconectados. ______________________________ 11

Captulo 2. Interoperabilidad entre Bases de Datos Heterogneas y Distribuidas. ___________ 122.1.- Contextualizacin del Captulo. ____________________________________________________ 12 2.2.- Concepto de Interoperabilidad entre Sistemas de Informacin Heterogneos. ______________ 13 2.3.- El mundo de la Interconexin: OSI, DARPA, SNA Y DNA ______________________________ 15 2.4.- Niveles de Interoperabilidad._______________________________________________________ 172.4.1.- Primer Nivel de Interoperabilidad: TCP, Interconexin de Aplicaciones cualesquiera. _________________ 2.4.2.- Segundo Nivel de Interoperabilidad: Arquitectura Cliente/Servidor y Acceso Remoto a Bases de Datos.___ 2.4.2.1.- Las APIs. ____________________________________________________________________________ 2.4.3.- Tercer Nivel. Interoperabilidad entre BDs Centralizadas e Interconectadas o entre BDs Distribuidas Homogneas y altamente Integradas. _______________________________________________________ 2.4.3.1.- Consultas Distribuidas a Bases de Datos Centralizadas e Interoperables. __________________________ 2.4.4.- Cuarto Nivel de Interoperabilidad: BDs Heterogneas, Distribuidas, Federadas y Multidatabases. ________ 17 17 19 20 22 24

2.5.- Conclusiones a los Niveles de Interoperabilidad._______________________________________ 25

Captulo 3. Software de Bases de Datos Distribuidas. Arquitecturas Cliente/Servidor y Web. ___ 293.1.- Contextualizacin. Organizacin de las BDR Distribuidas, Homogneas y Altamente Integradas.______ 29 3.2.- Arquitectura de los Sistemas de Bases de Datos Distribuidos. ________________________________ 303.2.1.- Niveles de Transparencia de los aspectos de distribucin. ________________________________________ 3.2.2.- Conceptos de Distribucin, Autonoma y Heterogeneidad. _______________________________________ 3.2.3.- Alternativas de Implementacin de los SGBD Distribuidos. ______________________________________ 3.2.4.- Arquitectura ANSI/X3/SPARC de los SGBD Distribuidos. ______________________________________ 3.2.5.- Arquitectura de los SGBD Multidatabase Distribuidos. _________________________________________ 3.2.6.- Conclusiones a las Arquitecturas de los SBDD. ________________________________________________ 30 30 31 31 32 32

3.3.- Diseo de Bases de Datos Distribuidas. ______________________________________________ 33 3.4.- Procesamiento de Consultas Distribuidas. ____________________________________________ 333.4.1.- Pasos internos del Procesamiento de Consultas Distribuido. ______________________________________ 34 3.4.2.- Parmetros de Anlisis en los Procesadores de Consultas.________________________________________ 34

Abril, 2008. Por: C.Costilla

i

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica 3.5.- Gestin de Transacciones. _________________________________________________________ 353.5.1.- Arquitectura Revisitada de los SBDDs. ______________________________________________________ 3.5.2.- Protocolo COMMIT de dos Fases, 2PC.______________________________________________________ 3.5.3.- Acciones del Protocolo 2PC._______________________________________________________________ 3.5.4.- Diagrama de Transicin de Estados del Protocolo 2PC.__________________________________________ 3.6.1.- Protocolos de Fiabilidad Local._____________________________________________________________ 3.6.2.- Consideraciones sobre la Arquitectura._______________________________________________________ 3.6.3.- Informacin a Recuperar por Fallos del Sistema. _______________________________________________ 3.6.4.- Gestor de Recuperacin frente a fallos del Sistema._____________________________________________ 3.6.5.- Fallos del Sistema: LRM y Checkpoint. ______________________________________________________ 36 36 37 38 38 38 40 42 43

3.6.- Fiabilidad en los Sistemas de Bases de Datos Distribuidos._______________________________ 38

3.7.- Arquitectura funcional del SGBD: Cliente/Servidor (dos capas) y Arquitectura Web (tres capas). _________________________________________________________________________ 44 3.8.- Arquitectura Cliente-Servidor (dos capas). ___________________________________________ 453.8.1.- Funcionalidad de la Arquitectura Cliente-Servidor. _____________________________________________ 46

3.9.- Arquitectura Web (tres capas). _____________________________________________________ 483.9.1.- Internet y la World Wide Web. _____________________________________________________________ 49 3.9.2.- Servidores de la capa intermedia en la Arquitectura Web. ________________________________________ 50

3.9.2.1.- Servidor Web: URLs y Protocolo HTTP. _______________________________________ 3.9.2.2.- La seguridad en Internet. ____________________________________________________ 3.9.2.3.- Gateways, CGI y Servidor de Aplicaciones. _____________________________________

50 52 52

3.10.- Diseo de Bases de Datos en sitios Web. _____________________________________________ 543.10.1.- Sobre la estructuracin de los datos y consulta a datos intensivos y heterogneos en la Web. ___________ 55 3.10.2.- Hipertextos en sitios Web con datos intensivos. _______________________________________________ 58

3.10.2.1. Modelo lgico de hipertextos para datos intensivos. ______________________________ 58 3.10.2.2. Mtodo y principios del diseo hipertextual en bases de datos Web. _________________ 613.10.3.- Acceso a Bases de Datos Web. ____________________________________________________________ 63

Referencias Bibliogrficas. _____________________________________________________________ 65 Lecturas Complementarias de la Parte I: Modelo Relacional Transparencias del Protocolo 2PC Integracin de Archivos Digitales en la Web a partir del Sistema de Gestin Parlamentario SIAP e-government: A Legislative Ontology for the SIAP Parliamentary Management System

Abril, 2008. Por: C.Costilla

ii

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Parte I. Conceptos y Tcnicas de Bases de Datos Captulo 1. Introduccin y Contextualizacin a Bases de Datos. 1.1.- Introduccin. Niveles de Abstraccin, Modelado Conceptual y Modelos de Datos.La complejidad en informtica se plasma en la necesidad de considerar un nmero muy grande de variables, cuyas interrelaciones no son simples ni fcilmente expresables. La adquisicin y uso de un Sistema de Gestin de Bases de Datos -SGBD- es, a veces, una herramienta obligada para la puesta en marcha de un proyecto informtico. Un proyecto informtico de cierto nivel necesita generalmente afrontar dos grandes aspectos. Por un lado, la elaboracin de mltiples algoritmos, y, por otro, la organizacin de la informacin que es de inters al proyecto. Los algoritmos desembocan en la implementacin de un conjunto de programas operativos, y quedan escritos generalmente en algn lenguaje de programacin de alto nivel (el que mejor se adece al caso: Java, C, Fortran, Pascal, etc.). Cuando el conjunto de programas de un proyecto informtico produce un funcionamiento global cuya descripcin (o comprensin) no es sencilla, y el software generado va a ser usado de muy distintas maneras y con diversos fines, las tcnicas de ocultacin de la complejidad son algo importante en el proyecto. Si adems dicho software reside en la mquina como algo inherente a ella, se dice entonces que se trata de un "software bsico". Este es el caso de los sistemas operativos (SO) y de los Sistemas de Gestin de Bases de Datos (SGBD). La segunda necesidad que suelen tener los proyectos informticos se debe a la naturaleza de la informacin que es necesario procesar. Cuando sta no es simple, la estrategia que se adopte para organizar la informacin suele tener la clave del xito del proyecto. Mxime si el uso posterior de dicha informacin es imprevisible durante la etapa de realizacin del proyecto. Este es el caso habitual de las bases de datos -BDs- que, una vez diseadas e implementadas en el SGBD de una mquina, los posteriores usos de la misma suelen estar sometidos a continuos cambios. Es decir, tanto los programas de aplicacin como los tipos de usuario que acceden a una BD son, en principio, ilimitados en cada uno de sus alcances. Algunos ejemplos de proyectos informticos con estos dos tipos de necesidades podran ser: servicios de telecomunicaciones, aplicaciones bancarias, transportes, hacienda, sanidad, educacin, y, as, un inagotable etc. En la terminologa del rea, una BD representa y registra (para su gestin) la informacin que proviene de una parte del mundo real. El inters que cada parcela del mundo real pueda llegar a tener, para ser representada en una BD, lo establece la institucin que ser propietaria de la BD correspondiente. Sin duda, para instituciones como las arriba descritas, las BDs constituyen el servicio informtico que mayor rentabilidad proporciona (en tiempo, dinero y seguridad) a dichas instituciones. Siempre que se automatiza algn Servicio Informtico Pblico, que gestiona datos cuyo uso es compartido por muchos usuarios, se sabe que es necesario y til realizar con ciertas tcnicas el diseo de las BDs que han de albergar dichos datos. Disear una BD es algo ms que definir un molde donde se organiza la estructura de la informacin que es de inters a un determinado proyecto informtico. Disear una BD es adems controlar la semntica de todos los valores de los datos que van a residir en dicha BD a lo largo de su vida. Estos valores se comparten entre mltiples usuarios, y, en todo momento, los datos (a la vez que compartidos) deben ser ntegros y consistentes. Los aspectos de diseo hasta ahora comentados se materializan en la definicin del esquema conceptual de una base de datos. Pero, adems de lo dicho, disear una BD supone tambin facilitar al programador de aplicativos la codificacin de mltiples programas de aplicacin, a travs de los cuales se va a sacar provecho de la funcionalidad buscada en cada proyecto.Captulo 1. Abril, 2008. Por: C.Costilla 1

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

En este sentido, las interfaces deben ser amigables para el usuario y deben adecuarse a cada uno de los medios que, en cada caso, sea el ptimo para representar la informacin de una base de datos: ventanas con grficos, textos, mapas, grficos, imgenes, vdeos, iconos, sonido, tartas o barras estadsticas, fotos, etc. El volumen de los datos no es indicativo de la complejidad que pueda tener la tarea de disear una cierta parcela del mundo real. La complejidad y el valor de una BD, definida mediante un particular esquema conceptual, se mide por el grado de fidelidad que ofrece la representacin en mquina con respecto a la parte del mundo real representada en dicha BD para ser automticamente gestionada por un SGBD particular. Una informacin es de naturaleza simple cuando se necesitan pocos tipos de datos y con escasas asociaciones entre ellos. Por el contrario, una informacin es compleja cuando su representacin en mquina ha de reflejar hechos observados del mundo real; donde, como es sabido, nada se percibe en aislado y, precisamente, es la capacidad de asociar unos conceptos con otros lo que da la medida del grado de conocimiento. Es decir, la capacidad que pueda tener una determinada representacin para interrelacionar los datos es un buen indicativo del valor que puede llegar a tener su almacenamiento en mquina. Lo que menos importa es el dispositivo fsico donde pueda luego albergarse dicha informacin: discos, cintas, etc. En resumen, la informacin ser tanto menos simple cuanto ms fielmente quede representada en la mquina esa parte del mundo real de donde ella proviene. La figura I.1 muestra diferentes niveles de abstraccin para representar en mquina una parcela de la realidad. Ellos van desde el mundo real hasta el tipo de cdigo ms elemental que poseen las mquinas. Entre los dos extremos descritos, y de arriba hacia abajo, se destacan en la figura los conceptos y las tcnicas ms relevantes con las que cuenta la ciencia de la computacin y su actual tecnologa.

El Mundo RealModelado Conceptual

Compaa de Fabricacin, Lneas de Transporte, Entidades Bancarias, Ministerios, Ayuntamientos, Servicios de Telecomunicacin, Ciencia, Arte, Deportes.....

Diseo BD

Modelos Sintcticos fciles de usarBases de Datos Convencionales

Relacional: Conjuntos, tuplas, atributos, dominios : , , , Codasyl: Esquemas en red, registros, links, items : Jerrquico: Esquemas en rbol, registros, items :

Las Estructuras de Datos

rboles, Ficheros indexados, Listas, Colas, ndices densos o ralos, Cadenas, Pilas, Accesos Hash, Listas invertidas, Anillos de coral, arrays, etc.

El Almacenamiento Fsico

Cilindros, Pistas, Sectores, Pginas, Buffers, Bits, Bytes, Items, Campos, Cdigo ASCII, EBDCDIC, Hollerit, etc.

Fig.I.1.- Niveles de Abstraccin y Naturaleza de la Informacin asociada a cada nivel.

Captulo 1.

Abril, 2008. Por: C.Costilla

2

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

1.2.- Introduccin. Las Bases de Datos vistas desde los proyectos informticos.Los proyectos informticos aqu referidos son aquellos que renen los siguientes requisitos y caractersticas. organizar una informacin no simple. Ello supone la consideracin de los siguientes aspectos: Informatizar "partes del mundo real", donde las asociaciones son tan importantes como los conceptos modelados, Modelado Conceptual de la Informacin, Modelo de Datos usado y su Semntica, Diseo de BDs, Esquemas Conceptuales, Vistas de Ususario, Relativismo Semntico o Flexibilidad de Interpretacin. uso compartido por muchos usuarios a la vez y con distintos fines. Lo que generalmente implica: Privacidad de la Informacin (Vistas), Mecanismos de Autorizacin, Protocolos de Control de Concurrencia y Gestin de Transacciones. garantas de integridad, consistencia, persistencia y recuperacin. Esto conlleva: Reglas Semnticas que garanticen valores autnticos de los datos (integridad), Valores de Datos no contradictorios (consistencia), Valores duraderos (persistencia), Mecanismos Seguros de Recuperacin frente a fallos. aplicaciones complejas. Entendiendo por tales el diseo a la medida de mltiples Programas de Aplicacin dirigidos a aumentar la competencia y rentabilidad de la empresa. La empresa es quien considera cada una de las "partes del mundo real" que tiene inters informativo para ser formulada y registrada en una Base de Datos. 1.3.- Introduccin. Las Bases de Datos vistas desde la Tecnologa Comercial. La adquisicin y uso de un SGBD como herramienta es, a veces, obligado para la puesta en marcha de un proyecto informtico. Algunos ejemplos son: Aplicaciones bancarias, Transportes, Hacienda, Sanidad, Educacin, Negocios, etc., En general, al informatizar servicios pblicos es obligado usar SGBDs. El uso de las BDs ha crecido vertiginosamente; pero, an hoy, hay alguna confusin con el significado del par < BD, SGBD >. Intentaremos aclarar conceptos viendo, primero y a muy grandes rasgos, las distintas alternativas que ofrece hoy la Tecnologa Informtica.1.3.1.- Tres grandes alternativas tecnolgicas para registrar la Informacin.

A.- Los Sistemas Operativos, o el Ordenador sin Aditamentos. Permiten: Ficheros Secuenciales (Siempre) " Indexados (Casi Siempre) " Directos (A Veces) " De Clave (A Veces)

"

Hash

(A Veces), etc.

Captulo 1.

Abril, 2008. Por: C.Costilla

3

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

B.- Sistemas de Gestin de Ficheros (Thesaurus sobre SO). Mejoran los tiempos de acceso a los ficheros principales, interponiendo, en general, ficheros ndices (en rbol) con entradas "Clave, Puntero" que agilizan la bsqueda de informacin asociada a una la clave residente en el fichero principal. Algunos Productos Comerciales son: ISAM y VSAM (IBM), DATATRIEVE (DEC), HSAM (IBM), CONTEXT e INTERMEDIATEX ( ORACLE), ALEF(DEC), Listas Invertidas, etc. y Multitud de Sistemas Documentales para bsqueda de informacin documental (Thesaurus, o Information Retrieval).ndice maestro (nivel 3)

30500

61601

98765

ndice maestro (nivel 2)

2100 41500 .

30500 61601 95500 98765 300

ndice maestro (nivel 1)

710

1100 1510 1831

2100 41500

98300 98765ndice maestro (nivel 0)

50

110

164

205

281

300 710 98765

Cilindro 1

Cilindro 2

Cilindro 3

Cilindro N

ndice de Pista ndice de Pista ndice de Pista ndice de Pista Pista 1 Pista 2 Pista 3 Fichero Principal que contiene los datos propiamente dichos Pista 4 Pista 5 Pista 6 Pista 7 110 160 98765 Pista 8 50 Pista de Desborde Desborde 164 Pista de Desborde Pista de Desborde

Fig. I.4.- El ISAM de IBM (Mtodo de Acceso Secuencial Indexado deun SGF).

Los Sistemas de Gestin de Ficheros presentan las siguientes carencias: No soportan Modelos de Datos, no tienen lenguaje asociado. No hay Esquemas Conceptuales, ni Vistas de Usuario. Escasa relacionabilidad de los datos. Se usan a travs de interfaces "ad hoc".

Captulo 1.

Abril, 2008. Por: C.Costilla

4

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

C.- Sistemas de Gestin de Bases de Datos, -SGBD-. Los SGBDs son la tecnologa que ofrece mejores soluciones cuando se necesita compartir y usar con distintos fines una gran cantidad de informacin. Los modos de uso de la informacin no se pueden conocer del todo "a priori", y se estiman variantes con el tiempo. Cada usuario de una BD ignora el tratamiento que otros puedan dar a la informacin almacenada, pero la consistencia y la integridad de la BD deben estar garantizadas por el diseador y mantenidas por el SGBD. Un usuario slo conoce, de la BD, aquella parte que es de su inters, o le est permitido ver, es decir su Vista. Esto implica que el SGBD soporte el llamado Nivel Lgico, donde residen las definiciones de las distintas Vistas de Usuario. Las Vistas han de poder ser cambiantes, y se derivan del Nivel Conceptual (como si se tratara de un "corta y pega"). La flexibilidad de un SGBD para la derivacin de vistas da la medida del Relativismo Semntico del Modelo de Datos que soporta. Slo el Modelo de Datos Relacional, de entre los convencionales, ofrece relativismo semntico. Caractersticas generales de los SGBD: Modelo de Datos que soporta Lenguajes de muy alto nivel Lenguaje de Definicin de Datos (DDL) Lenguaje de Manipulacin de Datos (DML) y Lenguaje anfitrin 4GL Lenguaje Consultivo (Query Language) Acceso Concurrente Independencia Fsica y Lgica Redundancia "controlada" de los Datos Reducen notablemente la dificultad de Programacin Alta relacionabilidad de los Datos Integridad de los Datos Consistencia de los Datos Seguridad de los Datos Actualizacin fcil y coherente Alto Rendimiento Funcional 1.4.- Situacin Actual y Consolidada de las BDs. El uso de las bases de datos ha crecido vertiginosamente; pero, an hoy, hay alguna confusin con el trmino del par . Un SGBD es un software capaz de soportar mltiples BDs, proporciona facilidades para definir esquemas conceptuales de bases de datos, a travs del llamado Lenguaje de Definicin de Datos, "Data Definition Language, -DDL-", y, adems, suministra un lenguaje con sentencias (y operaciones) para consultar y actualizar (altas, bajas y modificaciones) la informacin residente en cualquiera de sus BDs. A los lenguajes de este segundo tipo se les conoce por Lenguaje Consultivo, "Query Language, -QL-" y por Lenguaje de Manipulacin de Datos, "Data Manipulation Language, -DML-". Como introduccin a la tecnologa convencional de las Bases de Datos, el siguiente apartado presenta la clsica arquitectura estandar de los SGBDs promulgada por el ANSI/X3/SPARC en 1975.1.4.1.- Arquitectura Estndar de los SGBDs Centralizados (ANSI/X3/SPARC).

La arquitectura de los SGBD se establece en el primer estndar de ANSI/X3/SPARC (American National Standards Institute) en 1975. La figura I.5 representa dicha arquitectura. Desde entonces, nuevas versiones han ido ampliando y mejorando aquel estndar inicial.Captulo 1. Abril, 2008. Por: C.Costilla 5

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

La arquitectura interna de un SGBD, que sigue el estndar ANSI, presenta en su interior tres niveles bien diferenciados de representacin de la informacin de las bases de datos que gestiona. Descritos desde el interior del software hacia afuera, los niveles son: Nivel Interno o Fsico, -NF-, Nivel Conceptual, -NC-, y Nivel Externo o Lgico, -NL. El Nivel Fsico se encarga de "engranar" con el software ms interno de cada mquina (Sistema Operativo, y Sistema de Gestin de Ficheros generalmente). Los SGBDs actuales funcionan sobre casi todas las mquinas. Coloquialmente dicho, los SGBDs "corren" sobre casi todos los SOs del mercado y optimizan el tratamiento de los ficheros (depsitos del ms bajo nivel donde albergar la informacin). El Nivel Conceptual materializa el lugar donde definir el resultado del diseo de las BDs. Un SGBD soporta mltiples BDs. Cada BD se define al Nivel Conceptual para una cierta parte del mundo real con inters informativo para ser formulada y registrada en un ordenador. El diseo de una BD se establece en trminos de un Modelo de Datos, -MD-. Los MDs son herramientas intelectuales que sirven para definir la estructura y las constricciones (reglas semnticas) de los datos de una BD. El ANSI establece tres grandes familias de modelos de datos, que cronolgimente son: el modelo jerrquico (estructuras en rbol), el modelo Codasyl (estructuras en red), y, el modelo relacional (estructuras de la teora matemtica de conjuntos -lgebra relacional- y/o de la lgica de predicados -clculo relacional-). Est universalmente aceptada la superioridad que ofrece el modelo relacional, -MR- frente a sus antecesores (Jerrquico y Codasyl). La base matemtica del MR ha permitido, entre otras cosas, definir algoritmos e implementar tcnicas de fragmentacin y ubicacin de datos en las BD Distribuidas, que no existen en los otros MDs. De esto trataremos en los siguientes Captulos del guin establecido para esta primera parte del Seminario. Otra ventaja importante del MR, frente a sus predecesores, es la potencia que tienen las instrucciones de sus lenguajes formales (lgebra y clculo relacional), procesan conjuntos y no simples registros, y la sencillez con la que los lenguajes relacionales se presentan a los usuarios (SQL o QBE). Cualquier consulta (por muy extraa que sea) se puede realizar con igual facilidad que la que parezca ms simple. Comparen los entendidos la nica estructura sintctica de SQL "SELECT... FROM... [WHERE...]" con las setenta opciones que ms o menos tiene la sentencia "FIND..." en los otros MDs. El resultado del diseo de una BD establece la definicin de un ESQUEMA CONCEPTUAL conforme a un modelo de datos, MD, que llamaremos Esquema de la BD. El Nivel Conceptual de un SGBD mantiene, en cada momento, tantos Esquemas distintos cuantas BDs hayan sido diseadas para dicho SGBD. El Esquema de una BD contiene metadatos, es decir, datos que describen datos. La informacin del NC es siempre intensional y recoge, cual molde, las descripciones relevantes de cmo van a quedar organizados los datos de la BD correspondiente. La metainformacin del esquema de una BD forma parte de la informacin que reside en el diccionario de datos, -DD-, de toda BD. El Nivel Lgico, -NL-, de los SGBDs acta como un "filtro" de los Esquemas de las BDs que contiene. El NL permite "dejar ver" a cada tipo de usuario de una BD slo aquella parte del Esquema que es de su inters, o lo que le est permitido ver. Cada parte visible es una VISTA ("view"). De una BD se pueden derivar tantas Vistas como haga falta. El NL de un SGBD materializa la idea del relativismo semntico [Codd82], donde la derivacin de cada Vista acta como un "corta y pega" del Esquema de una BD. De esta forma, cada usuario final de una BD tiene una particular definicin intensional, un subesquema a su medida. La organizacin total del esquema de la BD, a nivel conceptual, es oculta para l. Cada Vista tiene un propietario y se define en funcin de un nivel de privilegio y del uso que se le permita hacer sobre los datos.Captulo 1. Abril, 2008. Por: C.Costilla 6

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Programa de Aplicacin 1-1

Aplicativo 1-2

Api. 2-i Api. 1-i Api. x-i Api. 1-n

Api. 2-n Api. y-n

NIVEL LGICO

VISTA 1"View"

..

VISTA i"View"

..........

VISTA n"View"

NIVEL CONCEPTUAL

Modelo de Datos ESQUEMA CONCEPTUAL

SGBDNIVEL FSICOESQUEMA FSICOBD ALMACENADA

DATOS DE LA BDFig. I.5. Arquitectura de un SGBD Estandar.Por cada BD, existen tres niveles de representacin de la informacin.

De nuevo el MR es ventajoso frente a los otros dos citados porque slo l permite el relativismo semntico en las Vistas. Los otros dos derivan, desde el NC hacia el NL, meros "recortes" del esquema de una BD (siguiendo con los trminos del bricolage empleados, no pueden hacer el "pega"). El NL proporciona un alto nivel de seguridad a lo largo de la vida de una BD. Una Vista de una BD se define a nivel intensional y forma parte de la informacin contenida en el diccionario de datos. El diccionario de datos, DD, es como una minibase de datos dentro de la gran BD. A efectos de interoperabilidad y comunicacin entre BDs, los DDs con las Vistas tienen mucha relevancia. La figura I.5 representa la clsica arquitectura estndar que deben tener los SGBDs comerciales [ANSI75]. Son muchas las ventajas que reporta una arquitectura como sta. Aunque no entraremos en detalles, quiz la ms interesante sea la de garantizar la indepen- dencia fsica y lgica de los datos, que, en resumen, quiere decir que tanto si ocurren futuros cambios a nivel fsico (de hardware de mquina o discos) como si surgen a nivel lgico (otras Vistas, otros tipos de usuarios u otros programas de aplicacin), las BDs soportadas por tales Sistemas pueden seguir funcionando como lo venan haciendo antes de producirse dichos cambios.

Captulo 1.

Abril, 2008. Por: C.Costilla

7

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica 1.4.2.- Ejemplo de los tres Niveles de representacin de una BD Centralizada.#Emp. Sueldo #Emp. #Depart.

Empleado VISTA 1 NIVEL LGICO (PL/ I ) DCL 1 EMPP,

Empleado VISTA 2 NIVEL LGICO (COBOL) 01 EMPC.02 #EMP 02 #DEP

2 #EMP 2 SUELDO

CHAR(6), BIN(31);

PIC X(6). PIC X(4).

NIVEL CONCEPTUAL EMPLEADO

NIVEL FSICO STORED-EMPLPREFIX # EMP # DEP PAY

# EMPLEADO # DEPARTAMENTO SUELDO

CHARACTER (6) CHARACTER (4) NUMERIC (5)

LENGTH = 18TYPE = BYTE (6), OFFSET = 0 TYPE = BYTE (6), OFFSET = 6, INDEX = EMPX TYPE = BYTE (4), OFFSET = 12 TYPE = FULLWORD, OFFSET = 16

Fig.3. Ejemplo de una BD y los tres niveles de representacin de su informacin en la arquitectura estndar ANSI/X3/SPARC.

1.5.- Bases de Datos Centralizadas. Software.

Aplicativo 1

Aplicativo 2

Aplicativo N

Diseo, Herramientas, Y Utilidades diversas

Generador de Informes

S.G.B.D.UFI, Grficos Nivel Fsico Nivel Conceptual Nivel Lgico

Tartas y barras Estadsticas

Ayuda de Administracin

Tecnologa Comercializada de Bases de Datos Centralizadas

Bases de Datos Fig. I.7.- Un SGBD Centralizado en torno a un Sistema Operativo.

Captulo 1.

Abril, 2008. Por: C.Costilla

8

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

1.6.- Bases de Datos Centralizadas. Usuarios y Aplicativos.Modalidad Funcional Batch Base de Datos Centralizada y Aislada AplicativosVista N Vista x API Programa de Aplicacin

Modalidad Funcional InteractivaISQL Usuario Interactivo

AplicativosVista y

Vista 1ISQL

Aplicativos

Vista i

Usuario Interactivo

Fig. I.8.- Usuarios y Programas en una BD Centralizada.

1.7.- Bases de Datos Centralizadas. Arquitectura de Procesos.Modelo de Proceso Mono-UsuarioProceso de Usuario Proceso de Usuario Proceso de Usuario

Compilador de SQL

Compilador de SQL

Compilador de SQL

Un Compilador de SQL por Usuario (dBase, Clipper, etc.) Modelo de Servidor nicoProceso de Usuario Proceso de Usuario Proceso de Usuario

Procesos del SGBD

Un SGBD Multiusuario ( SQL, Control de Concurrencia, Gestin de Transacciones, Vistas, Recuperacin frente a Fallos, Modelo de Mltiples ServidoresProceso de Usuario Proceso de Usuario Proceso de Usuario

Procesos del SGBD

Procesos del SGBD

Varios SGBD Multiusuario ( SQL, Control de Concurrencia, Gestin de Transacciones, Vistas, Recuperacin frente a Fallos,

Fig. I.9.- Tres Organizaciones Bsicas de Procesos ( SGBD y aplicativos de usuario).

Captulo 1.

Abril, 2008. Por: C.Costilla

9

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

1.8.- Bases de Datos Centralizadas. Componentes de un Sistema de Informacin.

Siguiendo los trminos de ANSI/SPARC [ANSI82], se entiende por Sistema de Informacin, -SI-, aquel que generalmente contiene a uno o varios SGBDs. Cada SGBD gestiona mltiples BDs como ya conocemos. Veamos, a modo de introduccin, tres definiciones preliminares expresadas mediante ecuaciones. La primera es muy conocida de todos, y se debe a Wirth: "Algoritmos + Estructuras de Datos = Programas", Utilizando una terminologa paralela, la segunda ecuacin es conocida por los entendidos en BD, y se debe a Dayal y Garca-Molina (dos personalidades del rea de BDs). Ella refleja los trminos de ANSI/X3/SPARC descritos en 1985, y dice as: "Programas + Bases de Datos = Sistemas de Informacin, SI" La tercera es original de la autora y con ella, por hoy, se podra cerrar el sistema de ecuaciones a los fines de enmarcar la interoperabilidad entre mltiples SIs. Es como sigue: " SI 1 + SI 2 +.......+ SI n = Interoperabilidad" Desde la definicin de Wirth, sabemos que la suma en estas ecuaciones no representa la operacin aritmtica convencional, sino que es una forma de expresar la integracin funcional que fusiona las partes que figuran al lado izquierdo de cada ecuacin, desde un punto de vista operativo, y cuyos efectos se reflejan en el correspondiente lado derecho. La interoperabilidad se ver en el Captulo 2. De momento, interesa saber que un SI se entiende como aquel formado por tres grandes componentes: a) Las Bases de Datos, como almacenes de datos organizados en los esquemas conceptuales conforme a un modelo de datos concreto (relacional, Codasyl, jerrquico, redes semnticas, orientado a objetos, ficheros planos, etc.). El SGBD es el software encargado de soportar el modelo de datos y la gestin de los datos para todas las BDs diseadas e implementadas en dicho sistema. b) Los Programas de Aplicacin, que interactan con la interfaz del SGBD y con el lenguaje de las bases de datos (SQL en las BDs relacionales). Los Aplicativos se escriben en un lenguaje de cuarta generacin (PL/SQL, por ejemplo) que es el resultado de haber integrado un lenguaje de programacin convencional (Java, C, Pascal, etc.) con el lenguaje de los SGBD (DML y QL). Los aplicativos sacan "el jugo" a los datos, usando los Esquemas Conceptuales y/o las Vistas de Usuario. c) Las interfaces del usuario, llamadas interfaces amigables del usuario (User Friendly Interfaces, UFI) que pueden representar la informacin multimedia: grficos, iconos, texto, fotos, vdeo, sonido, etc. La figura I.10 muestra las partes ms comunes que integran un SI genrico. En adelante, representaremos a los SIs por el smbolo del tambor de una Base de Datos ya que ste es el ms caracterstico. Y entenderemos que ello supone generalmente la inclusin de todos los componentes reflejados en esta figura. As entenderemos -por ejemplo- que la figura I.11 representa una interconexin cualquiera entre distintos SIs.

Captulo 1.

Abril, 2008. Por: C.Costilla

10

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Interfaz de Usuario Multimedia:Grficas, Mens, Alfanumrica, Iconos, Ratn, Ventanas, Sonido, Imagen, Vdeo, etc.

G.U.I. Aplicaciones o APIs:Aplicativos, Procesos, Tareas, C, Cobol, Pascal, C++, Java, JavaScript, como Lenguajes Anfitriones que llevan SQL embebido

Gestor de Informacin

Sistemas de Gestin de Bases de Datos:SGBD, Hoja de Clculo, Sistemas de Ficheros, Shell de Unix, etc.

Almacn de Datos

Bases de Datos, Ficheros .

Fig. I.10.- Componentes de un Sistema de Informacin.

1.9.- Sistemas de Informacin Centralizados e Interconectados.La figura I.11 representa mltiples sistemas de informacin -SIs- que son realmente islas informativas. Islas interconectadas por una red de ordenadores, y nada ms. A efectos funcionales, cada aplicativo (API) se codifica para un SI concreto y slo de l extrae informacin. Con esta figura se cierra este primer captulo introductorio.INVENTARIO Base de Datos API de INVENTARIO API de CLIENTES CLIENTES Base de Datos

REDAPI de PRESUPUESTOS PRESUPUESTOS Base de Datos API de PROYECTOS PROYECTOS Base de Datos

Fig. I.11.- Sistemas de Informacin como islas interconectadas por una red de ordenadores.

Captulo 1.

Abril, 2008. Por: C.Costilla

11

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Captulo 2. Interoperabilidad entre Bases de Datos Heterogneas y Distribuidas.2.1.- Contextualizacin del Captulo. Este tema se centra en los medios tcnicos que facilitan la interconexin de varios SIs y en el concepto de Interoperabilidad que pretende lograr un funcionamiento global del conjunto integrado de manera fiable y eficaz. Existen tres razones fundamentales y bsicas que justifican los actuales esfuerzos y avances tecnolgicos en torno al concepto de INTEROPERABILIDAD. Las Bases de Datos proliferan hoy de forma muy copiosa en las instituciones. Ello exige de manera irrevocable que se pueda lograr una comparticin efectiva de la informacin albergada hoy en muy diversos SGBDs, donde, generalmente, cada sistema soporta muchas BDs diferentes. Esto ya dicho es un primer argumento, y la razn ms general, de la interconexin de BDs y de la interoperabilidad, que toma relevencia suma en cualquier entorno Web. Adicionalmente, las instituciones no estn dispuestas a perder el control sobre sus datos, residentes en cada isla de informacin -BD centralizada y aislada-, como precio por dicha comparticin. Los valores de los datos son, generalmente, el recurso informtico ms valioso que hoy existe, mxime si se trata de datos ntegros, consistentes, perdurables y fiables, en el alcance del negocio o actividad de una empresa. El citado valor se debe, no slo al esfuerzo que supone su acopio, sino tambin al mantenimiento y salvaguarda de su integridad y consistencia. Este segundo argumento es la razn fundamental del principio de autonoma establecida para cada isla de informacin frente al nivel de integracin pactado o permitido en cada isla que participa en un determinado funcionamiento global. Finalmente, la mayora de las instituciones estn diseminadas geogrficamente, y necesitan trabajar en cooperacin como si tales distancias geogrficas no existieran. En esto ltimo, como sabemos, reside el principio de la distribucin de cualquier sistema telemtico en general, y de los Sistemas de Informacin en particular. Este Captulo no incluye a las bases de datos relacionales distribuidas (cuyos datos estn propiamente distribuidos), homogneas y altamente integradas, abreviadas como BDDR. Ser el caso preferente a tratar en el Captulo 3. Tras ello, se describirn las tcnicas software, ms o menos estandarizadas, que dan soporte a esta avanzada tecnologa orientada a la distribucin de las bases de datos. Hablar de una BDDR significa, de entrada, que cada localidad que participa en la BDDR no es una isla de informacin, sino un componente altamente integrado en el conjunto, cuyos datos son fragmentos de los que alberga la BDDR en toda su globalidad. El Captulo que aqu nos ocupa pretende cubrir otros tipos de distribucin de datos ms primitivos que el ofrecido por las BDDR; pero cuyo uso est alcanzando con rapidez altas cotas en las instituciones ms diversas. Este Captulo se centra en describir los medios tcnicos que facilitan la interconexin de varios SIs y en el concepto de Interoperabilidad, cuya finalidad es lograr un funcionamiento global del conjunto como si fuera un todo integrado, de manera fiable a la vez que eficaz. Para ello, recordamos que ANSI/SPARC [ANSI85] establece que un Sistema de Informacin contiene generalmente a uno o varios Sistemas de Gestin de Bases de Datos. Cada SGBD da soporte a mltiples BDs y, en torno a cada BD, se aade una parte de software propia del Universo del Discurso que di origen a la correspondiente BD.

Captulo 2.

Abril, 2008. Por: C.Costilla

12

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

2.2.- Concepto de Interoperabilidad entre Sistemas de Informacin Heterogneos. Informalmente, la interoperabilidad [IHIS89], [HsNS93], [Cost99] es la capacidad requerida para que dos o ms sistemas de informacin, con datos locales, interacten conjuntamente mediante la ejecucin de sus procesos con intercambio de sus datos locales para producir cierta informacin global. Cuando los sistemas estn fsicamente distantes, la plataforma de comunicaciones requerida se basa, como mnimo, en algn servicio equivalente al proporcionado por el nivel tres de la torre OSI (nivel de red, instalado sobre el nivel dos de "Enlace", y ste sobre el nivel uno "Fsico"), o en el nivel de interconexin equivalente en otras implementaciones (nivel IP internet, instalado directamente sobre el nivel de acceso a red, en Darpa) [Mals88]. Si hablamos en trminos de los objetivos que caracterizan a los SIs, podra decirse que el nivel de red se encarga de la funcin de conexin para poder realizar una transferencia de informacin "pura y dura" entre dos o ms mquinas interconectadas por redes. Las redes de ordenadores, en general, son heterogneas y la interconexin de redes heterogneas se hace a niveles ms bajos que los descritos (es decir, a los niveles dos y tres en OSI, y al nivel de acceso a red en Darpa). Llamaremos a la funcionalidad del nivel tres de la torre OSI, y a sus equivalentes, por el servicio que ofrece y, por tanto, diremos que, a los efectos de este Tema, el nivel ms bajo -o de infraestructura para la interoperabilidad- es el encargado de proporcionar LA CONECTIVIDAD. En la conectividad se incluyen los protocolos de red, enlace y los medios para una transmisin fsica. Entre los protocolos del nivel tres estn el X.25 (standard del CCITT) y el IP (Internet Protocol). Los niveles de interoperabilidad, que pasamos a describir, se instalan, como mnimo, sobre el sustrato funcional referido arriba, aqu llamado LA CONECTIVIDAD. Los objetivos de la interoperabilidad son de mucho ms alto nivel que la conectividad que acaba de ser referida. La interoperabilidad tiene por finalidad la integracin de datos locales (datos tiles a los aplicativos que residen en mltiples y heterogneas bases de datos aisladas) para generar una informacin global producida por un procesamiento integrado. Entonces, la principal cuestin est en conocer cmo se puede lograr una interoperabilidad entre SIs heterogneos, cal sera su posible naturaleza y qu tipo de funcionalidad podra ofrecer. Hablando de la manera ms general posible, la interoperabilidad se obtiene mediante APIs (Application Programming Interfaces). Y hablando en concreto, la cuestin est en saber, de entre dichas APIs, cmo se puede lograr una interoperabilidad para las aplicaciones que hoy constituyen los ncleos ms valiosos de los SIs; es decir, cmo logralo para los SGBDs, las BDs y los aplicativos de cada BD [Kim95], [OzVa99], [Gupt89], [DAIS88] y [JaKS88]. Conseguir una interoperabilidad entre BDs heterogneas y distantes implica conocer cmo pueden interactuar distintos SGBD locales. Para ello, es preciso tener en cuenta que cada SGBD puede soportar: BDs que pueden tener modelos de datos distintos a los de otros SGBDs, Esquemas Conceptuales diferentes, Control particular de la semntica de los datos y Aplicativos dispares. La heterogeneidad en BD significa todas estas discrepancias, y alguna ms quizs ms importante que las ya dichas. Por ejemplo, faltara aadir la consideracin debida a: Heterogeneidad en los valores de los datos propiamente dichos,Captulo 2. Abril, 2008. Por: C.Costilla 13

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Y este ltimo aspecto es mucho ms difcil e importante que todos los anteriores, porque la semntica ms relevante y valiosa de una BD est realmente inmersa en los valores de los datos propiamente dichos. La definicin de los esquemas conceptuales, como moldes que son, recoge una semntica muy necesaria, imprescindible, pero que resulta pobre y rgida. Los valores de los datos son, en s mismos, un recurso considerado, cada vez ms, como el ms valioso de entre todos los recursos informticos (ms valioso que el hardware y software juntos) [Cost88]. Los datos en s, cuando son fiables, son los que ayudan a incrementar el rendimiento de las empresas, y los que pueden permitirnos vivir en una sociedad mejor y ms justa, si se usan de forma correcta. La interoperabilidad trata pues de conseguir una funcionalidad que sea capaz de activar mltiples aplicativos dirigidos a actuar sobre varios SGBDs locales. De tal forma que cada SGBD local active -a su vez- los correspondientes programas para acceder a la informacin de sus BDs locales, que estn implicadas en el funcionamiento global. Cada conjunto de datos resultantes que proviene de una localidad ha de poder ser integrado con los que producen otros SGBDs que soportan otras BDs. De tal manera que el resultado final sea un nuevo conjunto de datos globales obtenido mediante la integracin de las partes. Los datos globales han de ser tan fiables, al menos, como lo eran en cada isla de informacin de donde provienen. Llamaremos datos locales a los obtenidos desde cada isla de informacin, y datos globales aquellos que se derivan de dos o ms islas y se perciben como extrados de una manera integrada. Los datos globales pueden, pues, proceder de varias localidades o islas de informacin particulares que estn fsicamente dispersas. Como ejemplos ilustrativos de lo necesario que es la interoperabilidad, baste con pensar en cualquier empresa multinacional o en la integracin de pases de la Comunidad Europea para entender fcilmente que sera impracticable definir una nueva BD que centralizara toda la informacin en una sla mquina y en un slo lugar geogrfico. El objetivo de la interoperabilidad es hoy un gran reto del campo de las BDs. Pero adems, como siempre en informtica, para que esta idea de interoperabilidad sea aceptada por la instituciones (que sin duda la requieren) es necesario que la elevada complejidad tcnica que esto conlleva se oculte a los usuarios finales tanto como sea posible. Para que los usuarios acepten y usen las nuevas tecnologas destinadas a la interoperabilidad de los SIs, es preciso que los accesos a una informacin global sean, a lo sumo, tan sencillos como lo fueran en las BD centralizadas y aisladas que vienen usando. La tecnologa que existe para lograr este objetivo es muy reciente, est muy diversificada, y no hay mucho asentamiento entre las distintas tcnicas disponibles para este interesantsimo aspecto. Este Captulo va a clasificar, en cuatro niveles jerrquicos, los conceptos y tcnicas que rodean a la idea de la interoperabilidad. La interoperabilidad es ortogonal a la distribucin de los sistemas, es decir, ni la implica ni la excluye. Por ejemplo, antes de describir los cuatro niveles de interoperabilidad, la figura VI.1 muestra un ejemplo de interoperabilidad sencillo donde los SIs residen en una sola mquina y, por tanto, no hay distribucin. Mientras que la figura VI.2 describe el mismo ejemplo de interoperabilidad, pero distribuido. Las dos figuras hacen referencia a los componentes de un SI mostrados en la figura I.10 del Captulo 1.

Captulo 2.

Abril, 2008. Por: C.Costilla

14

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Aplicativos, Procesos,

G.U.I.

Aplicativos, Procesos,

SGBD

SGBD

Interoperabilidad en una sola plataformaBase de Datos Base de Datos

Fig. VI.1.- Interoperabilidad Centralizada.

G.U.I.Aplicativos, Procesos. Aplicativos, Procesos.

SGBD

Interoperabilidad en tres plataformas

SGBD

Base de Datos

Base de Datos

Fig. VI.2.- Interoperabilidad Distribuida.

2.3.- El mundo de la Interconexin: OSI, DARPA, SNA Y DNA El tipo de servicio bsico de las redes de ordenadores que interesa al tema de la interoperabilidad, entre SIs ubicados en mquinas distintas y distantes, es aqul que ofrece una transmisin de la informacin extremo a extremo, de manera fiable y econmica, que salva la heterogeneidad de las redes que soportan la conectividad, y oculta sus caractersticas a las Aplicaciones. Este servicio se llama bsico, en este tema, porque la idea de interoperabilidad (que nos ocupa) se instala sobre l como si de hardware se tratara. Este servicio bsico lo ofrecen hoy distintas tecnologas. Por ejemplo, el nivel cuatro de OSI, la capa de transporte, y sus equivalentes en otras implementaciones, independiza a los niveles superiores (sean o no de la torre) de las caractersticas fsicas de la red que se utilice. La figura VI.3 compara los didcticos niveles de la torre OSI (de ISO) con las tres implementaciones ms importantes de hoy: DARPA oriunda de Arpanet, SNA de IBM y DNA de DEC. La figura est tomada de "Data Communication, Computer Networks and OSI" [Mals88]. En ella vemos que, adems del nivel de transporte de OSI, existen otras implementaciones alternativas, y uno de los protocolos de transporte ms extendido es el TCP (Transmission Control Protocol) orientado a conexin que posibilita interconectar mquinas sobre el protocolo IP (Internet Protocol).Captulo 2. Abril, 2008. Por: C.Costilla 15

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica OSI API Usu. 7 Aplicacin 6 Presentac. 5 Sesin 4 Transporte 3 RedControl de Transmisin, -TCPInternet Protocol, -IP-

DARPA

SNA Usu. Final

DNA Usu. FinalAplic. Red

Aplicaciones / Procesos

Funciones de Gestin de DatosFlujo de Datos y Control de TransmisinControl de PathControl de Ruta Virtual Control de Ruta Explcita Control del Grupo de Transmisin

7 6Control Sesin

5 4 3 2 1

Servicios de Red

Transporte Enlace Fsico

2 Enlace 1 Fsico

Acceso a Red

Control de Enlace

FsicoFig. VI.3.- Arquitectura OSI vs. DARPA, SNA y DNA.

El protocolo TCP/IP, diseado por ARPANET en los 60s, est hoy adoptado como estndar de facto, extendido en nuestro planeta y conocido por Internet donde se apoya la actual Web. El conjunto de protocolos TCP/IP es el ms utilizado para la interoperabilidad de los SIs y, adems, da soporte a otros servicios inmediatamente superiores, como quiere representar la figura VI.4, que en la torre OSI se sitan en las capas altas [OSDT89]. De entre ellos, destacamos los siguientes: acceso remoto de terminales (Telnet) que es de la arquitectura de TCP/IP. Su equivalente en OSI es el "Virtual Terminal Protocol" (VTP, nivel 7), transferencia de ficheros (FTP), el equivalente en OSI es FTAM - nivel 7, correo electrnico (SMTP,7) , el equivalente en OSI es X.400 - nivel 7, y llamadas a procedimientos remotos (RPC) en el que se basa la interaccin Cliente/Servidor. Por otra parte, la figura VI.4 muestra algunas de las dependencias jerrquicas entre los distintos servicios y protocolos de las redes. En ella se reflejan dos aspectos que merece la pena destacar: 1) la diversidad de implementaciones que existen con poca estructuracin conceptual y la escasez de contenido que hoy ofrecen los niveles altos de OSI (5, 6 y 7). Por ejemplo, mientras los servicios de X.400 (correo electrnico de OSI) estn en el nivel 7 de su torre, su equivalente SMTP se instala directamente sobre TCP/IP. 2) destacar al protocolo RPC (Remote Procedure Call), por la relevancia que tiene en la tecnologa de BDs interconectadas. Y a XDR, propuesto por SUN, que es un formato de representacin externa para las llamadas a procedimientos remotos.Programas de Aplicacin FTP SMTPe-mail

NFS XDR TFTP RPC

SNMP ASN.1 DNS UDP

TELNET TCP(orientado a conexin)

(no orientado a conexin, datagramas)

IP, Internet Protocol (ms ICMP y IGMP) ARP RARP Nivel de Enlace Hardware y Protocolos de Acceso a Red Fig. VI.4.- Dependencias jerrquicas entre protocolos.

Captulo 2.

Abril, 2008. Por: C.Costilla

16

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

RPC es una implementacin de SUN, hoy adoptada como estndar de facto en la mayora de las implementaciones que dicen llamarse distribuidas y que funcionan realmente bajo una arquitectura Cliente/Servidor.Sistemas de GBD DistribuidosCliente / Servidor Sistemas Operativos Distribuidos Acceso Remoto a Bases de Datos

Redes de Ordenadores (TCP/IP) y Comunicacin de Datos Fig. VI.5.- Escenario tecnolgico actual de los Sistemas Distribuidos: RO, SD y BDD.

2.4.- Niveles de Interoperabilidad. Se definen en este punto, cuatro niveles que, de forma jerrquica y modular, van proporcionando cada vez servicios ms interoperables, segn se va subiendo en la jerarqua. Un nivel se instala sobre el inmediatamente inferior y, para su implementacin, utiliza los servicios que le ofrece su nivel inmediato inferior; pero no puede usar los que figuren en las capas superiores a l. Este es el principio bsico de las organizaciones modulares y jerrquicas de los sistemas software con cierto nivel de complejidad en su implementacin. A continuacin se describe el tipo de funcionalidad que cada nivel ofrece a los efectos de la interoperabilidad.2.4.1.- Primer Nivel de Interoperabilidad: TCP, Interconexin de Aplicaciones cualesquiera.

Basado en los servicios del nivel de transporte (como TCP/IP) tenemos el primer nivel de Interoperabilidad entre diferentes SIs. Con TCP/IP pueden interoperar aplicaciones que residen en mquinas diferentes y con distintos Sistemas Operativos (Unix, VMS, MS-DOS, etc.., y algunos entornos como Windows). Tambin, sobre TCP/IP pueden interactuar procesos remotos de los SIs que se ejecutan en plataformas distintas y distantes. TCP/IP fue adoptado por Berkeley para incluirlo en su versin de UNIX. Usando este primer nivel bsico de interoperabilidad, el usuario interacta de forma transparente a la red de interconexin de ordenadores. Entenderemos al primer nivel de interoperabilidad como aquel cuyo servicio consiste en lo siguiente: Garantizar la interconexin entre Aplicaciones cualesquiera que residen en mquinas diferentes (con Sistemas Operativos heterogneos) e interconectadas con redes que pueden ser heterogneas.2.4.2.- Segundo Nivel de Interoperabilidad: Arquitectura Cliente/Servidor y Acceso Remoto a Bases de Datos.

El segundo nivel de interoperabilidad, instalado en jerarqua sobre el primero, materializa, entre otros, el protocolo de interaccin Cliente/Servidor. La idea en C/S es considerar slo el papel que juegan los programas al interactuar respecto a los procesos que han de ejecutarse. Un programa que requiere un servicio se erige como cliente y el proceso requerido por el cliente, y que atiende su solicitud, acta de servidor. Estos procesos pueden residir en Sistemas de Informacin Heterogneos, SI, (como, por ejemplo: SGBD, Sistemas Expertos, Sistemas de Ficheros como losCaptulo 2. Abril, 2008. Por: C.Costilla 17

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Documentales; Hojas de Clculo como Lotus 123, Excel, etc.) donde unos interoperan con otros siguiendo esta forma de interaccin C/S. Cuando un usuario (o API) de una mquina necesita la ejecucin de un programa que ella no tiene (o no puede ejecutar), entonces se erige como CLIENTE del sistema interconectado. El nodo cliente se entiende en este tema como aquel que requiere del servicio de un SI. La mquina que alberga el SI necesitado ser la SERVIDORA. El usuario, para este nivel de interoperabilidad, necesita dar en los comandos de interconexin los siguientes parmetros al solicitar el servicio que requiere: la direccin o el nombre del servidor, invocar al SI en cuestin y enviar el cdigo a ejecutarse en remoto (en BD, el "Query" o la Consulta), dar el nombre de su mquina cliente y dems parmetros necesarios al cdigo en cuestin que se enva.

La consulta, o en general el acceso, al SI se ejecuta en el Servidor quien, tras obtener la respuesta en su mquina, enva sus resultados al Cliente. En resumen, el protocolo C/S acta nicamente como portador de comandos, consultas (queries) y datos (respuestas). En este nivel se tienen nicamente accesos desde un slo punto cliente a otro nico punto que le sirve. La interconexin es, pues, punto-a-punto entre un aplicativo y un SGBD que acta de servidor.CLIENTE Elemento de Servicio RDA ACSE ROSE CCR Presentacin Sesin Transporte Red Enlace Fsico SERVIDOR Elemento de Servicio RDA ACSE ROSE CCR Presentacin Sesin Transporte Red Enlace Fsico SGBDLocalBD1 Local

Nivel 7

BD2 Local

6 5 4 3 2 1 Comandos + Consulta

Datos de la Respuesta a la Consulta

Fig. VI.6.- Modelo Bsico del RDA. Relacin entre RDA y la arquitectura C/S.

Una de las funcionalidades ofrecida por el protocolo C/S es el Remote Database Access, RDA, Acceso Remoto a Bases de Datos. RDA fue promulgado estndar en 1989 [ISO89], y pasamos a comentarlo. Para este segundo nivel de interoperabilidad, OSI ofrece el estndar RDA que est por encima de la modalidad C/S, pero los dos pertenecen a la capa siete de su torre, como representa la figura VI.6. Junto a RDA, y por debajo de l, estn los elementos de servicio ACSE (Association Control Service Element) y ROSE (Remote Operation Service Element), tambin pertenecientes a la capa siete de la torre OSI (Aplicaciones). Por ltimo, en dicha capa 7, est el protocolo CCR (Commitment Concurrency Recovery) que garantiza la ejecucin segura y atmica de transacciones que afectan a la representacin de datos. CCR se dise e implement en los aos 70s en, y para, la tecnologa de los SGBD y, posteriormente, OSI lo incorpor en el nivel siete de su torre. La figura VI.6 representa la arquitectura de la torre OSI, destacando el RDA. Ningn producto comercial ha seguido esta arquitectura para ofrecer RDA.Captulo 2. Abril, 2008. Por: C.Costilla 18

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Interesa destacar, desde el punto de vista del tema que nos ocupa, que el RDA proporciona un nivel muy primitivo y bajo para lo que pretende la interoperabilidad. Como representa la figura VI.6, RDA permite que, desde una mquina remota, se acceda a una sla BD (normalmente, una isla) y nada ms. Bajo el punto de vista de los datos resultantes que obtiene el programa que accede a la BD, la cosa es bastante anloga a los accesos realizados a una BD centralizada y aislada. Nada ms aade el RDA, salvo que hay distancia geogrfica de por medio. Las implementaciones comerciales llamadas RDA utilizan directamente los servicios que ofrece TCP/IP (puenteando los niveles 5 y 6 de OSI). As, el consorcio de suministradores SQL Access Group ha mejorado las especificaciones del Acceso Remoto a Bases de Datos de OSI. Por otra parte, XA/XOPEN ha definido sobre TCP/IP directamente una coleccin de rutinas, llamadas CLI routines (Call Level Interface). Sobre CLI estn implementadas las llamadas a procedimientos remotos RPC con formato de representacin externa XDR. Estas implementaciones se han realizado por, y para, la tecnologa de BD (los SGBD) de manera que un Cliente puede acceder a cualquier Servidor de Bases de Datos Relacional (por ejemplo: Sybase, Oracle, Ingres, Informix, etc.) de forma transparente, sin estar obligado a incorporar cada vez los comandos antes descritos en las llamadas al servidor. Uno de los productos ms utilizados para el acceso remoto a bases de datos es el de Microsoft, conocido como Open DataBase Connectivity, ODBC. La figura VI.7 muestra el funcionamiento de estas implementaciones de RDA, que son las que realmente funcionan en toda la tecnologa de Bases de Datos.

Consulta Respuesta Redes de Ordenadores (LAN, MAN o Wan)

Comunicacin de Datos

LINK o NET junto al nombre del SGBD

SGBD LocalBases de Datos Centralizadas

Fig. VI.7.- Acceso a Bases de Datos Remotas (RDA).2.4.2.1.- Las APIs.

Las APIs (Application Programming Interface), por otra parte, ofrecen funciones que se organizan en bibliotecas (libraries) para distintos fines: Acceso a funciones de Comunicacin, Acceso a funciones de BDs, etc. En la interfaz de cada nivel de la torre OSI, existen distintas APIs. Existen productos que tambien materializan este segundo nivel de interoperabilidad entre distintos SO y distintos SI heterogneos (BD Codasyl, BD Relacionales, Hojas de Clculo, etc.) como el de UNIFACE que establece vas de comunicacin en C/S para el RDA. Tambin, por ejemplo, Microsoft ha creado una interfaz llamada ODBC (Open Database Connectivity) para el acceso a datos de SGBDs hetergeneos (relacionales o no). Con ODBC el programador de aplicativos puede acceder (consultar y/o actualizar) a muchas BDs heterogneas concurrentemente. Por tanto ODBC ofrece una API portable a diversos entornos, adems de contener al SQL estndar. Adicionalmente, de forma complementaria, y como ejemplo prctico, Microsoft comercializa, bajo Windows, una interfaz de programacin, llamada API (Application Programming Interface), correspondiente a la parte front-end de un sistema interconectado, y, tambin est elaborando una arquitectura WOSA (Windows Open Service Architecture), que incluir APIs para mensajera.Captulo 2. Abril, 2008. Por: C.Costilla 19

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

En el segundo nivel de interoperabilidad se ha incluido tambin el protocolo DDE (Dynamic Data Exchange) de Microsoft. DDE es equivalente, en su funcionalidad, al nivel 6 de OSI. Con DDE, una aplicacin local Windows puede intercambiar datos con cualquier otra, como representa la figura VI.8 (por ejemplo, desde Excel a Lotus o dBase).WINDOWS Microsoft Dynamic Data Exchange (DDE)

Aplicacin Local 1

Aplicacin Local 2

Fig. VI.8.- Interoperabilidad entre aplicaciones en una mquina.

El protocolo DDE funciona punto-a-punto y puede trabajar en forma remota si se intercala un gestor de red (router) DDE, como indica la figura VI.9. As est integrado en la tecnologa Windows For WorkGroups. Tambin tienen cabida en este segundo nivel de interoperabilidad las pasarelas software (Gateways software) que desde una aplicacin cliente permiten acceder a datos que residen en otras mquinas (IBM, UNISYS, VAX, TANDEM, etc).RWINDOWS Microsoft

Router (DDE)API de Comunicacin

E D

RouterAPI de Comunicacin

Aplicacin 1

(DDE)

Aplicacin 1

Fig. VI.9.- Interoperabilidad de aplicaciones en distintas mquinas.

En resumen, para los objetivos aqu propuestos, el nivel dos de interoperabilidad descrito asegura la interaccin simple entre una aplicacin remota y un servidor de informacin (SGBD, SGF, Hoja de Clculo, Shell de Unix, etc.). Obsrvese que el segundo nivel de interoperabilidad se sita en los niveles ms altos del mundo de la interconexin, y usa algunos de estos servicios. Este segundo nivel materializa, entre otros, el protocolo de interaccin Cliente/Servidor. Se considera en este Captulo a la arquitectura C/S slo por el papel que juegan los programas remotos al interactuar con los procesos que han de ejecutarse en los SGBD, que son los servidores de informacin. En adelante, conoceremos al segundo nivel de interoperabilidad como el encargado de proporcionar el siguiente servicio:Servicios de Acceso Remoto a BDs (RDA) y de Interfaces a otros SI Heterogneos (APIs), basados en la interaccin Cliente/Servidor.

Las utilidades de los SGBD comerciales llaman a este software con las palabras LINK (para accesoremoto directo punto-a-punto) o NET (mediante gateways) junto al nombre del producto. 2.4.3.- Tercer Nivel. Interoperabilidad entre BDs Centralizadas e Interconectadas o entre BDs Distribuidas Homogneas y altamente Integradas.

El nivel tres de interoperabilidad contempla los problemas del acceso (concurrente) a varios servidores, con distintos SGBDs, producido por una aplicacin que accede a datos globales. Se llama global porque necesita integrar informacin proveniente de varias localidades, cada una con uno o varios SGBD.Captulo 2. Abril, 2008. Por: C.Costilla 20

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

En este nivel se incluyen los algoritmos, tcnicas y herramientas adecuados para la descomposicin, planificacin y ejecucin de consultas distribuidas, que son llevadas a cabo por el Procesador de Consultas Distribuidas (Distributed Query Processor) y Optimizadores de las Consultas Distribuidas. Lo que significa tambin la actualizacin (altas, bajas y modificaciones) de datos distribuidos, de forma ntegra, consistente y fiable. Los accesos a una BD, antes de ser ejecutados, se traducen internamente a transacciones para poder ser tratados, si fuera necesario, como bloques especiales a los que poder exigir caractersticas tambin especiales de: Atomicidad, Consistencia, aIslamiento y Duradera (o persistente) conocidas como las propiedades ACID, que veremos en el Captulo 3. Las transacciones contienen los siguientes tipos de instrucciones elementales: de lectura de datos, -read(x)-, de escritura de datos, -write(y)-, begin-transaction, sentencia propia de los mecanismos para controlar la concurrencia que seala el punto de inicio de la transaccin, commit, sentencia propia de los mecanismos para controlar la concurrencia que seala un punto de fin de la transaccin que ha terminado con xito, abort o rollback, sentencia propia de los mecanismos para controlar la concurrencia que seala un punto de fin de la transaccin que ha terminado de forma anormal. Dentro de los SBDD, la parte de software encargada de procesar las transacciones a BDD de forma concurrente, distribuida y segura, es conocida como Gestor de Transacciones Distribuidas (Distributed Transaction Manager), y la parte de software encargada de la recuperacin frente a fallos es conocida por el Gestor de Recuperacin Distribuido (Distributed Recovery Manager). La tecnologa de BDs es maestra en estas tcnicas del software bsico desde ya muchos aos, cuando los SGBDs eran y funcionaban slo como centralizadas y como autnticas islas [BeHG87]. Para el nivel tres de interoperabilidad se tienen hoy soluciones comercializadas, a veces distintas. Por ejemplo, para la gestin global de transacciones en entornos de servidor de Bases de Datos Heterogneos, algunos comercializan sistemas de gestin de transacciones usando monitores de transacciones con interfaces normalizadas de acuerdo a XA/XOPEN como referencia de estandarizacin. El protocolo para el control de la concurrencia Two Phase Commit (2PC), basado a veces en el Two Phase Locking, en Timestamping o en Hbridos, asegura una buena ejecucin de transacciones concurrentes y distribuidas. Este tercer nivel cae de lleno en el Seminario de BD que nos ocupa, y el siguiente Captulo va a describir este tipo de software. Por el momento, slo decir que la interoperabilidad ofrecida en este nivel se puede conocer como la encargada de dos objetivos que son diferentes y que suelen no ser distinguidos hoy con claridad por los usuarios:Procesamiento de Consultas a Bases de Datos Distribuidas, Homogneas y altamente integradas (diseadas "Top-Down") [OzVa99]., y Procesamiento de Consultas Distribuidas a mltiples Bases de Datos Centralizadas e Interconectadas [Gupt98], [LaRa85] y [Boba96].

En [OzVa99] se estudian los conceptos y las tcnicas ms avanzados que existen en el mundo del procesamiento de datos actual. Se sita en el caso donde todo est distribuido: los datos y los procesos; otras referencias con igual escenario son: [Cost90], [Date87], [Date88] y [Gard89]. Para dichas tcnicas existen ya productos disponibles en el mercado que soportan BDR Distribuidas (como contrapuestas a las tcnicas que slo proporcionan procesamiento distribuido). Los Sistemas Relacionales de BDDs permiten que el esquema conceptual de una BDR, y sus correspondientes datos, habiten en una variedad de mquinas diferentes, con distintos SOs, e interconectadas por una variedad de redes diversas, para funcionar como si todo estuviera almacenado en una sla BDR virtual de una nica mquina. La transparencia ofrecida por estos sistemas es muyCaptulo 2. Abril, 2008. Por: C.Costilla 21

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

alta, ya que el usuario (programador de aplicaciones o final) de una BDD no necesita conocer en absoluto ningn detalle sobre los aspectos de distribucin. Este Captulo describe un tipo de distribucin referido al procesamiento distribuido de las consultas, cuando existen muchas BDs, cada una de ellas est centralizada (sus datos no estn distribuidos), y cada BD puede estar en un lugar geogrfico distinto y distante de donde residen las dems que, de alguna forma, participan en un funcionamiento global. Trataremos pues sobre distintas organizaciones que permiten accesos distribuidos a mltiples BD centralizadas (son islas de informacin). Los SGBD clsicos o centralizados, para proporcionar procesamiento distribuido sobre BDs centralizadas, tienen un software aadido que logra esta forma de interoperabilidad. Por ejemplo, en las figuras que siguen este software adicional (sombreado en las figuras) se llama de muy diversas maneras:QE Library, instalado sobre SQL NET o LINK Open Server, en otros casos, Uni SQL, a veces, etc.

El trmino ms significativo de este tipo de productos es 'OPEN'. Debido a la novedad que tienen estos aspectos, se hace necesario mencionar la tecnologa junto al producto que lo ofrece, sin que ello quiera decir que la referenciada sea la nica que exista. Por la novedad mencionada, estas tcnicas no tienen an hoy bien unificada su tecnologa comercial. Detallar cada producto concreto desborda los lmites permitidos en este Seminario. Por tanto, uno de los intereses, al describirlos, es remarcar que es preciso 'bucear' en cada producto para conocer fielmente las caractersticas que cada uno ofrece. Por ello, se dar una descripcin somera sobre las distintas formas operativas de esta tecnologa moderna de BDs. Los esquemas de las tres figuras que siguen muestran dichos funcionamientos, desde un punto de vista muy general.2.4.3.1.- Consultas Distribuidas a Bases de Datos Centralizadas e Interoperables.

A continuacin se muestran distintas formas de interoperabilidad "Front-end" y "Back-end", basadas en la arquitectura Cliente/Servidor del nivel 2 descrito. En el procesamiento distribuido, el nodo cliente desde donde interacta el usuario (o su aplicativo) es siempre la parte "Front-end", y los nodos servidores de informacin constituyen la parte "Back-end". Un ejemplo de Sistema de Informacin industrial, construido en el Grupo de Bases de Datos del DIT-ETSIT-UPM puede verse en [CoBV93]. Adicionalmente, la Parte III de este Seminario describe otras formas de distribucin de otros dos sistemas industriales construidos por dicho Grupo de Investigacin. Designaremos a una u otra parte ("Front-end" o "Back-end") como la encargada de la interoperabilidad, cuando en ella se realice la integracin de datos locales para obtener los datos globales que requiere el usuario. As, por ejemplo, en la parte "Back-end" de la figura VI.10, puede verse cmo las consultas se ejecutan de forma aislada -en cada BD centralizada-, y la interoperabilidad conseguida en la parte "Front-end" corre a cargo de cada aplicativo del usuario (no del sistema). Esta solucin no ofrece transparencia al usuario, lo que dificulta enormemente su uso por su alta complejidad, a la vez que vulnerable e inseguro. Esta tecnologa suele conocerse con el nombre del producto servidor seguido del vocablo NET (con 'gateways'). La figura VI.11 muestra una forma de interoperabilidad "Back-End", donde los servidores de informacin intercambian comandos entre s, al acceder a los datos referidos en la consulta. Los datos globales pueden obtenerse en una mquina diferente a donde residen las APIs del usuario.

Captulo 2.

Abril, 2008. Por: C.Costilla

22

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

UsuariosInterfaz de Usuario Programas de Usuario Cliente(Visual Basic, C++, etc.)

Aplicacin Comercial(Excell, Lotus, Dbase, etc.)

Windows MS

DDE QE LibraryProtocolo de Interaccin

Front-End

SQL Net

DB Library

Informix Net

Protocolo Transporte / Red (TCP/IP)

OracleProcesos del SGBD

SybaseProcesos del SGBD

IngresProcesos del SGBD

Informix Back-EndProcesos del SGBD

Servidores de Informacin de Tecnologa RelacionalFig. VI.10.- Ejemplo de Interoperabilidad Front-End con SGBDs Back-End Heterogneos.

UsuariosInterfaz de Usuario Programas de Usuario (Visual Basic, C++, etc.) Aplicacin Comercial (Excell, Lotus, Dbase, etc.)

WindowsMS

Cliente

Front-EndDDE

Protocolo de Interaccin

DB Library Back-EndProtocolo de Transporte / Red (TCP/IP)

Open Server

Open Ingres

Open Server

Back-End

Oracle

BD1

Ingres

BD2

Sybase

BD3

Procesos del SGBD

Procesos del SGBD

Procesos del SGBD

Servidores de Informacin de Tecnologa RelacionalFig. VI.11.- Ejemplo de Interoperabilidad Back-End con SGBDs Heterogneos.

Captulo 2.

Abril, 2008. Por: C.Costilla

23

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

La figura VI.12 muestra otra forma de interoperabilidad entre BDs aisladas y heterogneas. El sistema UNI-SQL posibilita la interaccin entre distintos servidores a travs de comandos de control con islas de informacin que ya existan anteriormente en cada localidad. Al igual que en el caso representado en la figura VI.11, normalmente se comercializa esta tecnologa con el nombre OPEN (con 'gateways') junto al nombre del producto. De nuevo, en esta figura, es el aplicativo escrito por el usuario quien lanza accesos a cada isla de informacin y se encarga (en su cdigo) de confeccionar a la medida los datos globales.

Usuarios, Aplicativos

DB Library

Uni SQL

Open Server OracleBD1

Open Server InformixBD2

Open Server SybaseBD3

Procesos del SGBD

Procesos del SGBD

Procesos del SGBD

Datos Centralizados en cada BDiFig. VI.12.- Ejemplo de una Consulta Distribuida a Bases de Datos Aisladas con SGBD Heterogneos.

2.4.4.- Cuarto Nivel de Interoperabilidad: BDs Heterogneas, Distribuidas, Federadas y Multidatabases.

El cuarto nivel de interoperabilidad es el encargado de integrar en una globalidad la informacin heterognea residente en mltiples localidades de forma automtica, transparente al usuario, y con independencia del tipo de aplicaciones que vayan a requerirse. Arranca al considerar la existencia previa de islas de informacin que fueron diseadas con independencia unas de otras y se busca una forma viable de cooperacin global, lo ms automtica posible, donde la autonoma local es un principio vital e ineludible. De manera que la totalidad del Sistema Interoperable se perciba por el usuario como si de un SI centralizado se tratara. Este cuarto nivel pretende ofrecer soluciones para la heterogeneidad anlogas a las que ya dispone la tecnologa relacional distribuida, homognea y diseada 'top-down'. Este nivel constituye un dificil reto an no logrado. Trminos afines al cuarto nivel de Interoperabilidad son Data Warehouse y Data Mining como puede leerse en [SrCh99] cuyo trabajo se adjunta en esta documentacin. Este nivel incluye los siguientes aspectos: integracin de esquemas heterogneos en SGBD diferentes, salvar de forma automtica la heterogeneidad semntica de los valores de los datos, multidatabases y lenguajes para multisistemas (MSQL3 e IPL4).Captulo 2. Abril, 2008. Por: C.Costilla 24

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Para este nivel de interoperabilidad no se dispone an de tecnologa comercializada, y el tema est teniendo un esfuerzo investigador muy alto [HsNS93]. Como ejemplo de ello, puede verse el trabajo de un proyecto Esprit (EP 8629) (1994-96), llamado IRO-DB: Interoperable Relational and Object Databases, donde ha participado el Grupo de Bases de Datos de esta Escuela. La especificacin de la funcionalidad general de IRO-DB puede encontrarse en [IRO94]. Adicionalmente, en [SrCh99] se describen los actuales esfuerzos realizados en DataWarehousing y DataMinig. Conoceremos al cuarto nivel descrito como el encargado de ofrecer una:Interoperabilidad entre Bases de Datos Heterogneas y Pre-existentes, para conseguir una Cooperacin Global Distribuida, bien por diseo "Bottom Up" (BDs integradas por federacin de esquemas) o bien por un lenguaje para "multidatabases", que oculte su inherente complejidad a los usuarios.

La figura VI.13 da una panormica de los cuatro niveles descritos para la interoperabilidad.

APLICACIONES...

4

Integracin de Esquemas de Bases de Datos Heterogneas

Heterogeneidad Semntica

Lenguajes Multi-DB y Multi-SI

Integracin Automtica de Informacin Global desde Bases de Datos Heterogneas, Aisladas e Interconectadas

Mximo nivel de la actual tecnologa de Bases de Datos

3

Procesadores de Consultas Distribuidas(Descomposicin de Consultas / Optimizadores de Consultas)

Gestores de Transacciones Distribuidas(Protocolos de control de concurrencia y tcnicas de recuperacin frente a fallos)

1. Consultas Distribuidas a Bases de Datos Aisladas 2. Consultas Distribuidas a Bases de Datos Distribuidas con alta integracin de Datos y SGBDD Homogneos

2 1

RDA

CCR

APIs

Interaccin CLIENTE / SERVIDOR

Servicios de Transporte (TCP/IP)

Interconexin de las Aplicaciones

Protocolo de Red (IP, X.25)Conectividad

Protocolos de Enlace y Medios de Transmisin Fsica Fig. VI.13.- Niveles deInteroperabilidad en los Sistemas de Informacin Distribuidos.

2.5.- Conclusiones a los Niveles de Interoperabilidad.La moderna tecnologa de BD proporciona hoy productos que funcionan hasta el llamado nivel tres de interoperabilidad, como se ver en las dos siguientes Partes de este Seminario. El actual reto tecnolgico del nivel 4 de interoperabilidad est muy bien comentado en [SrCh99]. En la panormica descrita sobre los distintos niveles de interoperabilidad entre los SIs, quiz merezca la pena destacar algunos aspectos adicionales, que a continuacin se indican.Captulo 2. Abril, 2008. Por: C.Costilla 25

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Primero: hasta dnde llegan los protocolos y servicios de la interconexin. Aunque es cierto que en algunos sistemas ciertos niveles de interoperabilidad pueden no existir, si comparamos los cuatro niveles de interoperabilidad descritos con las capas altas de la torre OSI, podemos concluir diciendo que:El nivel siete de la torre OSI corresponde, por la funcionalidad que ofrece para los SIs Heterogneos, al segundo nivel de interoperabilidad que aqu se ha descrito.

Segundo: hasta dnde llega el procesamiento distribuido de consultas que acceden a varias BDs heterogneas. Llega hasta el nivel 3, pero no hay apenas transparencia para el usuario en lo relativo a la distribucin ni en lo relativo a la heterogeneidad. La heterogeneidad se salva (cuando es posible) de forma manual y, por tanto, insegura. Sin embargo, afortunadamente, la tecnologa de BDR Distribuidas, Homogneas y Altamente Integradas (es decir, con distribucin de datos y de procesamiento de consultas) es la mejor realidad tecnolgica de nuestros das, donde la transparencia para el usuario es total, como veremos en el siguiente captulo. Para conseguir (en el futuro) los objetivos descritos del nivel 4, parece cada vez ms evidente que el paradigma orientado a objetos es quien mejor puede ayudar a ello. De hecho, al observar las figuras VI.10, VI.11 y VI.12; se comprende fcilmente que la interoperabilidad del nivel 3 se consigue gracias al programa del usuario que utiliza, adems de su cdigo, los elementos software que le proporciona una biblioteca (DB Library, o QE Library en las figuras). La biblioteca dicha casi siempre est prxima a la parte 'Front-end'. Tercero: la tecnologa de bases de datos orientada a objetos parece la mejor solucin al reto de la interoperabilidad de mayor nivel. Esta tercera conclusin se inicia con la siguiente idea preliminar.El software, en esencia, es una forma de arte. Idealmente, el usuario debera percibir a los sistemas software en general como 'algo que le sita en su mundo', sin barreras artificiales de sistemas operativos, arquitecturas del hardware, plataformas, compatibilidad de redes, de aplicaciones o de servidores de informacin. En el ESPACIO DE DATOS del futuro, estas fronteras tecnolgicas de hoy estn llamadas a desaparecer.

El paradigma orientado a objetos viene recibiendo enorme atencin como enfoque cargado de potencia para el diseo de sistemas software complejos, y se manifiesta como enfoque igualmente vlido para diversas reas de la informtica, como son: los lenguajes de programacin, las bases de datos capaces de representar el conocimiento que se observa del mundo real, y los sistemas distribuidos. El estndar de las bases de datos de objetos, -BDOs- reporta beneficios importantes. Entre otros, cabe recordar que el xito de los SGBDRs no se ha debido slamente a su alto nivel de independencia de datos ni a la sencillez de su modelo de datos respecto a los anteriores modelos de datos y SGBDs afines. La mayora de su xito se debe a la estandarizacin que l ofrece. La aceptacin del SQL estndar, [ISO87] y [ANSI89], permite un alto grado de portabilidad e interoperabilidad entre los sistemas, y simplifica el aprendizaje de nuevos SGBDs Relacionales. Ello ha supuesto un amplio refrendo del enfoque relacional, que busca, con igual suerte, la Tecnologa de Bases de Datos Orientada a Objetos, en adelante, los sistemas SBDOs. El alcance de los SBDOs es mayor que el de los sistemas relacionales, puesto que los SBDOs integran los lenguajes de programacin y los sistemas de bases de datos (reunificando las operaciones de una aplicacin con los datos), y puesto que el modelo de objetos tienen una semntica mucho ms rica que el relacional. Por ello, dicho alcance est ms lejos de lograr que en los SGBD relacionales. La existencia de un estndar era crtica para que las aplicaciones de BDOs llegasen a tener utilidad prctica. Lo ya dicho justifica la existencia del reciente estndar ODMG 3.0 [Catt99], promulgado por el consorcio ODMG (Object Database Management Group), que reune a las ms importantes industrias deCaptulo 2. Abril, 2008. Por: C.Costilla 26

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

la tecnologa de las BDOs. Siguiendo dicho estndar, se permite que varios productos comerciales ofrezcan y refrenden una interfaz comn a las BDOs sobre las cuales pueden codificarse sus respectivos aplicativos. El estndar ODMG define los siguientes aspectos: el modelo de datos o Modelo de Objetos (OM) para especificar los esquemas conceptuales de las BDOs (nico aspecto descrito en el Tema II), el Lenguaje de Definicin de Objetos (ODL), el Lenguaje Consultivo (OQL) y la ligadura del lenguaje de programacin C++ para la codificacin de aplicativos portables (C++ODL, C++OML como Lenguaje de Manipulacin de Objetos y C++OQL). El consorcio ODMG es una rama del consorcio OMG (Object Management Group). OMG ha definido una arquitectura genrica para cualquier Sistema Distribuido, llamada CORBA (Common Object Request Broker Architecture), cuya funcionalidad interna se basa en la ofrecida por la modalidad Cliente/Servidor. CORBA [OMG91] facilita que una aplicacin dada no tenga que preocuparse de cmo se invoca al Servidor implicado en su peticin. De ello se encarga la arquitectura distribuida. Cualquier aplicacin, que sigue la normativa CORBA, se ejecuta en la distribucin gracias a que su interfaz se declara siguiendo un lenguaje establecido para ello. El lenguaje se llama IDL (Interface Definition Language). Por el momento parece que, en lo que es competencia de este seminario, puede ser suficiente con describir slo algunos detalles muy elementales de la arquitectura CORBA; los que representan las figuras VI.14 y VI.15. Desde ambas figuras, s parece interesante destacar que los servidores de CORBA (donde quiera que residan) son BIBLIOTECAS C++, y las aplicaciones de las BDOs que satisfacen el estndar ODMG 2.0 son compatibles con IDL de CORBA. (El caso tiene cierta analoga con la interoperabilidad del nivel 3 descrito, donde siempre se lograba interoperar gracias a la utilizacin de Bibliotecas Software).ClienteImplementacin del objeto servidor

Peticin

ORB (Object Request Broker)Fig. VI.14.- Peticin de un Servicio enviada a travs de la arquitectura distribuida ORB.

La arquitectura CORBA est estructurada para permitir la integracin de una gran variedad de sistemas de objetos que pueden estar distribuidos. Las razones para proponer dicha arquitectura, o el motivo de sus caractersticas, puede que no sea evidente de entrada; pero segn se van desarrollando las expectativas iniciales en el abanico de implementaciones actuales, optimizaciones y usos que se espera englobar, el nivel de la flexibilidad que CORBA puede llegar a ofrecer para la integracin de sistemas distribuidos parece cada vez ms alto, claro y eficaz. La figura VI.15 muestra, como ejemplo, una peticin enviada por un cliente a la implementacin de un objeto. El cliente es una entidad que necesita realizar una operacin sobre el objeto servidor, y la implementacin del objeto consta de cdigo y de datos, ambos implementan dicho objeto servidor. ORB es responsable de todos los mecanismos necesarios para encontrar la implementacin del objeto al que se refiere la peticin del cliente, de preparar a la implementacin para recibir la peticin y de la comunicacin de los datos. La interfaz que ve el cliente es completamente independiente del lugar dnde est localizado el objeto servidor, en qu lenguaje de programacin est implementado y de cualquier otro aspecto que la interfaz no necesita reflejar a los Clientes externos.

Captulo 2.

Abril, 2008. Por: C.Costilla

27

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

La figura VI.15 muestra la estructura de un ORB. Las interfaces de ORB estn representadas por cajas rayadas, y las flechas indican quin llama a quin (si ORB es llamado o si realiza una invocacin a travs de la interfaz)ClienteImplementacin del objeto servidor

Invocacin Dinmica

Cabos IDL

Interfaz ORB

Esqueleto IDL

Adaptador de objetos

Ncleo de ORBInterfaz idntica para todas las implementaciones de ORB Puede haber varios adaptadores de objetos Hay cabos y un esqueleto para cada tipo de objeto Interfaz dependiente de ORB Interfaz de llamada Interfaz de Invocacin al objeto servidor

Fig. VI.15.- Estructura de las Interfaces ORB.

Para hacer una peticin, el cliente puede usar una interfaz de invocacin dinmica (la misma interfaz independiente de la interfaz del objeto destinatario) o un cabo IDL (el cabo o enchufe especfico, dependiendo de la interfaz en el objeto destinatario). El cliente tambin puede interactuar directamente con el ORB para la invocacin de algunas funciones. Conclusin Final: El paradigma orientado a objetos como solucin al reto de la interoperabilidad del ms alto nivel para los SIs distribuidos y heterogneos. Aunque todava no sea una realidad consolidada, cada vez es ms patente que el desarrollo de software, basado en la funcionalidad Cliente/Servidor (con RPCs), se difumina con las tcnicas de la orientacin a objetos, y la revolucin que puede llegar a producir este paradigma permite aventurar lo siguiente:En el futuro slo habr dos tipos de profesionales de la ingeniera informtica, uno disear objetos destinados a ofrecer servicios, agrupados en bibliotecas de objetos; el otro, se concentrar en resolver los problemas de su empresa o institucin a travs de la codificacin de aplicaciones que ensamblen dichos objetos.

Captulo 2.

Abril, 2008. Por: C.Costilla

28

DIT-UPM

PARTE I y II: Conceptos y Tcnicas de BD

Curso Doctorado: Arquitecturas de Bases de Datos Web. Tecnologas de la Web Semntica

Captulo 3. Software de Bases de Datos Distribuidas. Arquitecturas Cliente/Servidor y Web.3.1.- Contextualizacin. Organizacin de las BDR Distribuidas, Homogneas y Altamente Integradas. La figura VI.16 presenta un ejemplo introductorio de cmo se organizan las BD Relacionales Distribuidas, Homogneas y altamente Integradas, en adelante BDDs. Su descripcin detallada se estudia en [OzVa99]. La figura, tomada de [Date87] representa dos Bases de Datos Distribuidas, BDDs- a lo largo de tres nodos de una red.BDD 1BD Local 1 Nodo 1

Nodo 1BD Local 2 Nodo 1

Red de Comunicacin

Nodo 3

Nodo 2

BDD 2BD Local 2 Nodo 2 BD Local 1 Nodo 2

BD Local 2 Nodo 3

BD Local 1 Nodo 3

BDD 1 una sola Base de Datos Distribuida,diseada top-down y cuyos datos residen entre los nodos 1, 2 y 3.

Datos Distribuidos en cada BDD, ello supone:1. 2. 3. La BDD 1 es un todo altamente integrado con datos distribuidos en la BD Local 1 del Nodo 1, BD Local 1 del Nodo 2 y la BD Local 1 del Nodo 3. La distribucin de los datos es totalmente transparente al usuario. Permite la r