36
Interoperabilidad 2002 1 Análisis del artículo Análisis del artículo : : Integrating and Integrating and customizing customizing heterogenous e- heterogenous e- commerce commerce applications applications Anat Eyal, Tova Milo VLDB Journal 10 (2001) Carina Perdomo Marcia Porteiro

Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

Embed Size (px)

Citation preview

Page 1: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 2: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

Interoperabilidad 2002 2

TemasTemas a tratar a tratar

Introducción

Marco Teórico

Aplicación

Análisis de la solución

Conclusiones

Bibliografía

Page 3: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 4: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 5: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 6: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 7: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 8: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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).

Page 9: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 10: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 11: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

Interoperabilidad 2002 11

ARQUITECTURA

XML repository

Page 12: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

Interoperabilidad 2002 12

IMPLEMENTACIÓN

Page 13: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 14: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 15: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 16: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 17: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 18: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

Interoperabilidad 2002 18

Actividades y flujos

Aplicación Global

Especificación de las actividades

Diagrama de estado para el Cliente

Page 19: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 20: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 21: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 22: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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> .

Page 23: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 24: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 25: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 26: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 27: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 28: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 29: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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 ).

Page 30: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 31: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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.

Page 32: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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).

Page 33: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 34: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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

Page 35: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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?

Page 36: Interoperabilidad 20021 Análisis del artículo : Integrating and customizing heterogenous e-commerce applications Análisis del artículo : Integrating and

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