Sincronizar tokens con la opción Cada Token

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Asistente de Procesos > Modelar Procesos > Modelado para ejecución > Subprocesos > Entendiendo los Subprocesos múltiples > Conceptos del múltiple Subproceso >

Sincronizar tokens con la opción Cada Token

Introducción

Al usar la opción Cada Token como Modo de salida, los usuarios enfrentan un problema común: manejar más de un token activo en partes del proceso, donde sólo uno debería estarlo. Tenga en cuenta que toda la información ingresada en una actividad es guardada en la base de datos (y por lo tanto actualizada en otras actividades abiertas) cuando el usuario final presiona Siguiente, o finaliza la actividad. Es importante resaltar que si una actividad está activa y ha sido actualizada pero no está terminada, todas las otras actividades abiertas al mismo tiempo quedarán desactualizadas, hasta que la actividad haya terminado.

 

Hay varios métodos para lograr una sincronización exitosa de los tokens. Algunos métodos se explican abajo:

 

Usar una Compuerta Compleja

Puede usar una Compuerta Compleja y una expresión para filtrar cada token y decidir si continúa con el proceso. Por ejemplo, si desea mantener solo el último token que llegue a un punto determinado, puede usar la siguiente configuración:

 

1. Agregue una Compuerta Compleja al modelo.

 

Synchronization_Each_Token_1

 

2. Agregue un atributo booleano en su base de datos donde pueda controlar cuándo una instancia del Sub-Proceso Múltiple ha terminado su ejecución.

 

Synchronization_Each_Token_2

 

3. Evalúe la siguiente expresión cada vez que un token llegue a la Compuerta Compleja, permitiendo el paso solo al último token mediante el siguiente filtro:

 

Synchronization_Each_Token_3

 

 <count(MyCollection)> = <count(MyCollection[Attrib=true])>;

 

Usted puede personalizar el filtro de acuerdo a las necesidades del negocio.

 

Usar una Compuerta Exclusiva

Usted puede usar una Compuerta Exclusiva y una expresión para filtrar cada token y decide si continuar con el proceso o se desvía por un camino diferente en dicha instancia. Por ejemplo, si desea mantener solo el último token en llegar a un punto determinado, puede usar la siguiente configuración:

1. Añada una Compuerta Exclusiva al modelo según vea necesario.

 

Synchronization_Each_Token_4

 

2. Agregue un atributo booleano en su base de datos donde pueda controlar cuándo una instancia del Sub-Proceso Múltiple ha terminado su ejecución y continúa en el proceso padre.

 

Synchronization_Each_Token_2

 

3. Evalúe las siguientes expresiones cada vez que un token alcanza las compuertas, dejando solo el último activo. De ésta forma solo el último token estará disponible para seguir a través del flujo, todos los demás tokens serán descartados.:

 

Synchronization_Each_Token_5

 

<count(MyCollection)> = <count(MyCollection[Attrib=true])>;

 

Usted puede personalizar el filtro de acuerdo a las necesidades del negocio.

 

Usar una actividad Singleton

La propiedad Singleton no hace a la actividad un elemento de sincronización por sí misma. Si planea usar una actividad Singleton, tenga en cuenta que cuando la actividad es iniciada por un token, los demás que intenten iniciar la actividad serán terminados. Pero, cuando la actividad es completada y el token continúa a la siguiente actividad, los tokens de las actividades anteriores pueden continuar. Por lo tanto, ésta propiedad no es una herramienta de sincronización, pero puede resultar útil.

 

Synchronization_Each_Token_6