+ All Categories
Home > Documents > Tesisol.rtf

Tesisol.rtf

Date post: 31-Oct-2014
Category:
Upload: sonibox
View: 23 times
Download: 2 times
Share this document with a friend

If you can't read please download the document

Transcript

Una Aproximacin Metodolgica al Desarrollo de Flujos de TrabajoM Carmen Penads GramajeDepartamento de Sistemas Informticos y Computacin

Universidad Politcnica de Valencia

Memoria presentada para optar al Grado de Doctor en Informtica

Dirigida por: Prof. Dr. Jos Hilario Cans Cerd Prof. Dr. Gustavo Alonso Garca

Valencia, Enero de 2002

A Fernando y A Mara

Agradecimientos

Deseo manifestar mi ms sincero agradecimiento a cuantas personas han hecho posible con su aportacin, de forma directa o indirecta, la realizacin del presente trabajo. En primer lugar, a mis directores el Prof. Hilario Cans y el Prof. Gustavo Alonso, quienes han sabido infundirme su constante entusiasmo por el trabajo realizado en esta tesis, al tiempo que han logrado despertar y mantener mi inters. Me gustara agradecer la confianza que han depositado en m y que ha supuesto un estmulo continuado durante todo este tiempo. Al Prof. Isidro Ramos por su apoyo y consejos siempre acertados, tanto en lo acadmico como en lo personal. A todos mis compaeros del grupo de investigacin Programacin Lgica e Ingeniera del Software del DSIC, por su amistad y aportaciones al trabajo en las numerosas reuniones que hemos tenido durante todos estos aos, especialmente a Juan Snchez, Jos A. Cars y Patricio Letelier. A los miembros del grupo Information and Communication Systems del ETH de Zrich, y en especial a Amaia Lazcano, por su agradable acogida y ayuda prestada durante mi estancia con ellos. A Mari Paz Segura, Pau Franco e Inma Salesa por su trabajo e inestimable colaboracin en las implementaciones. A mis padres, Jos y Carmen, y a mis hermanos Jos y Julin, cuyo apoyo y cario me ha acompaado siempre durante estos aos. Finalmente, a Fernando, mi marido, por su apoyo incondicional, por animarme siempre a seguir ofrecindome todo su amor y paciencia. Y a Mara, mi hija, por regalarme los momentos ms agradables con sus risas y juegos, a pesar de las muchas horas que no he podido estar con ella. Gracias a los dos por permitirme dedicar parte de vuestro tiempo a llegar hasta aqu.

ContenidosLista de Figuras ................................................................................................................................. xi

Lista de Tablas .................................................................................................................................. xv PARTE I. PRELIMINARESCAPITULO 1. INTRODUCCIN............................................................................. 191.1 MOTIVACIN ........................................................................................................................................... 20

1.1.1 Planteamiento del Problema y Solucin Propuesta ................................................................... 221.2 OBJETIVOS................................................................................................................................................. 23 1.3 ESTRUCTURA DEL DOCUMENTO .......................................................................................................... 24

CAPITULO 2. SISTEMAS DE GESTIN DE FLUJOS DE TRABAJO ...................... 272.1 INTRODUCCIN ....................................................................................................................................... 27 2.2 TAXONOMA............................................................................................................................................. 30 2.3 LIMITACIONES.......................................................................................................................................... 34 2.4 ESTANDARIZACIN................................................................................................................................ 35

2.4.1 Modelo de Referencia de la WfMC ............................................................................................... 36 2.4.2 Otros Estndares ............................................................................................................................. 402.5 CONCLUSIONES ....................................................................................................................................... 41

CAPITULO 3. VISIN GENERAL DEL PROCESO DE DESARROLLO................. 433.1 UN MODELO DE PROCESO DE DESARROLLO DE FLUJ OS DE TRABAJO......................................... 43

3.1.1 Construccin y Estabilizacin de Flujos de Trabajo ................................................................. 45 3.1.2 Ejecucin y Prueba de Flujos de Trabajo .................................................................................... 47 3.1.3 Evaluacin de Procesos de Negocio.............................................................................................. 483.2 UN ENTORNO DE SOPORTE AL PROCESO DE DESARROLLO ........................................................... 50 3.3 CASO DE ESTUDIO: GESTIN DE PFC EN UNA BIBLIOTECA DIGITAL .............. ......................... 53 3.4 CONCLUSIONES ....................................................................................................................................... 55

vii

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo

PARTE II. DEFINICIN Y FORMALIZACIN DE UN METAMODELO DE FLUJO DE TRABAJOCAPITULO 4. METAMODELO DE FLUJO DE TRABAJO.......................................594.1 R EQUISITOS ...............................................................................................................................................60

4.1.1 Dimensiones de un Flujo de Trabajo............................................................................................604.2 FLUJO DE TRABAJO..................................................................................................................................61 4.3 PROCESO ...................................................................................................................................................62

4.3.1 Actividad...........................................................................................................................................64 4.3.2 Subproceso ........................................................................................................................................66 4.3.3 Condiciones de Transicin .............................................................................................................66 4.3.4 Flujo de C ontrol ...............................................................................................................................704.4 R ECURSOS ...................................................................................................................................71

4.4.1 Aplicaciones......................................................................................................................................72 4.4.2 Datos ....................................................................................................................................74 4.4.3 Actores y Modelo Organizacional ................................................................................................764.5 METAMODELO DE FLUJO DE TRABAJO DE REFERENCIA..................................................................77 4.6 CONCLUSIONES........................................................................................................................................79

CAPITULO 5. FORMALIZACIN DEL METAMODELO.......................................815.1 JUSTIFICACIN..........................................................................................................................................81

5.2 OASIS ..... .................................................................................................................................................82 5.2.1 El Modelo de Objetos OASIS ........................................................................................................83 5.2.2 Marco Formal: La Lgica Dinmica ............................................................................................84 5.2.3 Formalizacin de los Conceptos Bsicos OASIS........................................................................85 5.2.4 OASIS como Lenguaje nico para Bases de Datos Orientadas a Objetos ............................90 5.2.5 La Metaclase OASIS.......................................................................................................................945.3 R EPRESENTACIN OASIS DEL METAMODELO DE FLUJO DE TRABAJO........................................97

5.3.1 La Clase process ...............................................................................................................................99 5.3.2 La Clase activity ............................................................................................................................100 5.3.3 La Clase application ......................................................................................................................102 5.3.4 La Clase data ..................................................................................................................................103 5.3.5 La Clase actor .................................................................................................................................1045.4 CONCLUSIONES......................................................................................................................................105

viii

Contenidos

PARTE III. UN MODELO DE PROCESO DE DESARROLLO DE FLUJOS DE TRABAJOCAPITULO 6. CONSTRUCCIN Y ESTABILIZACIN....................................... 1096.1 ESPECIFICACIN DE UN MODELO DE FLUJO DE TRABAJO ............................................................109

6.1.1 Especificacin Textual..................................................................................................................110 6.1.2 Especificacin Grfica...................................................................................................................111 6.1.3 Un Editor de Modelos de Flujo de Trabajo...............................................................................1166.2 PROTOTIPACIN AUTOMTICA DE MODELOS DE FLUJO DE TRABAJO......................................129

6.2.1 El Sistema KAOS..........................................................................................................................130 6.2.2 Soporte de KAOS al Prototipado de Flujos de Trabajo...........................................................1316.3 CAPTURA DE REQUISITOS DEL PROCESO DE NEGOCIO .................................................................132

6.3.1 Casos de Uso del Negocio ............................................................................................................132 6.3.2 Equivalencias entre Conceptos del Metamodelo de Casos de Uso y del Metamodelo de Flujo de Trabajo ...........................................................................................................................136 6.3.3 Derivacin de Modelos de Flujo de Trabajo a partir de Modelos de Casos de Uso ............140 6.3.4 Ejemplo ...........................................................................................................................................1446.4 CONCLUSIONES .....................................................................................................................................147

CAPITULO 7. EJECUCIN DE FLUJOS DE TRABAJO ........................................ 1497.1 EJECUCIN DE UN MODELO DE FLUJO DE TRABAJO......................................................................149 7.2 EJECUCIN EN EL SISTEMA OPERA..................................................................................................151

7.2.1 Modelo Bsico de Procesos .........................................................................................................152 7.2.2 Correspondencia entre Metamodelos........................................................................................154 7.2.3 Plantillas para la Generaci n de Cdigo OCR .......................................................................1577.3 CONCLUSIONES .....................................................................................................................................165

CAPITULO 8. ANLISIS DE EJECUCIONES DE FLUJOS DE TRABAJO............ 1678.1 INTRODUCCIN AL ANLISIS DE DATOS .........................................................................................168

8.1.1 Almacenes de Datos y Tecnologa OLAP................................................................................169 8.1.2 Minera de Datos .........................................................................................................................178 8.1.3 OLAP-Mining .............................................................................................................................1808.2 ANLISIS DE EJECUCIONES DE FLUJOS DE TRABAJO......................................................................182

8.2.1 Elementos de Inters a Analizar................................................................................................183 8.2.2 Un Modelo de Datos Multidimensional para Procesos ........................................................187 8.2.3 Aplicacin de Tecnologa OLAP-Mining ................................................................................1938.3 INTEGRACIN CON SISTEMAS DE GESTIN DE FLUJOS DE TRABAJO..........................................201

8.3.2 Aplicacin al Sistema OPERA..................................................................................................2058.4 CONCLUSIONES .....................................................................................................................................207

ix

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo

CAPITULO 9. IMPLEMENTACIN.......................................................................2099.1 FUNCIONALIDAD...................................................................................................................................209 9.2 HERRAMIENTA DE DESARROLLO DE FLUJOS DE TRABAJO............................................................210

