Sei sulla pagina 1di 18

Instituto Superior Politcnico Jos Antonio Echeverra

Facultad de Ingeniera Informtica













COMPONENTE PARA LA TRANSFORMACIN A ESTNDARES DE MODELOS DE
PROCESOS DE NEGOCIO. MODELOS DE LA BPMS BONITA






Informe de Prctica Profesional de 4to Ao, Ingeniera Informtica








Autor: Arturo Gonzlez Prez.



Tutor: Juan Carlos Grass Gonzlez
CITI
jgrass@udio.cujae.edu.cu




Ciudad de La Habana, Cuba
Julio, 2012


Resumen
El presente trabajo aborda el tema de la transformacin de modelos de procesos de negocio,
teniendo como objetivo principal reutilizar un modelo de procesos hecho en Bonita Open Solution
5.6.1 a otra herramienta de modelado de procesos de negocio. Para ello se desarrolla un
componente que permite cargar y salvar el fichero XML generado por la herramienta de modelado
Bonita OS a un metamodelo de clases. Luego de ser cargado, el fichero se transforma al
metamodelo BPMNMetamodel creado para estandarizar todos los metamodelos especficos
originados para cada herramienta y realizar la transformacin en ambos sentidos. Esta
transformacin es de gran importancia porque al final permite reutilizar y compartir los modelos de
procesos de negocio entre distintas herramientas de modelacin. El trabajo fue desarrollado en
Visual Studio 2010, la nueva versin del entorno de desarrollo integrado para la plataforma .NET.


ndice
Introduccin .....................................................................................................................................................1
Captulo 1 . Serializacin de modelos de procesos de negocios ......................................................2
1.1 Notacin BPMN ........................................................................................................................................2
1.2 Serializacin XML de modelos de procesos .............................................................................................3
1.3 XPDL como estndar ................................................................................................................................3
Captulo 2 . Modelo del Dominio ...............................................................................................................4
2.1 Modelo de entidades ..................................................................................................................................4
2.2 Descripcin de las entidades del modelo del dominio ..............................................................................5
2.3 Transformacin de modelos con DSL .......................................................................................................6
Captulo 3 . Solucin Propuesta .................................................................................................................7
3.1 Solucin General .......................................................................................................................................7
3.2 Diagrama de componentes ........................................................................................................................8
3.3 Diagrama de paquetes de diseo ...............................................................................................................8
3.4 Modelo de clases de diseo .......................................................................................................................9
3.5 Modelo de clases de diseo general (Metamodelo general) ....................................................................11
3.6 Lectura y escritura con LINQ to XML ....................................................................................................12
Conclusiones .................................................................................................................................................14
Recomendaciones ........................................................................................................................................14
Referencias bibliogrficas .........................................................................................................................15

1

Introduccin
El trabajo presentado se desarroll en el Complejo de Investigaciones Tecnolgicas Integradas
(CITI). Se encuentra insertado dentro del rea del Instituto Superior Politcnico Jos Antonio
Echeverra (CUJAE). Su misin est encaminada a desarrollar, como su nombre lo indica,
tecnologas integradas en varias esferas de las ciencias tcnicas, que contribuyan a la seguridad y
el orden interior, contando con la colaboracin de varias entidades principalmente de la CUJAE y
el MININT. La tarea abordada en este trabajo consiste en lograr una transformacin de modelos de
procesos de negocio, teniendo como objetivo principal el poder reutilizar un modelo de procesos
hecho en Bonita OS a otra herramienta de modelado. La solucin est concebida en un
componente que permite cargar y salvar el fichero XML generado por la herramienta de modelado
a un metamodelo de clases. Luego de ser cargado, este se transforma al metamodelo
BPMNMetamodel, el cual contiene implementada la solucin para transformar del modelo general
de BPMN a los ms especficos de las distintas herramientas. En este caso se trabaj
especficamente con el fichero generado por la herramienta Bonita OS. La solucin planteada
resuelve la problemtica de las herramientas de modelado referente a que usan diferentes
maneras de serializar los ficheros XML para almacenar los modelos y por ello no se pueden
reutilizar entre ellas. Como elementos importantes se describen el Modelo del Dominio, que se
utiliza cuando se pretende disear un sistema que no automatiza ningn proceso, es decir, no
tiene un negocio como tal asociado sino que es un sistema que servir para una herramienta en
particular, para con ello resolver problemticas de este tipo y los diferentes diagramas que
argumentan la solucin como el diagrama de componentes y el diagrama de paquetes.

















2

