SciELO - Scientific Electronic Library Online

 
vol.10 issue18Analysis of the long term dynamics of the constant value unitEvolution strategies as an option for optimizing non linear functions with restrictions author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


Revista Ingenierías Universidad de Medellín

Print version ISSN 1692-3324On-line version ISSN 2248-4094

Rev. ing. univ. Medellín vol.10 no.18 Medellín Jan./June 2011

 

MOBFLOW: Movilidad para los procesos de negocio de la organización

 

MOBFLOW: Mobility for the business process of the organization

 

 

Gustavo Adolfo Aponzá V*; Henry William Dorado G**; Juan Carlos Corrales***

* Ingeniero de sistemas, Universidad del Cauca, Popayán, Colombia. Calle 27 BN # 6D-07 Popayán - Cauca. Tel: ( + 57-2) 8362501, correo electrónico: gaponza@unicauca.edu.co
** Ingeniero de sistemas, Universidad del Cauca, Popayán, Colombia. Calle 8 # 26-44 Popayán - Cauca Tel: ( + 57-2) 8396813, correo electrónico: hdorado@unicauca.edu.co
*** Ph. D en Ciencias de la Computación. Profesor titular, director del Grupo de Investigación en Ingeniería Telemática de la Universidad del Cauca. Edificio de Ingenierías, sector Tulcán, oficina 403. Popayán - Cauca, Tel: ( + 57-2) 820-9800 ext. 2129, correo electrónico: jcorral@unicauca.edu.co. Fax: ( + 57-2) 820-9800 ext. 2102

 

 


Resumen

Este artículo presenta la plataforma MobFlow (Mobile Flow); un sistema que permite particionar, distribuir, y ejecutar en entornos móviles, procesos de negocio descritos a través del estándar BPEL. También, MobFlow realiza el monitoreo de la ejecución de los procesos de negocio de la organización, los cuales son consumidos en tiempo real en los dispositivos móviles de los empleados. Además de exponer los módulos que componen la plataforma, el artículo presenta la implementación de un prototipo que valida la arquitectura propuesta, y un caso de estudio práctico de un proceso de ventas, que expone el funcionamiento de la plataforma.

Palabras clave: BPEL, dispositivos móviles, procesos de negocio, workflows.
Abstract

This paper presents the MobFlow platform (Mobile Flow), a system that allows partition, distribution and execution of business processes in mobile environments described through BPEL standard. Also, MobFlow monitors the execution of the enterprise business processes that are performed in real time into mobile devices of employees. In addition to exposing the platform modules, this article presents the implementation of a prototype to validate the proposed architecture, and a practical study case of a sales process, which explains the platform operation.

Key words: BPEL, mobile devices, business process, workflows

 

 

INTRODUCCIÓN

El modelado y la automatización de los procesos de negocio, comúnmente conocidos como flujos de trabajo (workflows), son una iniciativa clave en las empresas, debido a que permiten incrementar la competitividad que tanto requiere el mercado actual. Los workflows facilitan la automatización de funciones estratégicas de la organización, las cuales involucran diversos participantes, recursos y dependencias. La automatización de dichas funciones permite, a su vez, gestionar y coordinar las tareas llevadas a cabo por empleados en diferentes sedes de la organización. Una gran necesidad en la automatización de procesos de negocio es la capacidad de proveer la ejecución dinámica y móvil de las tareas que los constituyen, con el fin de soportar la movilidad de los actores involucrados en los procesos de la organización.

Para dar solución a esta problemática, en [1-6] se han planteado diversas investigaciones que tratan aspectos clave dela movilidad para los procesos de negocio, tales como particionamiento, distribución, ejecución y monitoreo. A diferencia de [1-6], MobFlow (Mobile Flow) despliega procesos de negocio descritos con BPEL (Business Process Execution Language) [7] integrando las funciones antes mencionadas, para brindar así un sistema integral de movilidad de procesos basados en un lenguaje estándar como BPEL los cuales son consumidos a través de dispositivos móviles.