9.2.1 Arquitectura..................................................................................................................................2119.3 HERRAMIENTA DE CAPTURA DE REQUISITOS..................................................................................217

9.3.1 Arquitectura..................................................................................................................................2179.4 HERRAMIENTA DE MEJORA DE FLUJOS DE TRABAJO .....................................................................218

9.4.1 Cargador del almacn de datos ...................................................................................................219 9.4.2 Cargador del registro de ejecucin de OPERA.......................................................................2209.5 CONCLUSIONES......................................................................................................................................222

PARTE IV. CONCLUSIONESCAPITULO 10. CONCLUSIONES Y TRABAJOS FUTUROS .................................22510.1 CONTRIBUCIONES................................................................................................................................225 10.2 TRABAJOS FUTUROS............................................................................................................................227 10.3 PUBLICACIONES RELACIONADAS CON LA TESIS...........................................................................229

BIBLIOGRAFA ........................................................................................................233

APNDICESAPNDICE A. ESPECIFICACIN R -OAS IS DEL METAMODELO ...............................245 APNDICE B. SERVICIOS DEL EDITOR DE MODELOS DE FLUJOS DE TRABAJO......253

x

ndice de FigurasFigura 2 -1. Conceptos bsicos y terminologa (fuente WfMC) ................................................................... 28 Figura 2 -2. Clasificacin de los SGFT segn complejidad y estructura de las actividades involucradas. .................................................................................................................................. 32 Figura 2 -3. Clasificacin de los SGFT segn la similitud de los procesos de negocio y su valor en la organizacin.................................................................................................................................... 32 Figura 2 -4. Estndares de la WfMC. ............................................................................................................... 36 Figura 2 -5. El modelo de referencia de un SGFT (fuente WfMC). ............................................................. 37 Figura 2 -6. Metamodelo bsico para la definici n de un flujo de trabajo (fuente WfMC)..................... 39 Figura 3 -1. Funcionalidad comn de los SGFT ............................................................................................. 44 Figura 3 -2. Modelo de proceso de desarrollo de flujos de trabajo. ............................................................... 46 Figura 3 -3. Subproceso de construccin y estabilizacin de un flujo de trabajo. ..................................... 47 Figura 3 -4. Subproceso de ejecucin y prueba de un flujo de trabajo......................................................... 48 Figura 3 -5. Subproceso de evaluacin del proceso de negocio...................................................................... 49 Figura 3 -6. Visin global del entorno. ............................................................................................................. 50 Figura 3 -7. Visin global de la gestin de un PFC .............................................................................. 55 Figura 4 -1. Dimensiones de un flujo de trabajo (fuente [Ley00])............................................................... 61 Figura 4 -2. Componentes principales de un flujo de trabajo ....................................................................... 62 Figura 4 -3. Jerarqua de generalizacin para las tareas................................................................................ 63 Figura 4 -4. Diagrama de transicin de estados de un proceso. ................................................................... 64 Figura 4 -5. Jerarqua de generalizacin de las actividades........................................................................... 65 Figura 4 -6. Composicin de procesos. .............................................................................................................. 66 Figura 4 -7. Condicin de bifurcacin ............................................................................................................... 67 Figura 4 -8. Condicin de unin ........................................................................................................................ 68 Figura 4 -9. Jerarqua de generalizacin para las condiciones de transicin.............................................. 69 Figura 4 -10. Metamodelo de proceso (sin flujo de control)......................................................................... 70 Figura 4 -11. Metamodelo de flujo de control.................................................................................................. 71 Figura 4 -12. Jerarqua de generalizacin para los recursos.......................................................................... 72 Figura 4 -13. Diagrama de transicin de estado de la clase application. .................................................... 73 Figura 4 -14. La clase application ...................................................................................................................... 74 Figura 4 -15. La clase data.................................................................................................................................. 75 Figura 4 -16. Modelo organizacional (Actores). .............................................................................................. 77 Figura 4 -17. Metamodelo de Flujo de Trabajo (sin flujo de control). ......................................................... 78

xi

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo Figura 5-1. Estructura de Kripke simple .........................................................................................................85 Figura 5-2. Especificacin de la cabecera de una clase especializada OASIS. ............................................88 Figura 5-3. Especificacin de la cabecera de una clase agregada OASIS. ...................................................88 Figura 5-4. Plantilla de especificacin de una clase elemental OASIS.......................................................89 Figura 5-5. Especificacin OASIS de la clase program. ................................................................................93 Figura 5-6. Jerarqua de la clase programa. .....................................................................................................93 Figura 5-7. Doble visin de los metaobjetos. ...................................................................................................94 Figura 5-8. Jerarqua de generalizacin de metaclases ..................................................................................95 Figura 5-9. Doble visin de la metaclase OASIS. ..........................................................................................96 Figura 5-10. Jerarqua is_instance_of de la metaclase OASIS(fuente [Car99]) .......................................96 Figura 5-11. Modelo OASIS de un flujo de trabajo. .....................................................................................98 Figura 5-12. Especificacin OASIS de la clase proceso .................................................................................99 Figura 5-13. Especificacin de la clase actividad..........................................................................................101 Figura 5-14. Especificacin OASIS de las clases actividad manual y automtica .................................102 Figura 5-15. Especificacin OASIS de la clase aplicacin ..........................................................................103 Figura 5-16. Especificacin OASIS de la clase dato. ...................................................................................104 Figura 5-17. Especificacin OASIS de la clase actor ...................................................................................104 Figura 6-1. Fragmento de la especificacin del subproceso de realizacin de un PFC ...........................111 Figura 6-2. Notacin grfica para la definicin de flujos de trabajo .........................................................112 Figura 6-3. Visin global del flujo de trabajo asociado a la realizacin de un PFC. ..............................115 Figura 6-4. Flujo de trabajo correspondiente al proceso de evaluacin de un PFC. ...............................116 Figura 6-5. El editor de flujos de trabajo visto como una clase..................................................................117 Figura 6-6. Fragmento de una secuencia de invocacin de servicios para la construccin de un modelo de flujo de trabajo. ..........................................................................................................120 Figura 6-7. Formalizacin del editor de flujos de trabajo. ...........................................................................127 Figura 6-8. Fragmento de la secuencia de invocacin de los servicios de la metaclase OASIS para la construccin de una especificacin de flujo de trabajo ...........................................................129 Figura 6-9. Estructura del sistema KAOS. ...................................................................................................130 Figura 6-10. Metamodelo de casos de uso del negocio.................................................................................134 Figura 6-11. Notacin grfica para representar los casos de uso extendidos ..........................................135 Figura 6-12. Plantilla textual para los casos de uso extendidos ................................................................136 Figura 6-13. El patrn de uso ..........................................................................................................................139 Figura 6-14. El patrn de extensin. ..............................................................................................................140 Figura 6-15. Proceso de generacin de flujos de trabajo a partir de casos de uso. ..................................141 Figura 6-16. Notacin grfica para la estructura organizacional .............................................................142 Figura 6-17. Parte del modelo organizacional de la FI ................................................................................144 Figura 6-18. Casos de uso extendidos (1) ......................................................................................................145 Figura 6-19. Modelo de casos de uso extendido (2)......................................................................................145

xii

ndice de Figuras Figura 6 -20. Plantilla para el caso de uso aprobacinPFC.........................................................................146 Figura 6 -21. Subproceso generado para aprobacinPFC ............................................................................146 Figura 6 -22. Arquitectura del entorno de soporte al desarrollo de flujos de trabajo (Definicin) .......147 Figura 7 -1. Arquitectura del entorno de soporte al desarrollo de flujos de trabajo (Ejecucin). .........150 Figura 7 -2. Arquitectura del sistema OPERA (fuente [Hag99]). ............................................................151 Figura 7 -3. Jerarqua de generalizacin para las tareas (fuente [Hag99])...............................................152 Figura 7 -4. Plantilla de una especificacin OCR.........................................................................................154 Figura 7 -5. Equivalencias entre condiciones de unin ................................................................................164 Figura 8 -1. Pasos del proceso de descubrimiento de conocimiento...........................................................169 Figura 8 -2. Cubo de datos de 3-Dimensiones: Producto, Ciudad, Cuatrimestre. ..................................172 Figura 8 -3. Vistas de un Cubo de 3-Dimensiones. ......................................................................................173 Figura 8 -4. Esquema multidimensional en estrella. ....................................................................................177 Figura 8 -5. Arquitectura de 3-niveles de un almacn de datos. ................................................................178 Figura 8 -6. Distribucin de la duracin total de un proceso, en funcin de sus estados. .....................184 Figura 8 -7. Jerarqua de agregacin para la dimensin tarea. ...................................................................188 Figura 8 -8. Jerarqua de agregacin para la dimensin Actor. ..................................................................188 Figura 8 -9. Jerarqua de agregacin para la dimensin Dato. ...................................................................189 Figura 8 -10. Jerarqua de agregacin para la dimensin Aplicacin........................................................189 Figura 8 -11. Jerarqua de agregacin para la dimensin Host_Aplicacin. ............................................190 Figura 8 -12. Esquema del almacn de datos propuesto...............................................................................191 Figura 8 -13. Arquitectura de 3 -niveles para el anlisis de ejecuciones de procesos. .............................194 Figura 8 -14. Vista parcial del retculo construido para el anlisis de ejecuciones de procesos............195 Figura 8 -15. Vista (Task) con el valor activity dentro de la jerarqua. ....................................................196 Figura 8 -16. Vista (Task) con el valor process dentro de la jerarqua. .....................................................196 Figura 8 -17. Vista (Task,State) con el valor activity dentro de la jerarqua task...................................197 Figura 8 -18. Vista (Task, State) con el valor process dentro de la jerarqua task. .................................197 Figura 8 -19. Arquitectura del entorno de soporte al desarrollo de flujos de trabajo (Anlisis de Ejecuciones)...............................................................................................................................202 Figura 8 -20. Esquema del proceso de recoleccin, transformacin y carga. ............................................203 Figura 8 -21. Esquema del registro de ejecucin de OPERA. .....................................................................206 Figura 8 -22. Esquema del Almacn de Datos para el sistema OPERA. ..................................................206 Figura 9 -1. Secciones de la interfaz grfica de usuario...............................................................................212 Figura 9 -2. Formulario asociado a la creacin de un proyecto ..................................................................213 Figura 9 -3. Formulario asociado a la creacin de un proceso ....................................................................213 Figura 9 -4. Definicin del proceso gestinPFC (1) .....................................................................................213 Figura 9 -5. Definicin de un recurso dato ....................................................................................................214 Figura 9 -6. Definicin del proceso gestionPFC (2) .....................................................................................215 Figura 9 -7. Comprobacin de la correccin de un proceso .........................................................................216

