Interoperabilidad Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Anat Eyal, Tova Milo VLDB Journal 10 (2001) Carina Perdomo Marcia Porteiro
Interoperabilidad Temas a tratar Introducción Marco Teórico Aplicación Análisis de la solución Conclusiones Bibliografía
Interoperabilidad Introducción Area de Investigación Integración de aplicaciones(datos y aspectos operacionales) heterogéneas en un escenario Web Comercio electrónico Tipo del artículo Presentación de una aplicación concreta Fundamentación teórica con base en paradigmas previos y artículos referenciados
Interoperabilidad Objetivos Simplificar la complicada tarea de integración y personalización de las aplicaciones de comercio electrónico,manejando el completo perfil de la misma. Generar una aplicación Web integrada en una forma transparente que no necesariamente demande la cooperación del sitio fuente Reducir la cantidad de trabajo involucrado en incorporar nuevas aplicaciones o ajustar los cambios en ellas
Interoperabilidad Motivación Las aplicaciones de comercio electrónico soportan la interacción entre diferentes partes participantes en una transacción comercial, así como también manejan los datos involucrados en el proceso. Amplio espectro de aplicaciones están actualmente disponibles en la Web Desearíamos: Servicios de compras comparativos obtenidos de la integración de varios comercios Integración de servicios complementarios Personalización de aplicaciones existentes para necesidades especiales
Interoperabilidad Problemas: Diversidad de aplicaciones en cada área Formatos diferentes Amplia variedades de API Estandarización: Personalizar aplicaciones existentes hacia estándares Deja libertad de diseño a los desarrolladores Nuevos estándares no siempre son los esperados
Interoperabilidad Buscamos manejar: Flujos de la aplicación Interacción entre las partes Datos involucrados en el proceso Application Manifold(AM) Solución integral para el problema de integración y personalización Cubrimiento de datos y aspectos operacionales de las aplicaciones de comercio electrónico
Interoperabilidad Trabajos Relacionados Information Manifold usado para la integración de datos Active Views construcción de nuevas aplicaciones web MegaProgramming composición de aplicaciones Web - proyecto CHAIMS Proyecto TSIMMIS sugiere un paradigma inverso, modelando los datos globales como vistas (composición) de los datos locales (DARPA).
Interoperabilidad Marco Teórico Application Manifold lenguaje para especificar la tarea de integración y personalización generador de aplicación infraestructura basada en : - XML (datos) - XML- QL - UML (flujo) - Diagramas de estado enfoque modular, nuevas aplicaciones pueden ser integradas con mínimo esfuerzo
Interoperabilidad Application Manifold Aplicaciones locales son modeladas como VISTAS de la aplicación global USUARIO Aplicación integrada y personalizada GLOBAL Aplicación Web LOCAL
Interoperabilidad ARQUITECTURA XML repository
Interoperabilidad IMPLEMENTACIÓN
Interoperabilidad Sistema mediador con dos roles cliente y servidor Se usan herramientas de publico dominio para lograr aplicación simple y abierta. En particular: Apache Web Server con mod_perl sobre Windows NT (probado sobre Linux y Unix). Consiste de tres partes: 1) Especificación de aplicaciones locales y globales. 2) Implementación del sistema AM. 3) Escritura de Wrappers. Los cinco módulos son implementados en Perl, C++ y Java en ambiente Windows. Se activan con el requerimiento de usuario a través de un script CGI. Apache Web Server y Proxy Server manejan la comunicación con el usuario y las aplicaciones locales.
Interoperabilidad Cómo modelamos una aplicación de comercio electrónico? Especificación de tipos de actores participantes datos disponibles (derechos de acceso) operaciones (métodos sobre datos) actividades flujo de la aplicación
Interoperabilidad Aplicación Ejemplo : Librería electrónica Datos son vistos por clientes y actualizados por vendedores Cada actor : - tiene diferentes derechos de acceso a los datos - podría utilizar distintas partes de los datos - podría realizar diferentes operaciones Para cada actividad el actor podría enfrentar una página Web diferente Acciones pueden iniciar otras acciones
Interoperabilidad Application Nombre_Aplicación Actor tipo_actor 1 in application Nombre _Aplicación.... Actor tipo_actor n in application Nombre_Aplicación Especificación de la aplicación
Interoperabilidad Datos y métodos Aplicación LocalAplicación Global Datos Cliente global DTD del catálogoDefinición de variables Query 2
Interoperabilidad Actividades y flujos Aplicación Global Especificación de las actividades Diagrama de estado para el Cliente
Interoperabilidad Aplicación Local Métodos, actividades y flujos Mecanismo de refinamiento Para cada actividad global A asociamos alguna actividad local l(A). Cada método en la actividad global A, fue representado en un diagrama de estados de aplicación global por un estado A m. Estos estados son refinados para incluir los subconjuntos relevantes de los diagramas de estado locales con algún control adicional. l(A) será los estados inicial y final
Interoperabilidad Marco Teórico APLICACIÓN GLOBAL Variables globales contendrán la máxima información desde las variables locales (reescritura de máxima vista). Variables globales deben formar un documento XML válido (DTD y RE) partiendo de los valores de variables locales.
Interoperabilidad APLICACIÓN LOCAL Variables de datos locales son vistas sobre las variables globales. Flujo de la Aplicación local es un refinamiento de la aplicación global.
Interoperabilidad RE como Dependencias Funcionales Id de un subcomponente depende funcionalmente del Id del componente padre. Ejemplo: Catálogo de Libros global sin dos Id. de categorías que tengan igual Nombre de Categoría. Id de un elemento depende funcionalmente del Id de alguno de sus subcomponentes. Ejemplo: Un elemento tiene un subelemento.
Interoperabilidad Ventaja de RE como DF Podemos usar técnicas del Mundo Relacional para computar nuestras variables globales consulta inversa). Algoritmo de cómputo de la variable global Paso 1) Consulta Inversa Paso 2) Funciones Skolem Paso 3) y 4) Computar variables
Interoperabilidad INCONSISTENCIA El algoritmo asume consistencia de los orígenes de los datos con el conjunto de dependencias funcionales. En la práctica las DF pueden no ser preservadas globalmente (Ej. = ISBN con nombre en dos orígenes doble ítem a nivel global). Solución: usuario con posibilidad de elegir el valor correcto. Se planea agregar resolución automática de inconsistencias basada en análisis lingüístico, etc.
Interoperabilidad OPTIMIZACION Por defecto el sistema computa las variables globales completamente. Se puede cambiar a dos diferentes modos de lectura: - Lectura Diferida computa bajo demanda - Lectura Inmediata computa inmediatamente.
Interoperabilidad FLUJO DE LA APLICACIÓN En tiempo de ejecución se utiliza el mecanismo de refinamiento de Diagramas de Estado. Cada estado global tiene un refinamiento para cada aplicación local. Se mantiene el contexto de las aplicaciones locales y globales. Variables y estados tienen tiempo de expiración. Se restauran los estados y variables de un usuario dentro de un tiempo razonable.
Interoperabilidad REFORMULADOR DE REQUERIMIENTOS El Reformulador de Requerimientos del AM construye la porción del Diagrama de Estados a ser ejecutado. Con el fin de optimizar el Reformulador puede decidir ejecutar en serie en vez de paralelo para evitar por ejemplo la ejecución redundante.
Interoperabilidad MOTOR AM Recibe el diagrama de estados para ejecución. Manda a ejecutar localmente lo que corresponde. Los controles necesarios para dar el resultado global los ejecuta el mismo motor. Realiza el pasaje de valores de variables locales a globales y viceversa.
Interoperabilidad PROPAGACIÓN DE MODIFICACIONES DERECHOS DE ACCESO Descripción algorítmica completa en versión completa del paper (solo principios importantes). Paper referenciado permite ver a las variables globales como vistas a valores locales, encontrando una consulta inversa Q -1 con Q consulta sobre datos globales. Problema: Propagar modificación desde BD a vista (solución basada en paper referenciado). Soluciones: - Recomputación de vistas. - Evaluación incremental (conociendo ).
Interoperabilidad VENTAJAS DE EVALUACIÓN INCREMENTAL En Cliente-Servidor mandar el es mas eficiente en lo que refiere a la comunicación. Ejemplo: Global cambia revisión de elemento Local solo permiso para cambiar revisión Sol1: reemplazar elemento local (violación permisos). Sol2 con EI: reemplazar solo revisiones.
Interoperabilidad TRANSACCIONES Por defecto: aplicación global no en modo transacción El soporte transaccional de aplicación global depende de las capacidades de las aplicaciones locales subyacentes. Conducta transaccional puede ser alcanzada solo si las aplicaciones locales soportan métodos explícitos de Comienzo, Abortar y Completar transacción. La atomicidad de la aplicación global depende de la atomicidad posible a nivel local.
Interoperabilidad MEJORAS A UNA APLICACIÓN Ejemplo 1: Implementar interfaz que cumple con estándar en una aplicación. Aplicación virtual que cumpla con estándar. Aplicación como vista de la virtual. Ventaja: aplicación virtual reusable para otras aplicaciones que necesiten el estándar. Ejemplo 2: tener historia de compras de un usuario. Ventaja: procedimientos y datos reales solo globales (en Repositorio).
Interoperabilidad Puntos Fuertes Solución propuesta no se enmarca solo en la integración de datos sino que busca la integración de aspectos operacionales de la aplicación Web Basada en herramientas emergentes (XML, UML, XML_QL) Ejemplificación de la solución de manera sencilla e ilustrativa Nombra implementación del sistema, usando herramientas de dominio publico Plantea futuras soluciones a problemas encontrados y carencias de la solución actual Análisis de la solución
Interoperabilidad Análisis de la solución Puntos Débiles Solución no enfatiza en los problemas referentes a la integración semántica de los datos de las diversas fuentes Basada en herramientas que se perfilan como estándares (XML, UML, XML_QL) Ejemplo único focalizado en una área de aplicación Optimizaciones no se analizan en profundidad Asume correctitud de trabajos previos como base para la solución propuesta
Interoperabilidad Conclusiones Se cumple con los objetivos planteados? Se profundiza lo suficiente en el problema que se intenta resolver? Se presenta un enfoque claro, con un nivel técnico relevante? Se realizan contribuciones importantes en el área de la solución planteada? Se plantean trabajos a ser realizados en el futuro? Artículo pone de manifiesto alguno de los temas vistos en el curso? Provee una solución verificable? Se prueba la correctitud y consistencia de la misma?
Interoperabilidad Bibliografía Abiteboul S.,Amann B., Cluet S., EyalA., MiloT., Mignet L.Active views for electronic commerce. In: Int. Conf. On Very Large DataBases (VLDB), Edinburgh, Scotland, September 1999 Abiteboul S., McHugh J., Rys M.,VassalosV.,Wiener J.L. Incremental maintenance for materialized views over semistructured In: Proc. of the 15th Int. Joint Conference on Arti.cial Intelligence, IJCAI, pp. 578–583, Japan, 1997 DoanA., Domingos P., LevyA. Learning source descriptions for data integration. In:WebDB00, 2000 Duschka O., Genesereth M. Answering recursive queries using views. In: ACM PODS, 1997 Milo T., Zohar S. Using schema matching to simplify heterogeneous data translation. In: Int. Conf. on Very Large DataBases (VLDB), NewYork, August 1998