You are on page 1of 26

Asignatura de

Bases de Datos
Tema VII del Programa Docente 2009-10

Arquitecturas de los SGBD Distribuidos

Por: Carmen Costilla Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

Tema VII del Programa Docente de Bases de Datos Arquitecturas de los SGBD Distribuidos
NDICE DE CONTENIDO
VII.1 Arquitectura ANSI/X3/SPARC de los SGBD Distribuidos __________________________________ 1 1.1 Estndar ANSI/X3/SPARC de los SGBDs Centralizados. ___________________________________________ 1 1.2 Contextualizacin. Organizacin de las BDR Distribuidas, Homogneas y Altamente Integradas. ________ 2 1.3 Arquitectura de los Sistemas de Bases de Datos Distribuidos. _____________________________________ 2 1.4 Niveles de Transparencia de los aspectos de distribucin._________________________________________ 3 1.5 Conceptos de Distribucin, Autonoma y Heterogeneidad. _________________________________________ 3 1.6 Alternativas de Implementacin de los SGBD Distribuidos.________________________________________ 3 1.7 Arquitectura ANSI/X3/SPARC de los SGBD Distribuidos. __________________________________________ 4 1.8 Arquitectura de los SGBD Multidatabase Distribuidos.____________________________________________ 4 1.9 Conclusiones a las Arquitecturas de los SBDD. _________________________________________________ 5 VII.2 Arquitecturas Cliente / Servidor, C/S ___________________________________________________ 5 2.1 Ubicacin del SGBD en la Arquitectura Cliente/Servidor (2 capas) ___________________________________ 5 2.2 Arquitectura Cliente-Servidor (dos capas). ______________________________________________________ 6 2.2.1 Funcionalidad de la Arquitectura Cliente-Servidor. _______________________________________________ 7 VII.3 Arquitecturas Web (tres o ms capas) __________________________________________________ 9 3.1 Ubicacin del SGBD en la Arquitectura Web (tres o mscapas) _____________________________________ 9 3.2 Internet y la World Wide Web. ________________________________________________________________ 10 3.3 Servidores de la capa intermedia en la Arquitectura Web._________________________________________ 11 3.3.1 Servidor Web: URLs y Protocolo HTTP. ______________________________________________________ 11 3.3.2 La seguridad en Internet. __________________________________________________________________ 13 3.3.3 Gateways, CGI y Servidor de Aplicaciones.____________________________________________________ 13 VII.4 Sobre la Estructuracin de los Datos y Consultas a Datos Intensivos y heterogneos en la Web. __ 16 4.1 Modelo OEM. Clasificacin de Sistemas de consulta a datos intensivos y heterogneos en la Web.______ 16 VII.5 Arquitecturas Mediador-Wrapper ____________________________________________________ 18 5.1 Casos reales de Arquitecturas Mediador-Wrapper en la Web. Nuestra Experiencia.____________________ 19 5.1.1 Bibliografa de nuestra experiencia en Mediador -Wrapper. _______________________________________ 20 VII.6 Referencias Bibliogrficas. __________________________________________________________ 21

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

Tema VII del Programa Docente de Bases de Datos Arquitecturas de los SGBD Distribuidos
ndice de Figuras

Fig. 7.1. Arquitectura de un SGBD Estndar Centralizado _______________________________________ 1 Fig. 7.2 Ejemplos de BD Relacionales Distribuidas, Homogneas y Altamente Integradas. _____________ 2 Fig. 7.3 Componentes de las bases de Datos Distribuidas. _______________________________________ 2 Fig. 7.4 Niveles de transparencia en los SBDD. _______________________________________________ 3 Fig. 7.5 Una Anatoma del problema de las BDDs y los Sistema de Informacin Distribuidos.___________ 3 Fig. 7.6 Alternativas de Arquitecturas e Implementacin de los SGBDs. ____________________________ 4 Fig. 7.7 Arquitectura de los SGBDs. Modelo de Referencia del ANSI/X3/SPARC. _____________________ 4 Fig. 7.8 Modelo Multidatabase sin integracin de Esquemas. _____________________________________ 5 Fig. 7.9 Arquitectura Cliente-Servidor de un SGBD.____________________________________________ 7 Fig. 7.10 Detalle de la capa Cliente de un SGBD con arquitectura C/S. ____________________________ 8 Fig. 7.11 Arquitectura Web Abreviada (a tres capas) de un SGBD. _______________________________ 10 Fig. 7.12 Detalle de la capa 2 de la Arquitectura Web de un SGBD. ______________________________ 12 Fig. 7.13 Detalle del Servidor de Aplicaciones en la Arquitectura Web de un SGBD. _________________ 15 Fig. 7.14 Ejemplo de Objeto OEM para la asignatura BSDT 5403. _______________________________ 17 Fig. 7.15 Clasificacin de los Sistemas para consultar datos heterogneos. ________________________ 18 Fig. 7.16 Arquitectura Mediador-Wrapper. __________________________________________________ 19 Fig. 7.17. Web Digital Archive Integrated Architecture through Mediator and Wrappers. ______________ 20

ii

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

VII.1 Arquitectura ANSI/X3/SPARC de los SGBD Distribuidos 1.1 Estndar ANSI/X3/SPARC de los SGBDs Centralizados. En el tema I se ha descrito la arquitectura de los SGBD del ANSI/X3/SPARC (American National Standards Institute), establecida como primer estndar en 1975, que muestra la figura VII.1 como recordatorio de partida. Esta arquitectura define tres niveles de representacin de la informacin de las bases de datos que gestiona. Descritos desde el interior de la BD 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 y "corren" en casi todos los SOs del mercado. El Nivel Conceptual define el resultado del diseo de la BD, para una parte del mundo real con inters informativo para ser formulada y registrada en un ordenador. El resultado del diseo de una BD establece la definicin de un ESQUEMA CONCEPTUAL conforme a un modelo de datos, MD, que llamamos Esquema de la BD. El Nivel Conceptual de un SGBD mantiene, en cada momento, tantos Esquemas distintos cuantas Bases de Datos hayan sido diseadas en ese SGBD.
Programa de Aplicacin 1-1 Api. 2-i Aplicativo 1-2 Api. 1-i Api. x-i Api. 1-n Api. 2-n Api. y-n

NIVEL LGICO

VISTA 1 .. VISTA i "View" "View"

..........

VISTA n
"View"

NIVEL CONCEPTUAL

Modelo de Datos ESQUEMA CONCEPTUAL

SGBD
NIVEL FSICO
ESQUEMA FSICO
BD ALM ACENADA

Datos de la Base de Datos


Por cada BD, hay tres niveles de representacin de la informacin.

Fig. 7.1. Arquitectura de un SGBD Estndar Centralizado

Y el tema VI: Interoperabilidad entre SI heterogneos, concluy -entre otras- con esta idea: 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.

Tema VII

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII 1.2

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

Contextualizacin. Organizacin de las BDR Distribuidas, Homogneas y Altamente Integradas.

La figura VII.2 muestra un ejemplo de cmo se organizan las BD Relacionales Distribuidas, Homogneas y altamente Integradas, en adelante BDDs. La figura representa dos Bases de Datos Distribuidas, -BDDs- a lo largo de tres nodos de una red.
BDD 1
BD Local 1 Nodo 1

Nodo 1
BD Local 2 Nodo 1

Red de Comunicacin

Nodo 3

Nodo 2

BDD 2
BD 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 reusabilidad de Aplicativos en los nodos participantes en la distribucin

Fig. 7.2 Ejemplos de BD Relacionales Distribuidas, Homogneas y Altamente Integradas.

A su vez, la figura VII.3 describe los componentes software de los Sistemas de BDDs.
SDDD Comunicacin Sistema del Diccionario de Datos de Datos Distribuido SBDD
Sistema de Bases de Datos Distribuido

Red

SGBD Local

SDDD Comunicacin Sistema del Diccionario de Datos de Datos Distribuido SBDD


Sistema de Bases de Datos Distribuido

SGBD Local

Bases de Datos Locales

Bases de Datos Locales

Fig. 7.3 Componentes de las bases de Datos Distribuidas.

1.3 Arquitectura de los Sistemas de Bases de Datos Distribuidos. Los Sistemas se construyen mediante Mdulos con interfaces de flujos de control y datos: Implementar un mdulo Programming-in-the-small

Tema VII

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII Integrar los mdulos

Bases de Datos
Arquitecturas de los SGBD Distribuidos Programming-in-the-large

Curso 2009-10 Por: Carmen Costilla

1.4 Niveles de Transparencia de los aspectos de distribucin. Transparencia: ocultar detalles de implementacin al usuario o a los niveles altos del sistema. Programming-inthe-small se oculta a Programming-in-the-large, conforme representa la figura VII.4.
Transparencia del Lenguaje de la Distribucin Transparencia de Transparencia de Replicacin Transparencia de la Red Independencia de Datos Fsica Datos Lgica Niveles de Ocultacin