xiii

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo Figura 9-8. Comprobacin de la correccin de un proyecto ........................................................................216 Figura 9-9. Mensaje de finalizacin del proceso de generacin .................................................................217 Figura 9-10. Interfaz grfica para la construccin de los casos de uso del negocio ................................218 Figura 9-11. Esquema del cargador del almacn de datos ...........................................................................219 Figura 9-12. Invocacin del cargador .............................................................................................................219 Figura 9-13. Resumen de la carga del almacn.............................................................................................220 Figura 9-14. Cargador del registro de ejecucin de OPERA.....................................................................221 Figura 9-15. Resumen del cargador de registro de ejecucin de OPERA................................................222

xiv

ndice de TablasTabla 6 -1. Atributos y servicios del editor de modelos de flujos de trabajo .............................................119 Tabla 6 -2. Equivalencias entre casos de uso del negocio y flujos de trabajo............................................137 Tabla 7 -1. Equivalencias entre el metamodelo de referencia y el de OPERA. .........................................155

xv

PARTE I

Preliminares

17

Captulo 1.IntroduccinEl trabajo presentado en esta tesis es una aproximacin metodolgica al desarrollo de Flujos de Trabajo. La principal contribucin del trabajo es la definicin de un Ciclo de Vida que, integrando en un mi smo marco tcnicas aplicadas con xito en la Ingeniera del Software y la Extraccin de Conocimiento, tiene como objetivo fundamental el desarrollo de Flujos de Trabajo de calidad. La definicin y formalizacin de un metamodelo de referencia permite establecer un nexo entre las distintas fases o subprocesos de desarrollo. La aproximacin que se presenta se basa en la utilizacin del modelo orientado a objetos, lenguajes formales y generacin de cdigo basada en modelos, as como de tcnicas de anlisis de informacin almacenada para extraccin de conocimiento. El trabajo incorpora una capa de Ingeniera de Requisitos al proceso de definicin del flujo de trabajo, que facilita la captura y validacin de los requisitos del proceso de negocio. Esto, junto con la formalizacin del metamodelo de referencia, hacen que aumenten las garantas de generacin de cdigo de calidad a partir de los modelos construidos. Sin embargo, pueden existir errores o deficiencias no detectadas hasta que no se produzca la ejecucin real del flujo de trabajo. Por lo tanto, se incluye tambin un proceso de mejora basado en la definicin de un modelo de datos multidimensional para anlisis de ejecuciones de proceso. Este modelo permite la extraccin de conocimiento mediante tcnicas de explotacin de almacenes de datos y minera de datos. El resto del captulo se estructura como sigue. En la seccin 1.1 se describe la motivacin que ha llevado a la realizacin de este trabajo. En la seccin 1.2 se presentan los objetivos que se persiguen en la tesis, y finalmente en la seccin 1.3 se describe la estructura de la memoria, presentando el contenido de cada uno de los captulos desarrollados.

19

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo

1.1 MotivacinEn los aos 70, 80 y parte de los 90, el principal uso de los ordenadores en las organizaciones era la automatizacin de las actividades individuales. La situacin actual es distinta, en los ltimos aos hay un inters cada vez ms creciente por las organizaciones vistas como un todo. Existen mtodos y notaciones de anlisis y diseo consolidados, como UML [Boo99], herramientas de desarrollo cada vez ms potentes (RAD, generadores de cdigo, etc.) y modelos de ciclo de vida basados en el uso de las mismas. Todo ello ha motivado que se est produciendo un cambio de orientacin hacia los procesos organizacionales o procesos de negocio. El inters de las organizaciones no est limitado nicamente al desarrollo de software que automatice ciertas actividades individuales, sino que su objetivo final es la automatizacin de todo el proceso de negocio, puesto que de ello depende gran parte su competitividad. Surgen, por lo tanto, nuevas necesidades de capturar, modelar, ejecutar y monitorizar los procesos de negocio, vistos como un conjunto de procedimientos o actividades enlazadas, cuya realizacin permi te alcanzar un cierto objetivo o meta en elcontexto de una organizacin [Geo95, Hol95]. En este nuevo escenario, los flujos de trabajo1 y

la tecnologa asociada ofrecen un marco adecuado para abordar el problema, puesto que cubre, al menos parcialmente, estas necesidades. Un flujo de trabajo se define en [Hol95] como la automatizacin total o parcial de un proceso de negocio o, lo que es equivalente, la representacin del mismo en un formato entendible por una mquina. En un flujo de trabajo, la informacin, tareas y documentos pasan de un participante a otro, para que se realicen una serie de acciones de acuerdo con un conjunto de reglas procedimentales; los participantes pueden ser personas o mquinas. Los sistemas que dan soporte a la definicin del flujo de trabajo y a su posterior ejecucin, se denominan Sistemas de Gestin de Flujos de Trabajo (SGFT). La comunidad de flujos de trabajo ha detectado hace algn tiempo nuevos retos que hasta el momento no han sido cubiertos adecuadamente por los SGFT [She96]. Algunos de ellos estn motivados por los avances en la tecnologa, tales como ejecucin distribuida de procesos e interoperabilidad. En cambio, otros provienen de aspectos que han sido sistemticamente olvidados por los desarrolladores de SGFT, tales como modelado y metamodelado de flujos de trabajo, simulacin, anlisis de ejecuciones de flujos de trabajo, evolucin y reutilizacin. Sin embargo, en otras reas tales como Ingeniera del Software e Ingeniera de Requisitos s se han abordado problemas de modelado, validacin e implementacin, como parte del desarrollo de aplicaciones en general. En el rea de Extraccin de Conocimiento, se ha prestado atencin a la bsqueda de informacin de inters a partir del anlisis de datos existentes en las organizaciones. Por lo tanto, a pesar de que el modelado y ejecucin de un flujo de trabajo, como disciplina emergente, es relativamente nueva, muchas de las ideas y1 En la literatura suele denotarse por el trmino en ingls Workflow.

20

1. Introduccin conceptos que se manejan existen desde hace tiempo y provienen de reas muy diversas. Adems de las anteriores podemos tambin citar las Bases de Datos, la Ingeniera de Procesos, y otros temas ya ms concretos como automatizacin de trabajos, asignacin de rutas a documentos, procesos transaccionales, tratamiento de imgenes, sistemas operativos, computacin mvil, etc. Los SGFT surgieron primero en la industria y ms tarde se convirtieron en rea de investigacin (como en el caso de las Bases de Datos Orientadas a Objetos [DeW91]). Esto ha motivado la aparicin en el mercado de numerosos productos, catalogados como SGFT, que resuelven problemas concretos pero en los que, en muchas ocasiones, se echa en falta una base cientfica que permita resolver ciertas limitaciones existentes. Entre ellas podemos citar problemas de escalabilidad, interoperabilidad, robustez, falta de soporte metodolgico al modelado y soporte al anlisis de registros de ejecucin. Todas ellas se detallarn en el siguiente captulo. Respecto a los productos existentes en el mercado, no todos entran dentro de la misma categora, ni todos ellos proporcionan las mismas prestaciones a la hora de modelar o ejecutar un flujo de trabajo. Existen diversos tipos de SGFT dependiendo de las caractersticas del flujo de trabajo que gestionen y que tambin se detallan en el siguiente captulo. Algunos de estos productos son : MQSeries Workflow de IBM [MQS], InConcert [TIB], Staffware [STA], Lotus Notes [LOT], Bizflow 2000 [BIZ], Eastman Enterprise Workflow [EAS], Dolphin [DOL] y SERfloware [SER]. En cuanto a investigacin, existen diferentes lneas relacionadas con los SGFT, que abarcan desde temas relacionados tanto con la definicin de flujos de trabajo como con su ejecucin. Precisamente, es en la ejecucin donde se han invertido ms esfuerzos. De entre los proyectos de investigacin relacion ados directamente con el campo de los SGFT destacamos el proyecto OPERA que se desarrolla en el ETH de Zurich [OPE], el proyecto EXOTICA de IBM Almaden Research Center y cuyos resultados se estn aplicandodirectamente sobre MQSeries WF2 [EXO], el proyecto WIDE desarrollado conjuntamente por

el Politcnico de Miln, la empresa Sema Group, la Universidad de Twente y con participacin de ING Bank y el Hospital General de Manresa [WID]. Tambin podemos citar el proyecto METEOR de la Universidad de Georgia [MET], el proyecto MENTOR de la Universidad de Saaland [MEN] y el proyecto MOBILE de la Universidad de ErlangenNrnberg [MOB]. Finalmente, cabe destacar la aparicin de una organizacin internacional denominadaWorkflow Management Coalition3 (WfMC), cuyo objetivo es aunar esfuerzos para proponer

