Master Servicios Web Seguridad Informtica y Aplicaciones de
Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Módulo Web Semántica Bases de Datos Federadas Eduardo Mena Área de Lenguajes y Sistemas Informáticos Dpto. de Informática e Ingeniería de Sistemas emena@unizar. es, 976 -76 23 40 Despacho D 0. 17, Edificio Ada Byron Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Bases de Datos Federadas Bases de Datos Distribuidas Bases de Datos Interoperables Bases de Datos Federadas Sistemas de Información Globales Prácticas: agentes que acceden a BDs y Webs para poblar una ontología sobre alimentos y comensales Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Bases de Datos Federadas Objetivo: Ø Ø Una BD varias BDs Problemas de heterogeneidad w Sintáctica w Semántica Ø Ø Conocer las tendencias futuras (I+D) Saber aplicar nuestros conocimientos a casos reales Prácticas: Desarrollo de un prototipo en entornos heterogéneos y distribuidos Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Bases de datos distribuidas Tecnología de Bases de Datos (tradicional) Ø Centralización de datos w Varios Ficheros Una Base de Datos Redes de Computadores Ø Distribución/compartición de recursos w BD centralizada BD distribuida (¿varias BDs? ) BD Distribuidas: unión de estas dos aproximaciones (aparentemente opuestas) Ø La tecnología de BD busca la INTEGRACIÓN de los datos y no la CENTRALIZACIÓN Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Integración vs. Centralización El número de fuentes de datos accesibles crece Centralización Ø mantener un único depósito de datos donde acceder desde distintos nodos Integración Ø enlazar virtualmente los distintos depósitos de datos (heterogéneos) para ofrecer una visión similar a un único depósito centralizado Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Definición de base de datos distribuida Un sistema de BD distribuidas es una colección de varias BDs que se encuentran lógicamente inter-relacionadas y distribuidas sobre una red de ordenadores. Un sistema de gestión de bases de datos distribuidas (SGBDD) es el software que permite el manejo de sistemas de BDs distribuidas y que hace dicha distribución transparente al usuario. No son Sistemas de BDs Distribuidas: Ø Acceder remotamente a una BD que reside en uno de los nodos de una red Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Transparencia en Entornos Distribuidos Transparencia de red Ø Ø Ø el usuario no debe ser consciente del uso de la red transparencia de localización: dónde están los datos, lenguajes “locales” necesarios transparencia de nombres: nombres únicos en todo el sistema distribuido, independientes de la localización Transparencia de fragmentación Ø el usuario no debe ser consciente de la existencia de varios depósitos de datos Transparencia de replicación Ø el usuario no debe ser consciente de la existencia de varias copias de los datos Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Ventajas de las BDD La distribución puede ser la organización más natural Mayor fiabilidad y disponibilidad (puede haber replicación) Autonomía local (establecer políticas locales de acceso a datos) Más eficiencia al acceder a los datos locales (frente a una centralizada) Economía (mejor varios PCs en red que un mainframe) Más posibilidades de expansión (añadir más recursos a la red) Compartición de datos (debido a que se encuentran en red) Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Desventajas de las BDD Falta de experiencia en el diseño de SBDD Complejidad Ø todos los problemas de las BD centralizadas + otros Costo (hardware / tiempo acceso) Distribución del control Ø también era ventaja: autonomía Seguridad Ø se añaden los problemas de seguridad en redes Dificultad de cambio Ø Cuando ya existe una BD centralizada Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Factores que influyen en las arquitecturas de BDDs (I) Distribución Ø Ø Una BD es distribuida si esta dividida en distintos componentes (integrados) BDD ≠ varias BDs no integradas Los componentes distribuidos que constituyen una BD distribuida son a su vez bases de datos (BDs componentes o locales) Las BDs componentes tendrán un grado de autonomía local determinado Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Factores que influyen en las arquitecturas de BDDs (II) Autonomía Tipo de control que los SGBD tienen sobre cada BD local w Autonomía de diseño: existe si los administradores de la BD (ABD) pueden cambiar el esquema conceptual de sus BDs independientemente de si forman parte de un sistema distribuido o no. w Autonomía de comunicación: si se puede decidir localmente cuándo comunicarse con los otros SGBD locales. w Autonomía de ejecución: si se pueden ejecutar transacciones globales y locales en el orden en que se quiera. w Autonomía de participación: si puede decidir cómo participar en el sistema distribuido. Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Factores que influyen en las arquitecturas de BDDs (III) Heterogeneidad Ø Distinto hardware, SO, software comunicaciones. Ø Distinto modelo de datos (rel. , jerárquico, red, OO, . . ) Ø Distintos SGBDs (aunque sean del mismo modelo) Ø Heterogeneidad semántica (aun con el mismo SGBD) sinonimia: elementos iguales con distintos nombres homonimia: elementos distintos con igual nombre otras relaciones semánticas (hiperonimia, hiponimia, agregación, etc, …) el mismo elemento del mundo real puede ser representado como entidad o atributo, atributos con tipos diferentes, etc. w Puede existir tanto a nivel intensional como extensional w w Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Factores que influyen en las arquitecturas de BDDs (y IV) Existencia o no de esquema global Ø Si se proporciona un esquema global entonces es como si se trabajara con una única base de datos. Las preguntas se realizan sobre dicho esquema global: SELECT * § FROM VUELOREAL, BILLETES § WHERE VUELOREAL. ID=BILLETES. ID w En el esquema global se sabrá que VUELOREAL está en BD 1 y BILLETES en BD 2 pero es transparente al usuario (desarrollador de aplicaciones) § Ø Si no, se necesita un lenguaje de acceso a distintas BDs. § § § SELECT * FROM BD 1@VUELOREAL, BD 2@BILLETES WHERE VUELOREAL. ID=BILLETES. ID Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Arquitecturas de BD distribuidas Sistemas de BDs Distribuidas (SBDD) Ø Ø Ø Formados por BDs no autónomas. Proporcionan un esquema global. El esquema global se obtiene de arriba a abajo: primero se define el esquema conceptual global y luego se fragmenta en varias BDs. Sistemas de BDs Interoperantes (SBDI) Ø Ø Ø Formados por BDs autónomas. No proporcionan esquema global sino lenguajes de acceso a BDs. El usuario es consciente de que trabaja con varias BDs. Sistemas de BDs Federadas (SBDF) Ø Ø Ø Formados por BDs autónomas. Proporcionan un esquema global. El esquema global se obtiene de abajo a arriba: los esquemas locales son preexistentes y se integran en un esquema global. No se decide fragmentar: la redundancia probablemente ya existe. Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Diseño de BDs Distribuidas Es necesario un sistema de gestión de BD Distribuidas que realice lo siguiente: Ø Ø procesamiento de preguntas mantenimiento de la consistencia si hay replicación de datos control de transacciones etc. . . En algunos casos (determinados SBDD, SBDI) se podrá comprar, pero no siempre (SBDF) Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Diseño top-down de BDD Esquema Global Información de Acceso (transacciones) FRAGMENTACIÓN Esquema Global Fragmentado ASIGNACIÓN Esquema Local 1 Esquema Local N DISEÑO FÍSICO Esquema Físico 1 Esquema Físico N Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Fragmentación (I) El problema de obtener los esquemas locales a partir del global se divide en dos: Ø Ø Fragmentación: dividir el esquema global en fragmentos. Asignación: distribuir los fragmentos entre los esquemas locales. El fragmento es la unidad a distribuir w puede ser parte de un tabla o un cjto. de ellas. w ventaja: incrementa el nivel de concurrencia de transacciones. w desventaja: algunas transacciones se degradarán si tienen que trabajar con varios fragmentos. Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Fragmentación (II) Fragmentación horizontal: basada en encontrar condiciones de selección Fragmentación vertical: basada en encontrar conjuntos de atributos a proyectar Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Fragmentación híbrida (y III) Primero horizontal. . . y luego vertical a cada fragmento Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Corrección de la fragmentación Completitud Ø Todo elemento de la relación debe estar en alguno de los fragmentos. Reconstrucción Ø La relación inicial debe poder reconstruirse aplicando operadores sobre los fragmentos Intersección vacía (disjointness) Ø Intersección de los fragmentos debe ser vacía • Nota: a excepción de las claves (para poder reconstruir la relación inicial a partir de los fragmentos) Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Asignación (I) Asignar fragmentos a los esquemas locales Ø Sin replicación: todo fragmento reside en un único nodo w bueno para actualizaciones, malo para preguntas Ø Con replicación total: todos los fragmentos residen en todos los nodos w bueno para preguntas, malo para actualizaciones Ø Con replicación parcial: algunos fragmentos pueden residir en más de un nodo w compromiso entre actualizaciones y preguntas Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Asignación (y II) REPLICACIÓN COMPLETA PROCESAMIENTO DE PREGUNTAS CONTROL DE CONCURRENCIA DISPONIBILIDAD DE LOS DATOS REPLICACIÓN SIN PARCIAL REPLICACIÓN Más fácil Más difícil Difícil Más difícil Más fácil Muy alta Alta Baja Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Formulación del problema de la asignación Dados N fragmentos y M nodos, encontrar la matriz X Ø (Xij = true) el fragmento i se aloja en el nodo j tal que minimiza el costo total w suma de los costos de procesamiento de todas las preguntas, actualizaciones (multiplicando cada costo por el nº de veces que se pregunta / actualiza) y costos de almacenar todos los fragmentos Ø sujeto a las siguientes restricciones: w tiempo de respuesta máximo para cada pregunta w existe un almacenamiento máximo en cada nodo w no superar la carga de procesamiento en cada nodo El problema es NP-completo. Pero se pueden usar heurísticos: problema de la mochila, técnicas de ramificar y acotar, algoritmos genéticos, etc. . . Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Bases de Datos Federadas Integración de distintas bases de datos autónomas, distribuidas y heterogéneas Generación de un esquema global Ø Ø Fase de traducción e integración Generación de información de enlace (GAV vs. LAV) Procesamiento de preguntas formuladas sobre el esquema global Principal objetivo Ø Ocultar la heterogeneidad al usuario Ventajas Ø Técnicas válidas para integración de otras organizaciones de datos (no sólo BDs) Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Bases de Datos Federadas: Diseño bottom-up (5 niveles) Vista 1 . . . Vista m Esquema integrado (ont. integrada) Integración Esq. Export. canónico 1 (ont 1) Esq. Export. canónico n (ont 2) Traducción Esq. Exportado 1 Esq. Exportado n Esquema BD 1 Esquema BD n. . . Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Obtención del Esquema Global (I) El problema de obtener un esquema global a partir de N esquemas locales se divide en dos: Ø Traducción: cada esquema local se traduce a un modelo canónico Ø Integración: los esquemas locales se integran en uno solo Este es un tema de investigación. Todavía no resuelto por productos comerciales Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Modelo canónico El modelo de datos (canónico) utilizado para expresar el esquema global es muy importante. – – No hay que olvidar que las bases de datos locales pueden ser heterogéneas (distintos modelos de datos) Se utilizan modelos más ricos semánticamente que el relacional: OO, modelos funcionales, semánticos, etc. . . Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Obtención del Esquema Global (y II) Supongamos que los esquemas locales son relacionales y se usa como modelo canónico el modelo semántico Entidad-Relación Extendido de Chen Traducción Ø Ø A partir de tablas y atributos relacionales (esquema exportado) se identifican entidades, relaciones y atributos (enriquecimiento semántico) Pueden aparecer nuevas entidades (especializaciones/generalizaciones, etc. ) Integración Ø Aplicación de las propiedades semánticas entre las entidades y relaciones de distintos esquemas locales canónicos (sinonimia, unión, generalización/especialización, etc. ) Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Uso del esquema global Procesamiento de preguntas Ø Las preguntas realizadas sobre el esquema global deben responderse sobre los esquemas locales Información de enlace Ø Ø Relación entre los elementos de datos del esquema global y los elementos de datos de los esquemas locales Necesaria para poder responder a las preguntas Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
LAV vs. GAV (Global As View) Ø Ø Ø Enlaces desde el esquema global a los esquemas locales Fácil reescritura de preguntas Sensible a incorporación/eliminación de depósitos de datos LAV (Local As View) Ø Ø Ø Cada depósito de datos tiene su descripción Fácil incorporación de nuevos depósitos Procesamiento de preguntas complicado Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Ejercicio Práctico: Un ejemplo de BDF Diseñar dos bases de datos Ø Ø Sobre el mismo contexto: alimentos, recetas, tipos de comensales Añadir cierto grado de heterogeneidad (sintáctica, semántica) Traducción Ø Ø Ø Elegir un modelo de datos canónico Traducir cada esquema al modelo canónico (ontologías componentes) Crear la información de enlace para cada término Integración Ø Ø Ø Definir las reglas de integración (relaciones semánticas) Obtener el esquema global Crear la información de enlace del esquema global Simular el plan correspondiente a algunas consultas sobre el esquema global Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Sistemas de Información Globales Muchos depósitos de datos (miles, millones) Gran heterogeneidad a todos los niveles Altamente dinámico y cambiante Un ejemplo: La Web Adaptación de las técnicas conocidas a dicho contexto Aún es objeto de investigación Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Problema Semántica, formatos, etc. Telnet C C++ Java IP WWW FTP Formularios Archie Interfaces ad hoc Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza) Oracle Sybase Informix
Objetivo Formatos Semántica Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Aproximaciones: clasificación Sistemas de Acceso a Información Basados en palabras clave Altavista, Yahoo! Basados en Agentes TSIMMIS, DISCO Basados en Ontologías Una Ontología Global Varias Ontologías Carnot, Information Manifold SIMS, Info. Sleuth, OBSERVER Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Aproximaciones relevantes SIMS (Univ. de California del Sur, 1992) TSIMMIS (Univ. de Stanford & IBM, 1993) Information Manifold OBSERVER Info. Sleuth (AT&T Bell Lab. , 1994) (Univ. Pais Vasco & UGA, 1995) (MCC, 1996) Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Un Ejemplo: Arquitectura de OBSERVER Relaciones Interontología Ontology Based System Enhanced with Relationships for Vocabulary h. Eterogeneity Resolution Query Processor IRM Ontology Server Enlaces Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza) Enlaces
Procesamiento de Preguntas Seleccionar Ontología Usuario Comienzo Construcción de la pregunta Editar pregunta Acceso a los datos Expansión incremental a otra ontología Elegir plan con menor pérdida Acceder datos subyacentes Generar Planes Correlacionar y mostrar respuesta Final No Más datos? (Query Processor) Si Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza) Integrar nueva ont. y ont. usuario Seleccionar ontología destino
Multiples ontologías: Transformaciones de la pregunta Query Processor Pregunta del usuario expresada en términos de la Ontología Usuario Rel. del IRM F. Trans. Inv. del IRM Pregunta expresada en términos de la Ontología Destino Respuesta expresada según la semántica de la Ontología Usuario Correlación F. Trans. del IRM Respuesta expresada según la semántica de la Ontología Destino Traducción a Enlaces Correlación F. Trans. Inv. de enlaces F. Trans. de enlaces Pregunta expresada en Enlaces Respuesta expresada según la semántica de los depósitos Acceso a los datos subyacentes Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Ontology Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Problemas de los sistemas de los 90’s Integración estática de fuentes de datos Ø La traducción e integración se hace “a mano” por humanos y cuesta bastante tiempo Generación no automática de la información de enlace Ø Hay que definir a mano el camino hacia los datos Generación no automática de las relaciones interontología Ø Hay que definir a mano las propiedades semánticas entre ontologías Imposibles de aplicar a contextos altamente dinámicos (como la Web) Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Web Semántica Problemas con la Web actual Ø Ø Ø HTML Orientado a humanos Búsquedas sintácticas (palabras clave) Objetivos Ø Ø Ø Separar contenido de visualización Orientado a humanos y a programas (servicios) Búsquedas semánticas (expresar qué se está buscando) Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
Web Semántica Definición Ø Ø Ø Proyecto W 3 C desde aprox. 1999 Nueva filosofía Red de ordenadores Espacio compartido Documentos autodescritos Procesable por máquinas (ni lenguaje natural, ni GUIs) Enlaces indirectos (independencia de la localización) Claves Ø Ø Ontologías Servicios Web Master Servicios Web, Seguridad Informática y Aplicaciones de Comercio Electrónico Departamento de Informática e Ingeniería de Sistemas (Universidad de Zaragoza)
- Slides: 42