Al diagramar procesos frecuentemente nos encontramos con situaciones que requieren la utilización de tareas y subprocesos múltiple instancia, debemos tener en cuenta que al automatizar un proceso se tiene una unidad de trabajo, es decir, si automatizamos un proceso de recepción de facturas, esta unidad de trabajo es una factura, pero, si por el contrario automatizamos un proceso que es iniciado por una lista de clientes deudores, la unidad de trabajo será esta lista y habrán momentos en los cuales necesitaremos atender a cada cliente de la lista de forma independiente. Es esta una de las situaciones en las cuales se hace necesaria la utilización del comportamiento múltiple instancia ya sea como subproceso o como tarea.
Inicialmente se debe determinar si utilizá un subproceso o una tarea, y para esto, es necesario analizar el proceso y definir qué es lo más apropiado.
Continuando con el ejemplo de la lista de clientes deudores, en situaciones en las cuales solo se requiere el control de cada cliente en una actividad, con el uso de una tarea múltiple instancia es suficiente, de esta forma, el proceso se divide en múltiples casos (uno por cada cliente), y luego dependiendo de la configuración de salida que se tenga, se espera a que todos los casos sean terminados para continuar con el proceso, o se continúa caso por caso, por el contrario, cuando se deben ejecutar dos o más actividades con este detalle, se debe utilizar el subproceso múltiple instancia en el cual el proceso se dividirá en varios casos dependiendo del número de clientes registrados y cada uno vivirá de forma independiente el proceso inmerso en el subproceso múltiple instancia, para luego salir consolidado cuando todos los procesos se terminen o uno a uno dependiendo de la configuración de salida que se le de al subproceso.
Leer también: Tips para la lectura de flujos BPMS
Después de decidir si se va a utilizar una tarea o un subproceso múltiple instancia, es importante pensar en la automatización de estos a nivel de formularios y funcionamiento, lo primero que se debe pensar es cómo se va a definir el número de instancias a crear en la múltiple instancia. Normalmente este número es determinado por un campo numérico que indica el número de casos a crear, como el resultado de contar el número de filas de una tabla o de la interpretación de un archivo dependiendo de las capacidades del software utilizado y los requisitos del proceso.
Otro factor a tener en cuenta con este tipo de comportamiento es manejo de los datos, continuando con el ejemplo de la lista de clientes deudores, imaginemos un formulario del proceso en el momento en que se está trabajando con la lista completa, este debería contener una especie de variable tipo tabla que me permita tener en una sola ventana la información de todos los clientes deudores, pero luego cuando se entra al comportamiento múltiple instancia interesa que cada tarea tenga solo la información del cliente a tratar y no la de los demás, dado que si esta tarea contiene la información de todos los clientes, el usuario no va a saber con claridad a qué usuario se está refiriendo cada una de las tareas de la múltiple instancia. De esta forma, cada vez que se pase a una tarea o subproceso múltiple instancia, se debe replantear el formulario del proceso para pasar de un formulario general a uno particular y luego cuando se salga del comportamiento múltiple instancia, se debe retornar al manejo consolidado conservando la información detallada que se diligenciá para cada uno de los casos particulares dentro de esta.
De esta forma hemos dado un breve repaso de los cuidados y consideraciones que se deben tener al momento de utilizar los procesos y tareas múltiple instancia.