estndares en el campo de los SGFT. Estos estndares van desde proponer un modelo bsico para la definicin de flujos de trabajo, hasta definir las interfaces de comunicacin entre las distintas herramientas que componen el sistema.

2 Anteriormente exista FlowMark que ahora IBM est sustituyendo por MQSeries WF. 3 http://www.wfmc.org

21

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo

1.1.1 Planteamiento del Problema y Solucin PropuestaLas distintas aproximaciones al desarrollo de SGFT han tenido hasta ahora un fuerte componente tecnolgico. En la mayora de los casos, todo el esfuerzo se ha centrado en aspectos de ejecucin, dando lugar a sistemas que proporcionan entornos de ejecucin eficientes y, en ocasiones distribuidos, con capacidad para ejecutar un gran nmero de procesos simultneamente. Sin embargo, en la definicin del flujo de trabajo se detectan limitaciones imp ortantes [She96, Alo97]. La mayora de los SGFT nicamente proporcionan una notacin grfica para el modelado del flujo de trabajo, sin una semntica precisa, siendo en ocasiones muy dependiente de las facilidades de ejecucin soportadas. Aspectos de formalizacin y metodolgicos no han sido tenidos en cuenta hasta la fecha ms que tmidamente [Cas95, Ley98] y utilizando tecnologas no siempre apropiadas. Esta cuestin es importante, puesto que la calidad final del flujo de trabajo que se ejecuta depende directamente de la calidad del modelo previamente especificado. Ms concretamente, si este modelo no recoge todos los requisitos del proceso de negocio, la ejecucin del mismo no ser de utilidad para la organizacin, independientemente de otras buenas propiedades que pueda tener (eficiencia, robustez, distribucin, etc.). La solucin que nosotros planteamos al problema descrito es considerar un flujo de trabajo como un software complejo, y por lo tanto, para su desarrollo aplicar tcnicas, mtodos y herramientas utilizadas en el campo de la Ingeniera del Software. En esta disciplina se han realizado numerosos avances en temas directamente relacionados con el modelado conceptual, puesto que es una de las fases crticas dentro del proceso de desarrollo de software. Los errores cometidos en esta fase son los que mayor incidencia negativa tienen en la calidad final del producto. Entre los trabajos realizados, destacamos varias lneas por ser de inters en la bsqueda de soluciones al problema planteado. Definicin de mtodos para la captura de requisitos [Jac92, Rol96, Boo99, Lei00]. Uso de lenguajes formales para especificar, dotando a los modelos de una semntica precisa [Fee93, Dub93, Jun95, Pas95b, Obl99]. Validacin de modelos basada en prototipacin autom tica [Har93, Dub94, Sid97]. Generacin de cdigo basada en modelos [Bell98]. Teniendo en cuenta esto, el desarrollo de modelos de flujo de trabajo de calidad se puede abordar con el uso de lenguajes formales para construir las especificaciones correspondientes y obtener automticamente un prototipo (de acuerdo con las ideas del paradigma de programacin automtica [Bal83]). Esto permite iniciar un proceso de validacin de requisitos con el usuario para mejorar la calidad del modelo a nivel de definicin. En concreto se propone el uso de OASIS [Pas95b, Can96b] como marco expresivo y de KAOS [Can95, Can96a] como entorno de prototipado.

22

1. Introduccin Siguiendo con la solucin planteada, se puede establecer un smil entre las fases tpicas de desarrollo de software en general y el desarrollo de flujos de trabajo. La definicin y ejecucin de modelos de flujo de trabajo se correspondera siguiendo el paradigma de programacin automtica [Bal93], con las actividades a realizar desde el anlisis a la implementacin. Al igual que tras la fase de implementacin hay una fase de pruebas que permite detectar errores, la inclusin de una fase de anlisis de datos tras la ejecucin real del modelo de flujo de trabajo puede aportar informacin til que sirva de realimentacin para mejorarlo. Esto permite que se incida no slo en la definicin y ejecucin de flujos de trabajo, sino tambin en la mejora de los mismos a partir de datos reales. Para ello se propone el uso de tcnicas especficas de extraccin de conocimiento. La solucin propuesta al problema planteado determina los objetivos de la tesis. Antes de enumerarlos, hay que indicar que el trabajo se ha desarrollado dentro del grupo de investigacin Programacin Lgica e Ingeniera del Software- Subgrupo Modelado Conceptual Orientado a Objetos y Bases de Datos (MCOOBD), del Departamento de Sistemas Informticos y Computacin de la Universidad Politcnica de Valencia, en colaboracin con el grupo de investigacin Information and Communication Systems (IKS) del ETH de Zrich. Las reas de inters del grupo MCOOBD se han centrado histricamente en la definicin de modelos y lenguajes de especificacin formales y orientados a objetos, y en el desarrollo de entornos de prototipado y sistemas de gestin de bases de datos deductivas activas y orientadas a objetos. Los principales resultados se plasman en la definicin del lenguaje de especificacin formal y orientado a objetos OASIS [Pas95a, Pas95b, Can96a, Let98] y la construccin de entornos de ejecucin o animacin de especificaciones OASIS [Can95, Car99, Let99, San00]. Todas las actividades asociadas al desarrollo de este trabajo se han enmarcado en dos proyectos coordinados de la Comisin Interministerial de Ciencia y Tecnologa (CICYT): MENHIR - Supbroyecto ESPILL (1997-2000, TIC97-0593-C05-01) y DOLMEN Subproyecto SIGLO (2000-2003, TIC2000-1673-C06-01).

1.2 ObjetivosEl objetivo principal de la tesis es definir un marco (framework) para el desarrollo de modelos de flujos de trabajo de calidad, que integre la definicin, ejecucin y mejora de los mismos. A nivel de definicin y ejecucin, el objetivo es aplicar mtodos, tcnicas y herramientas utilizadas con xito en la Ingeniera del Software a este nuevo dominio. Para la mejora del flujo de trabajo se sigue una aproximacin basada en tcnicas de anlisis de datos y extraccin de conocimiento. Este objetivo general se desglosa en los siguientes objetivos especficos:

23

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo Conocer el estado del arte en el campo de los SGFT, tanto a nivel industrial como de investigacin. Definir un modelo de proceso de desarrollo de flujos de trabajo que integre la definicin, ejecucin y mejora de flujo de trabajo, siguiendo una aproximacin basada en la Ingeniera del Software. Establecer un metamodelo de flujo de trabajo de referencia que sirva de punto de unin de los distintos subprocesos, y formalizarlo en OASIS. Si la expresividad del lenguaje no es suficiente para representar flujos de trabajo, definir las extensiones sintctico-semnticas necesarias. Proponer un mtodo para la captura de requisitos de un proceso de negocio, que gue la obtencin del modelo de flujo de trabajo asociado. Proponer la validacin automtica de los modelos de flujo de trabajo a partir de especificaciones formales de flujos de trabajo. Estudiar la generacin automtica en SGFT eficientes a partir del modelo de flujo de trabajo construido. Estudiar y proponer una solucin general para la mejora de un flujo de trabajo a partir de la informacin registrada por el SGFT tras cada ejecucin del mismo. Construir un prototipo que d soporte al modelo de proceso propuesto.

1.3 Estructura del DocumentoEl documento se ha estructurado en cuatro partes, cada una de las cuales consta de un conjunto de captulos. La Parte I establece las bases para el desarrollo del trabajo. Adems de la introduccin, comprende los captulos 2 y 3. En el Captulo 2 se presenta una visin general del estado del arte en los SGFT. Se introduce la terminologa bsica utilizada en este campo, tanto a nivel de definicin como de ejecucin de un flujo de trabajo. Se enumeran varias clasificaciones de SGFT, atendiendo a diversos criterios. Se citan las principales limitaciones que existen en estos sistemas, debido principalmente a la falta de un modelo de referencia comn. Finalmente, se comentan los esfuerzos que se estn realizando para la propuesta de estndares en este campo. En el Captulo 3 se da una visin general del modelo de proceso de desarrollo de flujos de trabajo propuesto. Se describen las principales caractersticas de cada uno de los subprocesos que lo componen, enumerndose las actividades a realizar en cada caso y el

24