Fig. 7.4 Niveles de transparencia en los SBDD.

1.5 Conceptos de Distribucin, Autonoma y Heterogeneidad.


Distribucin de Datos

Localidades Diversas

Dos Localidades Centralizado

Hardware

SOs

SGBDs

Control de la Semntica de los Datos (dficil problema) Tipos de Heterogeneidad

SOs SGBDs Aplicaciones de los SIs Autonoma de los Sistemas

Las soluciones empiezan a ser ms dficiles a medida que nos alejamos del origen

Fig. 7.5 Una Anatoma del problema de las BDDs y los Sistema de Informacin Distribuidos.

1.6 Alternativas de Implementacin de los SGBD Distribuidos. La figura VII.6 representa un esquema sobre las distintas formas de modelar e implementar los SGBD capaces, en distinto modo, de incorporar aspectos de Distribucin, Autonoma y Heterogeneidad.

Tema VII

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos
Distribucin

Curso 2009-10 Por: Carmen Costilla

SGBD Centralizados, Homogneos y lgicamente integrados SGBD Heterogneos y


Distribuidos

SBDD y Homogneos

SBDD y Federados Sistemas Multi-Database Distribuidos

SBDDR
Sistemas de Gestin de Bases de Datos Distribuidos, Relacionales y Homogneos

Sistemas Multi-Database Heterogneos y Distribuidos

Sistemas Multi-Database Autonoma SGBD Integrados y


Heterogneos

SGBD Federados,
Heterogneos y Centralizados

Sistemas Multi-Database Heterogneos

SGBD Federados, Heterogneos y


Distribuidos

Heterogeneidad

Fig. 7.6 Alternativas de Arquitecturas e Implementacin de los SGBDs.

1.7 Arquitectura ANSI/X3/SPARC de los SGBD Distribuidos. La figura VII.7 representa el Modelo de Referencia de ANSI/X3/SPARC extendido. Refiere la arquitectura de los SBDD Integrados.

Esquema Externo Global 1

Esquema Esquema Externo Externo Global 2 Global n

Vista Vista Local 1 1 Local 1 k Esquema Conceptual BD Local 1

Esquema Conceptual Global

Vista Vista Local n 1 Local n m

Esquema . Conceptual BD Local n

Esquema Interno BD Local 1

Pars Madrid . C/Alcal Gran Va 1Planta 3Planta

Esquema Interno BD Local n

Fig. 7.7 Arquitectura de los SGBDs. Modelo de Referencia del ANSI/X3/SPARC.

1.8 Arquitectura de los SGBD Multidatabase Distribuidos. La figura VII.8 representa la arquitectura de los Sistemas Multidatabase sin integracin de Esquemas Conceptuales Locales en un Esquema Conceptual Global. En esta propuesta, slo a travs del Multi Lenguaje, las

Tema VII

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

consultas interoperan con varias Bases de Datos independientes. Es una propuesta de W. Litwin, MSQL Language [LiAb87].
Esquema Externo 1 Esquema Externo 2 Esquema Externo n

Esquema Conceptual BD Local 1

Esquema Esquema . Conceptual Conceptual BD Local 2 BD Local n

Esquema Interno BD Local 1

Esquema Esquema . Interno Interno BD Local 2 BD Local n

Fig. 7.8 Modelo Multidatabase sin integracin de Esquemas.

1.9 Conclusiones a las Arquitecturas de los SBDD. 1. Los Modelos de Arquitecturas son marcos abstractos que sirven para: describir los aspectos de las BDDs, para analizar y comparar los productos comerciales existentes. 2. El grado de Autonoma Local requerido es un input importante para optar por un determinado modelo de Arquitectura del SBDD y elegir una solucin de diseo para cada BDD. El SBDD es un software que incluye: Procesamiento de Consultas Distribuidas Adaptadores entre las BDs Locales y la BD Global (mappings) Protocolos de Comunicacin Control de Concurrencia Distribuido, Gestin de Transacciones Distribuido Recuperacin distribuida frente a fallos distribuidos. 3. Las BDD relacionales y altamente integradas (por diseo top-down) son una tecnologa comercial de hoy, conocida como: *** / STAR. 4. Las Multidatabase son ms nuevas, no estn an comercializadas, aunque existen prototipos.

VII.2 Arquitecturas Cliente / Servidor, C/S 2.1 Ubicacin del SGBD en la Arquitectura Cliente/Servidor (2 capas)
El SGBD, una de las variedades ms complejas del software actual, precisa utilizar el trmino arquitectura con diversas acepciones y puntos de vista. La arquitectura del SGBD se describe ahora bajo el punto de vista de sus formas operativas (funcionales), como un ente que realiza las aplicaciones del usuario. La arquitectura ANSI/X3/SPARC, descrita en el Tema I, explic cmo se organiza la informacin de una BD. En el Tema VI (cap. 8 de [Cost99]) se ha descrito cmo se organizan varios SGBDs para la interoperabilidad (generalmente distribuida), all vimos la arquitectura C/S con funcionalidad varios-a-varios (varios Clientes y varios no muchos- Servidores). Finalmente, en el Tema XI (cap. 9 de [Cost99]) atenderemos a otro tipo de arquitectura

Tema VII

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

llamada arquitectura revisitada, centrada en la descripcin de los aspectos ms internos del software que poseen los motores o Servidores de bases de datos. La arquitectura C/S surge a finales de los aos 80s, como una extensin del estndar RDA Remote database Access [ISO89] y tuvo gran difusin en la tecnologa de bases de datos en la dcada de los 90s, marcando importantes pautas en la concepcin arquitectural de los SGBD, separando ntidamente las funciones del Servidor y las de los Clientes. La arquitectura para los SGBD es algo diferente a la organizacin del software genrico en Cliente/Servidor (entendido slo mirando a los procesos que invocan y a los que sirven), ya que la interaccin en los SGBD est ms especializada. Como sabemos, la distribucin es ingrediente comn de los Sistemas de Informacin actuales. Ahora veremos la arquitectura del SGBD como un ente individual (sin cooperar con otros SGBD) para entender los bloques que posibilitan su funcionamiento. Y no entraremos en detalles de cmo opera el motor o Servidor de Bases de Datos, descrito en Cap. 9 de [Cost99]. Nos bastar ahora con entender que dicho motor contiene el ncleo de las funciones de un SGBD y ha de ejecutarse en un ordenador dotado de recursos adecuados para la gestin de datos masivos. Veremos cmo se organiza el SGBD en capas para -con ellas- llevar a cabo, en la capa Cliente, determinadas funciones de los aplicativos de usuario. Cada Cliente realiza una especie de pre-procesamiento de las aplicaciones que han de terminar ejecutndose en el Servidor de Bases de Datos. Adems de esto, la funcionalidad de la capa del Cliente consiste en implementar funciones de usuario con interfaces amigables y ofrecer alta productividad para dichas funciones de usuario (entornos ofimticos con: e-mail, procesadores de texto, hojas de clculo, etc.). Estudiaremos dos tipos de arquitecturas. La primera describe la arquitectura a dos capas, llamada tambin arquitectura Cliente/Servidor del SGBD. La segunda es la arquitectura a tres capas, dirigida hacia la World Wide Web y aade una nueva capa conocida como Servidor de Aplicaciones que incluye al Servidor Web (o Servidor HTTP).

2.2 Arquitectura Cliente-Servidor (dos capas).


En el Tema VI (cap. 8 de [Cost99]) vimos el paradigma Cliente/Servidor como el ms simple del amplio espectro de la interoperabilidad de los SGBDs distribuidos. Un SGBD con arquitectura Cliente-Servidor funciona separando limpiamente el papel que juega el Servidor del que desempea el Cliente. Esta arquitectura, pensada en la distribucin, organiza la ejecucin de aplicaciones entre diversas mquinas -conectadas por una red (generalmente LAN)- que suele alcanzar a distintas dependencias del edificio(s) donde ella opera, como muestra la figura 7.1. En la tecnologa relacional, la integracin de esta arquitectura se basa principalmente en el protocolo Net (por ejemplo, Oracle lo llama SQL*Net). Usa un solo motor SGBD y todas las mquinas son de tipo Cliente salvo la que es Servidora (varios Clientes y un Servidor). Realmente no es preciso que Cliente y Servidor se ubiquen en distintas mquinas, pues el paradigma de esta arquitectura se fundamenta en construir el software con independencia de dnde residan los procesos. Sin embargo, en la gestin de datos, normalmente los procesos del Servidor se ubican en una sola mquina y las mquinas Clientes se esparcen por la red de la institucin o empresa para la que se instala este tipo de arquitectura.

Tema VII

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

Aplicativos del Cliente 1


Cliente 1

Aplicativos del Cliente i


Cliente i

Aplicativos del Cliente n


Cliente n

Usuario

NET junto al nombre del SGBD


Cola de Entrada Cola de Salida

Red (LAN o MAN )

