Hemos dividido los requerimientos que debe satisfacer el Orquestador en tres grandes grupos:
Requerimientos de Integración, de BPM y de SOA.
A pesar que existen muchas relaciones entre ellos, y que en su descripción algunas especificaciones podrán incluso repetirse, esta división en áreas funcionales nos entrega un orden para comprender los tipos de soluciones que podrán resolverse con esta herramienta.
Estructura lógica de Datos compuestos.
Un formato de documento corresponde a la definición un registro de información que contiene atributos. Los atributos podrán ser de algún tipo básico (real, string, entero, booleano, fecha o fecha-hora) o compuesto. Un registro compuesto contiene definiciones de atributos de forma recursiva (algunos de sus atributos pueden nuevamente ser registro compuestos).
Independiente del tipo de atributo dentro de un registro (básico o compuesto) éste puede ser definido como una colección. Esto significa que el registro contendrá una lista de elementos del tipo del atributo(ya sea simple o compuesto). El manejo de colecciones dentro de los formatos de documento permite modelar estructuras compuestas y multivaluadas, como por ejemplo la representación de una Factura como su encabezado y una colección de sus líneas.
Formato de Archivo
Corresponde a la representación física de un Formato de Documento. Dependiendo del tipo de archivo (Archivo Plano, Excel, XML) se agrega la información necesaria para que el Orquestador pueda generar y consumir esos archivos. Si el archivo es de tipo Excel, por ejemplo, se deberá indicar la posición de la columna en que cada atributo debe almacenarse en la planilla de cálculo.
Señal
Representa a algún hecho ocurrido en el ?exterior? del Orquestador, y que podría ser de interés para alguno de los procesos modelados. Algunas señales podrán tener asociadas estructuras de datos (en la forma de Formatos de Documento). Por ejemplo, si al Orquestador pudiera interesarle la recepción de un archivo plano en algún directorio del sistema de archivos, podría declararse una nueva señal del tipo ?Archivo Recibido? y el tipo de dato de la señal estaría identificado por el Formato de Archivo asociado al Formato de Documento que se asocie a esa señal.
Evento
Corresponde a la asociación de una señal con alguna acción a realizar dentro del Orquestador. Una señal podrá dar origen a varios eventos. Un evento podrá ser de uno de los dos tipos siguientes: Iniciador de una nueva instancia de un Proceso o Continuador de un proceso activo y en estado de espera.
En el orquestador se podrán definir asociaciones entre señales y sus eventos disparados. Estas asociaciones contendrán además la parametrización de las transformaciones de datos requeridas desde la información que viaja con la señal y la que necesita un proceso para ser iniciado o continuado.
Proceso
Descripción mediante diagramas de actividades UML de la lógica de negocio producto de alguna señal. Un proceso se define como un conjunto de actividades que se ejecutan de acuerdo a un flujo de control. Como parte de la definición de un proceso se debe especificar un contexto de acuerdo a un Formato de Documento. El contexto define las variables que cada instancia del proceso conoce y puede modificar (su ?scope?).
Las actividades dentro del proceso contienen una secuencia de acciones. Estas acciones estarán predefinidas en el Orquestador y corresponderán a:
-
Acciones java script
-
Ejecución de un Servicio desde el ?Bus de Servicios?
-
Consultas SQL hacia bases de datos externas.
-
Generación de archivos Planos, Excel o XML.
-
Entrada de Datos de Usuario (workflows)
-
Envío de Notificaciones. |