Captulo 1 . Serializacin de modelos de procesos de negocios
1.1 Notacin BPMN
Business Process Modeling Notation (BPMN) es una notacin grfica que describe la lgica de los
pasos de un proceso de Negocio. Esta notacin ha sido especialmente diseada para coordinar la
secuencia de los procesos y los mensajes que fluyen entre los participantes de las diferentes
actividades que en l se realizan. Proporciona un lenguaje comn para que los procesos se
puedan comunicar de forma clara, completa y eficiente.
El proceso de negocio (su modelo BPM), se compone principalmente de [1]:
Actividades: son las tareas que debe hacer una persona (tarea interactiva, tarea humana), o debe
hacer un sistema (servicio, o tarea de sistema) dentro del proceso de negocio.
Objeto de Negocio: es la informacin o documento que fluye a travs del proceso de negocio, por
ejemplo la Solicitud de Crdito, o el Crdito de Consumo (en que se transforma la solicitud), o la
Ficha del Cliente.
Flujos (flechas): es la secuencia que se define entre las actividades.
Decisiones: criterios para tomar distintas opciones en el procesos, distintas direcciones en el flujo.
Subproceso: otro proceso interno.

Ilustracin 1.Modelo simple acerca de la realizacin de un trmite.


3

1.2 Serializacin XML de modelos de procesos

La serializacin es el proceso de convertir un objeto a un formulario que pueda transportarse
fcilmente. El otro fin para el cual sirve es que la deserializacin reconstruye el objeto desde la
secuencia. [2]
En la actualidad el funcionamiento de las BPMS son muy similares, ya que estn basadas en el
uso de BPMN para la modelacin de un proceso y el uso de ficheros XML para almacenar dicha
informacin. A diferencia del uso de la notacin BPMN para la modelacin, por otra parte existen
diferencias en las estructuras de los ficheros XML a la hora de definir las etiquetas y elementos
que conforman el mismo, ya que casi todas estas herramientas tienen su definicin propia. En este
caso en particular Bonita OS usa un fichero XML con extensin .proc, el cual es muy diferente al
usado por ejemplo por Oracle BPMS con extensin .bpmn.

1.3 XPDL como estndar
XPDL (XML Process Definition Language) es un lenguaje definido por la Workflow Management
Coalition (WfMC) con el objetivo de soportar la importacin/exportacin de los Modelos de
Procesos entre aplicaciones diferentes, ya sean modeladores o entornos de ejecucin. Esta
estandarizacin es posible gracias a que el archivo XPDL es una representacin exacta del
modelo realizado en BPMN.

El objetivo de XPDL es almacenar e intercambiar el diagrama de procesos. Permite que una
herramienta de diseo de procesos escriba un diagrama y otra lo lea, y la imagen resultante sea lo
ms parecidas posibles. Sin embargo, no da la garanta de que su resultado sea muy preciso. [3]












4

Captulo 2 . Modelo del Dominio
2.1 Modelo de entidades
El siguiente modelo del dominio representa un conjunto de entidades creadas para representar los
tags ms importantes que genera el XML de la BPMS Bonita OS. Cada clase contiene todos los
campos o atributos de cada tag del fichero asociado con la informacin correspondiente, en
dependencia de su uso en la modelacin. Este diagrama representa la informacin ms valiosa del
fichero, es decir en general el diagrama cuenta con muchas ms clases pero solo estas son las de
mayor relevancia, por lo cual son las nicas que se ven representadas y por lo tanto las que a
continuacin se explican detalladamente.

Ilustracin 2.Modelo de entidades.
5

2.2 Descripcin de las entidades del modelo del dominio
En este diagrama se representaron los tags ms significativos del fichero XML y se obtuvieron los
valores de todos los atributos de cada uno de ellos, pero existen algunos de los cuales no se pudo
saber su significado ni el porqu de estar incluidos en el fichero, aunque la mayora de dicha
informacin no es de importancia para tener en cuenta a la hora de crear el modelo grfico, por lo
cual los mismos no se describirn.

Elements: esta entidad es muy general, ya que en ella se modelan todos los objetos que pueden
constituir a un modelo de proceso, es decir un tag elements puede hacer funcin de Pool, Lane,
Event, Task o Gateway. Para su distincin cuenta con un atributo type el cual especfica el tipo de
elemento que es.

Xmi_XMI: esta entidad representa al tag del XML que es la raz del mismo (Root). Todos sus
atributos hacen referencia a los namespaces usados por la BPMS Bonita OS para organizar el
fichero. Dentro tambin incluye dos instancias de entidades: Process_MainProcess y
Notation_Diagram, las cuales son descritas a continuacin.

Process_MainProcess: en esta entidad como datos importantes se especifica el nombre general
que tiene el proceso y la versin de la BPMS Bonita con la cual se model el proceso. Adems
tiene tantas instancias de la entidad elements como Pool tenga el proceso (aclarar que esta
herramienta permite modelar ms de un Pool).

