PPQf-Patrones de Workflow WfMC-V2.0

Embed Size (px)

Citation preview

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    1/38

    Patterns & Practices

    How to

    Q-flow

    Patrones bsicos de

    Workflow

    Versin: 2.0

    Fecha de publicacin 28-03-2011

    Apl ica a: Q-f lo w 3.0 y Q- fl ow 3. 1

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    2/38

    Patterns & Practices

    ndiceIntroduccin .................................................................................................................................................. 3

    Patrones de control....................................................................................................................................... 4

    Patrn: Secuencia ..................................................................................................................................... 4

    Patrn: Separacin en paralelo (tambin llamado AND/split) ................................................................. 4

    Patrn: Sincronizacin .............................................................................................................................. 5

    Patrn: Opcin exclusiva (XOR-Split) ........................................................................................................ 6

    Patrn: Fusin simple ............................................................................................................................... 7

    Patrones avanzados de paralelismo y sincronizacin ................................................................................... 9

    Patrn: Mltiple Opcin (Or-Split) ............................................................................................................ 9Patrn: Fusin Sincronizada .................................................................................................................... 10

    Patrn: Fusin Mltiple .......................................................................................................................... 12

    Patrn: Discriminador ............................................................................................................................. 13

    Patrn: Unin, N-de-los-M ...................................................................................................................... 16

    Patrones Estructurales ................................................................................................................................ 19

    Patrn: Ciclos Arbitrarios ........................................................................................................................ 19

    Patrn: Terminacin Implcita ................................................................................................................ 20

    Patrones de tareas con mltiples instancias .............................................................................................. 22

    Patrn: Mltiples instancias sin sincronizacin. ..................................................................................... 22

    Patrn: Mltiples instancias con conocimiento a priori en tiempo de diseo ....................................... 24

    Patrn: Mltiples instancias con conocimiento a priori en tiempo de ejecucin. ................................. 26

    Patrn: Mltiples instancias sin conocimiento a priori en tiempo de ejecucin. ................................... 28

    Patrones basados en estado ....................................................................................................................... 30

    Patrn: Seleccin Diferida ....................................................................................................................... 30

    Patrn: Enrutamiento en paralelo entrelazado. ..................................................................................... 31Patrn: Hito ............................................................................................................................................. 33

    Patrones de Cancelacin ............................................................................................................................. 36

    Patrn: Cancelar Actividad ...................................................................................................................... 36

    Patrn: Cancelar Caso. ............................................................................................................................ 37

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    3/38

    Patterns & Practices

    IntroduccinEl departamento de Technology Management de la Technische Universiteit Eindhoven ha

    identificado y publicado un conjunto de patrones bsicos que se encuentran en forma recurrente dentro

    de la implementacin de sistemas de Workflow (http://is.tm.tue.nl/research/patterns/patterns.htm).

    Este tipo de patrones capturan los aspectos elementales para el control de procesos y son equivalentesa la definicin de conceptos inicialmente definida por la Workflow Management Coalition (WfMC)

    [Wor99].

    Estos patrones se han convertido en un estndar, no solo como formas normalizadas de encarar la

    solucin de las situaciones que estos patrones atacan, sino tambin como una forma de evaluar la

    capacidad de las herramientas de Workflow, de acuerdo a su capacidad para implementar en forma

    natural dichos patrones.

    El presente documento describe el cumplimiento de los patrones bsicos de Workflow por parte de Q-

    flow. Se presentar la descripcin de cada patrn junto con la forma en que el mismo puede ser

    realizado utilizando Q-flow.

    http://is.tm.tue.nl/research/patterns/patterns.htmhttp://is.tm.tue.nl/research/patterns/patterns.htmhttp://is.tm.tue.nl/research/patterns/patterns.htmhttp://www.workflowpatterns.com/patterns/control/bibliography.php#Wor99http://www.workflowpatterns.com/patterns/control/bibliography.php#Wor99http://www.workflowpatterns.com/patterns/control/bibliography.php#Wor99http://www.workflowpatterns.com/patterns/control/bibliography.php#Wor99http://is.tm.tue.nl/research/patterns/patterns.htm
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    4/38

    Patterns & Practices

    Patrones de control

    Patrn: SecuenciaUna actividad en un proceso de Workflow es habilitada despus de ser completada otra actividad en el

    mismo proceso.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_1.swf

    Implementacin con Q-flow

    Los diagramas de proceso de Q-flow implementan este patrn por defecto en cada actividad. O sea, por

    defecto, los conectores entre tareas implican precedencia, salvo que se explicite lo contrario.

    Patrn: Separacin en paralelo (tambin llamado AND/split)Dos o ms actividades de un proceso se ejecutan en paralelo. En un punto del proceso de Workflow, el

    hilo de control se divide en mltiples hilos de control, habilitando la ejecucin de las tareas en paralelo y

    sin restricciones de orden entre ellas.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_2.swf

    Implementacin con Q-flow

    http://is.tm.tue.nl/research/patterns/download/swf/pat_1.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_1.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_2.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_2.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_2.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_1.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    5/38

    Patterns & Practices

    Este patrn se implementa en Q-flow utilizando el paso de separacin, el cual separa el hilo de ejecucin

    en mltiples caminos de ejecucin paralelos. Q-flow permite la ejecucin de mltiples caminos enparalelo (sin lmite en cuanto al nivel de anidaciones o contenido de los hilos internos).

    Patrn: SincronizacinUna actividad es iniciada cuando dos o ms hilos completan la ejecucin de sus actividades. En un punto

    del proceso, dos o ms hilos de control convergen en un solo hilo.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_3.swf

    Implementacin con Q-flow

    http://is.tm.tue.nl/research/patterns/download/swf/pat_3.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_3.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_3.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    6/38

    Patterns & Practices

    El paso de unin de Q-flow implementa entre otros este patrn. Al ser ste el patrn ms comn de

    sincronizacin, el paso de unin se comporta por defecto de acuerdo al mismo, sincronizando todos loshilos de entrada antes de activar la siguiente actividad.

    Patrn: Opcin exclusiva (XOR-Split)En un punto del proceso, una o ms de sus ramas son seleccionadas en base a los datos de control del

    proceso.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_4.swf

    Implementacin con Q-flow

    http://is.tm.tue.nl/research/patterns/download/swf/pat_4.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_4.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_4.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    7/38

    Patterns & Practices

    El patrn de seleccin exclusiva de camino es implementado en Q-flow por medio del paso de

    evaluacin, donde es evaluada una condicin (basada en respuestas dadas a preguntas o tareas,votaciones, evaluacin de datos relevantes del workflow o valores de propiedades de los usuarios

    participantes del workflow) y de acuerdo al valor de la evaluacin se selecciona uno u otro camino de

    ejecucin.

    Patrn: Fusin simpleSe mezclan varios hilos de control en uno solo, en determinado punto del proceso.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_5.swf

    Implementacin con Q-flow

    http://is.tm.tue.nl/research/patterns/download/swf/pat_5.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_5.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_5.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    8/38

    Patterns & Practices

    La fusin simple en Q-flow no utiliza ningn constructor especfico, sino que la simple unin de los

    caminos o hilos de ejecucin sobre una tarea determina que cualquiera de ellos que llegue a la tarea la

    active.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    9/38

    Patterns & Practices

    Patrones avanzados de paralelismo y sincronizacin

    Patrn: Mltiple Opcin (Or-Split)En un punto del proceso, basado en los datos de control del proceso, uno o ms caminos o ramas son

    seleccionados.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_6.swf

    Implementacin con Q-flow

    El paso de Separacin de Q-flow implementa este patrn incluyendo una evaluacin opcional en cada

    camino de ejecucin en que abre el proceso, permitiendo que cada camino sea activado opcionalmente,

    de acuerdo con el resultado de la evaluacin correspondiente (verdadero o falso).

    http://is.tm.tue.nl/research/patterns/download/swf/pat_6.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_6.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_6.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    10/38

    Patterns & Practices

    Patrn: Fusin SincronizadaSe trata de un punto en el proceso de Workflow donde mltiples caminos convergen en un nico hilo de

    control. Si ms de un camino haba sido tomado, entonces debe producirse una sincronizacin entre los

    hilos de control. Si haba sido tomado slo uno, los dems hilos deben converger.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_7.swf

    Implementacin con Q-flow

    http://is.tm.tue.nl/research/patterns/download/swf/pat_7.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_7.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_7.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    11/38

    Patterns & Practices

    El paso de unin de Q-flow implementa este patrn. El mismo, en su configuracin, permite que se

    seleccione la espera por todos los hilos iniciados en el fork/split correspondiente, de forma de queespere la finalizacin de todos los hilos antes de activar la siguiente tarea.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    12/38

    Patterns & Practices

    Patrn: Fusin MltipleEn un una actividad convergen distintas ramas o caminos en los que se abri el hilo de control en una

    bifurcacin anterior. La actividad donde convergen los hilos ser activada una vez por cada hilo de la

    rama que se activ en la separacin.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_8.swf

    http://is.tm.tue.nl/research/patterns/download/swf/pat_8.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_8.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_8.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    13/38

    Patterns & Practices

    Implementacin con Q-flow

    Este patrn est implementado en Q-flow por medio de una separacin con condicin en la cual los

    hilos se separan condicionalmente y continuando la ejecucin de cada hilo en un paso en comn. Se

    mantienen uno o dos hilos dependiendo de la separacin y cada uno de los hilos puede estar en el

    mismo paso del proceso.

    Patrn: DiscriminadorEs un punto del proceso que espera por una rama o hilo de control antes de activar la siguiente

    actividad. Los siguientes hilos de control que lleguen a ella luego de activada la tarea siguiente son

    ignorados, hasta que al llegar el ltimo la tarea finaliza.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_9.swf

    http://is.tm.tue.nl/research/patterns/download/swf/pat_9.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_9.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_9.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    14/38

    Patterns & Practices

    Implementacin con Q-flow

    Este patrn es implementado en Q-flow por medio del paso de Unin, en el cual varios hilos de

    ejecucin se fusionan, permitiendo que se active la siguiente actividad en base a la cantidad de hilos o

    caminos de ejecucin que alcanzan el paso de unin. Para implementar este patrn, en las propiedades

    del paso de unin se selecciona la opcin continuar cuando ha llegado el primer hilo.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    15/38

    Patterns & Practices

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    16/38

    Patterns & Practices

    Patrn: Unin, N-de-los-MUnin N-de-los-M , es un punto en el proceso de workflow donde M caminos de ejecucin paralelos

    convergen en uno. La siguiente actividad es activada slo cuando N caminos se han completado. La

    complecin de los siguientes M-N caminos es ignorada.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    17/38

    Patterns & Practices

    Implementacin con Q-flow

    Este patrn es implementado en Q-flow por medio del paso de Unin, en el cual varios hilos de

    ejecucin se fusionan, permitiendo que se active la siguiente actividad en base a la cantidad de hilos o

    caminos de ejecucin que alcanzan el paso de unin. Para implementar este patrn, en las propiedades

    del paso de unin se selecciona la opcin continuar cuando han llegado N hilos.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    18/38

    Patterns & Practices

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    19/38

    Patterns & Practices

    Patrones Estructurales

    Patrn: Ciclos ArbitrariosSe trata de un punto en el proceso donde una o ms actividades pueden ser realizadas en forma

    repetitiva. Este patrn existe para diferenciar los Workflows que necesitan de un constructor explcito

    de repeticin (como lo sugiere el WPDL).

    http://is.tm.tue.nl/research/patterns/download/swf/pat_10.swf

    http://is.tm.tue.nl/research/patterns/download/swf/pat_10.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_10.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_10.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    20/38

    Patterns & Practices

    Implementacin con Q-flow

    Al igual que lo que sucede con el patrn de Fusin Simple, el modelo de grafo que implementa Q-flow

    no necesita de un constructor especfico para implementar la repeticin o el patrn de Ciclos

    Arbitrarios. La simple unin de una bifurcacin con el punto de entrada de una tarea o actividad de Q-

    flow es una implementacin de este patrn.

    Patrn: Terminacin ImplcitaUn proceso debe terminar cuando no quedan actividades pendientes y cuando no est en deadlock. Se

    evita un terminador explcito que cancela las actividades pendientes.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_11.swf

    http://is.tm.tue.nl/research/patterns/download/swf/pat_11.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_11.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_11.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    21/38

    Patterns & Practices

    Implementacin con Q-flow

    Las propiedades de los pasos de unin y de terminacin muestran la capacidad del sistema para

    mantener activas las tareas en los hilos o caminos activos luego de haberse procesado los pasos de

    unin y/o de cancelacin o de lo contrario finalizarlas implcitamente.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    22/38

    Patterns & Practices

    Patrones de tareas con mltiples instanciasExisten mltiples formas de abordar estos patrones. Durante el presente anlisis, se abordar la forma

    ms comn de implementarlos, que es con pasos de tarea, o sea, con actividades asignadas a usuarios.

    Patrn: Mltiples instancias sin sincronizacin.Una actividad es instanciada mltiples veces, desconocindose en tiempo de diseo el nmero de

    instancias a ser habilitadas. Cuando todas las instancias creadas finalizan, se ejecuta la siguiente

    actividad.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_12.swf

    Implementacin con Q-flow

    Dicho patrn puede ser implementado con Q-flow utilizando una tarea con un destinatario

    multivaluado. El destinatario multivaluado puede ser cargado, generndose automticamente las

    correspondientes instancias de la tarea en el momento de instanciarse la misma.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_12.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_12.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_12.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    23/38

    Patterns & Practices

    Asignacin del rol en tiempo de ejecucin:

    Configuracin del paso de tarea para que espere a que se completen todas las instancias entes de

    ejecutar la siguiente actividad:

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    24/38

    Patterns & Practices

    Patrn: Mltiples instancias con conocimiento a priori en tiempo de diseoSe soporta que una actividad sea habilitada o invocada muchas veces, con la cantidad de veces conocida

    en tiempo de diseo.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_13.swf

    Implementacin con Q-flow

    Este patrn tambin es de simple implementacin en Q-flow, ya que la configuracin natural de los

    pasos permite que se determinen en tiempo de diseo la cantidad de instancias de la actividad a ser

    instanciada en tiempo de ejecucin.

    El paso de pregunta es configurado con la lista de destinatarios (tomadas de diversas fuentes) a quienes

    se dirigir la pregunta o tarea.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_13.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_13.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_13.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    25/38

    Patterns & Practices

    En la configuracin del paso, se especifica que debe esperar a que se completen las actividades antes de

    continuar con la siguiente actividad.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    26/38

    Patterns & Practices

    Patrn: Mltiples instancias con conocimiento a priori en tiempo de ejecucin.Una actividad es instanciada ms de una vez, dependiendo de informacin disponible en tiempo de

    diseo, antes de invocar la actividad. Esta informacin puede provenir de los datos de control del

    proceso o de los recursos del sistema, etc.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_14.swf

    Implementacin con Q-flow

    Dicho patrn puede ser implementado con Q-flow utilizando una tarea con un destinatario

    multivaluado, donde la tarea es asignada en tiempo de ejecucin de acuerdo a la informacin disponible

    en ese momento.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_14.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_14.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_14.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    27/38

    Patterns & Practices

    En este patrn, antes de instanciarse la actividad, se analiza el valor de un dato de aplicacin del proceso

    y mediante el script especificado en la siguiente imagen se generan tantas instancias del destinatario de

    la tarea como sean necesarias, asignndose cada instancia a la cola de trabajo.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    28/38

    Patterns & Practices

    Patrn: Mltiples instancias sin conocimiento a priori en tiempo de ejecucin.Una actividad es instanciada muchas veces en tiempo de ejecucin, sin conocimiento de cuntas

    instancias se crearn ni en tiempo de diseo ni en tiempo de ejecucin, hasta que se ha terminado de

    crear las instancias. Es el caso de un bucle en tiempo de ejecucin que instancia una actividad.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_15.swf

    Implementacin con Q-flow

    Este patrn se implementa abriendo en dos el hilo de ejecucin en un paso de separacin (Separar) para

    que la tarea se active y continuando la ejecucin luego del paso de unin , configurando el mismo para

    que contine al llegar el primer hilo de ejecucin (patrn discriminador), de forma que la tarea contina

    activa y cuando termina simplemente se detiene su hilo de ejecucin al llegar al paso de union. El

    evaluador implementa el patrn X-OR, permitiendo que se activen tantas instancias de la misma tarea

    como sean necesarias, hasta que la condicin de evaluacin del X-OR determine que se debe activar la

    tarea B.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_15.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_15.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_15.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    29/38

    Patterns & Practices

    Nota: Si se debe esperar por todas las instancias de A para activar B, entonces se debe utilizar un

    contador en el hilo de A, incrementndolo antes de entrar a A y disminuyndolo al salir,

    condicionndose el pasaje a B slo cuando ese contador llegue a cero. La evaluacin del mismo puede

    dispararse con un paso de espera, para sincronizarse con las novedades de parte del workflow.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    30/38

    Patterns & Practices

    Patrones basados en estado

    Patrn: Seleccin DiferidaSe trata de un punto en el proceso donde uno o mltiples caminos son seleccionados.

    En contraste con el XOR-Split, la seleccin no es explcita (basada en datos o decisiones) peromltiples alternativas son ofrecidas por el entorno.

    En contraste con el AND-Split, slo una de las opciones es seleccionada.Supongamos que en un punto del proceso se debe completar una actividad u otra basada en la

    disponibilidad de los recursos, pero ninguno de los recursos utilizables est disponible, por lo que se

    debe esperar a que uno de los recursos est disponible para decidir cul alternativa seleccionar.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_16.swf

    Implementacin con Q-flow

    El paso de pregunta con evaluacin permite seleccionar la opcin a ser tomada en tiempo de ejecucin.

    En base a la respuesta dada, selecciona el camino a tomar o la tarea a activar.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_16.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_16.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_16.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    31/38

    Patterns & Practices

    Patrn: Enrutamiento en paralelo entrelazado.Un conjunto de actividades es ejecutado en un orden arbitrario, decidido en tiempo de ejecucin.

    Es el caso de actividades que pueden ejecutarse en cualquier orden pero no en paralelo.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_17.swf

    Implementacin con Q-flow

    El paso de separacin de Q-flow, si bien no permite directamente implementar un modelo en el cual se

    seleccione por s solo un camino de ejecucin, s permite que cada hilo disponga de un evaluador

    implcito, por lo cual a cada uno de los tres hilos que se muestran en el siguiente diagrama se le puede

    dar una condicin de inicio. Una vez establecido un criterio de seleccin que permita que slo uno de los

    hilos acte en cada iteracin, alcanza con implementar un bucle por medio del patrn x-or de forma

    que cierre el ciclo de ejecucin repitindolo hasta que todas las tareas se hayan completado.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_17.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_17.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_17.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    32/38

    Patterns & Practices

    La siguiente figura muestra las propiedades a colocar en el paso de evaluacin para que contine

    ejecutando otra tarea mientras no se han completado o instanciado las tres tareas especificadas.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    33/38

    Patterns & Practices

    Patrn: HitoPermite testear si un proceso de Workflow ha alcanzado determinada fase o etapa.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_18.swf

    Implementacin con Q-flow

    Este patrn es implementado en forma nativa por Q-flow. En el siguiente diagrama, se abren dos hilos

    de ejecucin paralela y en el primero de los hilos se espera por la ejecucin del hito (paso

    Sincronizacin) para activar la tarea A. Se contina inmediatamente con la tarea C (con dos hitos y

    esperas se puede hacer una sincronizacin cruzada). Al llegar al paso de unin, la ejecucin contina.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_18.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_18.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_18.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    34/38

    Patterns & Practices

    En la configuracin del paso de sincronizacin se muestra que se esperar por el hito contenido en el

    otro hilo.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    35/38

    Patterns & Practices

    El paso de unin puede ser configurado para que la ejecucin contine cuando se ha completado el

    segundo hilo de ejecucin, independizndose la continuacin del workflow de la terminacin o de la

    ejecucin de la tarea A, la cual, segn diversos caminos que podra tomar el segundo hilo, podra no

    ejecutarse nunca.

  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    36/38

    Patterns & Practices

    Patrones de Cancelacin

    Patrn: Cancelar ActividadEl sistema permite que al completarse una actividad otra actividad sea cancelada o deshabilitada (una

    actividad que una vez completada hace innecesaria otra que se encuentra activada).

    http://is.tm.tue.nl/research/patterns/download/swf/pat_19.swf

    Implementacin con Q-flow

    Se inicia el proceso, hasta que en un punto nos encontramos con un paso de fork que divide el mismo en

    dos hilos: uno que representa el hilo de ejecucin normal del proceso y el otro que representa el hilo de

    cancelacin.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_19.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_19.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_19.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    37/38

    Patterns & Practices

    La unin del los hilos cancela las tareas definidas. Se muestra como se debe configurar el paso de unin.

    Patrn: Cancelar Caso.Una instancia completa del proceso es cancelada. Por ejemplo, en un proceso de evaluacin y seleccin,

    uno de los participantes se retira, teniendo que cancelarse todas las actividades relacionadas con la

    evaluacin de este participante.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_20.swf

    Implementacin con Q-flow

    Se inicia el proceso con un paso de fork que divide el mismo en dos hilos: uno que representa el hilo de

    ejecucin normal del proceso y el otro que representa el hilo de cancelacin.

    http://is.tm.tue.nl/research/patterns/download/swf/pat_20.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_20.swfhttp://is.tm.tue.nl/research/patterns/download/swf/pat_20.swf
  • 7/29/2019 PPQf-Patrones de Workflow WfMC-V2.0

    38/38

    Patterns & Practices

    El paso de finalizacin cancela el proceso en su conjunto. Se muestra la configuracin del paso de fin.