METODOLOGÍA PARA LA CONSTRUCCIÓN DE UN SISTEMA DE FLUJOS DE TRABAJO AUTOMATIZADO (WORKFLOW) PARA EMPRESAS DE BIENES Y SERVICIOS
METHODOLOGY FOR BUILDING AN AUTOMATED WORKFLOW SYSTEM GEARED TOWARDS CONSUMER GOODS AND SERVICES COMPANIE
JAVIER FERNANDEZ
Ingeniero Industrial, Msc Ingeniería, Universidad Cooperativa de
Colombia, Seccional Medellín, ingenierojdfl@gmail.com
Recibido para revisar mayo 14 de 2008, aceptado enero 23 de 2009, versión final febrero 24 de 2009
RESUMEN: El presente trabajo pretende familiarizar al lector sobre el uso del análisis, diseño y programación orientada a objetos en el proceso de desarrollo de un sistema de flujos de trabajo automatizados (Workflow) en empresas de bienes y servicios; se explica la metodología utilizada con el fin de aportar elementos de discusión sobre los nuevos horizontes de los sistemas Workflow.
PALABRAS CLAVE: Flujos de Trabajo, Pert/CPM, Procesos de Negocios, Sistemas.
ABSTRACT: The purpose of this document is to familiarize the reader about the usage of object oriented analysis, design and programming during the development of an automated workflow system for consumer goods and services companies; it provides an insight into the utilized methodology to incite discussions about the future state of workflow systems.
KEYWORDS: Business Process, Pert/CPM, Systems, Workflow.
1. INTRODUCCIÓN
Este artículo tiene como finalidad mostrar el proceso de construcción de un sistema de flujos de trabajo automatizados (workflow) para empresas de bienes y servicios, en el se muestran los antecedentes conceptuales e investigativos acerca de las tecnologías tipo Wokflow, la metodología utilizada en el proceso de desarrollo y construcción de la herramienta soporte a la investigación y los resultados y logros proyectados con la aplicación del sistema propuesto.
En la segunda sección se muestran los antecedentes teóricos más relevantes como soporte al sistema propuesto, en la tercera sección se muestra la
metodología utilizada en el proceso de construcción del prototipo, en la cuarta sección se muestra el funcionamiento del sistema propuesto y en la quinta sección se hace una descripción sobre la aplicación y proyección del sistema.
2. ANTECEDENTES
Una mirada al estado actual sobre los sistemas de flujos de trabajo automatizados nos lleva necesariamente a hacer una revisión de conceptos y desarrollos logrados en el marco de aplicación de este tipo de sistemas propuestos.
2.1 Antecedentes conceptuales
Los Sistema
de flujos de trabajo automatizados (workflow) se han definido como la
automatización de procesos de negocios, en su totalidad o en parte, en función
de cómo sus documentos, información o tareas son pasadas de un participante
a otro para realizar la tarea de acuerdo a un conjunto de reglas [3], así mismo
el Workflow se ha caracterizado por ser un conjunto de actividades que abarca
la ejecución coordinada de múltiples tareas desarrolladas por diferentes
entidades procesadoras para llegar a un objetivo común [3], en el se integran
conceptos como procesos de negocios los cuales son entidades organizacionales que existen en función de la ocurrencia de
eventos para cumplir un fin especifico, está dirigido por reglas especificas
que permiten el control y seguimiento de las actividades que lo conforman, a
estas últimas se les asignan unos recursos y roles específicos que cumplen con
el objetivo corporativo para el que son definidos, realizándose de una manera
lógica y secuencial de tal forma que permita asegurar su posterior control y
seguimiento, cabe anotar, que en las organizaciones modernas esto último
representa una de las mayores preocupaciones, toda vez que un entorno
competitivo como el nuestro requiere que las organizaciones busquen ante todo
integración y automatización en todos los niveles sin perder el control del
flujo de información, materiales o activos de la compañía. Las actividades se definen como unidades de trabajo
realizables en forma manual, automática o mixta, reciben o producen información
almacenada en varios tipos de repositorios, es decir, son las unidades básicas
de los procesos que conllevan a la ejecución de tareas en el marco del
desarrollo de los procedimientos organizacionales, estas pueden darse en
paralelo o puede existir una elección entre varias actividades para la
ejecución de un procedimiento.
Sin embargo, un aspecto que requiere gran dedicación es el referente al modelado de procesos de negocio, toda vez que son las reglas y patrones los que determinan como, cuando, donde y quien, ejecuta las diferentes actividades inherentes al proceso, el patrón o framework como tal define el modo de comportamiento del proceso asegurando el establecimiento de objetivos, metas y recursos claros susceptibles de verificación a través de reglas de ejecución que dan cuenta del control y seguimiento del proceso, este esquema de modelado permite asegurar el flujo de información, los momentos y eventos de ocurrencia de un requerimiento especifico o información que sea requerida para la ejecución final del proceso. Los eventos se pueden definir como consecuentes de la verificación o cumplimiento de una condición con respecto al desarrollo del proceso
Recientes trabajos se enfocan al área de los bussines intelligents en un enfoque caracterizado por la generación automática de información a partir del conocimiento previo adquirido en la ejecución de los procesos, se trata de determinar el flujo de operaciones y actividades a partir de una programación previa de tareas, logrando una mayor eficiencia y una disminución sustancial en la ocurrencia de errores. En este sentido la tarea principal en la automatización de los procesos será la de definir el grado de estructuración del proceso a partir de sus reglas y tareas asociadas, lo cual coadyuva a determinar el nivel de automatización que será requerido.
Con la fundación de la Workflow Management Coalition [WfMC], en 1993, se inicia un ciclo de desarrollo para la interoperabilidad de sistemas de manejo de procesos con arquitectura abierta. Estos publicaron un modelo de referencia y estándares asociados para garantizar un lenguaje común en el modelado, desarrollo e implantación de sistemas de procesos de negocio automatizados.
Figura 1. Representación del Metamodelo de
la WFMC, 1993. Tomada de [2]
Figure
1. Metamodel Representation of the WFMC, 1993. Retrieved [2]
El WfMC considera a las cinco interfaces en el modelo de referencia como WAPIs (Programación de Interfaces con Aplicaciones de Workflow e Intercambio de Formatos). Los cinco grupos de trabajo de WfCM están establecidos para trabajar en una de las siguientes interfaces:
Definido el anterior marco conceptual en torno a los Sistemas tipo Workflow, pasemos a definir entonces la reingeniería de procesos de negocios como el conjunto de técnicas, métodos y herramientas que sobre la base del análisis y diseño de los procesos modelados, documentados y en ejecución son intervenidos con el fin de determinar posibles cambios o modificaciones en su cadena de valor, como cualquier problema de diseño, el diseño de procesos conlleva etapas de revisión y modificaciones hasta la estandarización final, que por un lapso de tiempo determinara la forma de ejecución, control y seguimiento de los procesos, a lo anterior sirven herramientas y plataformas informáticas que han permitido el cambio automático en la definición de los procesos de negocios en tiempo real, lo cual ha permitido mejoras sustánciales en las organizaciones modernas.
Así, un sistema de procesos de negocios se concibe entonces como un software de tipo genérico soportado por técnicas de diseño enfocadas al manejo de procesos de negocios operacionales, se conoce en función de los requerimientos que deba soportar el proceso y se ayuda de un esquema gráfico para su representación.
2.2 Antecedentes investigativos
Varios investigadores han identificado el workflow como el modelo de la
informática que habilita un método normal de construir redes para soportar
aplicaciones y procesos que se conectan e intercambian información entre sí.
Así mismo, investigaciones previas han apuntado a tres áreas importantes: arquitecturas workflow, leguajes específicos, y análisis de procesos. Estas áreas de investigación son de importante reconocimiento para la construcción de sistemas workflow sofisticados, avanzados y robustos.
Seth [4] y [5] estableció que el workflow y el modelamiento de procesos es uno de los problemas de mayor actualidad en el medio. De esto dan cuenta los innumerables trabajos como los de Carlsen que en 1.997 [1] planteaba la existencia de un una gran variedad de productos catalogados como workflow y como han sido muchos los intentos por clasificarlos en: Basados en correo vs. Basados en bases de datos, Orientados a datos vs. Orientados al proceso, Ad-hoc vs. Producción y Tiempo, diseño vs. Tiempo de ejecución; así mismo, se ha hecho notorio el uso de una serie de estándares y esfuerzos por unificar metodológica y técnicamente los sistemas Workflow, en: Tendencias iniciales (procesos y API), Tendencias presentes (objetos) y organizaciones dedicadas al proceso de estandarización como son: WfMC (Workflow Management Coalition), WARIA (Workflow & Reingineering International Association), OMG (Object Management Group), Aproximándonos a las últimas tendencias como son: el desarrollo de ontologías, XML RDF y la introducción de métodos formales.
Muehmlen en [2], se enfoca a identificar las siguientes areas de trabajo: Business Process Management Initiative Business y Process Modeling Language (BPML), Business Process Modeling Notation (BPMN), Business Process Query Language (BPQL), Electronic Business XML (ebXML), Business Process Schedule Specification (BPSS), Transaction Protocol (BTP), Web Services Conversation Language (WSCL), Web Services Choreography Interface (WSCI), Web Services Flow Language (WSFL), XLANG, DARPA Agent Markup Language Services (DAML-S).
Lo anterior ha entrado a definir nuevos elementos que entran a configurar los retos actuales en la construcción de sistemas Workflow, siendo estos:
En este sentido, propone Reijkers en [2], que existen dos áreas bien diferenciadas de investigación:
Como también áreas de investigación abiertas en términos de:
3. METODOLOGIA
Para la construcción de un sistema de flujos de trabajo automatizado que logre unificar los procesos de negocios con el proceso de desarrollo y aplicación de sistemas informáticos se hace necesario dar respuesta al siguiente interrogante investigativo ¿Existe una metodología de modelamiento que permita unificar el análisis de procesos con el análisis de sistemas de información tipo Workflow?, al ser enfrentado este interrogante se ha propuesto un esquema de trabajo que permite brindar pautas para la construcción de una MUPSW (Metodología Unificada de Procesos y Sistemas Tipo Workflow), este esquema viene representado a través de las siguientes fases:
Tabla 1. Formato de Recolección de Información sobre
Procesos de Negocios
Table 1. Data Collection format on Business Processes
En ella se consignara de manera descriptiva, previa búsqueda de la información existente en los manuales de funciones y procedimientos de la organización, la información relevante sobre los Macroprocesos o Áreas Claves de Resultado de la Organización, que generen valor agregado en la gestión organizacional, los Procesos que conforman dicho Macroproceso, así como las actividades que los componen, con sus respectivos responsables, bien sea a nivel de ejecución, administración o control, así mismo, se consignara la información sobre el tiempo de ejecución de cada actividad o el que se halla planeado para tal fin.
Una vez realizado el levantamiento de la información correspondiente a los procesos de la organización, se procede a realizar un análisis sistemático de los proceso, ayudados por los diagramas de casos de uso, diagramas de actividades y diagramas de secuencia, se procede a hacer uso del UML Lenguaje Unificado de Modelado- para la construcción de dichos diagramas, atendiendo las siguientes convenciones:
Una vez definidos los elementos que constituirán los diagramas, se procede al Modelado Grafico Conceptual, en el cual se construyen los respectivos Diagramas de UML y se adiciona un cuarto Modelo, denominado Modelo Grafico-Conceptual.
Al tener claramente construidos los Modelos del análisis de procesos para el Sistema de Flujos de Trabajo Automatizados, se procede a una segunda fase, la fase de sistematización y captura de procesos.
Una vez se ha procesado la información referente al proceso en ejecución a través de la transformación y el flujo de información, se procede a realizar una tercera fase, cual es la de Transacción a la bases de datos.
Figura 2. Esquema de procesamiento y transacciones
hacia el motor de bases de datos del sistema
Figure
2. Processing and Transactions into System Database Engine
En el modelo anterior se presentan dos tipos de transacciones hacia la base de datos: la transacción tipo consulta, la cual ocurre cuando se requiere información contenida en la base de datos sobre el estado de ejecución de los procesos y la transacción tipo informe, la cual ocurre cuando se requiere información consolidada sobre la ejecución de los procesos. No obstante para que estas transacciones se puedan dar en el sistema, este previamente habrá almacenando la información referente al proceso, mediante la captura de la información en la ejecución del proceso, bien sea en formato documento o en forma de objeto llegado al procesamiento a través de los dispositivos de entrada al sistema, una vez almacenada la información, este deberá generar un Worklist, o lista de tareas en ejecución que permitirá mantener un control al proceso como tal, para la generación de la estadísticas necesarias en la toma de decisiones de la organización.
En este procesamiento de la base de datos se soporta un fuerte esquema de control y análisis de datos, en el cual mediante técnicas propias de la estadística multivariada y la minería de datos, se consolida información relevante para la proyección del proceso, así mismo, se genera un algoritmo de optimización que permite el control de los tiempos de ejecución de las actividades inherentes al proceso para su priorización en la gestión global de la organización.
Una vez soportado el esquema de transacciones al sistema gestor de las bases de datos, se procede a la fase de simulación.
Ahora bien, en forma de resumen, un esquema general del Sistema gestor de Wokflow propuesto, presenta la siguiente configuración:
Figura 3. Esquema general del sistema
Figure 3. System Schema
En el esquema anterior se presenta: Un modelador que corresponde a las fase 1 y 2 del sistema, un Transaccionador correspondiente a la fase 3 del sistema y un Simulador, que corresponde a la fase 4 o integracional del sistema.
Una vez presentado el esquema Macro del sistema propuesto, se procede, haciendo uso del UML Lenguaje Unificado de Modelado-, a presentar el Modelo para la construcción del sistema gestor de flujos de trabajo automatizados.
3.1 Ámbito del Sistema
Los analistas de procesos y desarrolladores de
software requieren de una herramienta en la que puedan diseñar con facilidad y
practicidad sus procesos y sistemas de información, para satisfacer dicha
necesidad la herramienta debe cumplir con los siguientes requisitos:
La herramienta, "sistema inteligente para flujos de trabajo automatizados", debe ser una aplicación portable, multiplataforma y con un tamaño mínimo, que ofrezca facilidad de instalación y debe generar un acceso directo desde cualquier lugar de la organización.
Todas las funcionalidades de la herramienta se deben realizar teniendo en cuenta las reglas establecidas por UML y OMG, así como las políticas definidas por la WFMC.
Una vez se accede a la herramienta, ésta deberá ofrecer un cuadro de diálogo donde el usuario puede elegir entre abrir un modelo ya existente, uno nuevo o una ayuda acerca de la utilización de la herramienta.
El entorno de la aplicación debe ofrecer una cabecera que permita la gestión de la ventana con las funcionalidades de restaurar, mover, minimizar, maximizar y cerrar. Debe tener además una barra de menús para gestión de modelos, edición de modelos, transacciones a la base de datos, simulación, opciones de vista sobre la ventana de la aplicación y ayuda de la herramienta, así:
Gestión de modelos
Esta opción debe permitir crear un nuevo
proyecto, abrir uno ya existente, cerrar y guardar los cambios de un proyecto
ya existente, con la opción de cambiarle nombre y ruta de almacenamiento, guardar un proyecto nuevo, imprimir el
diagrama, presentar las propiedades del proyecto, tools y salir de la
aplicación.
Edición de modelos
Esta opción debe permitir deshacer y rehacer una
acción, cortar, copiar y pegar elementos
del diagrama de procesos, seleccionar todo el diagrama, buscar nombres de
elementos del diagrama.
Transacciones a la base de datos
Esta opción debe permitir crear una consulta o
generar un informe Worklist sobre el proceso, con la opción de imprimir o
enviar on-line hacia otros destinos.
Simulación
Esta opción debe permitir mostrar el entorno de
ejecución del proceso, generar estadísticas y construir reglas de decisión
sobre las actividades del proceso, imprimir informes de resultados y presentar
opciones de rediseño para el proceso.
Vista sobre la ventana de la aplicación
A través de la opción vista, la aplicación debe
permitir efectos de zoom in y zoom out y adicionalmente la actualización de los
cambios realizados en cualquiera de los paneles (refresh).
Ayuda de la herramienta
La ayuda debe ofrecer un cuadro de diálogo con
tres pestañas de opción: contenido, índice y buscar; en cualquiera de estas
tres opciones el usuario deberá encontrar de forma ordenada la información
requerida,
Contará con una interfaz gráfica de usuario con 3 paneles, así:
Gestión de los modelos
y diagramas
Este panel debe
estar formado por tres pestañas, una para la gestión del modelo, en la que debe
permitir darle nombre al modelo y establecer sus características principales de
documentación, el objetivo del proceso, el número de elementos y el número de
actividades que lo constituyen.
Otra pestaña para la gestión de los objetos, la cual permitirá al seleccionar un objeto, visualizar su nombre, tipo, características y su respectiva documentación.
Por último, tendrá una pestaña para visualizar los diagramas de creación de procesos correspondientes al diseño de los mismos y me permitirá además editarlos.
Transaccionador del modelo
Este panel debe presentar una estructura de árbol
jerárquico de despliegue donde en el primer nivel se debe encontrar un
macroproceso, en el segundo nivel, los procesos asociados al macroproceso, en
el tercero, los diagramas del proceso, en el cuarto se encontrará el Worklist
de cada proceso.
Ambiente gráfico de simulación
Este panel debe estar formado
por tres pestañas, una para permitir
visualizar la red de ejecución de Worklist del proceso, otra para generar las
reglas de simulación del proceso y una última para generar las estadísticas
asociadas al proceso.
El software debe permitir su instalación en diferentes plataformas.
3.2 Análisis y diseño
Requerimientos Funcionales
En síntesis, el sistema Gestor de flujos de trabajo automatizados propuesto deberá cumplir con los siguientes requerimientos funcionales:
Identificacion de Actores
Entre los actores que representan el sistema propuesto, se encuentran:
Identificacion
de Objetos
Entre los objetos que representan el sistema propuesto, se encuentran:
Diagrama de Casos de Uso
Los casos de uso tratan sobre el funcionamiento del sistema en términos de
sus requerimientos funcionales, ayudando en la comprensión de las necesidades del
usuario y brindando información suficiente y necesaria sobre las interfaces de
comunicación con el usuario final del sistema.
Figura 4. Diagrama de Casos de Usos del Sistema
Figure
4. Use Case System Diagram
Diagrama de objetos
Los objetos en UML representan las cosas, personas, documentos, maquinas o
subsistemas que poseen características y realizan operaciones a través de sus
relaciones al interior del sistema de información.
Figura 5. Diagrama de objetos del sistema
Figure
5. System Objects Diagram
3.3 Construcción del Prototipo
Una vez
superada la fase de análisis y diseño del sistema propuesto, se procede con el
proceso de implementación o codificación.
Figura 6. Representación del sistema modelador de
procesos
Figure
6. System Process Model
Haciendo uso del Lenguaje de programación Java, se ha construido una interfaz o modulo del Modelador de Procesos, en el cual a través de los iconos representado en la parte izquierda se puede construir un modelo o diagrama del proceso que se está analizando, la información contenida en cada icono representa un elemento del proceso cuya información se almacena en los formulario de captura que se muestran al lado del diagrama.
4. RESULTADOS
Durante el proceso de desarrollo se han ido evaluando permanentemente los elementos que entran a conformar el sistema propuesto, entre los eventos importantes que se han presentado durante esta fase del proceso de desarrollo del sistema tenemos:
5. CONCLUSIONES
El proyecto desarrollado permitirá entre otros aspectos:
Por lo pronto, el proyecto que se encuentra en construcción pretende el mejoramiento de los siguientes indicadores:
Tanto las herramientas de diseño utilizadas como las de programación han resultado adecuadas a los propósitos planteados en este proyecto, a un bajo costo, flexibles y adaptables, se ha podido construir un primer prototipo para el sistema propuesto.
En cuanto a los logros obtenidos con la realización del presente trabajo se encuentran hasta la fecha:
REFERENCIAS
[1] Carlsen, S. Conceptual Modeling and Composition of Flexible Workflow Models. [PhD Thesis]. Trondheim, Norwegian University of Science and Technology. 1997.
[2] CARO, J. Tecnología Workflow: Estado actual de la Investigación, Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga. Available: http://www.lcc.uma.es/~jlcaro/doctorado/Curso_Doctorado_Workflow_2004.pdf [citado 10 de Junio de 2006].
[3] Maheshwari, A. Workflow: Study and Evaluation, Departamento de Ciencias Computacionales e Ingeniería Instituto de Tecnológica de India, Available: http://www.cse.iitk.ac.in/gsdl/collect/cse/index/assoc/HASH643d.dir/doc.pdf [citado 10 de Junio de 2006].
[4] Sheth, A. From Contemporary Workflow Process Automation to Adaptive and Dynamic Work Activity Coordination and Collaboration. SIGGROUP Bulletin, 18 (3), 17-20, 1997.
[5] Sheth, A.; Rusinkiewicz, M. On Transactional Workflows. IEEE Data Engineering, 16 (2), 34-40. 1993.