TL;DR En este documento se explican las entidades que intervienen en la malla de procesos y como están relacionadas entre si, se explica con ejemplos ilustrativos cada una de estas. 10 min de lectura

En este documento contiene

  • 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 está y de todos los procesos que están involucrados, 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 se 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 la información de los diferentes procesos que tiene una plataforma.

Rutina

Es la entidad que define los tiempos de ejecución de uno o más procesos. Es necesario que un proceso guarde relación con al menos una rutina, ya que si no existe dicha relación este proceso no se ejecutará 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

Tenemos 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 Figura A:

“El proceso A se ejecutará 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 significa que depende del Proceso A) y el valor 2 (que depende del Proceso B ) respectivamente, lo que significa según los registros de la Figura A:

“El Proceso A se ejecutará una vez cada hora, el Proceso B se ejecutará una vez finalizado el Proceso A, y el Proceso C se ejecutará 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, al contrario del Proceso B y el Proceso C que tienen valor 1, lo que significa que guardan relacion con el Proceso A, entonces según los registros de la Figura A tenemos que:

“El Proceso A se ejecutará 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 un 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 continuación 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 estan contenidas en la plataforma y pueden ser accedidas por los usuarios pertenecientes ha 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 uno a muchos (1…N) consigo 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:

  1. Es una tarea padre y aún no se cumple la hora de ejecución especificada en la rutina.

  2. Es una tarea hija y la tarea padre no ha finalizado exitosamente.

  3. Es una tarea hija y la tarea padre finalizó con error.

  4. Es una tarea hija y la tarea padre ha sido cancelada.

  5. 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 exitosamente

La tarea ha sido finalizada sin ningún inconveniente.

Finalizado con error

La tarea 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 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 funcionan haciendo uso de los conjuntos de datos usados con anterioridad:

Para esto utilizaremos 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 ha 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

DER Mall de procesos