1. Introduccin conjunto de herramientas necesarias para dar soporte a todas ellas. Finalmente, se presenta el caso de estudio utilizado a lo largo de la tesis. La Parte II contiene la definicin y formalizacin del metamodelo de flujo de trabajo, que servir de base al proceso de desarrollo propuesto. Comprende los captulos 4 y 5. En el Captulo 4 se describe detalladamente el metamodelo tomado como referencia en la tesis. Se identifican y modelan los distintos elementos que componen un flujo de trabajo, siguiendo un enfoque orientado a objetos y utilizando UML como lenguaje de modelado. En el Captulo 5 se presenta la formalizacin del metamodelo de referencia en OASIS. Antes de abordar la representacin en OASIS de los conceptos del metamodelo, se resumen las principales caractersticas del marco conceptual proporcionado por OASIS, en particular, aqullas que permiten utilizarlo como lenguaje de especificacin de flujos de trabajo. La Parte III da una descripcin ms detallada del modelo de proceso de desarrollo propuesto. Comprende los captulos 6, 7 y 8, dedicados a la definicin, ejecucin y mejora de flujos de trabajo, respectivamente. En el Captulo 6 se describe el subproceso de construccin y estabilizacin, que comprende la definicin y validacin de modelos de flujo de trabajo. Respecto a la definicin del modelo, se presenta el lenguaje grfico propuesto, los servicios genricos que debe proporcionar un editor de modelos de flujo de trabajo y las pautas de generacin de la especificacin OASIS equivalente al modelo construido. Todo ello de acuerdo con el metamodelo de referencia y su formalizacin. La especificacin obtenida es la entrada para iniciar un proceso de validacin de la misma. Por ltimo, se presenta un mtodo de derivacin de modelos de flujo de trabajo, siguiendo una aproximacin ascendente basada en casos de uso del negocio, que sirve de ayuda en la fase de definicin del modelo. En el Captulo 7 se estudia la ejecucin de los modelos de flujo de trabajo construidos en SGFT, siguiendo una aproximacin basada en compiladores de modelos. En concreto, se establecen las correspondencias con el sistema OPERA, enumerndose las distintas plantillas de generacin a seguir por el compilador de modelos. En el Captulo 8 se describe el anlisis de ejecuciones de flujos de trabajo, desde la perspectiva de las tcnicas de extraccin de conocimiento a partir de informacin almacenada. Se resumen los principales conceptos y tcnicas utilizadas en este campo, y que son de utilidad en nuestro caso. Se enumeran los elementos de inters a analizar para la mejora del flujo de trabajo y se propone un modelo multidimensional que permite abordar el anlisis de forma general. Finalmente se muestra cmo se integra la solucin propuesta en el marco general del proceso de desarrollo de flujos de trabajo, y su aplicacin al sistema OPERA. En el Captulo 9 se presenta el prototipo desarrollado, describindose el conjunto de herramientas que implementan lo descrito en los captulos anteriores.

25

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo La Parte IV est dedicada a las conclusiones generales de la tesis. Comprende nicamente el Captulo 10 en el cual se presentan las principales contribuciones y se describen futuras lneas de investigacin que quedan abiertas y que pueden abordarse a partir del presente trabajo. Finalmente, como complemento a los captulos, se incluyen dos apndices. El Apndice A contiene la especificacin OASIS completa del metamodelo de referencia definido. El Apndice B recopila y documenta los servicios proporcionados por el editor de flujos de trabajo para la definicin de modelos.

26

Captulo 2.2 Sistemas de Gestin de Flujos de Trabajo. Estado del ArteEn este captulo se introduce una visin general al contexto tecnolgico en el que se sita el trabajo desarrollado en esta tesis, los SGFT. Se hace una revisin del estado del arte, que abarca su definicin, clasificacin, limitaciones y esfuerzos actuales de estandarizacin. El captulo se estructura como sigue. En la seccin 2.1 se introducen los conceptos bsicos relacionados con los SGFT, enumerndose la terminologa asociada. En la seccin 2.2 se presentan diversas taxonomas de los SGFT, atendiendo a diferentes criterios. La seccin 2.3 recopila las principales limitaciones de los productos actuales. En la seccin 2.4 se muestran los esfuerzos realizados a nivel de estandarizacin, con la descripcin de los distintos estndares propuestos por al WfMC, en especial, el Modelo de Referencia. Finalmente, se muestran las conclusiones en la seccin 2.5.

2.1 IntroduccinUn SGFT es un sistema que define, crea y gestiona la ejecucin de flujos de trabajo mediante el uso de software, siendo capaz de interpretar la definicin del proceso, interactuar con los participantes y, siempre que se requiera, invocar el uso de herramientas y aplicaciones [WFM99a]. De acuerdo con la definicin anterior, en un SGFT existen dos actividades claramente diferenciadas, aunque con relaciones entre ellas. Por una parte est la definicin del fl ujo de trabajo que implementa al proceso de negocio, en lo que llamaremos modelado del flujo de

27

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo trabajo, y por otra parte est la animacin o ejecucin de dicho modelo, tambin conocido en la literatura con el trmino ingls enactment. La Figura 2-1 muestra los conceptos bsicos y la terminologa asociada tanto para la fase de modelado como para la fase de ejecucin.

Proceso de Negocioes ges t i onad o p or e s d efi ni do e n

Definicin del ProcesoSistema Gestin Flujos d e Trabajous ad o p ara cr ear y ges t ion a r

via SubProcesos co mp ues t o de Instancias Proceso Incl uye una o m s Actividades pueden s erdur a nt e l a e jec uc i n

Instancias Ac tividade s r epr es en tad o por

or inc l u y e

Actividades Actividades Automaticas Manuales and /or Invocacin de Tareas

Aplicaciones

Figura 2-1. Conceptos bsicos y terminologa (fuente WfMC) La especificacin del flujo de trabajo consiste en definirlo como un conjunto de actividades relacionadas, ms un conjunto de criterios que indican el comienzo y finalizacin del proceso y de sus componentes, e informacin adicional sobre cada actividad, tal como participantes, invocacin de aplicaciones, datos, etc. Las actividades describen trozos de trabajo y constituyen pasos o tareas dentro del proceso. stas pueden ser manuales o automticas, en el sentido de que puedan requerir o no recursos humanos para su realizacin, as como invocar aplicaciones externas que realicen parte o todo el trabajo asignado a dicha actividad. La ejecucin del flujo de trabajo en un SGFT consiste en la creacin, manipulacin y destruccin de instancias proceso, que representen al flujo de trabajo de acuerdo con la especificacin previa. Cada instancia proceso tendr una identidad visible externamente y un estado interno que representa su progreso hacia la finalizacin y su estado con respecto a las actividades que lo componen. Cada vez que la ejecucin del proceso suponga la invocacin de una actividad, segn la definicin del mismo, se crea una instancia actividad que la representa. Dicha instancia se encarga de ejecutar las acciones asignadas, accediendo a los datos que sean necesarios e invocando la aplicacin externa correspondiente, si as lo requiere la actividad.

28

2. Sistemas de Gestin de Flujos de Trabajo. Estado del Arte Una vez presentados los conceptos bsicos relacionados con los SGFT, si profundizamos un poco ms vemos que adems del proceso o flujo de trabajo como componente m s importante, existen otros dos aspectos que se pueden considerar. En primer lugar, puesto que algunas actividades pueden requerir participacin humana, se puede incluir no slo la informacin de quin realiza dicha tarea, sino tambin modelar toda la estructura organizativa del personal. En segundo lugar, y de forma similar a lo anterior, la utilizacin de datos por parte de las actividades y la posibilidad de invocar aplicaciones externas obliga, en cierto modo, a conocer y modelar la propia infraestructura de tecnologas de la informacin existente en la organizacin. Los SGFT pueden ser implementados de una gran variedad de formas, como resultado de la utilizacin de diferentes tecnologas en diferentes entornos, que pueden ir desde un pequeo grupo de trabajo a una gran organizacin. En cuanto a la tecnologa utilizada, son muchas las que pueden confluir en un SGFT. Destacamos gestin de bases de datos, interfaces grficas de usuario, integracin de sistemas (nuevos con los ya existentes), mensajes, gestin de documentos, cliente/servidor y distribucin. Adems, en los SGFT confluyen diferentes reas, de entre las cuales podemos mencionar como ms significativas las siguientes: Procesos: Los SGFT intentan automatizar la coordinacin de todos los elementos que componen un proceso, indicando qu hay que hacer, en qu orden, quin debe hacerlo y qu recursos se deben utilizar. Reingeniera : Entendiendo la reingeniera de procesos como una forma de definir, analizar y optimizar procesos empresariales, los SGFT tambin juegan un papel importante en dicho campo, mediante el anlisis de la propia ejecucin del flujo de trabajo. Islas de Informacin: Se llaman as a las redes o subredes de ordenadores existentes en una organizacin, que quedan aisladas unas de otras sin ofrecer una visin global. Los SGFT pueden servir para conectar estas islas entre s utilizando la nocin de proceso como forma de enlazar la informacin y proporcionar una visin global de la misma. Sistemas basados en componentes: En los SGFT tambin confluyen ideas de los sistemas basados en componentes, teniendo en cuenta que cada vez ms, el desarrollo de aplicaciones se basa en combinar componentes que ya existen, siendo la unificacin de dichos componentes el principal problema. En este sentido, los SGFT son un componente ms, donde a la vez podemos utilizar la visin global que proporcionan como una posible forma de programacin de grandes sistemas. A esta aproximacin tambin se le denomina megaprogramacin o metaprogramacin [CHA]. Otras reas que tambin abarcan los SGFT son: procesamiento de imgenes, gestin de documentos, aplicaciones colaborativas (groupware), correo electrnico y software de soporte para gestin de proyectos.

29

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo

2.2 TaxonomaLos elementos a considerar en la especificacin de un flujo de trabajo son muchos y de naturaleza muy variada, como ya se ha comentado anteriormente. Por ello, no existe una nica clasificacin de los SGFT, sino varias dependiendo del criterio a considerar. A continuacin se enumeran algunas de las clasificaciones que podemos encontrar en la literatura: A. ([Geo95]) Segn la complejidad del grafo que representa al flujo de trabajo, es decir, de los requisitos de coordinacin entre las distintas actividades, tenemos dos tipos de flujos de trabajo: Ligeramente estructurado. En este caso, el grafo que representa la coordinacin entre las actividades es prcticamente lineal, y stas se van ejecutando una a continuacin de otra. Altamente estructurado. El grafo que representa la coordinacin entre las actividades ya no es lineal, sino que se representan ejecuciones en paralelo de actividades, sincronizacin de actividades, etc. B. ([Geo95]) Segn el grado de participacin humana en el flujo de trabajo, stos se pueden clasificar en: Orientados a personas. Cuando la participacin humana en la ejecucin del SGFT es importante. Estas personas sern agentes que inician o realizan las actividades. Por su naturaleza, la mayor parte de las actividades que conforman el flujo de trabajo son manuales. Orientados a sistemas. La participacin humana suele ser menor y el proceso est altamente automatizado, por lo que la mayor parte de las actividades del flujo de trabajo son actividades automticas. C. De acuerdo con la tecnologa en la que se basa el SGFT, stos se pueden clasificar en: Centrados en el correo electrnico. En estos SGFT se utiliza el e_mail como medio de comunicacin. Centrados en el documento. La principal caracterstica es que los documentos circulan e interaccionan con aplicaciones externas. Predominan los aspectos de gestin de documentos. Centrados en el proceso. En este caso, lo importante es el propio proceso. Los mecanismos de comunicacin entre las actividades y/o los datos se implementan por encima de la base de datos, proporcionndose interfaces de interaccin.

