Sei sulla pagina 1di 20

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 Oracle




Informe de Prctica Profesional de 4to Ao, Ingeniera Informtica








Autor(es): Victor Manuel Martnez Fundora


Tutor(es):
Ing. Juan Carlos Gras Gonzlez

Complejo de investigaciones
Tecnolgicas integradas (CITI)





Ciudad de La Habana, Cuba
Julio, 2012
Resumen
Actualmente muchas compaas y organizaciones desarrollan iniciativas para la
gestin por procesos en las que utilizan diferentes programas y sistemas
informticos. Las herramientas de desarrollo de procesos de negocio (BPMS)
producen por lo general descripciones de procesos en una notacin de creacin de
modelos estndar, como BPMN o XPDL, en algunos casos las herramientas utilizan
formatos de otro tipo para su conveniencia sin tener en cuenta los estndares. Para
poner en prctica lo anteriormente mencionado se desarrolla en este trabajo un
Componente para la transformacin de modelos de procesos de negocio ,el cual se
usara para transformar el XMl generado por los procesos de negocio desarrollados en
la BPMS de Oracle JDeveloper, en un meta modelo de clases, que puede ser usado
para intercambiar modelos de procesos de negocio entre distintas herramientas, de
esta manera tambin se logra la creacin de un componente capaz de transformar al
formato usado por Oracle a los xml usados por otras herramientas. Esto se llevar a
cabo para poder facilitar el entendimiento entre desarrolladores de procesos de
negocio, al borrar la barrera que suponan la diversidad de formatos usados por dichas
herramientas.



















ndice
Introduccin .......................................................................................................................................... 4
Capitulo 1 .............................................................................................................................................. 5
Serializacin de modelos de procesos de negocio .................................................................................. 5
1.1Notacin BPMN ................................................................................................................................... 5
1.2Modelo de Proceso de Negocio en Oracle JDeveloper ........................................................................ 5
1.2.1 Objetos de Flujo (Flow objects) .................................................................................................. 6
1.2.2 Conectores (Connecting Objects) ............................................................................................... 6
1.3 Serializacin XML de modelos de procesos ........................................................................................ 6
1.4 XPdl como estandard ......................................................................................................................... 7
1.5 Herramienta de Modelacin de Procesos de Negocio ........................................................................ 8
Capitulo 2 .............................................................................................................................................. 9
Modelo del Dominio .............................................................................................................................. 9
2.1 Modelo de Entidades .......................................................................................................................... 9
2.2 Futuros modelos DSL .......................................................................................................................... 9
Capitulo 3 ............................................................................................................................................ 10
Solucin Propuesta .............................................................................................................................. 10
3.1 Solucin General .............................................................................................................................. 10
3.2 Diagrama de componentes .............................................................................................................. 11
3.3 Diagrama de paquetes ..................................................................................................................... 11
3.4 Diagrama de clases implementado para la solucin especifica ...................................................... 12
3.4.1 Clases de Mapeo de Atributos Principales del Proceso ............................................................ 12
3.5 Metamodelo General del Transformador ........................................................................................ 16
3.6 Lectura y escritura con LINQ to Xml ................................................................................................. 17
3.6.1 Ejemplo de cdigo en C# sobre la Lectura y Escritura con LINQ to XML .................................. 18
Conclusiones ........................................................................................................................................ 19
Recomendaciones ................................................................................................................................ 19
Bibliografa .......................................................................................................................................... 20
Introduccin

Con el apoyo del Ministerio del Interior (MININT) y el Instituto Superior Politcnico Jos
Antonio Echeverra, se ha propiciado la creacin del Complejo de Investigaciones
Tecnolgicas Integradas (CITI), el cual se basa en el desarrollo de tecnologas, con el
objetivo de lograr un mayor progreso de la investigacin cientfica al servicio de la
seguridad y el orden interior del pas; a travs del desempeo de proyectos de
diferentes especialidades entre los que se encuentra BPM (Business Process
Management) el cual se refiere a las iniciativas corporativas u organizacionales
enfocadas al anlisis, mejora, gestin y/o automatizacin de los procesos de
negocio, grupo en el cual desempeo las Prcticas Profesionales pertenecientes al
curso 2011-2012. Este trabajo va basado en la necesidad de encontrar una forma de
convertir del xml generado por la Bpms de Oracle JDeveloper a los formatos de
cualquiera de las Bpms usadas en los dems grupos de trabajo del CITI, esto se
lograra mediante la integracin de este componente en un transformador de procesos
actualmente en desarrollo en nuestro grupo de trabajo. Esto fue logrado mediante la
utilizacin del lenguaje de consulta LINQ to Xml (Language INtegrated Query), as
como la creacin y utilizacin de un meta modelo de clases para almacenar toda la
informacin obtenida del xml generado por el JDeveloper, teniendo como apoyo las
herramientas de trabajo Microsoft Visual Estudio, Oracle JDeveloper y XMLNotepad
para interpretar el xml del proceso. Las principales tareas desarrolladas para lograr
este objetivo fueron el estudio del xml generado por la herramienta, el desarrollo del
meta modelo de clases, el mapeo de los distintos elementos del proceso dgase tareas
eventos y compuertas hacia el meta modelo, la creacin de un fichero xml nuevo a
partir de dicho meta modelo, y el traslado de la informacin del meta modelo especifico
al meta modelo general. Todo esto para un mismo fin, el de poder convertir dicho xml
a cualquiera de los que utilizan las otras Bpms y propiciar as que se pueda usar
cualquier herramienta para modelar el proceso y otra para desplegarlo.






