Inicio > Workflows > Introducción

Introducción

Miércoles, 14 de Mayo de 2008

La Workflow Technology es un campo de investigación que está enfocado en la creación de lenguajes de especificación de procesos y de entornos de ejecución dinámica de estos procesos. En sí, un Workflow es la especificación formal de un proceso.

Un Workflow define acciones, ya estén hechas por seres humanos como por sistemas informáticos, y transiciones entre estas para definir el flujo que un proceso sigue.

Un Workflow puede ser visto como un autómata finito en el que los nodos representan las acciones y las arcos representan las transiciones. Sin embargo, los Workflows son capaces de representar patrones cuya complejidad no es representable en autómatas finitos.

Patrones tales como paralelización y sincronización de procesos no son directamente representables en este tipo de marcos teóricos. Los Workflows, tradicionalmente, vienen siendo utilizados para el modelado de procesos de negocios y a su coordinación. Sin embargo, nuevas aplicaciones pueden aprovecharse de estas técnicas; como por ejemplo, sistemas formales de guiado del cuidado del paciente, como pueden ser las vías clínicas, o sistemas de guiado del tráfico vehicular en las grandes ciudades.

Un Workflow no sólo está pensado para representar flujos de procesos, sino que también es posible interpretarlos para permitir el guiado automático de los procesos para que tanto personal humano como los sistemas informáticos, estén coordinados en la ejecución de los flujos de los procesos. Se conoce como Sistema de Gestión de Workflow (o Motor de Workflow) a los sistemas ideados para interpretar y automatizar Workflows. La automatización de un Workflow consiste en la interpretación de un Workflow para ejecutar sus acciones de forma ordenada tal y como vienen especificadas en este. La mayoría de los modelos comerciales de representación de procesos de negocio que se encuentran en el mercado cuentan con herramientas de ejecución de estos Workflows que permiten cierta interoperabilidad para facilitar la integración de los modelos de Workflow con los sistemas ya existentes.

Especificar un Workflow es equivalente a implementar un programa en un alto nivel, utilizando para ello librerías y lenguajes de especificación complejos que permiten no solo la automatización del proceso, sino también la posibilidad de saber en que punto del proceso estamos, e incluso cambiar el flujo de ejecución de una instancia del Workflow dinamicamente.

Actualmente existen multitud de sistemas de interpretación de Workflows disponibles tanto comerciales como de código libre. Normalmente los motores de Workflow van ligados a los lenguajes de representación, aunque existen excepciones como BPEL que es un estandar de representación sin motor oficial asociado. Comercialmente el estándar BPEL o BPEL4WS es el que actualmente está teniendo más auge debido a que está indicado para la ejecución de orquestación de Web Services para la creación de aplicaciones B2B (Bussiness to Business). Por otro lado, comercialmente existen marcos de programación para la creación e interpretación de Workflows como la Windows Workflow Foundations desarrollado por Microsoft y el jBPM desarrollado por Sun. Sin embargo, la expresividad de estos modelos se ve limitada, ya que estos modelos no cumplen muchos de los patrones de Van der Aalst, que son una importante herramienta de validación de lenguajes de especificación de Workflows.

Además, todos estos modelos suelen resultar muy pesados y requieren potentes ordenadores para funcionar. Como proyecto Open Source, YAWL es un lenguaje definido y diseñado específicamente para cumplir los patrones de Workflow de Aalst basado en Redes de Petri. Sin Embargo, uno de los problemas de implementación de YAWL son algunas limitaciones que ha sido necesario realizar en el modelo de interpretación para la implementación de Workflows.

Según los autores de YAWL ha sido necesario limitar la implementación del lenguaje en algunos aspectos, ya que la ejecución de Redes de Petri de alto nivel es complicada debido su complejidad. Además, a pesar de ser un modelo altamente expresivo, su mayor desventaja es que su definición gráfica está basada en Redes de Petri que tienen menos legibilidad, por lo que este modelo está teniendo un uso muy minoritario. Por otro lado, otra de las desventajas de los sistemas actuales de ejecución de Workflows es que no generan logs suficientemente potentes para ser utilizados por el Workflow Mining basado en Actividades, por lo que limitan la posibilidad de inferencia de Workflows utilizando estas técnicas inductivas.

  1. Sin comentarios aún.
  1. Sin trackbacks aún.