Este artículo está organizado de la siguiente manera: la sección uno presenta la metodología utilizada durante el desarrollo de la plataforma; la sección dos presenta los trabajos relacionados que aportan a la definición de la arquitectura; la sección tres expone la arquitectura de la plataforma MobFlow; en la sección cuatro se describe un caso práctico de estudio y algunos aspectos de la implementación y pruebas del prototipo desarrollado; y, finalmente, en la sección cinco, se exponen las conclusiones.

 

1 METODOLOGÍA DE DESARROLLO

Antes de explicar la metodología de desarrollo, primero describiremos de manera general la plataforma propuesta. MobFlow está compuesta de una aplicación Web y una aplicación para dispositivos móviles. La primera carga al sistema los procesos de negocio descritos en BPEL. Posterior a la carga, los archivos BPEL son particionados y los subprocesos BPEL generados; estos últimos son distribuidos entre los dispositivos móviles de los actores que juegan un rol en los procesos de negocio de la organización. La aplicación Web también brinda soporte a la ejecución distribuida de los subprocesos en los dispositivos móviles, junto con una interfaz para monitorear esta ejecución. Por otro lado, la aplicación para dispositivos móviles permite la descarga y ejecución desde los móviles de las actividades que componen los subprocesos BPEL. Para el desarrollo de la plataforma, se siguió la metodología propuesta en [8], la cual consta de tres etapas principales: modelo conceptual, arquitectura e implementación.

• Modelo conceptual: en esta etapa se analizaron los diferentes trabajos que tratan aspectos de particionamiento, distribución, ejecución y monitoreo de procesos de negocio en dispositivos móviles. Además, se llevó a cabo la captura y análisis de requisitos funcionales, identificación de casos de uso y el esquema conceptual.
• Arquitectura: en esta etapa se realizó la definición de la arquitectura que da soporte a la plataforma MobFlow.
• Diseño e implementación: esta etapa se desarrolló en varias iteraciones incrementales que incluían actividades de verificación y validación. Los diferentes artefactos obtenidos en esta etapa permitieron plantear y refinar la arquitectura inicial.

Debido a las restricciones de espacio, en la siguiente sección se hará especial énfasis en el análisis de trabajos relacionados que aportan en la definición de la arquitectura. En la sección 3 se describe de manera detallada la arquitectura de la plataforma MobFlow. Finalmente la sección 4 aborda la descripción dela implementación del prototipo.

 

2 TRABAJOS RELACIONADOS

Baresi et al [3] plantean una metodología para controlar la distribución de la ejecución de un proceso de negocio BPEL, implementando técnicas de descomposición que dan como resultado varios subprocesos hijos. De esta manera, la ejecución de cada subproceso es llevada a cabo por un objeto controlador independiente. Para lograr esto, los autores definen reglas de particionamiento basados en modelo de grafos. Por lo tanto, del trabajo descrito en [3], MobFlow considera que:

• Con el fin de reducir la complejidad en la distribución de las actividades de un proceso entre los dispositivos móviles de los actores de la organización, es conveniente implementar mecanismos de descomposición basados en una representación formal de grafos. Por consiguiente, la plataforma debe contar con un módulo para transformar un documento BPEL a un modelo de grafos. En este caso los nodos del grafo representan las actividades básicas del estándar BPEL (Receive. Invoke, Reply), así como los conectores tipo AND-join, AND-split, XOR-join y XOR-split que describen las actividades estructuradas BPEL (Flow, Switch, Pick, While).
• Particionar un documento BPEL descrito en un modelo de grafos requiere de reglas especiales de descomposición. Estas reglas tiene dependencia directa con las actividades estructuradas que conforman el documento BPEL.
• El flujo de datos del proceso de negocio debe estar sincronizado entre los diferentes actores participantes en la ejecución. Por consiguiente, se plantea que los datos de las variables usadas en la ejecución de los procesos de manera distribuida deben estar disponibles para todos los actores.