Capa Cliente

Servidor de Bases de Datos

Capa Servidora

Arquitectura C/S Abreviada Bases de Datos Centralizadas

Fig. 7.9 Arquitectura Cliente-Servidor de un SGBD.

La arquitectura C/S de un SGBD balancea la carga de trabajo entre los Clientes y el Servidor, repartiendo las tareas implicadas en la ejecucin de las aplicaciones. El SGBD distribuye, por tanto, su software en diversas mquinas cuando opera a nivel de produccin industrial y realiza en paralelo la parte Cliente. 2.2.1 Funcionalidad de la Arquitectura Cliente-Servidor. La funcionalidad Cliente-Servidor se basa en un modelo de interaccin entre procesos software. Los clientes invocan y solicitan la ejecucin de procesos (requests, queries, etc.) que ellos requieren y no poseen. Los procesos solicitados residen en la parte Servidora. La arquitectura genrica C/S se organiza de forma que un Cliente pueda solicitar servicios a varios (no muchos) Servidores. Este epgrafe, dedicado a la arquitectura de un solo SGBD, parte de la hiptesis que el Servidor de Bases de Datos es nico en este tipo de arquitectura y los Clientes quedan conectados a l mediante una red (LAN casi siempre) cuya interaccin C/S se basa en el protocolo NET. Los procesos del lado Cliente se dedican a atender las necesidades del usuario final, ellos reciben las aplicaciones del usuario y las pre-procesan para transformarlas en otras unidades software (transacciones de bajo nivel, que estudiaremos en el Tema XI) que envan al Servidor para solicitar su servicio. Los Clientes solicitan a la parte Servidora que lleve cabo la ejecucin definitiva de los aplicativos (accesos y/o actualizaciones a los valores de los datos de la BD). Por tanto, el Cliente enva siempre todas sus solicitudes al Servidor, mientras que el Servidor atiende solicitudes de varios Clientes. Las siguientes razones justifican el uso de la arquitectura C/S en bases de datos: La arquitectura C/S permite una limpia separacin de objetivos y trabajos. Por un lado, cada mquina Cliente se dirige a optimizar determinadas aplicaciones del usuario final, conocidas de antemano por quien construye el sistema de informacin [CoBV93]. El Cliente atiende a un conjunto determinado de aplicaciones (las de un tipo de usuario) y el programador de aplicaciones es responsable de escribir programas (aplicativos) para que cada Cliente responda a las necesidades especficas en cada mquina. Por otro lado, el diseador y administrador de las bases de datos, trabajar en la capa Servidora para realizar las tareas propias y relativas a diseo y administracin: asignacin de roles de usuario, permisos y privilegios, definiciones de Vistas, configuracin de espacios de tablas, mantenimiento de ndices para un ptimo rendimiento funcional, etc. Todo ello ser compartido por todos los clientes de una arquitectura dada. En definitiva, los trabajos del Servidor se dirigen a proporcionar ptimos servicios a todos los procesos clientes.

Tema VII

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

La potencia del ordenador donde se ubica el Servidor depende estrechamente de los servicios que ste tiene que ofrecer, necesita una gran memoria principal para la gestin de mltiples buffers y una alta capacidad de disco duro para almacenar completamente la base de datos. Sin embargo, en la mquina Cliente bastara con un tpico ordenador personal que proporcione las herramientas de un entorno ofimtico y que albergue el software o procesos de la parte cliente del SGBD. Entre dichas herramientas, casi siempre enmascaradas por interfaces amigables del usuario, tiene que tener instaladas las destinadas a solicitar servicios al Servidor de Bases de Datos y las herramientas de ayuda al desarrollo de las aplicaciones (reports/forms), como muestra la figura 7.2.
Usuario

Sistema Operativo

Interfaces Aplicativos Entorno de Ofimtico de BD Ususario

Capa Cliente

Procesos Cliente del SGBD


Comunicacin de datos
Red (LAN )

Consultas SQL Resultados

S. Operativo

Comunicacin de datos

Capa Servidora

Servidor de Bases de Datos, motor del SGBD

Bases de Datos Centralizadas

Fig. 7.10 Detalle de la capa Cliente de un SGBD con arquitectura C/S.

SQL es ideal para identificar los servicios de interfaz de la capa cliente, responsable de interpretar la consulta del usuario, darla formato y presentar los resultados al usuario de forma adecuada. La consulta, escrita en el Cliente, se enva al Servidor para que se procese all. El Servidor extrae los resultados de la base de datos, los empaqueta y, finalmente, los devuelve al Cliente que hizo la solicitud. De esta forma, por la red circula la mnima informacin til. La consulta SQL del usuario admite dos formas de invocacin diferentes. La primera, conocida como consulta compilada de forma esttica que llega al Servidor slo una vez, all se compila y se almacena para ser re-llamada tantas veces cuantas sea preciso. De esta forma, el Servidor almacena el cdigo compilado de la consulta en forma parametrizada; y, en cada invocacin del cliente (tpicamente se invoca a un procedimiento), basta con pasar los valores de los parmetros que en cada caso corresponda. A menudo, el Servidor que procesa estos procedimientos es multi-hebra (multi-threaded) y cada unidad de ejecucin del proceso del Servidor, para una transaccin dada, es una hebra. Como muestra la figura 7.1, los procesos del Servidor estn activos permanentemente para ir recibiendo solicitudes de los Clientes desde la cola de entrada, y dejan en la cola de salida los resultados que el Servidor obtiene para envirselos a cada respectivo Cliente. El dispatcher gestiona las colas del Servidor.

Tema VII

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

La segunda forma de invocacin se conoce como consulta dinmica, donde el Cliente enva al Servidor la consulta como un string de caracteres, y all es compilada y ejecutada cada vez. La idea global de un Sistema de Informacin con arquitectura C/S es que funcione en el modo de consulta esttica (compila una vez y se guarda en el Servidor), para ser re-llamada de continuo, cuantas veces se precise su ejecucin en el Servidor. Mientras que el modo de consulta dinmica est pensado para un tipo de consulta espordica o no frecuente, su rendimiento es ms bajo que el de la invocacin esttica y por tanto con un tiempo de respuesta mayor.

VII.3 Arquitecturas Web (tres o ms capas) 3.1 Ubicacin del SGBD en la Arquitectura Web (tres o mscapas)
La espectacular evolucin de Internet plantea grandes retos para mejorar su potencialidad y actual forma operativa. La tecnologa world-wide-web (www) [BCGP92], [BeCG92], [Bern97]es el substrato de interconexin de la sociedad de la informacin actual y futura. Su ritmo de expansin y la diversidad de usuarios crecen de forma continua y exponencial. Se conectan a Internet desde las empresas y gobiernos (con redes de alta velocidad) hasta los individuos desde los hogares (con modems de baja velocidad). Muchas empresas e instituciones han desarrollado su propia Intranet conectada a Internet. Los sistemas de informacin as ubicados se conocen como Sistemas de Informacin Web (en adelante, SIW, en ingls WIS), y acoplados con un SGBD se puede proporcionar acceso rpido e inteligente a grandes cantidades de datos estructurados, como los que existen en una base de datos [FlLM98]. La Web empez siendo una interfaz para el acceso a documentos distribuidos, y hoy es una plataforma para sistemas de informacin de todo tipo. Se trata de un paradigma que permite difundir y adquirir cualquier tipo de informacin a travs de su arquitectura, configurada en capas que, en el caso de un SGBD con arquitectura Web, seran las tres siguientes que muestra la figura 7.3. Capa frontal (Front End), formada por una herramienta genrica llamada navegador1 o browser (p.ej.: Netscape Navigator o Microsoft Internet Explorer). Constituye la interfaz de la mquina del usuario para navegar por la Web. El browser es la parte del usuario, por tanto, es el lado Cliente (descrito en C/S como 1 capa) ahora llamado Cliente delgado, ligero o fino porque son mnimas las exigencias del ordenador que as funciona. Se puede entender al browser como una Interfaz Grfica de Usuario (GUI) que reside en la mquina cliente o mquina remota del usuario. Capa intermedia, llamada Servidor HTTP o Servidor Web que, generalmente, contiene adems al Servidor de Aplicaciones. Se puede entender a esta capa como un conjunto de programas residentes en sitios Web. Actualmente, se trata de bibliotecas de servicios (Java) que siguen estndares del W3C (WSDL, SOA, UDDI, etc.) Capa dorsal (Back End), llamada Servidor de Informacin o Servidor de Bases de Datos, descrito con detalle en el Tema XI de este programa docente (cap. 9 de [Cost99]).

Navegador, mquina conectada a Internet, en ingls: browser. Este texto usa indistintamente ambos trminos.

Tema VII

Madrid, Diciembre de 2009

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos
Browser

Curso 2009-10 Por: Carmen Costilla

Capa 1 Cliente (Front End con el Navegador del Usuario)

Internet

Servidor Web y Servidor de Aplicaciones


