sharing product data among heterogeneous workflow environments markus bon, norbert ritter, theo...

46
“Sharing Product Data among Heterogeneous Workflow Environments” Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern - Germany March 2002 Discusión del artículo María Elena de León - Sandra Sayan

Upload: alejandra-nunez

Post on 26-Jan-2015

6 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

“Sharing Product Data

among Heterogeneous Workflow Environments”

Markus Bon, Norbert Ritter, Theo Härder

Department of Computer Science University of Kaiserslautern - Germany

March 2002

Discusión del artículo

María Elena de León - Sandra Sayanes

Page 2: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Puntos a tratar

Conceptos previos

Tipo de artículo

Objetivos

Motivación

Detalle Técnico

Conclusiones

Puntos débiles y fuertes

Trabajo futuro

Page 3: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

¿Qué es un Workflow?

Un “Flujo de trabajo” es un método y medio de transferencia de trabajo, basado en reglas empresariales y de asignación de trabajo, según la posición o rol funcional de una persona dentro de una Organización

Durante los últimos años se han automatizado muchos procesos, lo cual ha llevado a una mejora en los clásicos procesos de negocios

Page 4: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Ejemplo: Ventas de productos

Inicio

FinSolicitud

de productoEmisión

de facturaEntregar al cliente

Selecciónde proveedor

Solicitud a proveedor

Espera entrega proveedor

s/ stock

c/ stock

Vinculación con otra empresa

Page 5: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

El artículo....

Tipo de artículo– Propuesta teórica (sin justificación)

Presenta la problemática existente a la hora de querer integrar workflows de distintos ambientes y sus posibles soluciones

No se relaciona con ninguna aplicación en particular

Page 6: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Objetivos

Lograr la interoperabilidad entre manejadores heterogéneos de flujos de trabajo (WfMS).– Permitir que las distintas aplicaciones de

workflows compartan datos y cooperen– Modificar lo mínimo posible los manejadores

locales– Realizar un control automático de las

dependencias del flujo de datos

Page 7: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Motivación

Trabajo conjunto de empresas– causa natural para la existencia de ambientes

heterogéneos de workflow– todas las empresas contribuyen para alcanzar

la meta final del negocio y de esta forma cada uno de sus workflows particulares deben interactuar

– el mantenimiento de las dependencias entre-workflows que se forman escapa al alcance de los manejadores individuales

Page 8: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Detalle Técnico

Enfoque general para combinar Workflows

Dependencias del flujo de datos

Especificación de datos de cooperación

Automatización del suministro de datos

Enfoque recomendado

Protocolos de transferencia

Page 9: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Enfoque general (1)

Las diferentes partes de las empresas, con sus respectivos WfMS, se llaman “islas”

La idea es intentar conocer las dependencias existentes entre las distintas islas y reemplazar el mantenimiento manual por un mecanismo automático o semi-automático (botton-up)

Page 10: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Enfoque general (2)

Para lograr esto es necesario un conocimiento global del proceso completo

Su carencia implicaría protocolos complejos y adaptaciones masivas en los WfMS

Entonces, se recomienda la existencia de una componente lógica centralizada denominada “Coordinador”

Page 11: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Enfoque general (3)

Conocimientos del Coordinador:– dependencias entre las actividades de los distintos

tipos de workflow– actividades origen y destino de la transmisión de

datos– estado de cada instancia y del proceso global– restricciones temporales y manejo de errores– autentificación de los sistemas participantes del

proceso global

Page 12: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Enfoque general (4)

Tareas del Coordinador:– autentificación de los procesos que pretenden

intercambiar información– monitoreo del proceso global y de cada uno de

los locales participantes– suspender o cancelar los workflows locales si

no se cumplen las restricciones– en caso de fallas, realizar el manejo de

excepciones

Page 13: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Dependencias entre datos (1)

Principal problema: proveer a las aplicaciones datos producidos por fuentes externas

Las dependencias del flujo de datos afectan en dos niveles de procesamiento:– nivel de tipo– nivel de instancia

Page 14: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Ejemplo

Dependencias entre datos (2)

Page 15: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Dependencias entre datos (3)

Page 16: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Dependencias entre datos (4)

Especificación de dependencias– tipos de workflow involucrados– actividades vinculadas por las dependencias– descripción apropiada de los datos de

cooperación– nombre del origen de datos y especificación

de la forma de acceso para extraer los datos de cooperación

Page 17: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Dependencias entre datos (5)

