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 WAPI’s (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.