Jugando con jBPM #7 – Estructura de jBPM Suite

En este post vamos a hablar un poco sobre la estructura del empaquetado que nos provee JBoss de su framework jBPM. La idea principal es tener en claro lo que contiene esta suite, la cual tiene como objetivo tener todas las cosas necesarias para armar un entorno de desarrollo rápido para proyectos que usen jBPM.

Para encontrar las instrucciones de como instalar esta suite dirigirse al siguiente POST.

Empezamos por el directorio config dentro de nuestra instalación de la suite de jBPM:

Directorio Config

Dentro de este directorio vamos a encontrar dos archivos claves:

  • hibernate.cfg.xml: es el archivo que nos permite configurar la fuente de datos con la que va a hablar el framework para realizar todas las tareas de persistencia. Este archivo incluye también todos los mapeos de hibernate necesarios para que los objetos que manejara el framework puedan persistirse.
  • jbpm.cfg.xml: este archivo por lo general viene sin contenido ya que el contenido se saca de las configuraciones por defecto que se encuentran en: org/jbpm/default.jbpm.cfg.xml. Por lo tanto este archivo nos permite sobre escribir las configuraciones por defecto, dejandonos configurar que tipo y quien nos va a administrar las transacciones, quien va a ser responsable de la persistencia, quien va a ser responsable del logging, de la autenticacion, etc.

En el directorio db encontramos los siguiente:

Directorio db

En este directorio como vemos, encontramos todos los scripts de generación de esquemas de base de datos, que nos permitirán generar el esquema en cualquier base de datos soportada por el framework de persistencia Hibernate.

En el directorio deploy encontramos los siguientes archivos:

Directorio deploy

En este directorio encontramos distintas distribuciones de jbpm previamente compiladas y listas para su distribución. Seguramente en posts futuros voy a estar hablando del empaquetado jbpm-enterprise.ear y sobre el empaquetado jbpm-console.war. Ambos empaquetados cumplen con la tarea de empaquetar al framework juntos con configuraciones y características especiales, para correr en distintos entornos y con distintas aplicaciones.

En el directorio designer encontramos:

Directorio designer

En este directorio básicamente lo que encontramos es un directorio eclipse, que posee internamente la estructura de un plugin para el IDE eclipse, y la idea principal es que descomprimamos una distribución de eclipse sobre este directorio con el fin de tener un eclipse con los plugins de jBPM instalados. Si ustedes ya poseen un eclipse instalado y desean agregarle los plugins de jBPM deberán copiar el contenido de los directorios: plugins y features a su instalación de eclipse.

En el directorio server encontramos:

Directorio server

Este directorio es uno de los mas importantes ya que contiene un servidor JBoss 4.0.3 ya configurado con todo lo necesario para correr jbpm y además con jbpm-console.war ya deployado. Este servidor consta de una sola configuración llamada jbpm. Por lo tanto si queremos arrancarlo como a cualquier otra instalación de JBoss tendremos que desde el directorio bin/ ejecutar la siguiente linea:

./run.sh -c jbpm

En el directorio src encontramos:

Directorio src

Es importante tener en claro la estructura de este directorio ya que contiene tres directorios importantes a nivel de fuentes de componentes:

  • enterprise: este directorio contiene todas las clases extras que se empaquetan en jbpm-enterprise.ear. Por lo tanto si optamos por este empaquetado tenemos que tener en claro que clases extra contiene.
  • identity: este directorio contiene los fuentes del modulo de identidades propuesto. Este modulo de identidades, es un modulo simple que se propone con el fin de contar con una implementación simple de un esquema de usuarios y roles. Este modulo puede ser extendido modificando los fuentes en este directorio o directamente remplazado con otro esquema y otra implementación de identidades.
  • jpdl: este directorio contiene el core del framework, es decir todas las clases que implementan las funcionalidades de jBPM. Dentro de este directorio se encuentran las clases que implementan y exponen todas las APIs con las que nosotros vamos a interactuar.

En el directorio raiz encontramos los siguientes archivos sueltos:

Directorio raiz

Los archivos importantes acá son los dos jars:

  • jbpm-identity.jar: este jar contiene la implementación básica de identidades compilada y lista para ser usada como biblioteca en cualquier proyecto standalone o enterprise.
  • jbpm-jpdl.jar: de la misma manera este jar contiene toda la API compilada para que cualquier aplicación utilice jBPM.
Advertisements

5 thoughts on “Jugando con jBPM #7 – Estructura de jBPM Suite”

  1. una pregunta, en el servidor jboss que trae la suite de jbpm es posible usar ejb’s 3.0?, la idea es es utilizar jbpm como manejador del proceso pero tener el modelo del negocio en los beans…

    Like

  2. A decir verdad nunca trate mucho con JBoss 4.0.3, estoy casi seguro de que se le puede agregar a este JBoss el modulo de EJB3, pero te recomendaría que usaras un JBoss mas nuevo como por ejemplo JBoss 4.2.2 o 4.2.3 en las versiones comunitarias. Estos JBoss ya tiene el modulo de EJB3 configurado, por lo tanto solo tendrías que ver bien que va a necesitar tu aplicación para configurar correctamente jBPM.
    Cualquier duda por favor consultame, yo voy a seguir posteando ejemplos con el fin de ayudar.
    Saludos

    Like

  3. Hola salaboy, recurro a ti porque he visto que eres el mayor experto en la materia en habla hispana agradeceria cualquier orientación que me puedas brindar. Actualmente intento montar JBPM con Tomcat y Postgres; he seguido los pasos que indican varios blog como http://life2death.blog.co.in/2008/03/07/how-to-install-jbpm-on-tomcat-server-with-postgresql-as-database/ pero no consigo entrar a http://localhost:8080/jbpm-console; y la verdad se me esta siendo un poco caotico. Quiero evaluar este BPM pero no consigo arrancar ni siquiera el servidor.

    Me he bajado la suite jbpm-jpdl-suite-3.2.3.zip con apache-tomcat-6.0.20.exe. Lo que he hecho es crear la base de datos en postgres todo normal hasta allí. He modificado el archivo hibernate.cfg.xml con la conexion a la base de datos. He copiado las librerias jboss-j2ee.jar; commons-collections.jar;
    el-ri.jar; el-api.jar; jsf-api.jar; jsf-impl.jar. He vuelto a generar el .war y lo he publicado en la carpeta webapps de tomcat; pero no consigo cargar la aplicación web.

    Agradeceria que me pudieras orientar; esto es nuevo para mí y me llama mucho la atención. Adicionalmente quisiera saber si conoces de algún curso o capacitación en JBPM en Colombia????

    Excelente tus blogs!!!!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s