Internet

Capa 2, 1er. Servidor (Intermedia)

Servidor de Bases de

Capa 3, 2 Servidor (Back End)

Bases de Datos

Fig. 7.11 Arquitectura Web Abreviada (a tres capas) de un SGBD.

Casi toda la actual tecnologa de bases de datos dispone de un Servidor de Aplicaciones adems del Servidor Web como primera mquina servidora (ubicada en la 2 capa intermedia) y de una segunda mquina servidora donde reside el Servidor de Bases de Datos que pasa a estar en la 3 y ms interna capa operativa de esta arquitectura, como vemos en la figura 7.11.

3.2 Internet y la World Wide Web.


Internet funciona como una federacin de redes comunicadas todas por el mismo conjunto de protocolos, procedentes de la familia TCP/IP (Transmission Control Protocol/Internet Protocol). Un nodo de Internet forma parte de una red de rea local (LAN) que se forma conectando nodos (con PCs o estaciones de trabajo) ubicados en un rea de pequeo alcance. Las redes locales se comunican con las dems formando una jerarqua de redes, por ejemplo: la red universitaria, la red de todas las universidades de un pas, toda la red nacional, y as sucesivamente. Fsicamente, la jerarqua de redes y la estructura de direcciones de los nodos dentro de una red se muestran transparentes (a usuarios y a programas), de tal forma que el usuario puede referenciar2 a cualquier nodo cuya direccin sea conocida por l. Lgicamente, esta federacin de redes se percibe como que cualquier nodo Internet puede conectarse con cualquier otro. Para ello, TCP/IP se organiza en capas como se describi brevemente en el Tema VI. El protocolo TCP permite que los ordenadores (de cualquier fabricante y con sistemas operativos distintos) se comuniquen entre s, y resulta apasionante ver cmo se han superado todas las estimaciones en cuanto a su crecimiento. Lo que comenz a finales de los aos 60 como un proyecto de investigacin financiado por el gobierno norteamericano sobre redes de conmutacin de paquetes, ha llegado a ser desde los 90 la forma de comunicacin entre ordenadores ms difundida. Se trata de un sistema abierto, donde la definicin del protocolo y muchas de sus implementaciones son pblicas y gratuitas. Actualmente TCP/IP es la infraestructura de Internet, la red de rea global que, como sabemos, recubre el globo interconectando millones de ordenadores. La Web se inici con la idea de llegar a ser el medio para poder acceder a diversos documentos de varios tipos, producidos para temas diferentes y mantenidos desde multitud de nodos conectados por Internet. El documento recibi el nombre de hipertexto3 porque su naturaleza no es secuencial, est formada por varias partes relacionadas mediante enlaces; de forma que se puede acceder a cada parte directamente, sin la rigidez de tener que seguir una secuencia dada.
2 3

Referenciar, en la tcnica se entiende como apuntar, sealar o enlazar a algo con otra entidad u objeto. Hiper, prefijo griego que significa "exceso".

Tema VII

Madrid, Diciembre de 2009

10

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

La Web se percibe normalmente como una coleccin de documentos no estructurados. La idea de hipertexto se ha generalizado en muchos sentidos. La tcnica no estructurada no tiene porqu aplicarse slo al documento, mas bien puede usarse para relacionar diversos documentos producidos por distintas personas en distintos momentos. Adems, los documentos no tienen porqu ser textuales, tambin pueden tener imgenes, vdeo, voz, etc. y; cuando esto ocurre, entonces hablamos de navegacin por los hipermedia. Adicionalmente, dichos documentos suelen estar distribuidos entre los nodos de cualquier red de ordenadores; en suma, en Internet. Finalmente, la Web no slo permite acceso a documentos estticos, ya que tambin permite lanzar programas [GoEi01] para que stos generen dinmicamente documentos nuevos (en pginas dinmicas). El punto VII.3.2.2 describe los principales componentes tecnolgicos que posibilitan la implementacin de estas breves ideas sobre la Web. Principalmente son: 1. el protocolo de comunicacin HTTP, 2. el concepto URL para referenciar a los servidores que poseen los recursos, 3. el lenguaje HTML para marcar las partes de los documentos, y 4. el avanzado lenguaje XML, extensin de HTML. Desgraciadamente, la Web est an lejos de ser un repositorio bien organizado de documentos XML, mas bien hoy es un conglomerado de pginas HTML voltiles cuyas estructuras han de ser extradas4 en cada acceso. El gran xito logrado por la Web ha puesto en evidencia una necesidad urgente de ir ms all de una simple navegacin humana por entre los documentos. Ahora, es preciso abordar la construccin de nuevos pasos que permitan realizar dicha navegacin automtica a las aplicaciones con el fin de llegar a ofrecer nuevas formas de interoperabilidad entre los servicios Web. Para lograr esto, las fuentes de informacin de la Web necesitan ser accesibles de forma estructurada y, en este sentido, XML y sus diversas extensiones (en modelo de datos y lenguaje consultivo) son pasos que se vienen dando en esta direccin.

3.3 Servidores de la capa intermedia en la Arquitectura Web.


La figura 7.12 muestra de nuevo la arquitectura Web (desde la fig. 7.10) destacando la segunda capa donde est la primera mquina Servidora que incluye dos tipos de servicios: el proporcionado por el Servidor Web y el del Servidor de Aplicaciones, descritos a continuacin. 3.3.1 Servidor Web: URLs y Protocolo HTTP. La arquitectura Web es una variante de C/S, basada en el protocolo TCP/IP; y, sobre ste, en Web se instala el protocolo HTTP (Hyper Text Transfer Protocol). Con HTTP cualquier cliente browser puede solicitar un documento a un servidor Web usando su URL5 (Uniform Resource Locator). Como indica la figura 7.12, la Web trabaja con Servidores HTTP, ms conocidos por Servidores Web. El protocolo HTTP es de naturaleza muy simple y consta de cuatro fases: a) Abrir la Conexin. En ella, el browser contacta con el servidor HTTP que se indica en el URL para verificar su disponibilidad y correccin (llamado Solicitud HTTP en la figura 7.12); b) Establecer la Conexin. Si el servidor est disponible, ste acepta la conexin y enva una confirmacin al cliente (no representado en la figura 7.12);

4 5

Extraer, sacar algo que est incrustado en el documento. URL, es el Localizador de Recursos Uniforme. Su gnero es masculino, aunque a veces se designe como la direccin donde
se encuentra el recurso (en femenino).

Tema VII

Madrid, Diciembre de 2009

11

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

c) Enviar Solicitud. El cliente enva un mensaje al servidor solicitando un servicio y dando el nombre del recurso invocado y los posibles parmetros de la invocacin (llamado Entrada en fig. 7.12);
HTML

d) Recibir Respuesta. El servidor devuelve al cliente el resultado del servicio requerido (llamado Respuesta en fig. 7.12), y se cierra la conexin por el servidor sin retener informacin alguna para ser usada en conexiones subsiguientes.
Browser

Internet Solicitud HTTP (URL + Entrada) Respuesta HTML

Servidor Web o Servidor HTTP

Entrada

HTML

Programa Servidor, Gateways: CGI/Fast CGI/Java Servlest/ASP/JSP

Internet Consulta SQL


Cola de Entrada

Datos de la BD
Cola de Salida

Servidor de Bases de Datos

Base de Datos

Fig. 7.12 Detalle de la capa 2 de la Arquitectura Web de un SGBD.

La Web hace uso de la naturaleza distribuida de los hipertextos y, mediante un esquema C/S, provee un servicio de transferencia de hipertextos basado en el protocolo HTTP, usado desde 1990. Por tanto, HTTP es un protocolo de nivel de aplicacin con la agilidad y velocidad necesarias para sostener sistemas de informacin hipermedia distribuidos. Se trata de un protocolo orientado a objetos, de carcter genrico, que se puede usar para muchas tareas, tales como nombrar servidores y sistemas de manipulacin de objetos distribuidos, a travs de la utilizacin de las extensiones de sus comandos. Las principales caractersticas de HTTP son su tipado de objetos y la negociacin de la representacin de los datos, permitiendo que los sistemas se construyan con independencia de los datos que deben transferir. Una buena parte de los datos accesibles en la Web estn almacenados en repositorios estructurados, como ocurre en bases de datos. Otros repositorios, como los ficheros planos (textos, imgenes, audio y vdeo), se gestionan a menudo mediante aplicaciones ad hoc. Aunque, desde el momento en que los datos son accedidos va Web, la forma fsica de cmo estn organizados estos datos en el repositorio queda siempre oculta para el usuario, quien slo percibe que unas veces el acceso es gil e inteligente, y otras es lento, algo rgido y no hbil. La direccin de cada mquina -nodo de Internet- que funciona en la modalidad C/S es conocida en el alcance donde ella coopera (para un funcionamiento global) por su direccin IP (Internet Protocol, o nombre asociado a ella) que la identifica unvocamente y TCP es el protocolo para controlar las transferencias de informacin entre mquinas.