En [1, 2] se propone una arquitectura para la distribución de procesos de negocio en dispositivos móviles, enfocada en la optimización del particionamiento de procesos de negocio a través de un algoritmo bio-inspirado en colonia de hormigas. El principal objetivo de dicha arquitectura es hacer la división de un proceso de negocio centralizado en varios subprocesos, y permitir la distribución-sincronización de estos sub-procesos entre los móviles de los participantes. De este trabajo se considera que:

• Los subgrafos obtenidos del particionamiento deben ser transformados a subprocesos BPEL y distribuidos a los respectivos dispositivos móviles de los actores participantes, por lo cual la plataforma requiere de un módulo para realizar la distribución de dichos subprocesos BPEL.
• Con el fin de sincronizar la ejecución de los subprocesos, la plataforma debe tomar en consideración actividades de sincronización que permitan conservar una correcta ejecución del flujo de control del proceso de negocio.
• Se debe contar con un motor BPEL para la ejecución de los procesos en los dispositivos móviles, lo que plantea el desarrollo de una aplicación móvil que permita al usuario interactuar con el motor BPEL(similar a [9]), para ejecutar los subprocesos que han sido distribuidos.

También es importante, como se describe en [9], establecer mecanismos de monitoreo de la ejecución distribuida del proceso de negocio en los móviles; para esto, se recomienda considerar lo propuesto en [4], donde los autores plantean la utilización de un agente de registro que permite monitorear la ejecución de todas las instancias del proceso en los dispositivos móviles.

Respecto a los mecanismos de comunicación entre los dispositivos móviles y la plataforma, vale la pena retomar la aproximación descrita en [6], en la cual los autores dividen una tarea de gran complejidad computacional en tareas más pequeñas considerando la implementación de un protocolo de comunicación para el intercambio de información con el sistema, y la centralización de los medios de comunicación.

 

3 ARQUITECTURA DE LA PLATAFORMA MobFlow

 

La figura 1 muestra la arquitectura de la plataforma MobFlow. A continuación se da una breve descripción de cada uno de los módulos que la conforman.

Archivos del proceso: representan la entrada de la plataforma y corresponden a la definición del proceso de negocio en el lenguaje BPEL, por lo cual deben proveer un archivo BPEL que define la lógica del proceso de negocio y la interfaz WSDL (Web Service Description Language) que permite consumirlo.

Transformador BPEL-grafos: componente encargado de transformar un documento BPEL a un modelo de grafos utilizando la técnica presentada en [10]. Este módulo es requerido para ejecutar las funciones de particionamiento, visualización y monitoreo.

Módulo operativo: alberga los submódulos que implementan las funciones que adaptan los archivos BPEL que ingresan a la plataforma. La aplicación de estas funciones garantiza la adecuada ejecución de los procesos en los dispositivos móviles.

• Gestión de proceso de negocio: submódulo encargado de cargar, verificar y gestionar los documentos BPEL y WSDL.
• Particionar proceso: descompone el grafo que representa el proceso de negocio en varios subgrafos. Esta descomposición es llevada a cabo teniendo en cuenta las actividades asignadas a cada actor participante en la ejecución del proceso de negocio. De esta manera se crea un archivo BPEL por cada subgrafo generado en el particionamiento. Con el fin de que la ejecución distribuida de los subprocesos sea equivalente a la ejecución del proceso original, a cada subprocesos creado se le insertan actividades especiales de sincronización (Actividades BPEL tipo Receive e Invoke). Por lo tanto, primero una actividad Receive de sincronización es insertada, con el fin de recibir los resultados obtenidos en la ejecución de subprocesos precedentes. Posteriormente, una actividad Invoke de sincronización es fijada con el objetivo de establecer la comunicación con el dispositivo encargado de ejecutar el siguiente subproceso. El particionamiento utiliza el modelo de grafos generado por el componente transformador BPEL-Grafos siguiendo las reglas de particionamiento y sincronización descritas en [3].
• Vincular subprocesos: esta función permite vincular los subprocesos generados en la partición, con los actores que lo ejecutarán en sus dispositivos móviles (los actores deben ser previamente registrados en la plataforma utilizando el módulo de gestión de información de la organización). Esta vinculación es realizada de manera manual.
• Visualizar proceso: para desplegar gráficamente los procesos de negocio BPEL, la plataforma MobFlow utiliza las técnicas basadas en grafos propuestas en [11]. Con el fin de permitir que usuarios no especializados puedan interpretar los procesos de negocio ejecutados, la representación del grafo, utilizada por MobFlow, está asociada a la notación gráfica de procesos de negocio BPMN [12].
• Monitoreo proceso: presenta el estado actual de la ejecución distribuida de los subprocesos de negocio en los dispositivos móviles de los participantes; a medida que los subprocesos generados son ejecutados en los móviles, la plataforma presenta la información de las actividades que han sido ejecutadas del proceso global, tanto de manera gráfica como de manera textual.