Captulo 1
Serializacin de modelos de procesos de negocio
1.1Notacin BPMN
BPMN (Business Process Modeling Notation) 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. Es un estndar para la diagramacin de
procesos de negocio que permite unos modelos comprensibles para todos, para los
analistas de negocio, quienes crean los modelos iniciales de procesos, para los
desarrolladores tcnicos responsables para implementar los sistemas y tecnologas
para los procesos, y para los responsables de negocio quienes monitorizarn y
gestionarn sus procesos.
1.2Modelo de Proceso de Negocio en Oracle JDeveloper
Este es un modelo de procesos desarrollado en la Bpms de Oracle JDeveloper. Se
pueden ver los elementos ms importantes de la notacin BPMN, como son las tareas,
las compuertas, los eventos y las secuencias. Este es el tipo de diagrama al que se le
va a realizar la transformacin.

En el diagrama ejemplo que se llev a cabo se lograron cargar todos los elementos
modelados, es decir se lograron identificar la mayora de los componentes de un
diagrama BPMN. Los diagramas BPMN, estn formados por una serie de elementos
fundamentales.


1.2.1 Objetos de Flujo (Flow objects)
BPMN posee un conjunto reducido de elementos de este tipo. El objetivo de que sea
un conjunto reducido es que los modeladores no tengan que aprender y memorizar
gran cantidad de iconos. Los tres objetos de flujo principales



1.2.2 Conectores (Connecting Objects)
Son los elementos que servirn para conectar los diferentes Flow Objects con el objeto
de crear el esqueleto estructural bsico de los procesos de negocio.



1.3 Serializacin XML de modelos de procesos

Todas las herramientas de gestin de procesos de negocio (Busines Proces
Management Suite) utilizan el formato xml en distintas formas para serializar los
diagramas de procesos de negocio, algunas como BizAgi utilizan el estndar definido
para esto que es XPDL, otras herramientas no apegadas al estndar utilizan un
formato de xml creado por sus desarrolladores, como el Oracle JDeveloper. Gracias a
que las herramientas de modelado utilizan esta tcnica fue posible desarrollar este
componente para la transformacin de dichos modelos, esto se debe tambin a las
ventajas que brinda xml como lenguaje, ya que es de fcil entendimiento y manejo. A
continuacin se muestra el xml generado por un proceso de negocio en Oracle
JDeveloper. (Se muestra abreviado por razones de espacio)


1.4 XPDL como estndar

XPDL (XML Process Definition Language) es un lenguaje para la definicin de un Flujo
de trabajo. Es un formato de archivo basado en XML que puede ser usado para
intercambiar modelos de procesos de negocio entre distintas herramientas. Es un
formato de archivo que representa el dibujo de la definicin del proceso. Tiene el
tamao y las coordenadas X e Y del nodo. Tiene un concepto de lneas que sealan el
camino a seguir. Los nodos y las lneas tienen atributos que pueden especificar
informacin ejecutable tales como roles, descripcin de actividades, temporizadores,
llamadas a web services, etc. XPDL 2.0 contiene extensiones para ser capaz de
representar todos los aspectos de BPMN (BP Modelling Notation).
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 otorga garanta de
semntica de ejecucin precisa.

1.5 Herramienta de Modelacin de Procesos de Negocio

Esta es la herramienta usada para generar los procesos de negocio a los cuales se le
realizara la transformacin.
El JDeveloper es un IDE desarrollado por Oracle Corporation. Ofrece caractersticas
para el desarrollo en Java, XML, SQL y PL/SQL, HTML, JavaScript, BPEL y PHP. El
JDeveloper cubre el todo el ciclo de vida desde desarrollo, diseo, codificacin,
debugueo y la optimizacin para ser desplegado.

