Analisis Bonita Workflow v3.0

Bonita Workflow

Bonita es un proyecto con bastante historia, casi data de la época en que abandoné mi viejo sistema de workflow, y, por el momento, está soportado por Bull. Hay desarrollos en España, como open cities, que la utilizan extensivamente. La version actual es la 3.0 que es la que vamos a tratar aqui.

1. Instalación

Para mis pruebas me descargué la última versión de Bonita en:

http://forge.objectweb.org/project/download.php?group_id=56&file_id=7634

Y requería descargarse la última versión del servidor de aplicaciones JoNas (4.8.6), que me descargué de:

http://download.fr.forge.objectweb.org/jonas/jonas4.8.6-tomcat5.5.17.tgz

Utilicé las instrucciones de la guía “Bonita Getting Started” que se incluye junto con el software, en mi caso ya que tenía instalado de antes java 1.5 y ant solo tuve que dar los siguientes pasos (ubuntu 6.06):

  • Descomprimir jonas en un directorio y poner la variable JONAS_ROOT apuntando a ese directorio
  • Descomprimir Bonita en otro directorio distinto
  • Crear la variable de entorno JONAS_BASE a “$JONAS_ROOT/BSOA_base”
  • Añadir al PATH $JONAS_ROOT/bin/unix
  • Crear la variable de entorno BONITA_HOME apuntando a “directorio_donde_descomprimí_bonita/bonita”
  • Asegurarse que ant y el java están en el path
  • Ejecutar ./install.sh en el directorio donde descomprimí bonita

No fue necesario tener derechos de administración y terminó la instalación sin errores.

Para comprobar que todo ha ido bien, simplemente hay que acceder a:

http:://localhost:9000/jiapAdmin con el usuario bsoa con password bsoa

2. Puesta en marcha

Mi intención inicial era poder crear y desplegar un proceso sencillo, igual para todos los motores de workflow para poder comparar el tiempo tardado en cada uno de ellos, para eso utilizaría la instalación por defecto. sin embargo, viendo que esta tarea podía ser más complicada de lo que quería inicialmente, decidí probar algún proceso ya desplegado (o que se incluyese de ejemplo) para poder ver la puesta en marcha y el funcionamiento general de la herramienta.

Me descargué un ejemplo:

Bonita_Simple_Project_Ever.zip

Y tuve problemas para compilarlo… Tras contactar con la lista de soporte de Bonita, no supieron darme una respuesta, pero finalmente encontré que el problema estaba con el client.jar que usaban que no estaba preparado para la versión de Jonas que estaba usando.

ATENCION

Parece ser que la última versión de Bonita no está preparada para corren en la versión de Jonas que instalé (4.8.6) sino que hay que instalar una anterior (4.8.4). Después de unos días dedicados a constatar este hecho (la gente de Bonita no sirvió
de mucha ayuda) decidí bajarme la versión 4.8.4 de este enlace:

http://download.fr2.forge.objectweb.org/jonas/jonas4.8.4-tomcat5.5.17.tgz

Tras lo cual tanto el ejemplo como el servidor y el editor consiguieron funcionar correctamente a la primera.

4. Primer proceso

Una vez que vi que el proceso de ejemplo se ejecutaba correctamente, pasé a crear mi propio proceso siguiendo, eso si, las instrucciones de este video:

http://wiki.bonita.objectweb.org/xwiki/bin/download/XWiki/MySkin/Approval_workflow_Demo_7Dec06_AM.htm

Donde se ve como construyen en proceso del ejemplo que había ejecutado anteriormente.

Para poder crear el proceso tal como hace el video tendremos que desplegar unos “Mappers” y “Hooks” que no están explicados en ningún sitio, así que os dejo la “receta”:

En el directorio $BONITA_HOME (con todo el entorno cargado tal como se explica en el primer paso) ejecutar lo siguiente:

ant deployMapper -DmapperClass=”AdministratorMapper”

ant deployHook -DhookClass=”MailReject”

ant deployHook -DhookClass=”MailAccept”

De esta manera aparecerán en el editor los Mappers y Hooks necesarios para completar la tarea.

Una vez hecho esto el proceso ejecutó tal como en el video de la demo… No parece demasiado complicado.

3. Enlace autenticacionUno de los requisitos que necesito cubrir con un workflow es que la autenticación sea común para el resto de aplicaciones y, por eso, necesito que se pueda integrar (a nivel de autenticación nada más) con un directorio LDAP.

Hay instrucciones precisas sobre como hacerlo en la documentación de bonita, por lo que debería bastar seguir las instrucciones para tener los usuarios de LDAP listos para usar Bonita.

5. Ejecución