Técnicas de ejecución y monitoreo de procesos en Cloud BPM. José Martínez Garro 1, Patricia Bazán 2

Documentos relacionados
OLC y Monitoreo de procesos en el cloud: un caso de estudio

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

Ejecución y monitorización distribuida de procesos de negocios: una implementación con Bonita Open Solution

BPMN Business Process Modeling Notation

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Una propuesta arquitectónica para integrar una herramienta BPMS y un sistema de gestión de reglas de negocio. Contexto

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Elementos requeridos para crearlos (ejemplo: el compilador)

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Sistema de gestión de procesos institucionales y documental.

Workflows? Sí, cuántos quiere?

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Gestión de la Configuración

Software de Simulación aplicado a entornos de e-learning

BPM: Articulando Estrategia, Procesos y Tecnología

MINING SOLUTIONS LIMITADA

Cloud Security Alliance. Recomendaciones de Seguridad para Usuarios

Service Oriented Architecture: Con Biztalk?

Management(BPM) Gestión de Proceso de negocio con BPM. Universidad Inca Garcilaso de la Vega

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Mejora en la compartición de recursos basada en Cloud Computing para el Grado en Informática en Sistemas de Información (Proyecto ID2012/099)

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios

Arquitectura de Aplicaciones

Modelando procesos. Introducción al modelamiento de procesos y BPM

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Interoperabilidad de Fieldbus

Administración por Procesos contra Funciones

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

Guía Metodológica para el diseño de procesos de negocio

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Hacer Realidad BPM en su Organización ADOPTAR BPM A PARTIR DE UN PROYECTO O NECESIDAD DE AUTOMATIZACIÓN

Información del Producto: XenData X2500 LTO-6 Digital Video Archive System

MODERNIZANDO PCN Y RECUPERACION DE DESASTRES UTILIZANDO VIRTUALIZACION Y LA NUBE

Metodología básica de gestión de proyectos. Octubre de 2003

Implementando un ERP La Gestión del Cambio

GedicoPDA: software de preventa

Aproximación práctica a ITIL. Proyecto VeredaCS. F r00

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

CAPÍTULO 1 Instrumentación Virtual

cómo puedo mejorar el desempeño de los acuerdos de niveles de servicio de clientes y reducir costos?

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Visión General GXflow. Última actualización: 2009

SISTEMAS DE INFORMACIÓN I TEORÍA

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Describir una metodología sistemática de análisis de los procesos organizacionales y cómo estos pueden ser apoyados por las TI.

Bechtle Solutions Servicios Profesionales

Trazabilidad ERP Microsa Gestión de Lotes

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores

Cuándo y qué virtualizar? Cuándo y qué virtualizar? 1

UNIVERSIDAD DE SALAMANCA

Introducción a SOA (II) Huibert Aalbers Senior Certified Software IT Architect

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

Volkswagen, Audi y Škoda

Informe final Proyecto de Innovación Docente ID11/129. Uso de FPGAs y medios audiovisuales en la docencia de la Electrónica Digital

Capitulo 3. Desarrollo del Software

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Soluciones de virtualización de datos

I INTRODUCCIÓN. 1.1 Objetivos

RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC

4. Programación Paralela

SYSTEMIC SOLUTIONS BPM. soluciones integrales.

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

ING. YURI RODRIGUEZ ALVA

Informe de la Comisión Permanente de Informática para la Tercera Conferencia Nacional de Jueces

CÓMO MEJORAR LA GESTIÓN DE SERVICIOS TI USANDO MEJORES PRÁCTICAS?

asired middleware XML Así-Red Servicios Telemáticos, S.L.L. w w w. a s i r e d. e s

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

Introducción. Metadatos

CAPÍTULO 2 DEFINICIÓN DEL PROBLEMA

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Planificación en Team Foundation Server 2010

Unidad 1. Fundamentos en Gestión de Riesgos

Capítulo 5. Análisis del software del simulador del sistema de seguridad