Módulo de gestión de información de la organización: este módulo es el encargado de realizar el registro de la información de los actores (datos personales, usuario, contraseña, número de dispositivo, entre otros) que ejecutarán las actividades del negocio desde los dispositivos móviles.

Módulo de control de la ejecución: contiene diferentes elementos que brindan soporte a la ejecución distribuida de los subprocesos de negocio en los dispositivos móviles. El control de la ejecución está constituido por los siguientes submódulos:

• Comunicación: encargado de gestionar todos los aspectos de comunicación entre la aplicación móvil y la aplicación web. Además, establece la comunicación con los submódulos que controlan la ejecución de los procesos.
• Distribución: en la plataforma MobFlow la distribución de subprocesos de negocio consiste en notificar a cada actor de la disponibilidad de un subproceso para ser ejecutado. Este submódulo es el encargado de emitir la petición de descarga del subproceso hacia el dispositivo móvil del actor. Este último debe responder con los parámetros de autenticación (usuario y contraseña) con el fin de identificar el proceso a ejecutar y el subproceso vinculado al actor que realiza la petición.
• Sincronización: la ejecución de los subprocesos en los dispositivos móviles generan información adicional necesaria para la ejecución de subprocesos posteriores. Para el intercambio de esta información, los móviles registran en la base de datos de la plataforma las variables generadas en la ejecución de sus subprocesos. De esta manera, el sistema es capaz de soportar ejecución de subprocesos que requieren información de un subproceso ejecutado con anterioridad. De igual manera, cuando un dispositivo termina la ejecución de un subproceso, hace una petición a la aplicación web con el fin de obtener el número del dispositivo que ejecutará el siguiente subproceso. La notificación de la próxima ejecución es efectuada a través de un mensaje de texto (SMS) o correo electrónico, indicándole al usuario que debe iniciar la ejecución del subproceso respectivo.
• Agente de monitoreo: este componente soporta el envío de información que indica las actividades que han sido ejecutadas en el dispositivo móvil de cada actor. Por lo tanto, este componente actúa como agente de registro de actividades, de tal manera que el módulo de monitoreo de procesos pueda utilizar dicha información con el fin de presentar el estado actual de la ejecución distribuida del proceso general. La información registrada por actividad ejecutada corresponde al identificador del subproceso, nombre de la actividad, fecha y hora de ejecución.
• Apache Axis: es una implementación OpenSource de SOAP que presenta un entorno para la ejecución de servicios Web, implementados en java. Apache Axis es utilizado por la plataforma MobFlow para realizar el proceso de invocación dinámica de servicios Web desde los dispositivos móviles.
•Interfaz de servicios: debido a que el motor BPEL Sliver para dispositivos móviles, solo hace llamados a servicios que estén desplegados en otros dispositivos móviles que también tengan el motor BPEL Sliver instalado [4]; la plataforma realiza la invocación de los servicio Web requeridos por los subprocesos a través de la aplicación Web MobFlow. Por lo tanto, este submódulo gestiona los datos de invocación solicitud/respuesta a servicios web enviados desde el móvil.
• Gestión correo electrónico: encargado de enviar un correo electrónico a los actores, con el fin de indicarles la existencia de subprocesos para descarga.