30

2. Sistemas de Gestin de Flujos de Trabajo. Estado del Arte D. Una clasificacin de SGFT bastante aceptada hoy en da, es aquella que distingue entre SGFT de produccin, administrativos, ad-hoc y de colaboracin. Esta clasificacin se establece en base a dos criterios: la complejidad de las actividades involucradas y la estructura de las mismas, por una parte, y por otra, en base a las similitudes de los procesos de negocio involucrados y su valor o importancia en la propia organizacin. La Figura 2-2 y la Figura 2-3 muestran cmo se sita cada tipo de SGFT de acuerdo a los criterios establecidos. Administrativos. Este tipo de SGFT es el que modela los procesos burocrticos de una organizacin. La funcin bsica asociada al mismo es el procesami ento de formularios. El SGFT se encarga de activar la ejecucin de las actividades (la mayor parte de las cuales son manuales e interviene un agente en ellas), recoger las respuestas (datos) y obtener el formulario (que normalmente es una o varias actividades automticas, que recopilan y procesan la informacin obtenida). Por ejemplo, la matricula universitaria o la obtencin de certificados. La principal caracterstica de las actividades involucradas en el proceso es que se trata de actividades repetitivas y de baja complejidad. La estructura del grafo que representa el proceso puede varar de baja a alta, aunque en muchas ocasiones el grafo de tareas es lineal. Algunos productos existentes en el mercado y que pertenecen a esta categora son: Staffware [STA], Bizflow 2000 [BIZ] y COSA Workflow [COS]. Ad Hoc. Estos SGFT son muy similares a los administrativos, pero con la caracterstica de ser utilizados para tratar situaciones nicas o excepcionales, en lugar de procesos burocrticos perfectamente establecidos. El SGFT informa sobre el estado de ejecucin de cada actividad y la participacin humana es esencial. Las actividades involucradas en el proceso suelen ser nicas, en el sentido de que muchas de ellas slo se realizan una vez y su complejidad oscila de baja a media. La principal dificultad en este tipo de SGFT estriba en construir el grafo de coordinacin y cooperacin entre actividades. Un ejemplo de este tipo es el proceso para la aceptacin de artculos en una revista desde el punto de vista del autor. Cada revista tiene su propio proceso a seguir, y en este caso, seguir la pista por parte del autor de cada proceso de aceptacin por separado no es complicado, pero s en caso de estar todos juntos y ejecutndose simultneamente (envo simultneo a varias revistas). Podemos citar como SGFT ad-hoc a Dolphin [DOL] y a Panagon Workflow [FIL].

31

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo

AltaProduccinComplejidad

Colaboracinactividad

Ad Hoc

Administrativo

BajaSimple ComplejaEstructura actividad Figura 2-2. Clasificacin de los SGFT segn complejidad y estructura de las actividades involucradas

Alto Produccin

Valor Colaboracin

Ad HocBajo Administrativo Procesos Proceso

RepetitivosUnico Figura 2-3. Clasificacin de los SGFT segn la similitud de los procesos de negocio y su valor en la organizacin

32

2. Sistemas de Gestin de Flujos de Trabajo. Estado del Arte Produccin. Modelan e implementan los procesos de negocio crticos de la organizacin, es decir, los procesos directamente relacionados con la funcin principal de la misma. Los SGFT de este tipo son sistemas complejos que se ejecutan sobre entornos heterogneos, y en los que suelen participar como agentes gran variedad de personas y organizaciones. Normalmente se requiere la ejecucin de transacciones para el acceso a la informacin, que puede encontrarse en diferentes sistemas. Finalmente, cabe destacar que la monitorizacin del estado en el que se encuentra cada actividad es muy importante en este tipo de sistemas, as como el posterior anlisis estadstico de toda esta informacin, que va a permitir, entre otras cosas, mejorar el proceso. Las actividades involucradas en el proceso son repetitivas (cientos o miles de instancias en ejecucin), pero de alta complejidad. La estructura del grafo que representa el proceso suele ser ms bien compleja. Como ejemplos podemos citar la integracin de software preexistente (legacy applica tions), los prstamos bancarios, prstamos y devoluciones en general, seguros, etc. Los siguientes productos existentes en el mercado pertenecen a este tipo: MQSeries WF [MQS], Eastman Enterprise Workflow [EAS], Visual and Panagon Workflow (es la evolucin de FileNet) [FIL], InConcert [TIB], y SERfloware [SER]. Colaboracin. Este tipo de SGFT se caracteriza principalmente por la participacin de distintas personas y las interacciones que tienen lugar entre ellas, de tal forma que la mayor parte de la coordinacin en realidad la realiza el hombre. Otra caracterstica importante es la existencia de ciertas actividades sobre las que se pueden realizar varias iteraciones hasta que se alcance un cierto consenso por parte de todos los participantes; una vez alcanzado, la ejecucin contina siempre hacia adelante. Son sistemas muy dinmicos que en muchas ocasiones se definen conforme se avanza en el proceso. Las caractersticas enunciadas anteriormente hacen que no exista un consenso total sobre si realmente se tra ta o no de SGFT, especialmente cuando las caractersticas anteriores se llevan al lmite, ya que la mayor parte de la coordinacin la realiza el hombre y el sistema se limita a proporcionar un buen interfaz para las interacciones (normalmente va correo electrnico). Algunos de los productos existentes en el mercado son: Lotus Notes [LOT] y TeamWare Flow [TEM].

33

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo

2.3 LimitacionesExisten en el mercado numerosos productos comerciales catalogados como SGFT. No todos ellos renen las mismas caractersticas, sino que muchas veces se centran en proporcionar funcionalidades especficas, que encajan en alguna de las clasificaciones vistas en la seccin anterior. Adems cada uno de estos productos han evolucionado incorporando nuevas tecnologas y convirtindose muchas veces en productos para aplicaciones muy especficas. En cuanto a la investigacin, actualmente existen numerosos grupos trabajando en distintas lneas relacionadas con los SGFT. Pero, como se mencion anteriormente, muchos productos comerciales han aparecido antes de que la investigacin en ese rea haya llegado a fundamentos tericos serios, obtenindose soluciones tecnolgicas ad-hoc sin una base formal que las sustente. Esta situacin condiciona que el estado del arte venga marcado por los productos comerciales existentes en el mercado, ms que por los resultados de los grupos de investigacin, que trabajan intentando subsanar las limitaciones actuales de los SGFT.Las principales limitaciones de los SGFT se pueden resumir en las siguientes4:

Los SGFT existentes no son totalmente compatibles, hacindose prcticamente imposible unir diferentes sistemas que proporcionan diferentes funcionalidades en uno nico. Las incompatibilidades existentes no slo tienen que ver con la sintaxis o la plataforma en la que se ejecutan, sino que muchas veces dichas incompatibilidades se refieren al propio modelo de ejecucin del flujo de trabajo. Esta situacin provoca que los diferentes productos existentes se consideren como islas de la automatizacin de procesos. En mu chas ocasiones, estos productos fueron diseados para pequeos grupos de usuarios. Cuando estos productos se han querido utilizar a gran escala, han aparecido numerosas restricciones derivadas del propio diseo del producto, tales como pobre soporte a la comunicacin, una nica base de datos donde se almacena toda la informacin, etc. Estas restricciones obligan en numerosas ocasiones a redisear por completo el SGFT. La falta de robustez de muchos productos tambin es una limitacin importante. Ante un fallo, no siempre aseguran una recuperacin correcta del sistema, sino que muchas veces queda en manos de los propios mecanismos de recuperacin de la base de datos. En numerosas ocasiones, el problema se debe al igual que antes, al hecho de que se disearon para utilizarse a ms pequea escala, sin tenerse en cuenta qu ocurrira cuando hubieran numerosos componentes (usuarios, aplicaciones y datos) involucrados en la ejecucin de un proceso y estos componentes estuvieran distribuidos por la red.4 Una descripcin ms detallada aparece en [Alo97]

34

2. Sistemas de Gestin de Flujos de Trabajo. Estado del Arte No existe hasta el momento una formalizacin de la nocin de flujo de trabajo, sino que en la mayora de las ocasiones simplemente se proporcionan descripciones informales de cules son sus componentes. No existe soporte metodolgico para los procesos de modelado de flujos de trabajo, ni tampoco para el anlisis de los mismos [She96]. La mayor parte de las limitaciones mencionadas se deben a la falta de un Modelo de Referencia comn para todos los SGFT, que sea aceptado como un estndar por parte de todos los desarrolladores, e incorporado en dichos sistemas. Con el objetivo de subsanar estadeficiencia, nace la Workflow Management Coalition (WfMC5 ), cuyos principales resultados se

comentan a continuacin.

