Info |
---|
TL;DR En este documento se explican las entidades que intervienen en la malla de procesos y como estan relaciadas, se explica con ejemplos ilustrativos cada una de estas. 10 min de lectura |
En este documento
Glosario de términos
Plataforma
Proceso
Rutina
Ejemplo Rutina - Proceso
Malla de tareas
Tareas
Estados de una tarea
Registro de tareas
Ejemplo Malla de tareas - Tareas - Registro de tareas
Glosario de términos
Plataforma
Es la entidad que contiene la información de una aplicación dentro de la malla de procesos, asi como también contiene la información de los usuarios que tienen acceso a esta y de todos los procesos que tiene, de la rutina en la que dichos procesos participan y de las tareas realizadas y por realizar. Es la entidad principal de la aplicación ya que es a partir de ella que restringe y delimita la información de la mayoría de las entidades en la aplicación.
Proceso
Es la entidad que se encarga de sostener información de los diferentes procesos que tiene una plataforma
Rutina
Es la entidad que define los tiempos de ejecución de uno o mas procesos. Es necesario que un proceso guarde relación con amenos una rutina, ya que si no existe dicha relación este proceso no se ejecutara en ningún momento, ademas del tiempo de ejecución de los procesos una rutina puede guardar la relación de dependencia (padre/hijo) que existe entre los procesos para la rutina que lo contiene.
Ejemplo Rutina - Proceso
A continuación veremos ejemplos de como los procesos y las rutinas se relacionan. Para estos ejemplo se tiene un conjunto de procesos y rutinas
Rutinas
ID | Nombre | Tiempo de ejecución |
---|---|---|
1 | Rutina A | Se ejecuta c/minuto |
2 | Rutina B | Se ejecuta c/hora |
3 | Rutina C | Se ejecuta c/2 minutos |
Procesos
ID | Nombre |
---|---|
1 | Proceso A |
2 | Proceso B |
3 | Proceso C |
Figura A: Conjunto de Rutinas y procesos
Evaluemos las relaciones entre ambas entidades:
Relación 1
ID | ID Proceso | ID Rutina | ID Padre |
---|---|---|---|
1 | 1 | 1 | null |
Figura B: Relación 1
Tememos entonces que la “Rutina A” guarda relación con el “Proceso A” y este al tener ID Padre null entonces es tarea padre (es independiente) lo que significa según los registros de la de la Figura A:
“El proceso A se ejecutara una vez cada minuto de manera independiente para la Rutina A”.
Relacion 2
ID | ID Proceso | ID Rutina | ID Padre |
---|---|---|---|
1 | 1 | 2 | 1 |
2 | 2 | 2 | 2 |
3 | 3 | 2 | 3 |
Figura C: Relacion 2
Tenemos entonces que la “Rutina B” guarda relación con el “Proceso A”, el “Proceso B” y, con el “Proceso C”, también que el Proceso A tiene el ID Padre null, lo que significa que es independiente al contrario del Proceso B y el Proceso C que tienen el valor 1 (que depende del Proceso A) y el valor 2 (que depende del Proceso B ) correspondientemente, lo que significa según los registro de la Figura A:
“El Proceso A se ejecutara una vez cada hora, el Proceso B se ejecutara una vez finalizado el Proceso A y, el Proceso C se ejecutara una vez finalizado el Proceso B para la Rutina B”
Relación 3
ID | ID Proceso | ID Rutina | ID Padre |
---|---|---|---|
1 | 1 | 3 | null |
2 | 2 | 3 | 1 |
3 | 3 | 3 | 1 |
Figura D: Relacion 3
Tenemos que la “Rutina C” guarda relación con el “Proceso A”, el “Proceso B” y, con el “Proceso C”, también que el Proceso A tiene el ID Padre null, lo que significa que es independiente, también que el Proceso A tiene el ID Padre null, lo que significa que es independiente al contrario del Proceso B y el Proceso C que tienen valor 1, lo que significa que guardan relacion con el Proceso A, entonces segun los registros de la Figura A tenemos que:
“El Proceso A se ejecutara una vez cada 2 minutos y que el Proceso B y el Proceso C se ejecutaran una vez finalizado el Proceso A, para la Rutina C”
De estos ejemplos podemos concluir que una Rutina puede tener “N” procesos y un proceso puede estar en “M” Rutinas (N…M) y que un proceso puede tener “N” procesos hijos y que un proceso hijo puede tener “1” solo proceso padre (1…N). Podemos bosquejar estas relaciones de la siguiente manera
Figura E: Bosquejo de relacion Procesos - Rutina
Hasta este punto entendemos como una Rutina contiene y jerarquiza a una lista de procesos, pero esto por si solo no muestra información de los procesos ejecutados, a continuacion se explica en detalle como esto funciona, para ello es necesario explicar las siguientes entidades:
Malla de tareas
Tareas
Registro de tareas
Malla de tareas
Una malla de tareas es la entidad que se encarga de guardar la información de los procesos contenidos en ella, así como las tareas (se explican en la próxima definición), estas a su vez esta contenida en la plataforma y pueden ser accedidas por los usuario contenidos en dicha plataforma.
Tareas
Podemos pensar en una tarea como la entidad que representa la información que es resultado de la relación Proceso - Rutina (explicado anteriormente) en un contexto de ejecución, es decir: con fecha de inicio, fecha de fin, estado y fecha de actualización, al igual que la relación Proceso - Rutina estas también sostienen una relación dependiente padre/hijo de unos a muchos (1…N) con sigo misma. Ademas también se encarga de guardar la relación con los registros de tareas (explicados en la siguiente definición). Con respecto a los estados que esta entidad puede tener son 5:
Estados de una tarea
No iniciado
Las tarea no ha sido iniciada y para esto hay múltiples razones:
Es una tarea padre y aun no se cumple la hora de ejecución especificado en la rutina.
Es una tarea hija y la tarea padre no ha finalizado exitosa mente.
Es una tarea hija y la tarea padre finalizo con error.
Es una tarea hija y la tarea padre ha sido cancelada.
Alguna excepción que no ha sido manejada en cualquier nivel de los diferentes agentes.
En proceso
El proceso de la tarea se encuentra en ejecución en la plataforma a la que el proceso pertenece, es en este estado en el que se crean los registros de la tarea.
Finalizado exitosa mente
La tarea ha sido finalizada sin ningún inconveniente.
Finalizado con error
La tarea termino ha terminado inesperadamente debido a un error en la plataforma a la que el proceso pertenece.
Cancelado
La tarea ha sido cancelada por un usuario desde la malla de procesos. Esto solo es posible si la tarea se encuentra en estado de no iniciado.
Registros de tareas
Es la entidad que se encarga de guardar la información de un registro único (mensaje y fecha del mensaje) para una tarea especifica.
Ejemplo Malla de tareas - Tareas - Registro de tareas
Ahora veamos un ejemplo de como estas entidades funciona haciendo uso de de los conjuntos de datos usados con anterioridad:
Para esto utilizares el ejemplo de la Figura C: Relación 2
...
Para representar esto en la tabla de tarea, según la definición de tarea:
…Es la información que es resultado de la relación Proceso - Rutina en un contexto de ejecución
hay que establecer el contexto de ejecución y para esto es necesario definir un periodo de tiempo que para este caso sera el tiempo comprendido desde 22/11/19 13:30, hasta, 22/11/19 14:00; tenemos que los registros de la tarea son los siguientes:
ID | Fecha de inicio | Fecha de fin | Fecha de actualizacion | Estado | ID Malla de tarea | ID Tarea padre | ID Proceso |
---|---|---|---|---|---|---|---|
1 | 22/11/19 13:30:00 | null | 22/11/19 13:30:00 | IN_PROCESS | 1 | null | 1 |
2 | null | null | null | NOT_STARTED | 1 | 1 | 2 |
3 | null | null | null | NOT_STARTED | 1 | 2 | 3 |
4 | 22/11/19 13:32:00 | null | null | NOT_STARTED | 1 | null | 1 |
5 | null | null | null | NOT_STARTED | 1 | 4 | 2 |
6 | null | null | null | NOT_STARTED | 1 | 5 | 3 |
. . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . |
n | 22/11/19 14:00:00 | null | null | NOT_STARTED | 1 | null | 1 |
n+1 | null | null | null | NOT_STARTED | 1 | n | 2 |
n+2 | null | null | null | NOT_STARTED | 1 | n+1 | 3 |
Figura F: Tabla de tareas
En esta tabla se representa los registros de las tareas a ejecutarse en el contexto establecido, como podemos notar la relación de dependencia entre tareas coincide con la relación entre procesos dentro de la rutina a la que pertenece (ver Figura C), estas entidades se irán actualizando a medida que se ejecutan o se cancelan tareas.
Ahora un ejemplo de una malla de tareas a la ID Malla de tareas hace referencia en la Figura F:
ID | nombre | ID Plataforma | Fecha actualizacion |
---|---|---|---|
1 | Malla de ejemplo | 1 | null |
Figura G: Tabla Malla de tareas
A continuación un ejemplo de los Registros de tareas para una Tarea especifica
ID | mensaje | fecha | ID Tarea |
---|---|---|---|
1 | iniciado | 22/11/19 13:30:00 | 1 |
2 | mensaje 1 | 22/11/19 13:31:00 | 1 |
. . . | . . . | . . . | . . . |
n | fin | 22/11/19 13:33:00 | 1 |
Figura H: Tabla de registros de tarea
De este ejemplo podemos concluir que: Las mallas de tareas pueden mostrar varias tareas y que una tarea puede ser mostrada por una malla (1…N), que los procesos pueden estar instanciados en muchas tareas y que una tarea puede ser la instancia de un solo proceso (1…N), a su vez las tareas tienen una relacion de dependencia padre/hijo donde una tarea padre puede tener muchas hijas y, una tarea hija puede tener una sola tarea padre (1…N), y las tareas pueden tener muchos registros y cada registro pertener una tarea (1…N). Podemos bosquejar estas relaciones de la siguiente manera:
...
Figura I: Bosquejo de relacion Proceso - Tarea - Malla de tarea - Registro de tareas
DER del modulo completo
...