Módulo gestión de datos: encargado de abrir el acceso a la base de datos.

Dispositivos móviles: los dispositivos móviles son utilizados por los actores para llevar a cabo la descarga y ejecución de las actividades asociadas al proceso de negocio BPEL. Dicha ejecución es posible gracias a la aplicación móvil MobFlow. A continuación se describe la capa lógica de la aplicación.

La lógica de la aplicación está compuesta por los siguientes submódulos:

• Comunicación: este submódulo está encargado de manejar todos los aspectos de comunicación entre los dispositivos móviles y la aplicación Web MobFlow.
• Control: encargado de controlar todos los aspectos de la ejecución de la aplicación móvil. Su principal función es la de interactuar con el motor BPEL.
• Motor BPEL: representa el motor BPEL que interpreta y ejecuta los subprocesos BPEL descargados por el actor. La aplicación móvil MobFlow utiliza el motor BPEL para dispositivos móviles Sliver [4].

 

4 CASO DE ESTUDIO, PROTOTIPO Y EXPERIMENTACIÓN

El proceso de negocio de estudio implementa la venta de un artículo en un almacén en el estándar BPEL. Este inicia cuando el vendedor ingresa los datos de la venta de un artículo. Si la venta es a contado, ésta es aprobada inmediatamente enviando la información de la transacción a la caja. Si la venta es a crédito, una solicitud de crédito es tramitada y posteriormente enviada al departamento de cartera con el fin de aprobar o no la venta bajo esta modalidad. Si el crédito es aprobado, los datos son envidados a la caja, en caso contrario la venta es cancelada. En la caja es creado un comprobante de pago para notificar al departamento de sistemas sobre la venta hecha; es aquí donde finalmente se actualiza el inventario del almacén. Inicialmente el archivo BPEL que representa al proceso de negocio es cargado en la plataforma haciendo uso del componente "gestión de proceso de negocio". Posteriormente las funciones del submódulo "particionar proceso" son ejecutadas y generan cuatro subprocesos (proceso del vendedor, proceso del cajero, proceso del departamento de cartera y proceso del departamento de sistemas). Estos fueron asignados y distribuidos a los dispositivos móviles de los actores de la organización a través de los submódulos "vincular subprocesos", "comunicación" y "distribución", respectivamente. La figura 2 presenta las tareas asignadas al actor vendedor, las cuales son generadas de manera automática por la aplicación móvil. Tal como se explicó en el submódulo de "Sincronización", cuando este actor termina de ejecutar sus tareas, el siguiente dispositivo en la ejecución es informado mediante un mensaje de texto o correo electrónico. Cuando este último inicia la ejecución de sus tareas, la aplicación móvil le presenta una interfaz inicial con la información de los datos registrados por el dispositivo anterior a su ejecución, tal como se muestra en la figura 3.

 

 

La figura 4 presenta la interfaz de monitoreo generada por el componente "agente de monitoreo". Dicha interfaz permite seguir el estado actual de la ejecución distribuida de los subprocesos de negocio en los dispositivos móviles. Las tablas de la parte inferior presentan los subprocesos generados en el particionamiento y los actores que ejecutan cada subproceso. Estos se encuentran relacionados entre sí por un color específico, que presenta la relación del subproceso con el actor que lo ejecuta, así como en el flujo, las actividades del proceso que ejecuta dicho actor o que corresponden a cada subproceso.

La figura 5 presenta el tiempo que la plataforma MobFlow tarda en obtener las variables de sincronización y presentarlas en la interfaz del dispositivo móvil. Esta prueba fue ejecutada en el teléfono Nokia N93 utilizando diferentes redes de acceso y se alcanzaron los siguientes resultados: 2751 ms para redes WI-FI y 4125 ms para redes GRPS. También se hizo un análisis en tiempo considerando una misma red de acceso (Wi-Fi) y diferentes dispositivos (Nokia N93 y Pocket PC Dell x51v) ver figura 6, y se obtuvieron los siguientes resultados: 2863 ms para el dispositivo Nokia N93 y 2796 ms para la Pocket PC Dell. Lo anterior permite concluir que los tiempos de ejecución están ligados al tipo de conexión, y no a las capacidades del dispositivo.