2.4 EstandarizacinLos principales esfuerzos en el desarrollo y promocin de estndares en el campo de los SGFT han sido realizados por la WfMC. Es una organizacin internacional, sin nimo de lucro, que se establece en agosto de 1993 y rene a un grupo de vendedores, usuarios, analistas y grupos de investigacin. Su principal objetivo es promover el uso de SGFT mediante el establecimiento de estndares que faciliten la creacin, desarrollo y anlisis de estos sistemas. La WfMC ha definido una serie de estndares (ver Figura 2-4). De entre todos ellos, destacamos el Modelo de Referencia [Hol95] que describe la arquitectura bsica de un SGFT y que junto con el de Terminologa y Glosario [WFM99a], constituyen el material bsico. En base a ellos se han definido otras especificaciones con una fi nalidad mucho ms concreta, como son: interoperabilidad entre SGFT [WFM99c], modelo para la definicin de procesos [WFM99b], invocacin a travs de API (Aplication Programming Interface) [WFM98a] y anlisis de datos [WFM98b]. En las siguentes secciones se comentan ms extensamente el modelo de referencia propuesto y se darn las principales caractersticas del resto.Posteriormente, Object Management Group 6 (OMG) tambin une sus esfuerzos con la

WfMC en la propuesta de estndares. OMG es una organizacin internacional sin nimo de lucro fundada en 1989, cuyo principal objetivo se centra promover la teora y prctica de la tecnologa orientada a objetos en el desarrollo de software. Entre sus principales propuestas est la arquitectura OMA (Object Management Architecture), que establece el marco conceptual en el que se basan todas sus especificaciones, y CORBA (Common Object Request Broker Architecture) como respuesta a las necesidades de interoperabilidad entre el gran nmero de productos software y hardware existentes hoy en da, permitindose la5 http://www.wfmc.org/ 6 http://www.omg.org/

35

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo comunicacin entre ellos. En 1997 se inicia un acercamiento hacia los SGFT, publicando en [OMG97] una propuesta para incluir funcionalidad de ejecucin de los SGFT en entornos desarrollados siguiendo una arquitectura OMA, lo cual mejorara las prestaciones de dichos entornos. Este acercamiento de OMG conlleva la publicacin de una primera especificacin, basada en los estndares de la WfMC, que establece requisitos de interoperabilidad entre distintos SGFT en un entorno CORBA [OMG98]. A partir de ese momento, se inicia un proceso de revisin y mejora de esta especificacin, siendo [OMG00] la ltima propuesta.

Modelo de Referencia Terminologa y Glosario Estndares WfMC-TC -1011 v3 (Feb 99) Especificaciones Definicin de Especificacin para Procesos & WPDL Auditora de Datos WfMC-TC-1016 v1.1 WfMC-TC -1015 v1.1 (Oct 99) Especificaciones API (WAPI) WfMC-TC-1002 v2 (Jul 98) WAPI Uso de Enlace MIME Nombres WfMC-TC -1018 v1.2 WfMC-TC -1013 v1 (Ene 00) (Nov 95) InteroperabilidadEnlace Wf-XML WfMC-TC-1023 v1 (May 00) (Dic 99) InteroperabilidadInteroperabilidadEspecif. Abstractas WfMC-TC -1012 v2 (Sep 98)

BsicosWfMC-TC -1003 v1.1 (Ene 95)

Figura 2-4. Estndares de la WfMC

2.4.1 Modelo de Referencia de la WfMCEl Modelo de Referencia propuesto por la WfMC intenta reunir las caractersticas comunes de cualquier producto para la gestin de flujos de trabajo, de manera que sea posible la interoperabilidad entre ellos, a travs de estndares comunes para cada una de las funciones

36

2. Sistemas de Gestin de Flujos de Trabajo. Estado del Arte que se puedan realizar. En primer lugar, se han identificado las distintas reas funcionales y a continuacin se han desarrollado especificaciones para la implementacin de las mismas, asegurndose la interoperabilidad entre distintos SGFT y su integracin con otras aplicaciones informticas. Este modelo ha sido desarrollado a partir de la arquitectura de una aplicacin de sistema de flujo de trabajo genrica , identificando sus componentes y las diferentes interfaces que permiten comunicacin a diferentes niveles (Figura 2-5).

Herramientas

Definicin del ProcesoI nte rf az 1 In te rf a z 4 I n ter fa z 5

WF API e intercambio de formatos Otros servicios deHerramientas de

FTServicio de ejecucin del ejecucin de

Administracin y

FTMonitorizacin

Motor Motor FT FTIn te rf a z 3 In te rf az 2

Aplicaciones deAplicaciones

FTClientes

invocadasFigura 2-5. El modelo de referencia de un SGFT (fuente WfMC) El componente central es el servicio de ejecucin del flujo de trabajo que se encarga de crear, gestionar y ejecutar cada una de las instancias del modelo de flujo de trabajo. En este componente es donde se encuentra el motor del SGFT, que proporciona la ejecucin, propiamente dicha, de cada instancia. En caso de estar en un entorno de ejecucin de flujo de trabajo distribuido, pueden existir diferentes motores de flujo de trabajo que controlen distintas partes de la ejecucin del proceso. La comunicacin de este componente con el resto se realiza a travs de lo que la WfMC denomina WAPI (Workflow APIs), es decir, la interfaz

Interfaz 5para la programacin de aplicaciones de flujo de trabajo [WFM98a]. Otro de los componentes son las herramientas de definicin del proceso o flujo de trabajo, las cuales permiten modelar, describir y documentar un determinado flujo de trabajo, proceso de negocio o proceso en general. Estas herramientas pueden ser totalmente informales (lenguaje natural, lpiz y papel) o mucho ms sofisticadas y formalizadas (interfaces grficas con un modelo subyacente bien definido). Se debe especificar la lgica del proceso, las actividades que lo componen, los participantes humanos, aplicaciones

37

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo invocadas, datos utilizados, etc. La interfaz 1 permite la comunicacin entre este componente y el servicio de ejecucin del flujo de trabajo. La distincin de ambos componentes aporta claros beneficios, entre los que destaca la separacin entre el entorno de ejecucin y el de definicin. De este modo, es posible almacenar en un repositorio la informacin sobre la definicin del proceso y sta ser accedida por distintos entornos de ejecucin para ejecutarlo completamente o de forma distribuida. La interfaz 1 se encarga por tanto del intercambio de informacin entre el componente que permite la definicin del proceso y el propio servicio de ejecucin del flujo de trabajo. Esta interfaz hace necesaria la definicin de un metamodelo bsico, en el que se identifica el conjunto mnimo de entidades para la definicin de un proceso, permitindo el intercambio de informacin entre ambos componentes (ver seccin 2.4.1.1 ). Adems del propio servicio de ejecucin del flujo de trabajo y las herramientas para la definicin del proceso, tenemos otro componente denominado aplicaciones clientes del flujo de trabajo, que representa las entidades software utilizadas por el usuario final en aquellas actividades que requieren participacin humana para su realizacin. Si este componente se separa de lo que es el propio componente de ejecucin, es necesaria una interfaz (inte rfaz 2) que defina y maneje claramente el concepto de lista de trabajos o worklist, como una cola de trabajo asignado a un usuario o a un grupo de usuarios por el propio motor de ejecucin del flujo de trabajo. El componente aplicaciones invocadas representa software o aplicaciones ya existentes que un SGFT puede utilizar para la realizacin de ciertas actividades, teniendo en cuenta que, en principio, dichas aplicaciones se pueden encontrar en cualquier plataforma o lugar de la red. La interfaz 3 permite la comunicacin entre este componente y el servicio de ejecucin del flujo de trabajo, no slo a nivel de invocacin del mismo, sino de transformacin de datos en formatos entendibles por ambos componentes. Una posible solucin se obtiene a travs de lo que se denomina agente aplicacin, de modo que el servicio de ejecucin del flujo de trabajo se comunica con las funciones estndar de dicho agente aplicacin y ste define interfaces especficas para cada tipo de aplicacin invocada. La interoperabilidad entre SGFT est representada por el componente denominado otros servicios de ejecucin de flujo de trabajo, siendo la interfaz 4 la que permite dicha comunicacin. En este caso, la WfMC ha desarrollado un conjunto de escenarios de interoperabilidad que van desde la conexin a nivel de actividades simples hasta todo un completo intercambio de definicin de procesos y datos [WFM99c]. Finalmente, el componente herramientas de administracin y monitorizacin permite que distintos servicios de ejecucin de flujo de trabajo compartan las mismas funciones de administracin y monitorizacin del sistema, como pueden ser, por ejemplo, la gestin de usuarios, el control de los recursos y la supervisin del estado de todo el proceso.

38

2. Sistemas de Gestin de Flujos de Trabajo. Estado del Arte

2.4.1.1 Metamodelo de Flujo de TrabajoLa Figura 2-6 muestra una representacin grfica del metamodelo de flujo de trabajo de la WfMC, en notacin UML. Como informacin adicional, hay que mencionar que un flujo de trabajo tiene como atributos un nombre, un nmero de versin, una condicin de inicio y una condicin de terminacin, as como datos sobre seguridad, auditora o cualquier otro tipo de control. Una actividad posee nombre, un tipo que indica si es una actividad atmica o una subactividad, una precondicin, una postcondicin y otras restricciones de planificacin. Las condiciones de transicin forman parte del flujo de control. Los datos del flujo de trabajo se caracterizan mediante un nombre, un camino (path ) y un tipo. Los roles que representan la participacin humana tienen un nombre y la unidad organizacional a la que pertenecen, adems de una lista de trabajo que almacena las tareas a desarrollar por el actor humano. Finalmente, las aplicaciones invocadas poseen un nombre o tipo genrico, unos parmetros de ejecucin y la ruta de acceso a la misma. Estas entidades estn relacionadas entre s y dichas relaciones estn claramente etiquetadas en la Figura 2-6. Este metamodelo bsico puede enriquecerse con nuevas entidades y con ms informacin sobre las mismas, de acuerdo con la funcionalidad aadida. Por ejemplo, en el caso de que el servicio de ejecucin del flujo de trabajo sea distribuido, puede ser necesario incluir, como un atributo ms de la actividad, la mquina o motor de flujo de trabajo que la va a ejecutar y su localizacin.