Campos de tareas. Costo real (campo de tareas) Duración real (campo de tareas) Fin real (campo de tareas)

Visión General de GXportal. Última actualización: 2009

BPMN básico. Clase Modelos de Procesos. Javier Bermudez

Comparación del entorno IBM Websphere BPM y sus equivalentes funcionales en código fuente abierto.

HOJAS DE INFORMACIÓN COMPLEMENTARIA DE TRABAJO DE MONITOREO Y EVALUACIÓN

<Generador de exámenes> Visión preliminar

Manual de Usuario De Respaldo y Restauración de Información


Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

El desarrollo de aplicaciones

UNIVERSIDAD DE BUENOS AIRES FACULTAD DE INGENIERÍA. Documentación de Motivación del Proyecto. JMit. Java Monitoring by Introspection Tool

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Microsoft SQL Server Conceptos.

Sistema informatizado de Trazabilidad alimentaria

Arquitectura de sistema de alta disponibilidad

Transcripción:

Técnicas de ejecución y monitoreo de procesos en Cloud BPM José Martínez Garro 1, Patricia Bazán 2 1 Facultad de Informática UNLP 2 LINTI Facultad de Informática UNLP josemartinezgarro@gmail.com, pbaz@ada.info.unlp.edu.ar Resumen La entrada de BPM (Business Process Management) en el cloud ha cambiado varios conceptos asociados a procesos de negocio, especialmente aquellos relacionados con descomposición de procesos, ejecución y monitoreo. El concepto de descomposición ha sido introducido en BPM permitiendo que los procesos sean ejecutados tanto en un ambiente cloud como en uno embebido. Esta situación saca ventaja de conceptos tales como sensibilidad de datos, performance de alto cómputo y portabilidad de aplicaciones. Una vez que los procesos han sido descompuestos, los mismos deben ser monitoreados, conservando la perspectiva del modelo original. A su vez, las actividades de los procesos ejecutan transiciones que generan cambios de estado con datos asociados. En el presente trabajo se analizan conceptos asociados a la descomposición de procesos, así como al monitoreo de las actividades y el uso de los objetos de datos generados a través de sus transiciones. A su vez se enuncian las arquitecturas y metodologías implementadas para el desarrollo de estos conceptos. Palabras clave: descomposición, monitoreo, OLC, Cloud, BPM. Contexto El presente artículo se enmarca dentro de un proyecto de investigación acerca de BPM, mejora continua de procesos, entornos de ejecución y su disposición en un entorno de cloud computing, encarado dentro del laboratorio LINTI en la Facultad de Informática de la Universidad Nacional de La Plata. Introducción La protección de la privacidad es una de las barreras para ejecutar BPM en un ambiente de cloud. No todos los usuarios desean poner sus datos sensibles fuera de la organización. Además, es necesario observar la portabilidad de los productos y sus versiones, así como su disponibilidad en un sistema de cloud. Otro aspecto de interés es la eficiencia. Las actividades de cómputo intensivo se pueden beneficiar en la nube debido a la escalabilidad y a la alta disponibilidad de fuerza de cómputo. Las tareas que no sean de cómputo intensivo, por otra parte, no siempre se benefician en este entorno. La performance de una actividad de este tipo que está corriendo en un entorno embebido debería ser mayor que en la nube debido a los datos que deben ser transferidos para poder ejecutar la actividad. Estas actividades pueden a la vez resultar costosas al ser la transferencia de datos uno de los criterios de facturación del cloud [1] [2]. Descomposición de procesos Existe en la bibliografía actual un modelo de distribución de procesos Página 425 de 1158