Con JDeveloper, Oracle ha tenido la intencin de simplificar el desarrollo de
aplicaciones centrndose en proveer un enfoque visual y declarativo para el desarrollo
de aplicaciones adems es un entorno de codificacin avanzada. Oracle JDeveloper
se integra con Oracle Application Development Framework (Oracle ADF), esto
simplifica el desarrollo de aplicaciones.

El ncleo IDE contiene una API que otros equipos en Oracle usan para construir
extensiones del JDeveloper. BPEL, Portal, BI y otros componentes de la plataforma de
Oracle todos montan sus aplicaciones encima del JDeveloper. La misma plataforma
IDE tambin sirve como base para SQL Developer, el producto de Oracle para PL/SQL
y desarrolladores de bases de datos.








Captulo 2
Modelo del Dominio
2.1 Modelo de Entidades



El diagrama mostrado anteriormente constituye el modelo de clases de dominio, solo
contiene las entidades ms importantes del modelo, dgase los principales elementos
de un proceso de negocio (proceso, tareas, compuertas, eventos). Este fue creado
despus de realizar un estudio del xml generado por la Bpms Jdeveloper de Oracle.
Se mapearon a estas clases todos los tags del xml, para as facilitar la transformacin
de este hacia los formatos de los xml de procesos de otras Bpms. Estas clases luego
de almacenar la informacin del proceso en cuestin, la transferirn a un meta modelo
general creado para hacer ms fcil la transformacin hacia otros formatos.
2.2 Futuros modelos DSL
Actualmente en nuestro grupo de trabajo el mapeo de los xml generados por los
procesos de negocio, implementados en las distintas herramientas que se utilizan se
hace a travs de meta modelos de clases especficos para cada uno de los formatos
construidos por los desarrolladores. Usando adems para transformar de un tipo de
xml a otro un meta modelo general de BPMN. Se desea en el grupo de trabajo
implementar una solucin usando la tecnologa DSL (Domain Especific Language) y la
herramienta DSL Tools de Microsoft Visual Studio. Con DSL se implementa un meta
modelo general llamado Domain Model para a partir de l generar diagramas de
procesos de negocio visuales usando una notacin estndar y luego convertirlos a los
formatos xml de otras herramientas a travs de plantillas de texto para generar cdigo
y as incrementar la productividad.
Captulo 3
Solucin Propuesta
3.1 Solucin General

Este componente creado para dar solucin al problema concreto de transformar el xml
generado por el proceso de negocio creado en JDeveloper de Oracle, solo constituye
una parte de la solucin general que est siendo implementada en nuestro grupo de
trabajo. Esta solucin consiste en una aplicacin que transformar todos los formatos
de procesos (xml) usados en el grupo dgase XPDL de BizAgi, BPMN de Oracle y Proc
de Bonita, de uno a otro segn sea necesario para los desarrolladores a travs de los
meta modelos especficos de cada uno de los distintos componentes y pasando por el
meta modelo general de la solucin.





3.2 Diagrama de componentes
La suma de todas las soluciones desarrolladas para transformar todos los xml de los
procesos de negocio generados por las herramientas de nuestro grupo de trabajo se
integraran en un solo componente, una DLL o librera de clases.




3.3 Diagrama de paquetes
La siguiente imagen muestra el diagrama de paquetes de la solucin general. Consiste
en un paquete que contiene las clases de la solucin general (BMPN Transform), una
interfaz y la clase que la implementa, donde se encuentran los mtodos de conversin.
El paquete general importa los paquetes de las soluciones especficas, los que
transforman los xml de cada una de las herramientas dgase Oracle Metamodel y el
Xml Metamodel representa las soluciones dadas a otras formatos de XML. El paquete
BMPN Metamodel es donde se encuentran las clases del meta modelo general del
transformador.



3.4 Diagrama de clases implementado para la solucin especifica

Las siguientes imgenes constituyen partes del diagrama de clases usado para
almacenar toda la informacin del xml generado por el proceso, explicadas y
distribuidas la funcin que realizan

3.4.1 Clases de Mapeo de Atributos Principales del Proceso
3.4.1.1 Tareas del Proceso









3.4.1.2 Tipos de Eventos y Flechas de Flujo


3.4.1.3 Clase que contiene los mtodos de trabajo sobre el XML





3.4.1.4 Tipos de Compuerta


3.4.1.5 Clases que Contienen los Namespace del Proceso


3.4.1.6 Clases de Datos Auxiliares del Proceso




3.5 Meta modelo General del Transformador

Esta imagen muestra el meta modelo el cual constituir un puente entre los meta
modelos especficos de los distintos componentes de transformacin. Este es el meta
modelo general de la solucin, es un diagrama de clases que describe las partes ms
importantes de la notacin BPMN.










