BPMN COMO HERRAMIENTA DE MODELADO DE NEGOCIO PARA LA CREACIÓN DE MODELOS CONCEPTUALES. Gomez, Federico - Horenstein Nicolás e-mail: {federicogomez.ar, nicolashorenstein}@gmail.com Departamento Ingeniería en Sistemas de Información Facultad Regional Córdoba Universidad Tecnológica Nacional Maestro M. Lopez esq. Cruz Roja Argentina Ciudad Universitaria - Córdoba Capita Palabras claves: Requerimientos, Negocio, XML, UML,XPDL, Modelo Conceptual, BPMN Resumen. Dentro del contexto de la Investigación Validación de Requerimientos a través de Modelos Conceptuales se ha establecido un marco de investigación para determinar las capacidades de la notación BPMN en cuanto al modelado de procesos de negocio y sus resultados como entrada para la creación de modelos conceptuales para la validación de requerimientos de software. Se presta principal atención al estándar XPDL como resultado del modelo de negocio con BPMN.
1 INTRODUCCION La investigación Validación de Requerimientos a través de Modelos Conceptuales tiene como objetivo implementar una herramienta que permita gestionar y validar requerimientos de software, la cual permitirá definir los límites del sistema de información al momento de formular el Modelo conceptual con la determinación de los requerimientos, permitiendo controlar y optimizar los procesos, y además proveer al grupo de desarrollo una base concreta para la estimación del tiempo y costo del desarrollo de sistemas de software, permitiendo así conocer el estado del proyecto y el impacto de los cambios en caso de ser requeridos. Para la creación de esta herramienta se han establecido las siguientes fases: Modelado conceptual de los requerimientos: En primer lugar, se debe registrar en la herramienta de soporte el esquema conceptual especificado que se desea validar, partiendo del modelado del negocio. Luego se deberá traducir el esquema resultante, a través de la selección que resulte más conveniente, a uno de los formatos existentes, y traducirlo a XML (Lenguaje de Etiquetado Extensible) y/o UML (Lenguaje Unificado de Modelado), según sea necesario dependiendo de la vista que se necesite visualizar de acuerdo a las necesidades de la etapa en que se encuentre el desarrollo del modelado. Análisis del Modelo Conceptual: En base al modelo conceptual obtenido en la etapa anterior, se procederá a realizar el análisis de los distintos atributos de los requerimientos detectando ciclos o bucles que puedan derivar en inconsistencias o errores subyacentes en la especificación de los mismos, la inconsistencia a través de abstracciones con máquinas de estados, en donde resulten estados no conexos, como así también verificar la trazabilidad entre las especificaciones y el modelo conceptual. Validación del Modelo Conceptual: A partir del modelo conceptual, es necesario realizar la validación de los requerimientos representados en él para conocer el grado de cumplimiento de los mismos en base a las necesidades de los usuarios. Resultados del análisis y validación: Una vez realizados el análisis y la validación del modelo conceptual, el sistema brindará como salida los resultados obtenidos que servirán de retroalimentación para correcciones y/o mejoras (en el caso que sean necesarias). Puntualmente el presente trabajo de investigación se centra en la primera fase Modelado Conceptual de los Requerimientos del nombrado proyecto, y analiza al lenguaje de modelado grafico BPMN como herramienta para la confección de modelos de procesos de negocio que registrará las actividades de cada proceso y que en el futuro servirán para determinar los requisitos del sistema. Se analizarán los diferentes programas que soportan el lenguaje BPMN y las capacidades de importación de la información de los diagramas en diferentes lenguajes. Se hará principal hincapié en la capacidad de estos programas de exportar la información a lenguaje XML ya que se considera un lenguaje de gran popularidad, potente y de fácil uso. Se analizará la estructura de los archivos XML exportados de los programas analizados para considerarlos como entradas para la creación de modelos matemáticos. 2 BPMN Como se menciona en [1], Business Process Modeling Notation o BPMN, en español Notación para el Modelado de Procesos de Negocio, es una notación gráfica estandarizada que permite el modelado de procesos de negocio, en un formato de flujo de trabajo (workflow). BPMN fue inicialmente desarrollada por la organización Business Process Management Initiative (BPMI), y es actualmente mantenida por el OMG (Object Management Group), después de la fusión de las dos organizaciones en el año 2005. Su versión actual, a abril de 2011, es la 2.0.
2.1 Procesos Como se detalla [2], existe una gran cantidad de definiciones de Procesos de Negocio. De hecho, la noción de un Proceso de Negocio es una noción abstracta en el mejor de los casos. Frecuentemente, si se les pide a las personas con conocimiento o relación con este tema una definición, es sorprendente la variedad de respuestas que e reciben: Una secuencia de actividades realizadas sobre una o más entradas para entregar una salida. Un conjunto de actividades sistemáticas que llevan un evento de negocio a un resultado exitoso. Una determinada cantidad de roles colaborando e interactuado para lograr una meta. Una colección organizada de comportamientos de negocio que satisface un propósito empresarial definido, actuando de acuerdo a los objetivos específicos. Simplemente cómo las cosas se hacen aquí. La actual definición de Wikipedia es, Un proceso de negocio o método de negocio es una colección de tareas interrelacionadas, que persiguen una meta en particular. En BPMN, un proceso representa lo que una organización realiza (su trabajo) para lograr cumplir su propósito u objetivo. Dentro de una organización, hay muchos tipos de Procesos en términos de cuál es su propósito y como son realzados. La mayoría de los Procesos requieren algún tipo de entrada, utilizar y/o consumir recursos, y producir algún tipo de salida. Algunos procesos son formales, repetibles, bien estructurados, y hasta pueden estar automatizados. Usualmente se refiere a estos procesos como Procedimientos. Otros procesos son informales, muy flexibles, impredecibles y difíciles de definir o repetir. Usualmente se refiere a estos procesos como Practicas. 2.2 Modelado de proceso en BPMN En BPMN, los Procesos de Negocio involucran la captura de una secuencia ordenada de las actividades e información de apoyo. Modelar un Proceso de Negocio implica representar cómo una empresa realiza sus objetivos centrales; los objetivos por si mismo son importantes, pero por el momento no son capturados por la notación. Con BPMN, solo los procesos son modelados. En el modelado de BPMN, se pueden percibir distintos niveles de modelado de procesos: Mapas de Procesos: Simples diagramas de flujo de las actividades; un diagrama de flujo sin más detalles que el nombre de las actividades y tal vez la condiciones de decisión más generales. Descripción de Procesos: Proporcionan información más extensa del proceso, como las personas involucradas en llevarlo a cabo (roles), los datos, información, etc. Modelo de Proceso: Diagramas de flujo detallados, con suficiente información como para poder analizar el proceso y simularlo. Además, esta clase de modelo más detallado permite ejecutar directamente el modelo o bien importarlo a herramientas que puedan ejecutar ese proceso. BPMN cubre todas estas clases de modelos y soporta cada nivel de detalle. Como tal, BPMN es una notación basada en diagramas de flujo para definir procesos de negocio, desde lo más simples hasta los más complejos y sofisticados para dar soporte a la ejecución de procesos. BPMN es capaz de representar una gran cantidad de niveles de detalle y diferentes tipos de diagramas para diferentes propósitos. 2.3 Objetivos de BPMN Cuando se comenzó el desarrollo de BPMN había, y todavía hay, una amplia gama de notaciones de modelado de procesos, distribuidas utilizando diferentes herramientas, y utilizadas dentro de una gran variedad de metodologías. Lo interesante de BPMN era la gran cantidad de proveedores que se reunieron con el objetivo
común de consolidar los principios subyacentes del modelado de procesos. Su meta era llegar a un acuerdo sobre una única notación (en cuanto a la representación) la cual pueda ser adoptada por otras herramientas y personas. Por lo tanto, BPMN no era un gran ejercicio académico, sino más bien una solución práctica tanto para los proveedores de herramientas de modelado como para los usuarios de herramientas de modelado. El razonamiento fue que este enfoque ayudaría a los usuarios finales dándoles una notación simple y acordada. Esto permitiría capacitación consistente, utilizando cualquier número de herramientas. Las compañías no deberían re capacitar cada vez que se compre una nueva herramienta o se contrate nuevo personal que haya sido capacitado en otras herramientas y notaciones. En resumen, hizo que el aprendizaje sea transferible. Otro objetivo de BPMN era que proporcionaría un mecanismo para generar procesos ejecutables, inicialmente BPML (Business Process Modeling Language, Lenguaje para el Modelado de Procesos de Negocio) posterior mente sustituido por BPEL (Business Process Execution Language). Por lo tanto, BPMN provee un mapeo valido entre los diagramas BPMN a BPEL, de manera que un motor pueda ejecutar el proceso. Esto no significa que todo modelo de proceso BPMN es ejecutable, pero para aquellos procesos destinados a la ejecución, BPMN proporciona los mecanismos para pesar del diseño original hasta la ejecución. Esta trazabilidad fue parte de la meta original para el desarrollo de BPMN. BPMN tenía dos objetivos contradictorios: proporcionar una manera fácil de utilizar la notación de modelado de procesos, accesible a laos usuarios empresariales; y proporcionar facilidades para traducir los modelos a una forma ejecutable tal como BPEL. 2.4 Conclusiones sobre BPMN Como concluye [3], a día de hoy es un hecho que cada día están teniendo más importancia los procesos de negocio y por extensión las herramientas que nos sirven para modelar, simular, supervisar y gestionar ese tipo de procesos. Todo parece indicar que la OMG se está decantando por BPMN, no sólo como concesión a la organización absorbida sino también por otras razones expuestas en[4]: BPMN es capaz de expresar más patrones [5] que los diagramas de actividad [6], es decir, es más expresivo. BPMN es gráficamente más rico, con menos símbolos fundamentales, pero con más variaciones de estos, lo que facilita su comprensión por parte de gente no experta. BPMN tiene el apoyo de la WfMC, una de las organizaciones más importantes en el campo del workflow que además de miembro de la propia OMG ha modificado una de sus especificaciones XPDL (que posteriormente es descrita en esta memoria) para dar cobertura total a BPMN. BPMN puede transformarse directamente en BPEL, un lenguaje de orquestación de servicios web que se está consolidando como un estándar. 3 XPDL Qué es XPDL? Como explica [2], XPDL (XML Process Definition Language) es un lenguaje de la WfMC (Workflow Management Coallition) que es Una organización sin ánimo de lucro para desarrolladores, analistas, consultores e investigadores en el campo de la gestión de procesos de negocio. Fue fundada en 1993 y actualmente es miembro de la OMG siendo uno de los participantes que más han influido sobre la especificación de UML 2.0. Para la WfMC deben existir 5 interfaces funcionales en un proceso o servicio de workflow: Definición de procesos e importación/exportación de los mismos. Interoperabilidad entre distintos sistemas de workflow. Interacción con otros tipos de aplicaciones.
Interacción con los interfaces de escritorio de los usuarios. Sistema para monitorizar los procesos que nos proporcione una serie de métricas que nos faciliten la gestión de los mismos. La versión más reciente de XPDL es la 2.0 y mantiene compatibilidad total con las versiones anteriores. Según los propios creadores de XPDL, dejando muy claro el propósito de su especificación, las especificaciones XPDL y BPMN afrontan el mismo problema de modelado desde diferentes perspectivas. XPDL proporciona un formato de fichero XML para ser intercambiado entre aplicaciones. BPMN proporciona una notación gráfica para facilitar la comunicación humana entre usuarios de negocio y usuarios técnicos. Y precisamente esta última versión surge para dotar a XPDL de los elementos de BPMN 1.0 que no poseía XPDL 1.0. 3.1 El metamodelo XPDL Para llevar a cabo lo que se propone con XPDL la WfMC define un metamodelo para XPDL que cubre: Las entidades de más alto nivel en el dominio de la definición de procesos. Atributos de procesos. Agrupaciones de diferentes procesos en modelos relacionados. Definiciones de datos comunes que puedan ser usados en variedad de modelos. Para todos estos aspectos tenemos dos meta-modelos principales: El metamodelo Package, que se encarga de las agrupaciones de procesos, del intercambio de mensajes entre estos y de las diferentes características que poseen los mismos. El metamodelo Process que describe las principales entidades que componen un proceso así como los atributos de éstas. 3.2 Entidades básicas de los metamodelos De las entidades que conforman los dos metamodelos vamos a describir brevemente las de más alto nivel, que son precisamente las que tienen relación directa con los elementos de la notación gráfica BPMN: Pool: Contenedor de actividades y transiciones entre ellas. Lane: Entidad que nos va a permitir subdividir un Pool; típicamente en relación a los roles participantes. Process Definition: Proporciona información contextual que se aplica a una serie de entidades a lo largo de un proceso. Actividad: Trabajo dentro de un proceso que será desempeñado por una combinación de recursos humanos y computacionales. Task: Unidades de trabajo que componen una actividad. Event: Cualquier suceso que ocurre mientras se está ejecutando un proceso y que normalmente afecta al flujo del mismo. Transition: Paso de una actividad a otra cuando se cumplen determinadas condiciones. Participant: El que realiza una serie de actividades, ya sea un elemento humano o un elemento computacional. Relevant Data: Los datos que son creados y usados por una instancia de un proceso durante su ejecución. Application: Elementos computacionales que nos van permitir automatizar, total o parcialmente, una o varias actividades. Artifact: Elementos del proceso que no pertenecen al conjunto de elementos básicos (actividades, secuencia, flujo de mensajes) y que se relacionan con objetos del flujo (flow objetcs) mediante asociaciones. Pueden ser (siguiendo la notación BPMN), un Data Object, una Annotation o un Group. Message Flow: Flujo de mensajes entre dos participantes y/o procesos que están preparados para enviar y recibir información. Association: Para asociar un Artifact con un objeto de flujo (Object Flow) y para mostrar
las actividades que se usan para compensar otra actividad. System and Enviromental data: Datos que son mantenidos por el sistema de workflow o el sistema de entorno local y que son accedidos por las actividades para ser usados de la misma manera que los Relevant Data. 3.3 Herramientas XPDL Existen multitud de herramientas que nos permiten trabajar con XPDL, las reconocidas por la propia WfMC son las siguientes: ADVANTYS. Amazonas Workflow. BOC ADONIS 3.7. Brein BV offers InProces CapeVisions CARNOT Process Engine CHALEX BPM Framework The Cubetto Toolset Enhydra Shark Enhydra JaWE Finantix Studio (FXS) Fuego Fujitsu Interstage HOGA.PL IDS Scheer Integic e.power WorkManager Builder tool Interstage Business Process Manager Studio ITP-Commerce Jenz & Partner GmbH Flow Designer, Eclaire Group Metoda S.p.A Tell-Eureka s OfficeObjects WorkFlow Open Business Engine Oracle9i Warehouse Builder 9.2 Projekty Bankowe Polsoft TIBCOR Software Process Suite TIBCO Business Studio. Together Workflow Editor Vignette Process Workflow Modeler ZAPLET 3 PROCESS BUILDER 3.4 Conclusiones sobre XPDL XPDL es una notación para definir e intercambiar modelos de procesos de negocio. A su vez, XPDL puede ser considerado como la notación textual de BPMN, o al revés, BPMN la notación gráfica de XPDL. Eso al menos para la versión de XPDL 2.0 que, como ya dijimos antes, se modificó precisamente para reflejar todos y cada uno de los elementos de BPMN. Por lo tanto XPDL y BPMN son un binomio a tener muy en cuenta dentro de campo del modelado de procesos de negocio, un campo que cada vez está adquiriendo más importancia para darle efectividad a esta pareja, y siempre que mantengan compatibilidad, lo ideal sería encontrar una herramienta que nos permita usar ambas especificaciones de la siguiente manera: Usar BPMN para modelar de manera gráfica los modelos de procesos de negocio (lo cuál es más amigable tanto para los ingenieros como para los clientes). XPDL para guardar los modelos e intercambiarlos entre las diferentes aplicaciones. 4 CONCLUSION DEL TRABAJO Por lo trabajado anteriormente arribamos a la conclusión que BPMN es una herramienta muy simple y útil para el modelado de los procesos de negocio, y compitiendo directamente con los diagramas de actividad (UML), presenta ventajas por su simpleza tanto en gráficos, como en la adaptabilidad a las necesidades del usuario. Además, si se lo relaciona con XPDL, forman una pareja ideal para la exportación e importación de los modelos entre diversas herramientas. Dentro del marco de investigación Validación de Requerimientos a través de Modelos Conceptuales que da origen a este análisis e investigación, se concluye que la utilización de BPMN y XPDL generan una salida perfecta para nuevas herramientas de validación, verificación y creación de otros modelos matemáticos.
5 REFERENCIAS [1] Wikipedia, La Enciclopedia libre, Business Process Modeling Notation, http://es.wikipedia.org/wiki/business_process_ Modeling_Notation [2] Stephen A. White, PHD, Dereck Wiers, BPMN Guía de Referencia y Modelado [3] JUAN DIEGO PÉREZ, Notaciones y lenguajes de procesos. Una vision global. [4] J.D. Pérez A. Durán A. Ruiz. Por quá omg ha elegido BPMN para modelar procesos de negocio si ya existe uml? Technical report, Universidad de Sevilla, 2007. [5] Petia Wohed Wil van der Aalst Marlons Dumas Arthur Hofstede Nick Russell. Pattern-base analysis of bpmn. Technical report, Department of Technology. Management Eindhoven University of Technology, 2005. [6] Petia Wohed Wil van der Aalst Marlon Dumas Arthur Hofstede Nick Russel. Patter-based analysis of uml activity diagrams. Technical report, Department of Technology Management Eindhoven University of Technology, 2004.