Modelo de datos

Modelamiento de un Proceso

Proceso

  • Es la unidad básica donde se almacena el modelamiento de un trámite
  • Incluye toda la información del workflow del proceso
  • Cada proceso corresponde a una fila en la tabla proceso

Tarea

  • Corresponde a las diferentes etapas que se siguen para completar un trámite
  • Son ejecutadas por algún usuario asignado
    • La asignacion se puede definir como: ciclica, autoasignacion, manual o programada
  • Esta compuesta por:
    • Pasos (Ejecutados por usuarios)
    • Eventos (Ejecutados en servidor automaticamente)

Paso

  • Son las etapas que el usuario debe ejecutar para completar una tarea
  • Cada paso tiene asignado un formulario
    • Modo edición: El usuario debe ingresar input en el formulario
    • Modo visualización: El formulario solamente esta disponible para ser visualizado
  • Cada paso puede tener condiciones para ejecutarse o no

Formulario

  • HTML forms donde el usuario ingresa la información requerida
  • Están compuestos por distintos campos HTML
  • Se pueden estructurar para tener un orden y una forma deseada
  • Permiten insertar javascript si se desean comportamientos mas complejos

Campo

  • Campo HTML para el ingreso de información
  • Varios tipos
    • textinput, textarea, select, check, radio, grid, etc
  • Pueden tener condiciones para ser mostrados o no
  • Se les puede asignar reglas de validación
    • required, numeric, max_length[num], etc

Evento

  • Son las etapas que se ejecutan en forma automática en el servidor
  • Cada evento tiene asignado una acción
  • Se puede definir en que momento se ejecutaran
    • Antes o después de una tarea
    • Antes o después de un paso
  • Se puede definir que ocurran bajo una condición

Acción

  • Son operaciones que se ejecutan en el servidor
    • Enviar correo
    • Generar variable
      • Permite almacenar en una variable el resultado de una expresión
    • Consultar Webservice
      • Permite almacenar en una variable el resultado de una llamada a un webservice

Workflow de Tareas

  • Las tareas de un proceso siguen un workflow
  • Las tareas están conectadas unas a otras
  • La información de conexiones se almacena en la tabla conexión
  • Cada conexión tiene una tarea origen, destino y condición con que se avanza
  • Además hay distintos tipos de conexiones

Tipos de conexiones

  • Secuencial: La mas básica, simplemente se avanza
  • Evaluación: Se avanza solo si se cumple la condición
  • Paralela: Se avanza a múltiples tareas
  • Paralela con evaluación: Se avanza a múltiples tareas si se cumple las condiciones respectivas
  • Unión: Se une el flujo en una sola tarea (Se ocupa luego de que se dividió el flujo en paralelo)

Modelo Entidad - Relación

Modelo Entidad - Relación

Modelamiento de un Trámite

Trámite

  • Es una instancia de un proceso
  • Ej: Cada vez que un usuario inicia un proceso, se genera un nuevo trámite
  • Se almacena
    • Su estado: pendiente o completo
    • Fecha de inicio
    • Fecha de término

Etapa

  • Corresponde a una instancia de una tarea
  • Se almacena el usuario que esta asignado a ejecutar esa tarea
  • Ademas se almacena
    • Fecha de inicio
    • Fecha de fin
  • Los datos ingresados en cada etapa quedan almacenados en la tabla dato_seguimiento

Dato Seguimiento

  • Se almacenan los datos obtenidos durante el tramite
  • Cada dato tiene un nombre (Nombre de la variable)
  • El valor es un campo JSON
  • Se almacena la etapa donde fue ingresado el dato

¿Qué ocurre cuando una misma variable se reescribe varias veces durante el trámite?

  • Cada dato queda en una fila distinta de la tabla dato_seguimiento
  • Esta fila queda relacionada a la etapa en que se modifico
  • Asi se mantiene la historia de cada dato

¿Cómo obtener el dato actual?

  • Se agrupan los datos por nombre
  • Se ordenan los datos por etapa de mayor a menor
  • El primero de la lista sería el dato mas actual