Gracias a BPMN, las empresas tienen la oportunidad de representar sus modelos de procesos de negocio en un formato comprensible para todos los involucrados, sean expertos en TI o no. Hoy en día, las organizaciones tienen sus modelos de procesos de negocio en BPMN por un lado y sus modelos de arquitectura empresarial en Archimate por el otro.
INTRODUCCIÓN
EL PROBLEMA
LA SOLUCIÓN
Se ha utilizado un procesador XSLT para aplicar automáticamente las transformaciones y obtener el modelo destino MT (Arkimat expresado en formato XML) a partir del modelo fuente MS (BPMN en formato XML). Se ha desarrollado una aplicación informática que permite aplicar automáticamente las reglas de transformación desarrolladas con XSLT, tomando como entrada un archivo XML que contiene la información de un modelo de proceso de negocio según el estándar BPMN2, y generando otro archivo como salida. XML aplicable al Modelo de Arquitectura Empresarial según el estándar Archimate.
ESTRUCTURA DEL DOCUMENTO
OBJETIVOS
ANTECEDENTES, ESTADO DE LA CUESTIÓN
MDE-INGENIERÍA DIRIGIDA POR MODELOS
- Introducción
- MDA
- Modelos y Metamodelos
- Transformaciones
PROCESOS DE NEGOCIO
- Introducción
- Estándar BPMN
- Metamodelo BPMN 2
ARQUITECTURAS EMPRESARIALES
- Introducción
- Estándar Archimate
- Metamodelo Archimate 3
TECNOLOGÍA XSLT
- Introducción
- Proceso de archivos XML con XSLT
MÉTODO DE TRABAJO
METODOLOGÍA DE DESARROLLO SOFTWARE: OpenUP
- Ciclo de vida de OpenUP
En esta fase se define el alcance del proyecto, se obtienen los requisitos clave y se selecciona el entorno de desarrollo, así como el lenguaje de programación. En esta fase se diseña la arquitectura del sistema y se corrigen los requisitos o se añaden otros nuevos. Otra tarea que se realiza en esta fase es determinar la estructura en la que quedará el modelo XML final.
En esta fase se realiza la implementación del software en base a la arquitectura definida en la etapa anterior. En esta fase se prueba el software completo y se ejecuta la documentación del proyecto.
HERRAMIENTAS UTILIZADAS
- Herramientas de desarrollo de software
- IDE ECLIPSE
- Java
- Balsamiq Mockups
- Atlassian Bitbucket
- Visual Paradigm
- Software para generación y comprobación de modelos/metamodelos
- Bizagi Modeler
- Archi
- Sublime Text 3
- Software de gestión del proyecto
- Trello
- Software de documentación
- Microsoft Office
- Técnica Semantic Matching
RESULTADOS
LISTA DE MAPEOS
Para lograr este resultado, fue necesario comprender los metamodelos BPMN y Archimate, y se utilizó la técnica de coincidencia semántica (mencionada en el Capítulo 4) para establecer estos mapeos. La comprensión del metamodelo BPMN se logró estudiando el estándar BPMN en formato XSD, que consta de aproximadamente 1500 líneas de código, y a través del estándar en un formato PDF legible de 538 páginas. Se logró una comprensión del metamodelo Archimate estudiando el estándar Archimate en formato PDF legible, de aproximadamente 181 páginas.
Como hemos visto, las tareas BPMN se pueden transformar en dos elementos de Archimate (Función o Proceso). Una vez obtenida la lista de asignaciones, servirá como base para definir definiciones de transformación en pseudocódigo y posteriormente en código XSLT (Sección 5.2).
DEFINICIÓN DE TRANSFORMACIONES
- Transformación de elementos (Parte 1)
- Transformación de elementos (Parte 2)
En el ejemplo de código 5.7, la declaración XPath busca todos los objetos de datos que se encuentran en el archivo fuente (independientemente de su posición en el archivo). En el código 5.9, se crean eventos Archimate, por lo que BPMN busca tanto eventos iniciales como algunos eventos intermedios asociados con las tareas. En el código 5.10, se crean procesos de Archimate, primero se buscan grupos, luego subprocesos, subprocesos ad-hoc y transacciones.
El código 5.15 muestra la llamada a la plantilla en cada uno de los elementos. El Código 5.17 muestra la creación de dos relaciones de composición, una de las cuales relaciona tareas BPMN (sin especificar el tipo) con un proceso, subproceso, transacción o subproceso ad-hoc.
DESARROLLO DEL SOFTWARE Y DEL PROYECTO
- Fase de inicio
- Iteración I1
- Fase de elaboración
- Iteración E1
- Iteración E2
- Iteración E3
- Iteración E4
- Fase de construcción
- Iteración C1
- Iteración C2
- Iteración C3
- Iteración C4
- Fase de transición
- Iteración T1
- Iteración T2
- Iteración T3
CONCLUSIONES Y PROPUESTAS
OBJETIVOS CUMPLIDOS
Desarrollar software que permita seleccionar el archivo XML que almacena un modelo BPMN y realizar la transformación automática, dando como resultado otro archivo XML válido para el metamodelo de arquitectura empresarial "Archimate 3". La siguiente tabla muestra estas metas parciales, así como la fase en la que se alcanzó cada una de ellas. Estudiar la tecnología XML/XSLT y las herramientas adecuadas para trabajar con ella, especialmente en la plataforma.
Se ha examinado cada uno de los elementos del metamodelo BPMN 2, así como la relación entre ellos.
MEJORAS FUTURAS
Cuando se estableció el alcance del proyecto, se decidió no transformar ciertos elementos de Archimate como colaboraciones debido a la dificultad que esto traería. Por tanto, en el futuro se podrá intentar realizar las transformaciones necesarias para obtener tantos elementos de Archimatus como sea posible.
VALORACIÓN PERSONAL
BIBLIOGRAFÍA
Al igual que los elementos de la estructura activa, se pueden dividir en internos y externos. Modela la capacidad del comportamiento y de los elementos estructurales activos para observar o actuar sobre elementos estructurales pasivos. El proceso de transformación del documento se realiza de la siguiente manera ("XSLT: transformaciones XSL.
Esta etiqueta le permite realizar un bucle. Tiene el mismo propósito que un bucle "for" en otros lenguajes de programación. Las transformaciones de relaciones se desarrollan en la carpeta Relaciones de la hoja de estilo XSLT. En esta iteración, se desarrolló la primera parte de la hoja de estilo XSLT, como se menciona en la sección 5.2.1.
Este desarrollo corresponde a la creación de la estructura y la transformación de los elementos BPMN en elementos Archimate menos las relaciones. En esta iteración, se desarrolló la primera parte de la hoja de estilo XSLT, como se menciona en la sección 5.2.2. De esta manera al hacer clic en el botón Guardar se crea el XML llamado “Configuración” el cual almacena el tipo de elemento a generar (proceso o función), su id, que es el mismo que tenía la tarea, y el nombre que también es el mismo que el de la persona que tenía la tarea.
MANUAL DE USUARIO
INSTALACIÓN
USO DE LA APLICACIÓN
Para realizar este paso, el archivo fuente debe existir en el sistema; de lo contrario, no se podrá seleccionar este archivo. Para seleccionar el archivo fuente en el que desea realizar la transformación, debe seguir los siguientes pasos. Al seleccionar un archivo fuente, la vista principal muestra la ruta donde se encuentra el archivo con fines informativos.
Al seleccionar el archivo de destino, la vista principal muestra, a título informativo, la ruta donde se encuentra el archivo. Si no se selecciona ningún archivo fuente, aparecerá una advertencia (Fig. A.8).
EJEMPLO ILUSTRATIVO
Diseño de modelo BPMN
En la Figura B.3, se resaltan las etiquetas correspondientes al proceso, carril (Proveedor), evento desencadenante (Solicitud enviada) y tarea (Solicitud aceptada).
Ejecución de la transformación
Si la transformación fue exitosa, se habrá generado en la carpeta previamente elegida un archivo que contiene el modelo de Archimete correspondiente a la transformación.
Resultado de la transformación
Declaración XML
A continuación, se colocó la etiqueta que apunta a la raíz de la hoja de estilo, indicando que se utilizó la versión 2.0 y el espacio de nombres utilizado (el espacio de nombres completo no se muestra en el código 5.2):
Raíz de hoja de estilos
Instrucción para ordenar el código según el tipo de salida
Definición de plantilla
Desde aquí puedes empezar a definir las transformaciones de los elementos, pero antes de empezar a definirlos primero tenías que crear la estructura. Hasta ahora, sólo se ha escrito la declaración XML en el archivo de destino. Lo siguiente que debería aparecer es la definición del modelo Archimate.
Estructura de carpetas y subcarpetas dentro del modelo Archimate
Luego de definir la estructura básica del archivo de destino, se procedió a transformar cada uno de los elementos BPMN. Las instrucciones de transformación fueron definidas en el lugar correcto, para que cuando se realice la transformación, los elementos resultantes permanezcan dentro del directorio donde deberían estar. Por ejemplo, las instrucciones que transforman una ruta en BPMN a un rol en Archmiate deben ubicarse dentro de la carpeta con el atributo name=”Actors”.
Transformación de Lane a Role
Transformación de Objeto de datos a Objeto de negocio
Transformación de compuertas BPMN a conectores Archimate
Transformación de eventos BPMN a eventos Archimate
Transformación de procesos/subprocesos BPMN a procesos Archimate
Transformación de flujo de secuencia a relación desencadenante
Creación de relación desencadenante entre tarea y evento asociado
Transformación de elementos de flujo de mensajes a relaciones de flujo
Creación de relación de asignación entre pool (proceso) y lane (rol)
Llamada a plantilla recursiva por los subprocesos / subprocesos ad-hoc y
Selección de llamada a una plantilla u otra por parte de una tarea
Creación de relaciones de composición
Transformación de elementos de asociación a elementos relación de acceso
En esta carpeta se almacenan elementos del tipo Actividad empresarial, Evento empresarial, Interacción empresarial y Proceso empresarial. La Figura 5.6 muestra la vista principal donde puede seleccionar el archivo XML de origen y especificar dónde se debe guardar el archivo XML de destino. La Figura 5.7 corresponde a la vista de selección de archivos, a través de esta vista se puede seleccionar el archivo fuente.
La Figura 5.9 muestra la interfaz gráfica de usuario completa con los dos archivos seleccionados. La Figura 5.10 muestra la ventana correspondiente a la selección de un archivo que contiene el modelo BPMN.
Instrucciones para cargar la hoja de estilos
Instrucción para recoger el archivo de origen
Instrucción para crear o cargar el archivo de destino
Instrucción para realizar la transformación
Esta iteración inició la búsqueda del subobjetivo OP9, cuya realización se logró teniendo el software en pleno funcionamiento en la iteración T2 de la fase de transición. Al finalizar esta iteración se completó el desarrollo del Para realizar este desarrollo fue necesario utilizar la biblioteca JDOM en su versión 2.0.6, la cual permite gestionar un documento XML con Java.
Una vez completadas las listas, se revisaron, y para cada elemento de cada una de ellas, se agregó en pantalla el nombre de la tarea y un cuadro combinado con las opciones para convertir esa tarea, de esta manera el usuario puede elegir la que desea. quieres. Luego de desarrollar la pantalla de selección de mapeos, fue necesario establecer una funcionalidad que creara un documento XML en el cual se pudiera almacenar el mapeo creado por el usuario.
Documento XML en el que se almacenan los mapeos del usuario
En este caso, nueve tareas pasarían a ser funciones y el resto a procesos, tal y como se muestra al principio de cada etiqueta.
Importar documento XML con mapeos en hoja de estilos XSLT
Fue necesario hacer algunos ajustes a la hoja de estilos XSLT para que en lugar de leer los elementos del archivo que contiene el modelo BPMN, leyera el archivo XML generado por los mapeos. El Código 5.25 muestra cómo resultó la transformación de tareas BPMN en elementos funcionales de Archimate.
Transformación de tareas BPMN a functions Archimate mediante la variable
Transformación de tareas BPMN a process Archimate mediante la variable
En caso de esta situación, se ha decidido que la pantalla de selección de archivos mostrará de forma predeterminada la extensión apropiada para que solo se muestren los archivos con esa extensión. La primera situación a controlar fue que era necesario seleccionar el archivo fuente para definir las asignaciones. Al seleccionar esta opción, aparece otra vista donde puede navegar a través de los diferentes directorios de su computadora (Figura A.3).
Si se selecciona un tipo de archivo diferente, se muestra una advertencia que indica que el archivo debe ser del tipo especificado (Fig. A.4). De manera similar al apartado A.2, al seleccionar esta opción se mostrará otra vista donde podrá navegar por las diferentes carpetas del PC (Fig. A.6). Si se selecciona un tipo de archivo diferente, se muestra una advertencia que indica que el archivo debe ser del tipo especificado (Fig. A.7).
Después de encontrar el diagrama que desea completar, copie y pegue los elementos en la vista del modelo que se ha generado.