Connections: esta entidad se encuentra siempre dentro de la instancia elements que representa
al Pool modelado. Casi siempre se encuentra como parte la lista de conexiones que tiene el Pool
que unen a los elementos que lo conforman. El atributo id hace referencia al atributo incoming o
outgoin de un elements, es decir al arco de entrada o salida del elemento.







6

Children: esta entidad es muy similar a la entidad Elements, ya que es muy genrica. Aqu
tambin se puede modelar cualquier tipo de elemento que conforma un modelo, pero est ms
orientada a las propiedades visuales de los elementos del modelo, por ello sus instancias estn
contenidas en la entidad que conforma la notacin del diagrama (Notation_Diagram). El atributo
element hace referencia al id del elemento del cual contiene las caractersticas grficas o visuales.
Contiene otro atributo type, en caso de modelar un Pool, Lane o un textAnnotationAttachment es
de tipo Node, de ser una compuerta, tarea o evento es de tipo Shape (figura). Contiene una
instancia de LayoutConstraint.

LayoutConstraint: esta entidad contiene los atributos principales de la representacin grfica, que
son las coordenadas X y Y, y los atributos width (ancho) y height (altura).

Edges: modela los arcos que grafican las conexiones entre los elementos del diagrama. El atributo
element hace referencia al id de Connections que une a dos elementos del proceso. El atributo
source y target hacen referencia a los id de las instancias de Children que hacen referencia a los
elementos contenidos en un Lane. Contiene instancias de Children pero de tipo DecorationNode,
es decir sin relacin con los de tipo Node y Shape. Contiene una instancia de BendPoints.

BendPoints: su principal atributo es points, el cual representa la trayectoria del arco (Edges).

Notation_Diagram: contiene instancias de Children as como cantidad de Pool que contenga el
proceso modelado. Adems posee una lista de Edges.

2.3 Transformacin de modelos con DSL
Este mismo modelo de entidades antes visto, para futuras iteraciones y mejoras al transformador
se debe automatizar mediante un DSL (Domain Specific Language)
1
, es decir que dado el fichero
XML generado por la herramienta de modelado, automticamente este genere el modelo de clases
correspondientes al mismo.






1
DSL: Un lenguaje de dominio especfico o DSL es un lenguaje a medida que se dirige a un tipo de
problema especfico lo describe y valida en trminos nativos del dominio especifico. [4]
7

Captulo 3 . Solucin Propuesta
3.1 Solucin General

Luego de analizar la problemtica descrita con anterioridad, se determin la solucin descrita a
continuacin. Cada metamodelo especfico cargar y salvar los ficheros generados por las
herramientas de modelado con que se trabaje a las clases del metamodelo (en este caso Bonita
OS). Luego de haber cargado, se transformar al metamodelo BPMN, es decir traducir toda la
informacin especfica a la ms general, para con ello poder realizar el proceso inverso y lograr el
objetivo de poder reutilizar un diagrama de proceso de una herramienta a otra. La figura a
continuacin muestra lo antes expuesto.



Ilustracin 3.Solucin general para la integracin a travs de metamodelos.



8

3.2 Diagrama de componentes

Este diagrama est compuesto por un solo componente que es el contenedor de los elementos
que conforman el diagrama de paquetes. Toda la implementacin y modelacin realizada al final
forma parte de una biblioteca de clases dinmica (dll, extensin y siglas en ingls) que contiene
todo el tratamiento a realizar para la transformacin.

Ilustracin 4.Componente final del transformador.

3.3 Diagrama de paquetes de diseo

Este diagrama se compone por diferentes paquetes con distintas funcionalidades. BPMNTransform
contiene la interfaz ITransform la cual a su vez contiene los mtodos que son implementados por
la clase Transform, donde se realiza el proceso de cargar y salvar del fichero XML al metamodelo
especfico y viceversa. Este metamodelo especfico es el que se encuentra englobado en el
paquete BonitaMetamodel, donde se encuentra toda la modelacin en un diagrama de clases
segn la estructuracin del fichero generado por la herramienta Bonita OS. En el paquete
BPMNMetamodel se encuentra otra modelacin en un diagrama de clases pero es el que
representa de manera general la modelacin BPMN y es el usado para la transformacin hacia los
metamodelos especficos de otras herramientas de modelado como un estndar ms generalizado
entre todos. Por ltimo el paquete XMLMetamodel queda abierto por si en el futuro resulta de
inters incluir nuevos formatos de otras herramientas en las transformaciones de modelados de
procesos.

9


Ilustracin 5.Paquetes que conforman el componente.