Tema VII

Madrid, Diciembre de 2009

12

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

Sobre TCP/IP, la tecnologa Web se fundamenta en saber localizar sitios Web desde una mquina conectada a Internet, que -a su vez- tambin es un sitio Web. El punto de entrada a la Web desde un sitio Web es su pgina casera (home page), identificada por un URL formado por bloques (de nmeros o nombres asociados a esa direccin) y separados por puntos (por ejemplo:
http://www.etsit.upm.es es la pgina casera de nuestra Escuela de Telecomunicacin, y http://www.w3c.org es el URL del sitio web que es responsable de la definicin de estndares Web). Un URL se refiere a otros documentos de otros URLs. As

es como se proporciona la navegacin por los hipertextos para su localizacin. Todo URL tiene la siguiente estructura: [Protocolo://][Servidor/]Recurso, y define objetos en una red Internet, que contienen los siguientes datos sobre: a) la naturaleza del Protocolo que deber ser de alguno de los tipos disponibles en Internet; por ejemplo HTTP, o FTP (File Transfer Protocol), Telnet (para emulacin de terminales) o e-mail para correo electrnico (todos ellos vistos como objetos asociados con alguno de los protocolos o servicios disponibles en Internet: ftp, http, mailto, file, etc.), b) el nodo Servidor de la red, formado [host]:, que viene dado generalmente por su nombre simblico, aunque tambin se puede escribir la direccin IP donde se encuentra dicho servidor, y c) el Recurso dado por el path del directorio seguido del nombre del fichero expresado como [puerto]/[path del fichero] cuyo fichero fsico contiene el objeto solicitado. Por ejemplo, esto es un URL: http://microsoft.com/download/aspdoc.zip. Si se omite el puerto se tomar el vlido por defecto para el protocolo o servicio utilizado (puerto 80 para servicios Web). Existen URLs absolutos y relativos. Los absolutos especifican un path completo (como el del ejemplo anterior) y los relativos especifican un path relativo al URL del documento (por ejemplo: imagenes/dibu1.gif). HTTP es un valioso medio para establecer enlaces entre un gran nmero de nodos independientes. Su contrapartida es que no mantiene ningn contexto entre el cliente y el servidor, lo que puede resultar muy pesado para el usuario a la hora de mantener determinadas sesiones. Si un cliente lanza a un mismo servidor varias solicitudes, el servidor no es capaz de mantener informacin sobre las solicitudes anteriormente hechas por el mismo cliente ni de los resultados anteriormente enviados a ste. Ello se debe a la gran simplicidad del protocolo, lo que representa serias limitaciones en aquellos casos que requieren una interaccin fluida entre mquinas, como las que necesitan las transacciones realizadas en las bases de datos. 3.3.2 La seguridad en Internet. Como todo sistema informtico de comunicaciones, la Web precisa una serie de herramientas de seguridad asociadas como son: La autenticacin de solicitudes y de servidores. La privacidad de solicitud y respuesta. Proteccin contra abusos de la capacidad del servidor y de la informacin disponible Control de acciones inconscientes sobre la red.

Aunque HTTP intenta abordar algunos de estos problemas, la seguridad se mejora con el protocolo HTTPS, cuya 'S' final significa Security. 3.3.3 Gateways, CGI y Servidor de Aplicaciones.

Tema VII

Madrid, Diciembre de 2009

13

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

Los Servidores Web invocan a programas (llamado Entrada en la Figura 7.12) y, en cada invocacin, pasan los debidos parmetros, como por ejemplo: los datos de entrada que el usuario ha escrito en un formulario (form). Ahora veremos el concepto bsico relativo a la forma de acceso a una base de datos. En la figura 7.12 se observa el flujo de mensajes (unos de peticin, otros de respuesta) entre el browser, el Servidor Web y el Servidor de Aplicaciones. La primera peticin del cliente se enva al Servidor Web y ste, a su vez, enva la solicitud al Servidor de Aplicaciones que es quien invocar al Servidor de Bases de Datos. Cuando ste ltimo servidor realice las acciones necesarias, enviar la respuesta con la informacin procesada siguiendo el camino anterior, pero ahora recorrido en direccin contraria, hasta que la respuesta llegue al browser que lanz la solicitud [Or9i01]. Describiremos brevemente cmo se establece la comunicacin entre el Servidor Web y el Servidor de Aplicaciones. Para ello, el Servidor Web utiliza diferentes tecnologas para obtener y enviar la informacin que va a ofrecerle el Servidor de Aplicaciones. Dichas tecnologas son las siguientes: - CGI (Common Gateway Interface), mecanismo de comunicacin escrito en: Java, C, C++, Perl, etc., - ASP (Active Server Pages), tecnologa de Microsoft, - JSP (Java Server Pages), - Java Servlets, tecnologa de Sun, - Java Script, tecnologa de Netscape Un gateway6 es cualquier programa que ha sido llamado por un Servidor Web. El programa puede estar escrito en un lenguaje de alto nivel (C, C++ o Java) y compilado, o bien puede estar escrito en un lenguaje interpretado (como Perl o Tcl -usado para realizar operaciones sobre cadenas de caracteres-), o incluso puede estar en algn lenguaje script de los sistemas operativos. Como su nombre indica, el gateway permite establecer una conexin entre el Servidor Web y otro entorno cualquiera que proporcione el servicio requerido. El Servidor de Aplicaciones es un programa que reside en el 1er. Servidor (2 capa) de la arquitectura Web y proporciona cierta lgica de negocio para las aplicaciones. El gateway se invoca usando un URL parecido a como se invoca a los ficheros HTML mediante el protocolo HTTP donde, normalmente se inicia con http:// , despus se indica el nombre del servidor, el del directorio y el de un fichero (path), y los parmetros se pueden especificar aadidos al URL. El mecanismo de comunicacin entre el Servidor Web y los gateways se llama CGI y sigue los siguientes pasos: 1. El usuario, desde su browser, solicita el URL bien enviando un formulario o bien haciendo click con el ratn sobre un ancla. Con ello, se transmiten los parmetros al Servidor Web, cuyas tcnicas detalladas escapan al inters de nuestro programa. 2. El Servidor Web lanza el gateway (tambin llamado programa CGI) segn el protocolo CGI y le transmite los parmetros. 3. Con los parmetros recibidos, se ejecuta el gateway y, en la arquitectura que nos ocupa, interactuar con el Servidor de Bases de Datos (llamado Consulta SQL en la figura 7.12). 4. Cuando el gateway reciba respuesta del Servidor de Bases de Datos (llamado Datos de la BD en la figura 7.4), retornar el resultado al Servidor Web (llamado HTML en la figura 7.12). 5. Finalmente, el Servidor Web transmite el resultado al browser (Respuesta HTML en la fig. 7.12). La figura 7.13 detalla algunas implementaciones utilizadas para el Servidor de Aplicaciones, cuyas principales caractersticas se resumen en los siguientes puntos:
6

Gateway, puerta de paso o pasarela a otro entorno. Usaremos gateway por brevedad y uniformidad con la terminologa tcnica.

Tema VII

Madrid, Diciembre de 2009

14

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos
Browser

Curso 2009-10 Por: Carmen Costilla

Servidores de Aplicaciones Web

JAVA
Netscape App Server IBM Websphere Oracle Web App Server Sun NetDynamics BEA WebLogic Silver Stream Inprise App Server

ActiveX
Lotus Domino Microsoft ASP/MTS

C / C++
Applet Web Objects Seagate Info APS

Servidor de Bases de Datos

Bases de Datos Fig. 7.13 Detalle del Servidor de Aplicaciones en la Arquitectura Web de un SGBD.

Gestin de Componentes: Proporcionan herramientas para controlar todos los componentes y servicios de ejecucin como la gestin de sesiones, notificaciones sncronas / asncronas entre clientes, as como la ejecucin de servidores de lgica de negocio. Tolerancia frente a Fallos: Capacidad de recuperacin frente a fallos, evitando un nico punto de ruptura, definiendo polticas de recuperacin en caso de fallo de uno o varios objetos. Balanceo de Carga: Posibilidad de enviar las peticiones a diferentes servidores dependiendo de la carga y capacidad de cada uno de ellos. Gestin de Transacciones: Descrito en Tema XI (captulo 9 de [Cost99]). Gestin Centralizada: Gestin centralizada a travs de una consola grfica para monitorizar los clientes y los distintos servidores o clusters. Seguridad: Caractersticas de seguridad y gestin de usuarios y grupos. Los servidores de aplicaciones se organizan principalmente en tres grandes tipos: Web Information Servers: Este tipo de servidores emplean plantillas HTML y Scripts para generar pginas e incorporar valores de las bases de datos en ellas. Estos servidores son stateless servers, es decir, no gestionan el estado de los datos ni coordinan las transacciones. Servidores de este tipo son el Netscape Server, Allaire o Sybase. Component Servers: La principal caracterstica de estos servidores es proporcionar acceso a la base de datos y servicios de procesamiento de transacciones a componentes DLL, CORBA, y JavaBeans. Proporcionan el entorno para los componentes del servidor y acceso a los datos y otros servicios a estos componentes. Tambin son stateless servers. Ejemplos de este tipo de servidores son MTS, Sybase Jaguar, y el IBM Component broker. Active Application Server: Este tercer tipo de servidores soporta y proporciona un buen entorno para la lgica del servidor expresada en objetos, reglas y componentes. A diferencia de los anteriores, son stateful servers y son ms propicios para desarrollos basados en e-commerce y procesos de toma de decisiones. Los stateful servers son los que juegan el rol de coordinadores de transacciones y gestionan el estado de los datos, se estudiarn en el Tema XII junto al protocolo Two Phase Commit.

Tema VII

Madrid, Diciembre de 2009

15

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

VII.4 Sobre la Estructuracin de los Datos y Consultas a Datos Intensivos y heterogneos en la Web.
Todos los conceptos y tcnicas del Modelado Conceptual (vistos en el Tema II, Cap. 2 de [Cost99]) y del Diseo de Bases de Datos XML-Objeto-Relacionales (Tema IV, Captulos 4 y 5 de [Cost99]) son adaptables al caso que nos ocupa. Ahora, la base de datos se concibe para operar en la arquitectura Web, donde el sitio de nuestro inters contendr un Servidor de Bases de Datos y, por tanto, los accesos a la BD sern percibidos en la Web como un sitio que contiene datos intensivos y estructurados en una BD (o en varias). Los sitios con datos intensivos son aquellos cuyo principal propsito es ofrecer grandes cantidades de informacin a una variedad de usuarios. Es decir, sitios que cuentan con un Servidor de Bases de Datos. La idea general que hoy tenemos de la Web se puede situar en algn punto intermedio de los dos extremos siguientes: a) Por un lado, se puede percibir la Web como una fuente de informacin unificada. Aunque esto no sera veraz del todo, ya que la Web adolece bastante de coherencia en la forma de presentar la informacin til al usuario, sobretodo en lo concerniente a su calidad en lo sustancial y a su accesibilidad. b) Por otro lado, la Web se puede considerar como una inmensa coleccin de pginas independientes (conglomeradas) donde, cada pgina se percibe como una fuente independiente de informacin til que nada tiene que ver con lo que ofrecen las dems (y casi infinitas) pginas. ste es el punto de vista que adoptan las listas de bookmarks7 para sealar sitios Web, gestionados por el navegador y los motores de bsqueda (p. ej. Google, Alta Vista, Yahoo, etc.) ocupados en seleccionar enlaces a pginas simples, cuyas tcnicas son propias de la bsqueda documental (Information Retrieval, thesaurus, vase epgrafe I.3.b del captulo 1 [Cost99]). Ambos extremos resultan inapropiados para delimitar el alcance del diseo de bases de datos en, y para, la Web. En efecto, el diseo tiene que concentrarse en un determinado Universo del Discurso (el que, en cada caso, resulte necesario) que debe estar sometido al control requerido en los objetivos de cada diseo concreto. Debido a que los sitios Web disfrutan normalmente de la propiedad enunciada en b), nosotros deberemos entender que los sitios Web son como una extensin a incorporar en la actividad del diseo de bases de datos, como un ingrediente ms que se aade al trabajo de diseo de bases de datos que hasta ahora conocemos como clsico. Este epgrafe se dedica al anlisis y estudio de dicho ingrediente nuevo: concentrado en disear sitios Web con datos intensivos cuyas exigencias son las de ser los mejores servidores utilizando estructuras muy regulares. Lo que contrasta con la organizacin de la informacin que hoy ofrece Internet, cuya descripcin se realiza en todo este epgrafe.