Finalmente, la figura 7 presenta los resultados de la prueba de estabilidad; estos indican que a partir de un conjunto de 70 conexiones simultáneas la plataforma MobFlow no lleva a cabo el procedimiento solicitado.

 

 

 

 

5 CONCLUSIONES

En trabajos previos [1-6] se hicieron acercamientos a la movilidad de procesos en dispositivos móviles. Principalmente los autores de [2] proponen técnicas para optimizar la partición de procesos de negocio a través de un algoritmo bioinspirado en colonia de hormigas. A diferencia de lo antes expuesto, la plataforma MobFlow complementa dichas investigaciones proponiendo técnicas de distribución, ejecución y monitoreo, así como una combinación de todos los bloques funcionales que proporcionan un sistema integral que permite ejecutar procesos de negocio descritos con el estándar BPEL en entornos móviles.

 

REFERENCIAS

[1] A. Ordóñez et al., "BDMobIS un sistema para la distribución de procesos de negocio en sistemas móviles de información," presentado en II Congreso Colombiano de Comunicaciones IEEE COLCOM Popayán, 2008.         [ Links ]

[2] A. Ordóñez et al., "Distribución de Procesos de Negocios en Sistemas Móviles de Información Basada en un Algoritmo de Colonia de Hormigas," Avances en Sistemas e Informatica, vol. 4, no. 1, pp. 67-72, 2007.         [ Links ]

[3] L. Baresi et al., "Workflow Partitioning in Mobile Information Systems," en IFIP International Federation for Information Processing, Oslo, 2004.         [ Links ]

[4] G. Hackmann et al., "Sliver: A BPEL Workflow Process Execution Engine for Mobile Devices," en 4th International Conference on Service Oriented Computing, Chicago: Springer-Verlag, pp. 503-508, 2006.         [ Links ]

[5] C. Marin, y R. Brena, "Arquitectura de Workflow Distribuido Basada en Agentes Inteligentes," en II Congreso Internacional en Innovación y Desarrollo Tecnológico, Cuernavaca, 2004.         [ Links ]

[6] S. Kurkovsky et al., "A Collaborative Problem-Solving Framework for Mobile Devices," presentado en ACMSE'04, Huntsville: ACM, 2004.         [ Links ]

[7] T. Andrews, y F. Curbera. "Business Process Execution Language Version 1.1. The BPEL4WS Specification," [En línea]; Disponible: http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdf, 2003.         [ Links ]

[8] V. Pelechano et al., "Desarrollo de Aplicaciones WEB basadas en Servicios WEB XML. Un Caso Práctico," en Avances en Comercio Electrónico, F. J. García Peñalvo, ed., pp. 99-118, Salamanca: Avalon Programming Solutions, 2002.         [ Links ]

[9] D. Hollingsworth. "Workflow Management Coalition: The Workflow Reference Model," [En línea]; Disponible: http://www.wfmc.org/standards/docs/tc003v11.pdf, 1995.         [ Links ]

[10] D. Grigori et al., "Ranking BPEL Processes for Service Discovery," IEEE Transaction on Service Computing, vol. 3, no. 3, pp. 178-192, 2010.         [ Links ]

[11] S. Martig, y P. Señas, "Grafo Integrador de un Mapa Conceptual Hipermedial," en Proc. of WIE 2000, 2000.         [ Links ]

[12] OMG. "Documents Associated with Business Process Model and Notation (BPMN) 1.2," [En línea]; Disponible: http://www.omg.org/spec/BPMN/1.2/, 2009.         [ Links ]

 

Recibido: 09/11/2010
Aceptado:
09/05/2011

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License