3.4 Modelo de clases de diseo
Este modelo es similar al expuesto como modelo del dominio en el captulo 2 pero con otras clases
incluidas que no representan informacin valiosa para el trabajo a realizar en el transformador. Las
clases nuevas incluidas son: Groups, Datatypes, IncludedEntries, ResourceFolders,
ErrorTemplate, ProcessTemplate, PageTemplate, ConsultationTemplate,
TextAnnotationAttachment, Parameters, Connectors, Data, DecisionTable, Styles,
SourceAnchor, TargetAnchor.

De gran importancia se encuentra la clase BonitaModelFile, la cual contiene la implementacin
del cdigo para cargar y salvar del fichero XML al metamodelo BonitaMetamodel.

10


Ilustracin 6.Modelo de clases general creado para la solucin.


11

3.5 Modelo de clases de diseo general (Metamodelo general)
Este es el metamodelo presentado en el paquete BPMNMetamodel, el cual contiene las principales
clases necesarias para modelar un proceso de negocio de cualquier herramienta de modelado,
como son los Pool, Lane, Event, Task, Gateway, Subprocess, Arrowflow, Coordinate adems de
incluir de cada una, su principal y ms valiosa informacin para que al transformar hacia otro
metamodelo este no sufra cambios en la modelacin grafica o los menos posibles.


Ilustracin 7.Modelo de clases del metamodelo BPMN.


12

3.6 Lectura y escritura con LINQ to XML
LINQ to XML es una interfaz de programacin XML en memoria y habilitada para Language-
Integrated Query (LINQ) que permite trabajar con XML desde los lenguajes de programacin de
.NET Framework.
La ventaja ms importante de LINQ to XML radica en su integracin con LINQ. Esta integracin
permite escribir consultas en el documento XML en memoria para recuperar colecciones de
elementos y atributos. La integracin de LINQ proporciona una escritura ms rpida, comprobacin
en tiempo de compilacin y una compatibilidad mejorada con el depurador.
Otra ventaja de LINQ to XML es la capacidad de usar los resultados de la consulta como
parmetros en constructores de objetos XElement y XAttribute, que habilita un mtodo eficaz para
crear rboles XML. Este mtodo, denominado construccin funcional, permite que los
desarrolladores transformen fcilmente rboles XML de una forma a otra. [5]
Lectura

Dada la ubicacin especificada (from), se hace una consulta donde cumpla con una condicin
(where) y se toma el valor del atributo (select) para despus asignrselo a la variable name.

Escritura



Similar a la sentencia anterior pero con la diferencia de la creacin de nuevos elementos y
atributos para la asignacin al nuevo fichero XML.








13

A continuacin se muestra un fragmento de un XML generado por Bonita.

Ilustracin 8.Fragmento del fichero XML generado por la herramienta Bonita OS.

















14

Conclusiones
Durante el tiempo de prctica profesionales se realiz un estudio investigativo en la gestin de
procesos de negocio, profundizando en las herramientas para la modelacin de procesos de
negocio. Se analiz detalladamente la estructura del fichero XML con extensin .proc generado por
la herramienta Bonita OS, con la ayuda de herramientas como XML Notepad y Notepad++.
Adems de estudiar las tecnologas y herramientas empleadas como: Visual Studio 2010, lenguaje
de programacin C# y LINQ to XML.
Se document y dise las clases necesarias para leer y escribir documentos XML segn la
estructura de Bonita OS y se cumpli el objetivo principal planteado: desarrollar un componente
para la transformacin de modelos de negocio.

Recomendaciones
Recomendamos el constante perfeccionamiento del componente ya que quedaron algunos
elementos por identificar en el fichero, los cuales no son imprescindibles para el desarrollo del
trabajo final deseado, pero si para garantizar que el modelo quede lo ms parecido al original
cuando se transforme.

























15

Referencias bibliogrficas
[1] Roln, Elvira; Ferreira, Mateus. Marco de Trabajo para la Gestin en el Modelado de Procesos
de Negocio. Universidad Autnoma de Tamaulipas-FIANS. Noviembre de 2005

[2] msdn.microsoft.com/es-es/library/182eeyhh.aspx

[3] horizontesbpm.blog.com/

[4] Bzivin, 2005, Jean Bzivin, Guillaume Hillairet, Frdric Jouault, Ivan Kurtev, William Piers.
Bridging the MS/DSL Tools and the Eclipse Modeling Framework. University of Nantes, 2005.

[5] 2010, Informacin general acerca de LINQ to XML.htm

Bibliografa
www.esdirectorios.com/basics-of-serialization-and-its-type/

redalyc.uaemex.mx/src/inicio/ArtPdfRed.jsp?iCve=187214457007

www.onuva.com/BPM

www.gongolabs.com/.../auraportalbpmsuite/bpms-soa-suite-de-gestio...

www.softwareag.com/es/products/wm/bpm/default.asp

Potrebbero piacerti anche