4.1 Modelo OEM. Clasificacin de Sistemas de consulta a datos intensivos y heterogneos en la Web.
Aunque la Web comenz siendo una coleccin que interconecta documentos no estructurados, hoy cuenta con un gran nmero de fuentes de datos estructurados en bases de datos (de todo tipo y naturaleza) a las que se accede mediante gateways. Desde la arquitectura C/S, la interfaz de estas bases de datos gateways est formada tpicamente por mltiples formularios (forms) y por multitud de informes (reports). Los forms son como una plantilla (template) donde se actualiza el estado de la BD (altas, bajas y modificaciones) en los campos y ventanas previstos en cada formulario. Los reports, por su parte, realizan accesos meramente consultivos para devolver informacin de la BD, cuya presentacin final (valores de datos, barras o tartas estadsticas, etc.) est prevista en cada tipo de informe.

Bookmark, lo que se coloca entre las pginas de un libro para marcar un lugar.

Tema VII

Madrid, Diciembre de 2009

16

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

En la Web, el resultado de una consulta a la BD toma forma de documento HTML que est muy estructurado y que puede ser convertido (con un parser) a un conjunto de tuplas o a tipos de datos ms complejos. Este asunto est hoy bastante bien resuelto, como se describe en el siguiente epgrafe. Sin embargo, adems de lo dicho para las BD operativas en Web, existen otras fuentes de informacin como el nombre de los servidores, fuentes bibliogrficas, amplios sistemas de informacin (sobre universidades, empresas, etc.) que ofrecen informacin online pero que pueden no estar disponibles en la Web y cuyas interfaces tambin proporcionan accesos consultivos [TRCH05]. Actualmente, la estructuracin de los datos disponibles en Internet se organiza de muy diversas maneras, cuyo rango vara desde los datos sin estructura alguna (texto bruto, mapas, imgenes, etc.) hasta los datos totalmente estructurados como lo estn en las bases de datos (jerrquicas, Codasyl, relacionales u orientadas a objetos). Entre estos dos extremos, estn los documentos HTML que se han denominado como semi-estructurados [Abit97] y se sitan en algn lugar intermedio de las tcnicas de estructuracin, y que presentan notables diferencias a las tcnicas usadas en las BD. Los datos semi-estructurados no utilizan el concepto de esquema (nivel intensional en BD) como molde que acoge a mltiples valores de datos (nivel extensional en BD). Al contrario, en el documento HTML (semi-estructurado) cada una de sus partes componentes posee una definicin propia y exclusiva. De forma que la organizacin del documento consiste principalmente en definir los enlaces entre sus partes y albergar el valor del dato (sea un objeto estructurado o valor atmico) en cada parte. El Modelo de Intercambio de Objetos, en adelante OEM (Object Exchange Model) se ocupa del intercambio de objetos entre fuentes de datos heterogneas con la idea de incorporar alguna estructura a los datos no estructurados [PaGW95], [BDFS97] y permitir la formulacin de consultas y su optimizacin a datos semiestructurados [GoWi97]. Se define la semi-estructura como un grafo etiquetado, donde los nodos etiquetados contienen objetos y los arcos son referencias. Un objeto OEM consta de: a) una etiqueta nombre de la clase de objetos, opcionalmente puede llevar un oid (object identifier). b) un tipo que puede ser atmico (string, entero, etc.) o conjunto (set), c) un valor (uno y slo uno) que puede ser atmico o un conjunto de objetos. La figura 7.14 muestra un objeto OEM con la etiqueta 'BSDT 5403 Telecomunicacin' cuyos valores muestran un conjunto de las caractersticas docentes de la asignatura donde se usa este libro. A este respecto, la nueva propuesta del estndar SQL-99 [ISOa99], [ISOb99], [ISOc99] y [ISOd99] realiz, entre otros [EiMe00], un importante avance en el SQL/MED que tiene especial importancia para el tema que ahora nos ocupa.
BSDT 5403 Telecomunicacin set

Ubicacin set

Departamento string Telemtica, DIT Semestre string primero Web del DIT char
http://www.dit.upm.es

Crditos char
6 (4,5 T +1,5 P)

Ciclo string segundo

Curso string quinto

Materia que desarrolla (BOE) string


Ingeniera de Sistemas Informticos

Fig. 7.14 Ejemplo de Objeto OEM para la asignatura BSDT 5403.

Tema VII

Madrid, Diciembre de 2009

17

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