3.6 Lectura y escritura con LINQ to Xml

LINQ to XML es una interfaz de programacin XML en memoria y habilitada para
LINQ que permite trabajar con XML desde los lenguajes de programacin de .NET
Framework.
Para el desarrollador medio que slo desea completar una tarea, LINQ to XML
simplifica el cdigo XML al proporcionar una experiencia de consulta similar a SQL.
Con un poco de estudio, los programadores pueden aprender a escribir consultas
sucintas y eficaces en el lenguaje de programacin que prefieran.
Los desarrolladores profesionales pueden usar LINQ to XML para aumentar
considerablemente su productividad. Con LINQ to XML, pueden escribir menos cdigo,
que a su vez resulte ms expresivo, compacto y eficaz. Pueden usar expresiones de
consulta de distintos dominios de datos simultneamente.
LINQ to XML se parece al Modelo de objetos de documento (DOM) en lo que respecta
a la insercin del documento XML en la memoria. Puede consultar y modificar el
documento; una vez modificado, puede guardarlo en un archivo o serializarlo y
enviarlo a travs de Internet. Sin embargo, LINQ to XML es diferente de DOM:
proporciona un nuevo modelo de objetos ms ligero con el que se trabaja ms
fcilmente y que aprovecha las mejoras de lenguaje de Visual C# 2010.
La ventaja ms importante de LINQ to XML radica en su integracin con Language-
Integrated Query (LINQ). Esta integracin permite escribir consultas en el documento
XML en memoria para recuperar colecciones de elementos y atributos. La capacidad
de consulta de LINQ to XML es comparable en cuanto a funcionalidad (aunque no
cuanto a sintaxis) a XPath y XQuery. La integracin de LINQ en Visual C# 2010
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 de manera rpida y fcil teniendo conocimiento
del formato del XML que se desea construir.







3.6.1 Ejemplo de cdigo en C# sobre la Lectura y Escritura con LINQ to XML
Lectura

Escritura

Conclusiones

Se realiz un estudio investigativo en la gestin de procesos de negocio,
profundizando en el concepto de procesos del negocio, en la modelacin de los
mismos, en estndares de BPM (BPMN, XPDL), en la serializacin de los procesos
usando xml y en las herramientas para la Gestin de Procesos de Negocio, en
particular el JDeveloper de Oracle. Adems de estudiar las tecnologas y herramientas
empleadas como: VisualStudio 2010, Lenguaje de programacin C# y LINQ to XML.
Se document y analiz las clases del dominio desarrolladas as como las clases
implementadas para la solucin general a la que se integrar el componente, con el fin
de arribar al artefacto fundamental del proceso que es el Diagrama del Modelo de
Dominio o Meta modelo especfico para la transformacin de los procesos con el
formato de Oracle y con ello el cumplimiento del objetivo principal planteado,
desarrollar un componente para la transformacin de modelos del negocio.

Recomendaciones
Se recomienda que se contine con el perfeccionamiento del componente ya que
quedaron algunos elementos ms complejos del proceso por mapear, para los cuales
se desarrollar una versin posterior del componente, pues estos son necesarios para
el mapeo de procesos de negocio de mayor nivel de complejidad. Se recomienda
tambin migrar la solucin general del transformador hacia la tecnologa DSL porque
as se ganar en productividad a la hora de mapear procesos de negocio.











Bibliografa

Notaciones y lenguajes de procesos. Una visin global, Autor: Juan Diego
Prez, 25179398X., correo: e-mail-jdperez.averroes@juntadeandalucia.es
Qu es BPM? BPM Business Process Management Gestin de Procesos
de Negocio Apuntes BPM Club-BPM 2009 Club-BPM. Todos los
derechos reservados. Est prohibida la reproduccin y distribucin de esta
publicacin en cualquier formato sin consentimiento escrito por, Centro de
Encuentro, Fecha Publicacin: 3 de Noviembre 2009, ID: 2009/01
Gestin de procesos de negocio BPM (Business Process Management),
TICs y crecimiento empresarial Qu es BPM y cmo se articula con el
crecimiento empresarial?, Autor: Flor Nancy Daz Piraquive*, Recibido:
septiembre de 2008. Aprobado: octubre de 2008
A FOND0 C#, Editor: Carmelo Sinchez Gonzitlez, Preimpresidn: Marash, S.
A., Impreso en Fareso, S. A
Andrew Troelsen. Pro C# 2010 and the .NET 4 Platform, Fifth Edition.
2010.
Scott Klein. Professional LINQ. 2008

Potrebbero piacerti anche