Figura 2-6. Metamodelo bsico para la definicin de un flujo de trabajo (fuente WfMC)

39

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo

2.4.2 Otros EstndaresEn esta seccin se comenta brevemente el con tenido de los distintos estndares de la WfMC. Estos estndares estn en continuo proceso de revisin y actualizacin, citndose como referencia la ltima versin de los mismos. WfMC-TC-1011. Terminologa y glosario [WFM99a]. El objetivo de este documento es definir los trminos utilizados en las especificaciones de la WfMC, con la finalidad de establecer una consistencia en el uso de los mismos, tanto en la industria como en el mundo de los SGFT en general. En el documento se identifica la terminologa usada para describir los conceptos y la estructura general de un SGFT, con sus principales componentes e interfaces. Para cada trmino se da una definicin, posibles usos de los mismos y otros sinnimos. WfMC-TC-1002. Workflow Client API Specifications (WAPI) [WFM98a]. Este documento especifica la interfaz de comunicacin del motor de flujo de trabajo con elresto de componentes que lo forman. Esta comunicacin se realiza a travs de APIs7 ,

definindose un conjunto de servicios para la programacin de aplicaciones de flujo de trabajo, denominada WAPI. Este documento se complementa con un conjunto de convenciones para utilizacin de nombres en las WAPI [WFM95]. WfMC-TC-1012. Interoperabilidad entre SGFT [WFM99c]. Este documento proporciona una especificacin abstracta que define la funcionalidad necesaria para permitir un nivel definido de interoperabilidad entre dos o ms motores de distintos SGFT. En el documento se presentan inicialmente distintos niveles de interoperabilidad y para cada uno de ellos un posible modelo que permita dicha integracin. Finalmente se especifican los operadores para llevar a cabo distintas interacciones entre los SGFT. Este estndar de interoperabilidad se enriquece con otros documentos de la WfMC, tales como: o El estndar de interoperabilidad Internet e-mail MIME Binding [WfM00a], donde se definen los tipos y formatos de mensajes concretos, de acuerdo con la especificacin abstracta dada en el documento inicial, para poder permitir la interoperabilidad entre SGFT utilizando el correo electrnico en internet como medio de comunicacin y la codificacin MIME como mecanismo de transporte de informacin. o Interoperabilidad utilizando XML 1.0 [W3C98]. Se trata de un borrador en el que se est trabajando y que an no ha sido aprobado como estndar. Se denomina Wf-XML Binding [WFM00b], y su objetivo es utilizar XML como lenguaje de intercambio de mensajes entre SGFT. Cada mensaje es un7 Application Programming Interfaces.

40

2. Sistemas de Gestin de Flujos de Trabajo. Estado del Arte documento XML que sigue un DTD prefijado. Se est trabajando en estos mensajes agrupados en tres grupos: definicin del proceso, ejecucin del mismo e interaccin con el usuario. WfMC-TC-1015. Anlisis de datos [WFM98b]. Este documento define cmo se representa la informacin a utilizar para la realizacin de auditoras de SGFT. En concreto, el estndar especifica la informacin que debe ser capturada y almacenada referente a los diversos eventos ocurridos durante la etapa de ejecucin del flujo de trabajo. A dicha informacin se le denomina CWAD y se utilizar tanto para realizar anlisis como para realizar pruebas de ejecucin.WfMC-TC-1016. Definicin de Procesos & WPDL8 [WFM99b]. Este documento forma

parte de la estandarizacin de la interfaz 1 del modelo de referencia definido por la WfMC. Se incluye un metamodelo para describir la definicin de procesos y una propuesta de lenguaje textual, con la gramtica asociada, para la definicin de procesos denominado WPDL. o Posteriormente, y debido al auge de XML [W3C98] se ha propuesto un lenguaje para la definicin de procesos basado en XML, denominado XPDL. En [WFM01] se detalla una primera propuesta de DTD para el intercambio de definiciones de procesos.

2.5 ConclusionesEn este captulo se han presentado las principales caractersticas de los SGFT, desde el punto de vista de su funcionalidad, detectndose que existen dos actividades bsicas: definicin y ejecucin. La taxonoma presentada demuestra que existe gran variedad dentro de los SGFT, y que a pesar de que todos ellos permiten la automatizacin de procesos, siguen existiendo limitaciones importantes, relacionadas principalmente con la falta de un soporte metodolgico y la falta de estndares que sean aceptados e implementados por los sistemas comerciales. Precisamente, con ste ltimo objetivo nace la WfMC, una organizacin internacional que est trabajando junto con OMG para la definicin de estndares y su aceptacin. De entre todos ellos, destaca el Modelo de Referencia, que establece un marco comn a partir del cual distintos SGFT pueden interactuar. Esto determina la aparicin de toda una familia de estndares para aspectos mucho ms concretos y relacionados principalmente con temas de interoperabilidad. En los ltimos aos han ido apareciendo tambin propuestas relativas a la definicin de flujos de trabajo, pero principalmente relacionadas con el establecimiento8 Workflow Process Definition Language

41

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo de formatos de intercambio de modelos de flujo de trabajo, para su exportacin a otros SGFT, y no a nivel metodolgico para la obtencin y validacin de dicho modelo.

42

Captulo 3.3 Visin General del Proceso de

Desarrollo de Flujos de TrabajoUn flujo de trabajo puede considerarse un producto software complejo que permite automatizar un cierto proceso. Segn la Ingeniera del Software, en el desarrollo de todo producto software existen una serie de actividades que deben realizarse en un orden determinado y que abarcan no slo su produccin, sino tambin su explotacin y mantenimiento. Esto se denomina ciclo de vida o proceso de desarrollo del software [Pre01]. Por lo tanto, y de acuerdo con esta idea, el punto de partida de la tesis es definir un modelo de proceso que proponga el uso de tcnicas, mtodos y herramientas en el desarrollo de flujos de trabajo de calidad, eliminndose algunas de las limitaciones existentes actualmente. La estructura del captulo es la que sigue. En la seccin 3.1 se describe, de forma global, el modelo de proceso de desarrollo de flujos de trabajo propuesto. En la seccin 3.2 se da una visin general del entorno que da soporte a dicho proceso de desarrollo, y en la seccin 3.3 se introduce el caso de estudio que se utiliza como ejemplo en los siguientes captulos para ilustrar las distintas actividades del proceso de desarrollo. Finalmente, en la seccin 3.4 aparecen las conclusiones de este captulo.

3.1 Un Modelo de Proceso de Desarrollo de Flujos de TrabajoLa definicin de un modelo de proceso o ciclo de vida a seguir en el desarrollo de flujos de trabajo conlleva tener que identificar las actividades a realizar, su ordenacin temporal y las

43

Una Aproximacin Metodolgica al Desarrollo de Flujos de Trabajo entradas y salidas de cada actividad. Aunque en la literatura de flujos de trabajo no existen propuestas explcitas de procesos de desarrollo, se asume con normalidad que existen dos actividades bsicas: la definicin del flujo de trabajo y la ejecucin del mismo. En concreto, segn la WfMC, a pesar de la gran va riedad de SGFT existentes (vistos en el captulo anterior), todos ellos se caracterizan por dar soporte a tres reas funcionales, denominadas funciones de edicin o definicin ( build-time functions), funciones de control de ejecucin (run-time control functions) y funciones de interaccin en tiempo de ejecucin (run-time interactions) [Hol95]. La Figura 3-1 muestra estas reas funcionales y sus relaciones. Definicin del FT Edicin Control de Servicio de ejecucin del FT

EjecucinInteraccin en Aplicaciones Tiempo de Usuarios invocadas Ejecucin

Figura 3-1. Funcionalidad comn de los SGFT La primera de ellas tiene que ver con la funcionalidad que ofrecen los SGFT de definir, modelar y especificar el flujo de trabajo de acuerdo con un modelo de flujo de trabajo ya establecido que incluye los conceptos de actividad, actor, datos, aplicaciones invocadas, etc. Las funciones de control de ejecucin son las que permiten generar una versin ejecutable del flujo de trabajo especificado, que pueda ser ejecutada sobre una mquina. Para ello, se crear la correspondiente instancia del flujo de trabajo y se controlar la creacin y ejecucin de las instancias actividad de acuerdo con el flujo de control preestablecido. Finalmente, la interaccin en tiempo de ejecucin agrupa toda la funcionalidad que proporciona un SGFT para que sea posible la comunicacin con usuarios, en aquellas actividades que requieran participacin humana, as como la invocacin de aplicaciones externas para la ejecucin de ciertas actividades, y el acceso/almacenamiento de los datos de entrada/salida de las actividades. Aparte de estas funciones bsicas, existen otros servicios que podemos denominar servicios avanzados de soporte al proceso [Hag99], y que abarcan desde la gestin de

44

3. Visin General del Proceso de Desarrollo recursos (planificacin y balanceado de cargas) hasta la monitorizacin del proceso, pasando por el almacenamiento de un registro de ejecucin, anlisis de las historias de ejecucin, repositorio de modelos, evolucin del modelo, aspectos de persistencia y sincronizaci


Recommended