Management of External Data, abreviado como SQL/MED, se dirige a proporcionar soluciones para permitir que las aplicaciones usen SQL para acceder a datos no-SQL (datos en ficheros ordinarios, o en cintas magnticas, o bases de datos jerrquicas o Codasyl, o incluso datos obtenidos en tiempo real, o datos no almacenados como los que devuelven los sensores). SQL/MED proporciona una API entre un servidor de SQL (base de datos local) y otra entidad llamada 'empaquetador de datos externos' (foreign-data wrapper). Las casas comerciales tienden a establecer una estrecha cooperacin en este asunto. Por ejemplo, Oracle tiene Miracle: Open Transparent Gateway y proporciona servicios de acceso a datos heterogneos, Sybase tiene OmniConnect para proporcionar accesos a diferentes fuentes de datos y, finalmente, IBM proporciona el DB2 DataJoiner para poder acceder a datos tradicionales o no. El documento de SQL/MED puede encontrarse en el directorio /SC32/WG3/ Progression_Documents/FCD/ en el fichero: fcdi-fcd1-med-1999-11.pdf (.ps o .txt). Los esfuerzos de estandarizacin de SQL, en su secuencia de promulgaciones parecen no tener un final inmediato. Mientras cambien las necesidades o mientras la tecnologa cambie de forma drstica, SQL continuar evolucionando para llegar a ser el lenguaje intergalctico de datos (como dijo Mike Stonebreaker en 2000). Por ello, SQL est llamado a mejorar y seguir creciendo continuamente hasta alcanzar su final. Indiscutiblemente, el tema de la variopinta estructuracin de los datos en la Web es un paso ms (abierto a la investigacin actual) sumado al de la heterogeneidad de las fuentes de datos. Adicionalmente, el explosivo crecimiento de datos en la Web ha producido el desarrollo de sistemas que aplican el 'estilo de las bases de datos' para consultar y gestionar los datos Web. Por ejemplo, WebSQL [MeMM97], WebOQL [ArMe98], Strudel, etc. Estos sistemas utilizan algunas tcnicas y mecanismos que son exclusivos para la Web. Una referencia recomendada es [FlLM98] por cuanto que describe una panormica de sistemas para la gestin de datos en Web utilizando tecnologa de bases de datos. Finalmente, y como una valiosa panormica del tema, en [DoDi99] se describe una clasificacin de los actuales sistemas para consultar datos heterogneos (estructurados, semi-estructurados o nada estructurados). La figura 7.15 muestra lo ms relevante de esta aportacin. En ella, las cajas sin sombra se han estudiado en esta asignatura y las cajas sombreadas se refieren al asunto que ahora nos ocupa.

mover los datos

Sistemas para consultar fuentes de datos heterogneos


materializado virtual

dejar el dato donde est

Sistemas materializados
(los datos que provienen de fuentes locales se integran en una sola BD sobre la que operan las consultas)

Sistemas virtualmente integrados


(los datos permanecen en las fuentes locales, las consultas operan directamente sobre ellas y la integracin de los datos se produce, 'a sobrevuelo' durante el procesamiento de la consulta

datos nativos estructurados

datos estructurados nativos y derivados

datos nativos y no estructurados

datos nativos mayoritariamente estructurados

datos nativos estructurados, semiestructurados o no estructurados

SGBD Universal

Almacn de Datos (data warehouse)

motores de (meta)bsqueda

BD Federadas (multidatabase)

Sistemas Consultivos con Mediador (Mediator-Wrapper)

Fig. 7.15 Clasificacin de los Sistemas para consultar datos heterogneos.

VII.5 Arquitectura Mediador-Wrapper


Para los Sistemas Consultivos basados en el paradigma Wrapper-Mediator (figura 7.16) se propone una arquitectura virtual al-vuelo. Su objetivo es permitir consultas distribuidas a mltiples fuentes de datos en Internet [OzVa99] y su enfoque es algo prximo a la arquitectura Multidatabases [LiAb87] (Cap. 2 de [OzVa99]).

Tema VII

Madrid, Diciembre de 2009

18

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

Cada wrapper exporta al diccionario de datos global informacin sobre su esquema fuente, sus datos y sus posibilidades consultivas. Con ello, el Mediador centraliza la informacin recibida de los wrappers en una vista unificada de todos los datos disponibles (almacenados en el Diccionario de Datos global), descompone las consultas del usuario en pequeas consultas (ejecutables por los wrappers) toma los resultados parciales y elabora la respuesta a la consulta del usuario web[Wied92], [Wied99]. Como se refleja en la figura 7.15, la arquitectura Mediador-Wrapper de la figura 7.16 difiere de la de los almacenes de datos en que en la primera los datos integrados no estn materializados, son virtuales.
Empaquetador
(Wrapper) Fuente de Datos

Vista Global Servidor Consultas Web


Diccionario de Datos Global

Empaquetador
(Wrapper)

Fuente de Datos

Empaquetador
(Wrapper)

Fuente de Datos

Fig. 7.16 Arquitectura Mediador-Wrapper.

No existe an consenso sobre cmo puede el wrapper describir las posibilidades de su fuente de datos ni sobre cmo trabaja el mediador. La ventaja de este enfoque radica en que cada wrapper atiende a un dominio de informacin especfico y particular, sobre el que puede conocer el nivel de estructuracin de sus datos fuente, su semntica (si existe), etc. Este tipo de arquitecturas virtuales se instancian al vuelo (on-the-fly) y estn basadas en estndares del W3c Consortium, como J2EE o web-centric (http://www.w3.org). Dichas arquitecturas utilizan la invocacin a Servicios Web (SOA, WSDL, UDDI, etc.) y/o Servicios Grid y se implementan mediante bibliotecas de Java [CRCF05], [RoCC06].

5.1 Casos de Arquitecturas Mediador-Wrapper en la Web. Nuestra Experiencia.


En [THCH05], [CRPC05], [CRCF05], [PCC05], y [CPCV05] pueden verse mayores detalles de arquitecturas basadas en el enfoque Mediador-Wrapper, como propuesta resultante de la actividad investigadora realizada en SINBAD para el acceso a mltiples fuentes de datos Web heterogneas. La siguiente figura (7.17) muestra, a modo de ejemplo, nuestra propuesta investigadora para un Sistema de Informacin que consulta mltiples fuentes de datos heterogneas. Cada Wrapper se ubica conceptualmente en la parte back-end sobre cada fuente de datos. Esta arquitectura propone un Modelo Extractor de Datos (MED) que traduce a tecnologa XML la informacin provinente de cada fuente de datos. Junto a ello, en la capa mediadora de esta arquitectura Web, hemos propuesto un Modelo de Unificacin Semntica (MUS), donde se instalan diversas ontologas encargadas de la unificacin semntica de los conceptos. Estos conceptos responden al dominio especfico de inters donde hemos aplicado esta arquitectura: unas veces relativos al dominio especfico de los Archivos Digitales del mundo documental, y otras veces al dominio de egovernment referido a la actividad legislativa parlamentaria durante el proceso de sustanciacin de la Iniciativa Legislativa, que es aquella iniciativa que realiza una propuesta de ley (o proposicin de ley) para su promulgacin, o rechazo, en el seno de un Parlamento. As se construyen las Leyes en democracia.

Tema VII

Madrid, Diciembre de 2009

19

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos
Wrapper 1 (XML translator)
Virtual Integrated Metadata Mappings

Curso 2009-10 Por: Carmen Costilla


Digital Archive 1
Data Source

Mediator:
Web Browser

URL + Query HTML Form (results)

Web S e rv e r

Request Query HTML Form (results)

Global and Dynamic Integration

Data Source ( Asamblea of Madrid) Digital Archive N

Ontologies

Wrapper N (XML translator)

Fig. 7.17. Web Digital Archive Integrated Architecture through Mediator and Wrappers.

Mayores detalles se explican en clase con cierto detenimiento. Adems, el lector interesado puede recabar detalles en la bibliografa especfica que refiere el apartado 5.1.1 siguiente.

5.1.1 Bibliografa especfica de nuestra experiencia en Mediador -Wrapper.


[THCH05] Thiran P., Risch T., Costilla C., Henrard J., Kabisch T., Petrini J., van den Heuvel W. and Hainaut J., Report on the Workshop on Wrapper Techniques for Legacy Data Systems, ACM Sigmod Record (Web Edition), 34(3), pp 85-86, Sept. 2005. Available in:

http://www.sigmod.org/sigmod/record/issues/0509/p85-column-brian-1.pdf
[CRPC05] Costilla C, Rodrguez MJ, Palacios JP, Cremades J, Calleja A and Fernndez R, A Contribution to Web Digital Archive Integration from the Parliamentary Management System SIAP, Frontiers in Artificial Intelligence and Applications, Data Bases and Information Systems. Selected papers from the Sixth International Baltic Conference DB&IS'2004, Vol. 118, Barzdins J. and Caplinskas A. (eds), ISBN: 1-58603485-5, IOS Press, The Netherlands, pp. 273-287, 2005. [CRCF05] Calleja A, Rodrguez MJ, Costilla C and Fernndez R., A Grid Semantic Approach for a Digital Archive Integrated Architecture, in The Third International Conference on Information Technology and Applications (ICITA'05), Session: Agent, Datamining and Ontologies, ADO'05, Sydney, Australia, http://attend.it.uts.edu.au/icita05/, ISBN: 0-7695-2316-1, IEEE Computer Society, Los Alamitos, California, USA, pp. 227-232, July 2005. [PCC05] Palacios JP, Cremades J and Costilla C., Towards a Web Digital Archive Ontological Unification, in The Third International Conference on Information Technology and Applications (ICITA'05), Session: Agent, Datamining and Ontologies, ADO'05, Sydney, Australia, http://attend.it.uts.edu.au/icita05/, ISBN: 0-76952316-1, IEEE Computer Society, Los Alamitos, California, USA, pp. 221-226, July 2005, [CPCV05] Costilla C, Palacios J, Cremades J and Vila J, e-government: A Legislative Ontology for the 'SIAP' Parliamentary Management System, in E-Government: Tow ards Electronic Democracy, Proceedings of International Conference TCGOV 2005, Lecture Notes in Artificial Intelligence, LNAI 3416-0134, LNCS Series, ISBN 3-540-25016-6, Springer, Berlin, Germany, IFIP 2005, Bozen-Bolzano, Italy http://www.inf.unibz.it/tcgov2005/, pp. 134-146, March 2005.

