Interoperabilidad 2002 1
Análisis del artículoAnálisis del artículo ::
Integrating and customizing Integrating and customizing heterogenous e-commerce heterogenous e-commerce
applicationsapplications
Anat Eyal, Tova MiloVLDB Journal 10 (2001)
Carina Perdomo Marcia Porteiro
Interoperabilidad 2002 2
TemasTemas a tratar a tratar
Introducción
Marco Teórico
Aplicación
Análisis de la solución
Conclusiones
Bibliografía
Interoperabilidad 2002 3
Introducción 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 2002 4
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 2002 5
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 2002 6
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 2002 7
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 2002 8
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 losdatos globales como vistas (composición) de
los datos locales (DARPA).
Interoperabilidad 2002 9
Marco TeóricoMarco 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 2002 10
Application Manifold
Aplicaciones locales son modeladas como VISTAS de la aplicación global
USUARIO
Aplicación integrada y personalizada
GLOBAL
Aplicación Web
Aplicación Web
Aplicación Web
LOCAL
Interoperabilidad 2002 11
ARQUITECTURA
XML repository
Interoperabilidad 2002 12
IMPLEMENTACIÓN
Interoperabilidad 2002 13
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 2002 14
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 2002 15
AplicaciónAplicació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 2002 16
Application Nombre_AplicaciónActor tipo_actor1 in application Nombre _Aplicación
< especificación de datos >< especificación de métodos >< especificación de actividades >< especificación del flujo de la aplicación >
....Actor tipo_actorn in application Nombre_Aplicación
Especificación de la aplicación
Interoperabilidad 2002 17
Datos y métodos
Aplicación LocalAplicación Global
Datos
Cliente global
DTD del catálogo Definición de variables
Query 2
Interoperabilidad 2002 18
Actividades y flujos
Aplicación Global
Especificación de las actividades
Diagrama de estado para el Cliente
Interoperabilidad 2002 19
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 Am.
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 2002 20
Marco TeóricoMarco 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 2002 21
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 2002 22
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 <Libro> tiene un subelemento <ISBN> .
Interoperabilidad 2002 23
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 globalPaso 1) Consulta InversaPaso 2) Funciones SkolemPaso 3) y 4) Computar variables
Interoperabilidad 2002 24
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 2002 25
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 2002 26
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 2002 27
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 2002 28
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 2002 29
PROPAGACIÓN DE MODIFICACIONESDERECHOS 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 2002 30
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 elementoLocal solo permiso para cambiar revisión Sol1: reemplazar elemento local (violación
permisos). Sol2 con EI: reemplazar solo revisiones.
Interoperabilidad 2002 31
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 2002 32
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 2002 33
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 Análisis de la solución
Interoperabilidad 2002 34
Análisis de la solución 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 2002 35
Conclusiones 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 2002 36
BibliografíaBibliografí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:WebDB’00, 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
Top Related