Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2008.06.08.introduccion A Un BPM
2008.06.08.introduccion A Un BPM
BPM es un paradigma para la administracin de procesos de negocio. El concepto es algo abstracto y en realidad engloba numerosas actitudes y tareas a desarrollar en una empresa, pero en nuestro caso lo enfocaremos a una de sus tcnicas principales: La gestin de procesos de negocio a travs de flujos, lo ue se suele denominar !or"flo!. Mediante BPM se persigue el modelado de las actividades de negocio para lograr una mejor administracin, automati#acin y optimi#acin. El sistema implantado en una empresa para lograr estos objetivos y ad$erirse al paradigma lo denominan BPM%. &lgunos ejemplos de aplicaciones de BPM o motivos de implantacin son las ue siguen: 'mplantacin o mejora del sistema de calidad (omprensin y mejora de procesos Establecimiento real de %L& )eingenier*a de procesos +ptimi#acin de tareas Establecimiento de metodolog*a a nivel de empresa (ontrol y seguimiento de los procesos organi#ativos
(omo $emos se,alado, nosotros nos centraremos en los flujos de negocio, tcnica ue permite acercar el analista al programador mejorando la comprensin y la comunicacin mediante dise,os gr-ficos de secuencias de tareas ue conjuntamente reali#an una funcin de alto nivel e importancia para los objetivos de una empresa. )epresentan una formali#acin de la ordenacin re uerida de este tipo de procesos, ue mediante las $erramientas o soft!are adecuado puede ser e.plotado para mejorar desde varias perspectivas la secuenciacin de tareas de negocio. Mediante un !or"flo! se estudian los aspectos operacionales de una actividad de trabajo: cmo se estructuran las tareas, cmo se reali#an, cual es su orden, cmo se sincroni#an o la manera en ue se relacionan unas con otras. E.isten numerosas implementaciones para establecer un !or"flo!, algunas privadas como /0 y otras p1blicas como +pen%ymp$ony o 2BPM. &lgunos est-ndares $an surgido en los 1ltimos a,os para la definicin de flujos de trabajo. 3os de los m-s importantes son: 4P3L: Para definicin de flujos de trabajo en formato 4ML BPEL: Proporciona facilidades para la or uestacin de servicios, combinacin de servicios !eb para conseguir un flujo de negocio.
2BPM tiene la capacidad de persistir los flujos. En los lenguajes tradicionales no e.isten situaciones de parada y espera de notificacin de modo ue ese t$read pueda ser guardado en la base de datos. 3e modo ue no $ay soporte para situaciones de asincron*a sin ue el t$read contin1e corriendo. 2BPM modela flujos de negocio ue b-sicamente son ma uinas de estados, aun ue los flujos son algo m-s ue eso. 3e este modo cual uier cosa ue sea susceptible de ser una ma uina de estados finitos puede ser modelada con un BPM: navegacin !eb, procesos de bac"up, sistemas empotrados de control, autmatas totales en general. )ealmente la mayor parte de sistemas inform-ticos pueden ser modelados as*, la cuestin es si es viable o conveniente 2BPM es b-sicamente una librer*a de clases 2ava y viene distribuida en un 2&), de este modo puede uedar embebida en cual uier tipo de aplicacin: !eb, s!ing, en servidor, en cliente, etc. 3esde la p-gina de 2B+%% podemos descargarnos el pa uete entero del frame!or". Este incluye los siguientes elementos distribuidos en carpetas:
config: fic$eros de configuracin para un entorno java est-ndar db: %cripts %9L para la creacin de la base de datos en los %83B m-s comunes designer: Plugin de eclipse para dise,ar gr-ficamente los flujos de negocio doc: 8u*a de usuario y javadoc del &P' examples: Ejemplos de implementacin de flujos. lib: Binarios de la distribucin server: 5n servidor de aplicaciones 2B+%% ue contiene una implementacin 2BPM para una aplicacin de consola v*a /eb src: :uentes de la distribucin y componente de identidad de 2BPM
Perspectivas de JBPM
E.isten numerosas formas de anali#ar un frame!or". 2BPM como $emos e.plicado con anterioridad tiene como principales virtudes su orientacin a ejecucin de flujos de procesos dise,ados gr-ficamente y la persistencia en la base de datos ue soporta su estabilidad en la gestin de procesos.
3e este modo el modelo de datos original de 2BPM contiene 66 tablas ue gestionan datos est-ticos de definicin de flujos y datos din-micos de instancias de esos flujos.
Instalacin
Los pasos a reali#ar para utili#ar 2BPM son los siguientes: 3escargar la suite completa de 2BPM de la !eb de 2B+%% DE%lo 8P3F Ejecutar script para crear las tablas en la base de datos re uerida. 'nstalar el plugin 8P3 para Eclipse bien por el update site o copiando directamente las librer*as descargadas correspondientes en las carpetas feature y plugin de Eclipse &,adir el jar de jbpm al classpat$ del proyecto D
Creacin
5na ve# tengamos instalado todo lo necesario comen#aremos a dise,ar el flujo. Para ello debemos seguir los siguientes pasosEuna forma de $acerloF: Mediante el plugin 8P3, dise,ar el flujo con los tipos de nodo necesarios para las necesidades del negocio. En los nodos ue tengamos ue reali#ar alg1n trabajo de negocio definir los actions con la clase ue los implementa. %i se establecen tareas definir s!imlanes o roles de ejecucin. 'nyectar en un fic$ero de configuracin de %pring las clases definidas en los actions (onfigurar en un fic$ero de %pring el datasource para la base de datos y la configuracin general y de mapeos de $ibernate DDD E(omprobar par-metros del datasourceF (rear un testcase de 25nit ue realice una prueba del comportamiento deseado del flujo. En caso de e.istir varios caminos de ejecucin o posibles comportamientos distintos, parametri#ar el test o crear tantos mtodos de test como caminos a e.plorar. Este modo de reali#acin sigue la metodolog*a @33, de modo ue podamos pensar en el dise,o anterior antes de codificar las acciones ue ejecutar-n la lgica de negocio (rear las clases de los actions en los pat$s definidos implementando las acciones a reali#ar y las decisiones de propagacin de flujo
Ejecucin
5na ve# definido e implementado el flujo, ejecutar el testcase comprobando ue todos nuestros assert dan positivo Ebarrita verdeF. Puede ser 1til colocar tra#as simples por consola o de log0java en algunos puntos. 5na ve# $emos asegurado ue el testcase responde como esperamos, integrar el flujo con la aplicacin y reali#ar de nuevo las pruebas de su funcionamiento. %ubir el flujo y las clases de accin a nuestro sistema de control de versiones
Referencias de interes
8u*a de usuario de 2BPM en la /eb de 2B+%% disponible en formato P3: y ;@ML online: $ttp:GGdocs.jboss.comGjbpmGv6GuserguideG P-gina !eb del frame!or" neo: !eb neoplatform 3escarga de 2BPM 6.7E2B+%% 2BPM jP3L %uiteF starter "it suite 2BPM