jBPM: Corralo en cualquier parte!

En este post discutiremos un poco sobre el Suite de BPM de JBoss, el KIE Workbench, y su API de acceso remoto. Esta API permite a la gente acceder al runtime preconfigurado y manejable por el usuario en el workbench desde aplicaciones externas, a través de APIs REST y JMS. Provee un exelente punto de conección para cualquier tipo de aplicación. Pero antes de entrar en detalles acerca de cómo se expone, discutamos un poco acerca del KIE Workbench como herramienta.

Manejando BPM (y más) desde el KIE Workbench 

El KIE Workbench toma su nombre de la frase “Knowledge Is Everything” (“El conocimiento es todo”). Esto siginifica que el suite no se enfoca solamente en proveer un runtime y editores BPM para un usuario final, sino ademas para cualquier representacion de conocimiento que ayude a un usuario y a la compañía a hacer crecer su base de inteligencia. Esto incluye reglas de negocio, procesos, conectores para BPM a distintas interfaces, tablas de decision, modelado de datos, casos de prueba, tablas de scoring, y seguirá creciendo para incluir aún más representaciones de conocimiento en el futuro.

Esto siginifica que cualquier tipo de experto de negocio no estará limitado a solo una herramienta, como suele ocurrir con otras Suite de BPM, sino que ademas tendrá acceso a todo un set de herramientas dependiendo de cuál se adapte mejor a la decisión del momento.

Estos tipos de conocimiento estan agrupados en estructuras de proyectos basados en Maven, y versionados usando un sistema virtual de ficheros basado en Git SCM. Estas herramientas permiten que los proyectos se expongan de una manera facil de integrar en el ciclo de Continuous Delivery de la compañía, permitiendo cambios y testeos tan detalladamente como sea posible siempre que un cambio se haga a la base de conocimiento.

Y definir conocimiento hasta el punto de tenerlo listo para producción no es el ultimo punto de esta herramiento, sino que ademas provee un ambiente de runtime donde se pueden usar procesos, tareas, reglas, todo corriendo junto:

Pero el propósito de este documento no es una introducción al Suite de BPM, sino concentrarse en las diferentes formas que esta herramienta se expone a otros tipos de aplicaciones. Por lo tanto, vayamos al grano 🙂

Not sólamente una herramienta Java

Gracias a la API de acceso remoto que mencionamos al principio de este post, todos los componentes del runtime se exponen a aplicaciones externas. Hay varias aplicaciones clientes que pueden mostrar cómo se accede a este runtime usando aplicaciones Java, pero no había un ejemplo donde se mostrara cómo hacerlo desde otro tipo de aplicación. Eso es lo que encontrarán a continuación

Corriendo fuera de Java

En esta URL, podrá encontrar un set de scripts PHP que trabajan basados en un KIE Workbench externo. Para instalar uno, pueden utilizar el ejemplo publicado en “jBPM6 Developer Guide” para instalaciones rápidas. Pueden correrla ejecutando el siguiente script:

git clone https://github.com/marianbuenosayres/jBPM6-Developer-Guide.git
cd jBPM6-Developer-Guide/chapter-04/kie-wb-installer
mvn clean install exec:exec

Configuracion

Si desean cambiar el acceso a la instalación del KIE WOrkbench, simplemente editen los comandos define en el archivo connect.php:

define ('jbpm_host', 'localhost:8080');
define ('jbpm_rest_url', 'http://'.jbpm_host.'/kie-wb/rest');
define ('login_user', 'mariano');
define ('login_pass', 'mypass');

Saludos!