llamado PAD (Proceso-Actividad-Datos), el cual describe las posibilidades de separación de los componentes de un BPMS entre nodos cloud y embebidos alternativamente. Es posible generalizar la distribución de procesos e identificar un patrón en el cual el motor de procesos, las actividades y los datos se despliegan tanto en la nube como en el usuario final. Esta solución presenta dos beneficios potenciales: 1) El motor de procesos regula los flujos de control y de datos. Una actividad recibe datos del motor de procesos y luego de su ejecución, los resultados producidos son consumidos nuevamente. Consideremos ahora una secuencia de actividades que se ubica en la nube, mientras que el motor de procesos se despliega en el usuario final. Debido a que la transferencia de datos es uno de los criterios de facturación del modelo en cuestión, estas situaciones pueden volverse más costosas cuando se transfieren grandes cantidades de datos entre actividades. Si las actividades se localizan en el cloud, los datos son regulados por el motor de procesos situados en él, lo cual reduce la cantidad de datos a ser transferidos entre este y el sistema embebido [1] [3] [4]. 2) Cuando la nube no se encuentra accesible, los usuarios pueden ejecutar los procesos de negocio en forma completa en el sistema embebido hasta que el primero vuelva a estar disponible. Para ejecutar un proceso de negocio en un entorno distribuido híbrido (combinación de nodos embebidos y cloud), el mismo debe ser dividido en tantas partes como servidores intervinientes existan. Resultaría conveniente para los usuarios tomar una lista de distribución del proceso y sus actividades. La comunicación entre los nodos involucrados (embebidos o no) puede ser descripta utilizando un lenguaje de orquestación, como BPEL. El monitoreo de procesos de negocio es más complicado ahora, debido a que el proceso ha sido dividido en dos o más partes. Como solución, una herramienta de monitoreo puede ser desarrollada para el proceso original, a través de la combinación de detalles que surgen del monitoreo de partes individuales [1] [2] [5] [6]. Monitoreo de procesos en un esquema híbrido Tal como se ha enunciado con anterioridad, los mayores problemas de utilizar un modelo de proceso particionado son, además de su ejecución, la recolección y el monitoreo de las diferentes instancias distribuidas, y a su vez la visualización de las mismas bajo la óptica del modelo original al que estas pertenecen. Para enfrentar este desafío se ha diseñado una solución que considera componentes distribuidos e intercomunicados que forman una arquitectura. Por un lado es necesario asociar las diferentes instancias de proceso iniciadas en forma de cadena, con el propósito de recolectar información de las mismas mediante el acceso a los servidores involucrados. De esta manera, cuando una instancia finaliza en un servidor, esta inicia automáticamente una nueva instancia correspondiente a la partición de proceso siguiente, en función del modelo de distribución. Si bien existen distintas maneras de implementar la unión del flujo de ejecución en instancias distribuidas, en nuestro caso hemos optado por utilizar Bonita Open Solution [15] como BPMS, junto con sus conectores. Hemos utilizado esta tecnología para implementar los modelos de proceso particionados, y los conectores como mecanismo para iniciar Página 426 de 1158