Especificación de dependencias (cont)– mecanismo utilizado para transportar esos

datos de la isla origen a la destino

– nombre del destino de datos y especificación de la operación que debe realizarse para integrarle los datos de cooperación

Page 18: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Dependencias entre datos (6)

Mantenimiento de la cooperación:– El WfMS debe registrar las nuevas instancias

que se inicien en el registro del Coordinador

– Necesidad de la asistencia de un usuario experto para indicar las instancias de cooperación

Page 19: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Especificación de datos

También es necesaria una especificación de la granularidad de los datos que van a cooperar

Se necesita conocimiento sobre dicha granularidad tanto para la zona origen como para la zona destino --> Usuario

Lenguaje para la especificación: XML

Page 20: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Automatización del suministro de datos

Se tienen 2 enfoques para la automatización de suministro de datos:

Nivel de Tipos de Workflow– Extensión de los tipos de workflow origen y

destino– Agregando actividades para suministrar datos

Nivel de Aplicaciones de Workflow– Direccionando las operaciones de acceso de

datos desde la aplicación de workflow destino al PDMS del origen

Page 21: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Nivel de Tipos de Workflow (1)

Identificar y extraer los datos del PDMS origen, mapeando la especificación de datos de cooperación a las operaciones de acceso del PDMS origen.

Convertir, empaquetar y transferir los datos de cooperación desde el origen al destino.

Integrar los datos de cooperación, mapeando la especificación de éstos a las operaciones de acceso del PDMS destino.

Page 22: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Nivel de Tipos de Workflow (2)Actividades a agregar:

– Identificar

– Extraer

– Convertir

– Empaquetar

– Transferir

– Integrar (adaptando el tipo de workflow destino) •Se requiere sincronización de Workflow

global a cargo del coordinador.

Page 23: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Nivel de Aplicaciones de Workflow

Los datos de cooperación se mantienen en el PDMS origen.

Se deben proveer mecanismos de acceso remoto a datos:

Con algún objeto proxy almacenado en el PDMS local que tenga interfaces que hagan transparente el acceso remoto.

Filtro de operaciones de acceso a datos de la aplicación destino. En el origen, cada operación referida a datos de cooperación es redireccionada al PDMS remoto.

Este enfoque no es elegante ya que se necesita un filtro externo

Page 24: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Problemas de los enfoques

Traducción de llamadas de las APIs del PDMS destino a las del PDMS origen

Estas llamadas pueden llevar a un cruce de bordes del sistema. Cuando las islas están protegidas con firewalls se dificulta

Incremento del tiempo de espera para usuarios remotos

Maria Elena de Leon:

Maria Elena de Leon:

Page 25: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Sistemas Manejadores de Datos (PDMS) (1)

El uso de PDMS idénticos en ambas islas es favorable porque:

– Misma API

– Mismo modelo de representación de datos

– No hay necesidad de mapeo de datos de cooperación

Page 26: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Si se usan PDMS diferentes:

– Hay que hacer mapeo de datos

– El mapeo anterior es prerrequisito para la transferencia de datos

– Para la propagación de datos proveer un generador de actividades de transferencia y un humano para el mapeo

Sistemas Manejadores de Datos (PDMS) (2)

Page 27: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Acceso a Datos de Cooperación

Los datos se pueden acceder con permisos de : solo lectura o lectura/escritura.– Solo Lectura: más simple porque no existen

cambios a ser propagados

– Lectura/Escritura: más difícil ya que se deben propagar las modificaciones hechas por la aplicación destino al origen

Page 28: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Control de Acceso (1)

El acceso no autorizado debe ser prevenido tanto en el origen como en el destino.

Transferencia de Datos (nivel de tipo de workflow)

– Miembro con permiso al menos de lectura en el PDMS destino para la actividad de extracción

– Miembro con permiso de inserción en el PDMS origen para la actividad de integración

Page 29: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Control de Acceso (2)

Propagación de Acceso (nivel de aplicación)– El miembro responsable de la aplicación destino

debe ser registrado en el origen y garantizarle derechos suficientes

Las islas fuentes son diferentes entornos

ESTA ES LA PEOR SOLUCIÓN

Page 30: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Enfoque recomendado

Vemos que el enfoque de Nivel de Automatización por Tipos de Workflow es menos problemático ya que los sistemas de Manejo de Workflows son más fácilmente adaptables que las Actividades de Workflow

SE APOYA EL PRIMER ENFOQUE