Finalmente, por tratarse de un enfoque de futuro y que viene del autor a quien debemos la Web, sealaremos una de sus recientes perspectivas investigadoras. Literalmente, en [Bern05], Tim Berners-Lee dice lo siguiente: The key property of the WWW is its universality: One must be able to access it whatever the hardware device, software platform, and network one is using, and despite the disabilities one might have, and whether one is in a developed or developing country; it must support information of any language, culture, quality, medium, and field without discrimination so that a hypertext link can go anywhere; it must support information intended for people, and that intended for machine processing. The Web architecture incorporates various choices which support these axes of universality.

Tema VII

Madrid, Diciembre de 2009

20

DIT-ETSIT-UPM
TemaVII

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

Currently the architecture and the principles are being exploited in the recent Mobile Web initiative in W3C to promote content which can be accessed optimally from conventional computers and mobile devices. New exciting areas arise every few months as possible Semantic Web flagship applications. As new areas burst forth, the fundamental principles remain important and are extended and adjusted. At the same time, the principles of openness and consensus among international stakeholders which the WWW Consortium (W3C) employs for new technology are adjusted, but ever-important. Como conclusin final hay que resaltar que el acceso o consulta a mltiples sitios Web con datos heterogneos y diferentes niveles de estructuracin, como hoy se precisa en la Web, es un problema complejo abierto a la investigacin y cuya solucin inteligente y eficaz requiere de nuevos conceptos y tcnicas sobre los que an queda mucho camino por andar.

VII.6 Referencias Bibliogrficas.


[Abit97] [ArMe98] [BCGP92] [BeCG92] [Bern97] [Bern05] [BDFS97] Abiteboul S., Querying Semi-Structured Data, in Proc. 6th Int. Conf. On Database Theory, Vol. 1186 of Lecture Notes in Computer Science, Springer_Verlag, January pp. 1-18, 1997. Arocena G. and Mendelzon A., WebOQL: Restructuring Documents, Databases and Webs, Proc. of 14th Int. Conf. on Data Engineering (ICDE98), Florida, 1998. Tim Berners-Lee, Robert Cailliau, Jean-Franois Groff, Bernd Pollermann: World-Wide Web: The Information Universe. Electronic Networking: Research, Applications and Policy 1(2): 74-82 (1992) Tim Berners-Lee, Robert Cailliau, Jean-Franois Groff: The World-Wide Web. Computer Networks and ISDN Systems 25(4-5): 454-459 (1992) Tim Berners-Lee: World-Wide Computer. Commun. ACM 40(2): 57-58 (1997) Tim Berners-Lee: WWW at 15 years: looking forward. WWW 2005: 1 Buneman P., Davidson S., Fernandez M. and Suciu D., Adding Structure to Unstructured Data, in Proc. 6th Int. Conf. on Database Theory, Vol. 1186 of Lecture Notes in Computer Science, Springer-Verlag, January pp. 336-350, 1997. Carmen Costilla, M. J. Bas, J. Villamor: SIRIO: A Distributed Information System over a Heterogeneous Computer Network. ACM SIGMOD RECORD, 22(1): 28-33, 1993. C.Costilla, Sistemas de Bases de Datos. Conceptos, Tcnicas y Lenguajes, ISBN: 84-7402-271-1, 464 pginas, Servicio de Publicaciones, ETSI Telecomunicacin, 1999. Calleja A, Rodrguez MJ, Costilla C and Fernndez R., A Grid Semantic Approach for a Digital Archive Integrated Architecture, in The Third Int. Conf. on Information Technology and Applications (ICITA'05), Session: Agent, Datamining and Ontologies, ADO'05, Sydney, ISBN: 0-7695-2316-1, IEEE Computer Society, USA, pp. 227-232, July 2005. Costilla C, Rodrguez MJ, Palacios JP, Cremades J, Calleja A and Fernndez R, A Contribution to Web Digital Archive Integration from the Parliamentary Management System SIAP, in Frontiers in Artificial Intelligence and Applications, Data Bases and Information Systems. Selected papers from the Sixth Int. Baltic Conference DB&IS'2004, Vol. 118, Barzdins J. and Caplinskas A. (eds), ISBN: 1-58603-485-5, IOS Press, The Netherlands, pp. 273-287, 2005. Domenig R. and Dittrich K.R., An Overview and Classification of Mediated Query Systems, in ACM SIGMOD RECORD, Vol. 28, N. 3, pp. 63-72, September, 1999. Eisenberg A. and Melton J., SQL Standardization: The Next Steps, in ACM SIGMOD Record, 29(1), 2000. Florescu D., Levy A. and Medelzon A., Database Techniques for the World Wide Web: A Survey, SIGMOD RECORD, September, 1998. Goodman, D., Eich, B., JavaScript Bible, 4th Edition, Hungry Minds Inc., 2001. Goldman R. and Widom J., DataGuides: Enabling Query Formulation and Optimization in Semistructured Databases, in Proc. 23rd Int. Conf. on Very Large Data Bases, September, pp. 436-445, 1997. Information Systems -Open Systems - Remote Database Access. ISO/JTC 1/SC 21, 1989. ISO/IEC 9075-1:1999, Information Technology - Database language - SQL - Part 1: Framework (SQL/Framework), 1999.

[CoBV93] [Cost99]
[CRCF05]

[CRPC05]

[DoDi99] [EiMe00] [FlLM98] [GoEi01] [GoWi97] [ISO89] [ISOa99]

Tema VII

Madrid, Diciembre de 2009

21

DIT-ETSIT-UPM
TemaVII
[ISOb99] [ISOc99] [ISOd99] [LiAb87] [MeMM97] [Or9i01] [OzVa99] [PaGW95] [RoCC06]

Bases de Datos
Arquitecturas de los SGBD Distribuidos

Curso 2009-10 Por: Carmen Costilla

[TRCH05] [Wied92] [Wied99]

ISO/IEC 9075-2:1999, Information Technology - Database language - SQL - Part 2: Foundation (SQL/Foundation), 1999. ISO/IEC 9075-3:1999, Information Technology - Database language - SQL - Part 3: Call Level Interface (SQL/CLI), 1999. ISO/IEC 9075-4:1999, Information Technology - Database language - SQL - Part 4: Persistent Stored Modules (SQL/PSM), 1999. W. Litwin and A. Abdellatif, An overview of the Multidatabases Manipulation Language - MDL, Proc. IEEE, Vol. 75, N 5, pp. 621-631, May 1987. Mendelzon A., Mihaila G. and Milo T., Querying the World Wide Web, J. of Digital Libraries, Vol. 1, N. 1, 1997. ORACLE 9i, SQL Reference, disponible en: http://technet.oracle.com/doc, June 2001 zsu T. and Valduriez P., Principles of Distributed Database Systems, 2nd edition, Prentice Hall, 1999. Papakonstantinou Y., Garcia-Molina H. and Widom J., Object Exchange across Heterogeneous Information Sources, in Proc. 11th Int. Conf. On Data Engineering, March pp. 251-260, 1995. Ramses Rodrguez, Carmen Costilla, Antonio Calleja: A Topic-based approach to express dynamic capabilities of Semantic WS-Resources, Int. Conf. on Internet and Web Applications and Services, AICIT/ICIW 2006, track: Web Services-based Systems and Applications (WEBSA 2006), IEEE Computer Society, USA, ISBN: 0-7695-2522-9, On page(s): 181- 181, Digital Object Identifier: 10.1109/AICTICIW.2006.39, 2006. Philippe Thiran, Tore Risch, Carmen Costilla, Jean Henrard, Thomas Kabisch, Johan Petrini, Willem-Jan van den Heuvel, Jean-Luc Hainaut: Report on the workshop on wrapper techniques for legacy data systems. SIGMOD Record, 34(3): 85-86, 2005. Gio Wiederhold (1992). Mediators in the Architecture of Future Information Systems. IEEE Computer, 25(3):3849. Gio Wiederhold: Meditation to Deal with Heterogeneous Data Sources. INTEROP 1999: 1-16

Tema VII

Madrid, Diciembre de 2009

22

You might also like