instancias en nuevos servidores, mediante el uso de clases Java. De esta manera, cada instancia al finalizar ejecuta un conector que permite iniciar un nuevo caso en el siguiente servidor distribuido de la arquitectura, enlazando automáticamente la traza de ejecución de los procesos [7]. Se ha construido a su vez una aplicación de monitoreo encargada de recolectar datos desde los distintos nodos de la arquitectura, así como de mostrarlos en forma integrada de acuerdo a la perspectiva del modelo original descompuesto. Para acceder a todos los nodos involucrados, resulta de importancia poseer un catálogo con los servidores existentes y su información de localización actualizada. Cada uno de estos servidores tiene una copia de un servicio web (getinstanceservice), el cual recibe un id de definición de proceso y retorna información de cada instancia existente en el servidor, asociada con la definición enviada como parámetro. La información retornada incluye id de instancia, estado actual (en ejecución, completada, suspendida), actividad actual si la instancia no se encuentra aún finalizada, fecha de inicio y fin. De esta manera la aplicación envía invocaciones del servicio web a cada uno de los servidores distribuidos, concatenando las respuestas obtenidas y mostrándolas en forma integrada. Luego, es posible obtener información detallada de las actividades que componen cada instancia. Para esto se dispone de otro servicio web (getinstanceactivityservice), el cual retorna información asociada a la instancia enviada: id de actividad, participante, fecha de inicio, estado actual y fecha de fin. Una vez finalizada la etapa de recolección, la aplicación web se encargará de concatenar los datos y mostrarlos de manera integrada y con transparencia sobre su ubicación. En la Figura 1 podemos observar la arquitectura de la aplicación mencionada, con cada uno de los componentes intervinientes [1] [3] [7] [9] [14]. Fig 1: Arquitectura de la aplicación de monitoreo [14] Uso de objetos de datos OLC en el monitoreo de procesos En el campo de BPM, el monitoreo se utiliza para observar el comportamiento de las instancias de proceso, así como para reaccionar a eventos y predecir los futuros pasos del proceso en ejecución. Los procesos que son automatizados usando sistemas de información (por ejemplo motores de proceso), pueden ser correctamente monitoreados dado que dichos sistemas frecuentemente ofrecen capacidades de registro, siendo así los procesos fácilmente reconocidos. En contraste, en ambientes donde los procesos deben ser ejecutados manualmente en una gran porción, como por ejemplo en una dependencia de cuidado de la salud, un gran número de eventos no Página 427 de 1158

son capturados en forma automática. De esta manera, la información acerca de los eventos de proceso se encuentra incompleta, y por lo tanto es realmente difícil establecer proposiciones sobre el progreso del proceso mediante la aplicación del concepto de puntos de monitoreo. Un punto de monitoreo de eventos está relacionado a ciertos eventos capturados por un sistema IT conectado a una fuente específica de eventos, por ejemplo una base de datos o un lector de códigos de barra, e informa cuando ciertas transiciones de estado (por ejemplo habilitado, iniciado o finalizado) ocurren en una actividad. En este caso, probabilístico significa que es posible proveer un índice indicativo acerca del progreso del proceso, pero el mismo es solo una aproximación. En términos de implementación, la aplicación de monitoreo antes mencionada debe ser capaz de recolectar la información de estado del proceso, y al mismo tiempo, recuperar la información marcada como observable en las transiciones del mismo. Para esto es necesario enlazar la información en la base de datos del motor de procesos con la información relativa a los distintos objetos OLC distribuidos e identificados durante la etapa de diseño [2] [8] [10]. En la Figura 2 podemos ver como las diferentes transiciones insertan información en el almacén de eventos distribuido en tiempo de ejecución. Además vemos que los servicios interactúan con los servidores en forma distribuida. Es importante enlazar la información grabada con los detalles del proceso, de manera de obtener todos los eventos asociados una vez que la aplicación de monitoreo recolecta los datos a mostrar [11] [12] [13]. Fig 2: Vista del modelo descompuesto en ejecución Los servicios web de recolección de datos antes mencionados deben ser modificados de manera tal de considerar ahora, en adición, los objetos de datos OLC que hayan sido marcados como observables. De esta manera, la integración entre los procesos de negocio y la lógica de los sistemas de la organización se realiza a través de los datos distribuidos, y mediante la recuperación de los mismos se pueden mejorar las funciones de monitoreo. Líneas de Investigación, Desarrollo e Innovación En la actualidad las líneas de investigación que nos ocupan se centran en la resignificación de conceptos de ejecución de los BPMS embebidos hacia un ambiente de cloud: acerca de cómo Página 428 de 1158