Page 31: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Automatización por Adaptación de Tipos de Workflow

Se considerará: Idénticos PDMS en origen y destino

Acceso de solo lectura por la aplicación destino

Las actividades de WF originales y las operaciones de acceso a datos permanecen incambiadas

Page 32: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Transferencia de Datos de Cooperación (1)

Actividad OrigenActividad deExtracción

Actividad de Integración

Actividad Destino

Page 33: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Transferencia de Datos de Cooperación (2)

Page 34: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Aplicaciones de Importación y Exportación

Importación - Existen 3 enfoques:1 - Extracción de datos en algún tipo de formato propio

del PDMS

Exportación La aplicación para insertar datos es más fácil porque no hay mapeo adicional Los datos son directamente integrados

llamando a la API del PDMS

2 - Usando interfaces SQL

3 - Combinación de las anteriores

Page 35: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Control de Acceso

Es importante garantizar derechos de acceso suficientes (pero estrictos) para las actividades de importación y exportación y para la aplicación destino

Para la codificación y autentificación:– Técnicas que usen pares de claves asimétricas

Altos costos en tiempo

Page 36: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Protocolos de transferencia

La comunicación entre las islas requiere de protocolos de comunicación:– Protocolos binarios como TCP (sincrónicas)– Encolado de mensajes (asincrónica)– Llamadas a procedimientos remotos (RPC)

Los firewalls dificultan las cosas para los protocolos CORBA o RMI

SOAP es el adecuado

Los mensajes SOAP:usan HTTPse envían a través del puerto 80

Maria Elena de Leon:

Maria Elena de Leon:

Page 37: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Conclusiones

Los autores están satisfechos con su trabajo

Se logran cumplir los objetivos de plantear posibles soluciones a la problemática de la interoperabilidad entre workflows– permitir la cooperación– automatizar el control de las dependencias del

flujo de datos

Page 38: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Puntos débiles ?

No se define lo que es un workflow ni sus conceptos relacionados (actividades, por ej.)

Se parte de la idea de que ya existen los workflows automatizados y que deben integrarse– no se plantea la posibilidad de que en algún

caso no este definido

Page 39: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Puntos débiles (1)

Menciona la existencia de un “componente lógico centralizado” llamado “coordinador” y sus responsabilidades pero no hace ninguna mención sobre qué es realmente ese coordinador– Hay una referencia a un documento anterior

de los autores que no está disponible en Internet

– Hay un resumen en alemán

Page 40: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Puntos débiles (2)

Se detalla una solución asumiendo el caso más simple – acceso de solo lectura para no transferir

modificaciones y PDMS idénticos

No se menciona cómo se resolverían los problemas con los casos más complicados

Todo es teoría y no se tiene la certeza de que funcione o no

Page 41: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Puntos fuertes

Trata un problema real que, con el avance de la informática en las empresas y la necesidad de trabajar junto con otras para adquirir mayor competitividad, se acerca cada vez más.

Es un artículo muy nuevo y todavía queda mucho por delante para avanzar en el tema

Es un punto de partida para análisis más profundos con casos concretos

Page 42: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Trabajo futuro

Probar los conceptos planteados en un ambiente real de trabajo

Aplicar las propuestas planteadas en distintos escenarios

Adquirir mayor experiencia en la interoperabilidad de workflows

Page 43: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Relación con conceptos de Interoperabilidad (1)

Arquitectura de integración– Sistema federado fuertemente acoplado– En este caso NO se realiza un esquema

común

Heterogeneidad – En todo el artículo se menciona su existencia

y se respeta

Page 44: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Relación con conceptos de Interoperabilidad (2)

Autonomía de diseño – se menciona una modificación sobre los

manejadores locales– existencia del coordinador

Autonomía de comunicación ?– al no conocer el coordinador en detalle no

queda claro si existen pedidos del mismo para que los manejadores locales pueden llegar a decidir cuándo responderlos

Page 45: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Relación con conceptos de Interoperabilidad (3)

Autonomía de ejecución – La ejecución de una actividad no interfiere en

la de otra– La actividad de integración requiere los datos

de la de extracción

Autonomía de participación – es el usuario quien determina los datos de

cooperación al realizar la especificación de dependencias

Page 46: Sharing Product Data among Heterogeneous Workflow Environments Markus Bon, Norbert Ritter, Theo Härder Department of Computer Science University of Kaiserslautern

Gracias...

Preguntas ?