tiene mayor sentido en este nuevo contexto la consideración de procesos descompuestos que aprovechen las ventajas de un esquema híbrido, así como el monitoreo de los mismos y el uso de objetos de datos asociados al ciclo de vida. En todos estos ítems cobra una importancia trascendental el uso de mecanismos de seguridad que permitan la ejecución y monitoreo de procesos con estándares similares a los anteriormente considerados en un esquema embebido. Resultados y Objetivos Los resultados de la presente línea de investigación han arrojado un análisis de la bibliografía actual sobre BPM en el cloud y su adaptación a sistemas híbridos, así como implementaciones de aplicaciones capaces de ejecutar y monitorear procesos distribuidos, con el complemento de los objetos OLC. En la actualidad nos enfocamos en mejorar la aplicación de monitoreo con el fin de considerar los objetos OLC en forma estándar, para no depender de la lógica de la organización particular en su mecanismo de visualización. A su vez, en forma asociada se continúan con trabajos relacionados a Process Mining y mejora continua de procesos de negocio. Formación de Recursos Humanos BPM ha cobrado importancia dentro del área de tecnología informática, la cual en los últimos años ha evolucionado desde el concepto producto hacia el paradigma de servicios y soluciones. El presente artículo ilustra una línea de investigación iniciada en el año 2008, donde no solo se cubre el desarrollo de procesos BPM sino también la mejora continua de los mismos y la ampliación de sus ambientes de ejecución. En dicha línea se están formando alumnos para desarrollar su tesina e interactuar con docentes e investigadores formados, incorporando BPM y sus herramientas de soporte como línea de acción para la solución de problemas reales. Referencias [1] T. Kirkham, S. Winfield, T. Haberecht, J. Müller, G. De Angelis, "The Challenge of Dynamic Services in Business Process Management", University of Nottingham, United Kingdom, Springer, 2011 [2] M. Minor, R. Bergmann, S. Görg, "Adaptive Workflow Management in the Cloud Towards a Novel Platform as a Service", Business Information Systems II, University of Trier, Alemania, 2012 [3] M Mevius, R. Stephan, P. Wiedmann, "Innovative Approach for Agile BPM", eknow 2013: The Fifth International Conference on Information, Process, and Knowledge Management, 2013. [4] H Sakai, K Amasaka. "Creating a Business Process Monitoring System A-IOMS for Software Development". Chinese Business Review, ISSN 1537-1506 Junio 2012, Vol. 11, No. 6, 588-595. [5] E Duipmans, Dr. L Ferreira Pires, "Business Process Management in the cloud: Business Process as a Service (BPaaS)", University of Twente, Abril, 2012. [6] JP Friedenstab, C Janieschy, M Matzner, O Mullerz. "Extending BPMN for Business Activity Monitoring". University of Liechtenstein, Hilti Chair of Business Process Management, Vaduz, Liechtenstein. September 2011. [7] N Herzberg, A Meyer "Improving Process Monitoring and Progress Prediction with Data State Transition Events". Hasso Plattner Institute at the University of Potsdam. Mayo 2013. [8] M Reichert, J Kolb, R Bobrik, T Bauer. "Enabling Personalized Visualization of Large Business Processes through Parameterizable Views". Hochschule Neu-Ulm, Neu-Ulm, Germany. Noviembre 2011. [9] J Kolar, T Pitner, "Agile BPM in the age of Cloud technologies, Scalable Computing: Practice and Experience, 2012. [10] A Lehmann and D Fahland, "Information Flow Security for Business Process Models - just one click away", University of Rostock, Alemania, 2012. [11] R Accorsi, T Stocker, G Müller, "On the Exploitation of Process Mining for Security Audits: The Process Discovery Case", Department of Telematics, University of Freiburg, Alemania, 2012. [12] S Zugal, J Pinggera and B Weber. "Toward enhanced life-cycle support for declarative processes". JOURNAL OF SOFTWARE: EVOLUTION Marzo 2012 [13] J.Martinez Garro, P.Bazan Constructing hybrid architectures and dynamic services in Cloud BPM Science and Information Conference 2013 Octubre 7-9, 2013 Londres, RU. [14] J. Martinez Garro, P. Bazan Constructing and monitoring processes in BPM using hybrid architectures. IJACSA Journal, 2014 Enero. Londres, RU. [15] Bonita Open Solution http://es.bonitasoft.com/. Octubre, 2013. Página 429 de 1158