Este documento presenta jBPM, una suite de software libre para gestión de procesos de negocio (BPM). Explica que jBPM implementa BPM en la web de forma modular y configurable, con componentes como tareas humanas, persistencia de datos, servicios de integración y modelado de reglas de negocio. También muestra cómo jBPM se puede ejecutar en contenedores Docker de forma portable y en la nube de OpenShift.
3. Diga ¡Software Libre!
● Software Libre es el que
protege tu libertad.
● Se basa en 4 libertades
básicas: usar, estudiar,
modificar, distribuir.
● Licencias que protegen tu
libertad (efecto Copyleft):
GPL, LGPL, AGPL. Otras:
Apache, BSD, MIT.
5. Un poco de arquitectura...
● Definición de plataforma tecnológica estándar
(empresarial) de alto nivel de una organización.
● Cada componente tecnológico es clasificado y
ordenado dentro de una capa.
● Conceptos de SOA y abstracción.
● Reutilización de componentes
entre sistemas.
6. Business Process Management (BPM)
● BPM: Entendimiento, visibilidad y modelado representativo
de actividades y pasos de tareas que incluyen a personas,
aplicaciones y eventos de la organización.
7. Objetivos de BPM
● Metodología unificada para la
comprensión y control de los
procesos de negocio de la
organización.
● Abstracción de los procesos de
negocio de las aplicaciones.
● Visibilidad y acceso a la
organización.
● Establecimiento de un lenguaje
común (BPMN 2.0) para la alineación
del negocio con las áreas TI.
8. Ciclo de Vida del BPM
● Enfoque a múltiples colaboradores.
● Ciclo de vida promueve la mejora y desarrollo continuo.
Developers
Analistas de Negocio
Usuarios Finales
Sysadmins
Business
Process
Management
Life-Cycle
9. Ciclo de Vida del BPM
● Ciclo BPR (Business Process Reengineering).
AS-IS → TO-BE
¿por qué hacemos lo que hacemos?
10. BPM en la Web
● Software BPM tradicional: monolíticos, complicados para usuarios de
negocio.
● Una suite BPM en la web representa la tendencia empresarial con
características modulares, reusables, configurables y
multiplataforma.
● Una suite BPM con funcionalidad “drag and drop”
con varios niveles de complejidad:
– Componentes (human task,
persistencia, etc).
– Servicios de Integración
(REST, SOAP, Conectores como Twitter, etc).
– Subprocesos reusables.
– Constructor de formularios.
– Modelamiento de reglas de negocio
– Y un laaaargo etc...
11. BPM en la Web
● En comparación con un software BPM monolítico…
● Suite BPM en la Web: Colaboración, discusión, versionamiento = Conocimiento
Discussion comments
Process Info Sharing
12. ¿Qué es jBPM?
●
A diferencia de otros modeladores, jBPM
es una Suite BPM de software libre.
●
Proyecto patrocinado por Red Hat, parte
de JBoss.
●
Basada en la web, desarrollada bajo
estándar JEE.
●
Manejo de artefactos con Apache
Maven.
●
APIs de Integración.
● Abstracción de Reglas de Negocio
(Drools).
●
Implementa GIT en su repositorio.
15. ¿jBPM en la Nube?
● Versión enterprise de jBPM (JBoss BPM Suite) en Openshift
(nube de Red Hat), en modalidad xPaaS.
http://www.openshift.com/
16. ¿Por qué no usar Docker?
● ¿Qué es docker?
http://docker.com
● Imágenes de middleware
JBoss en
https://hub.docker.com/u/
jboss/
● Imagen de jBPM
https://hub.docker.com/r
/jboss/jbpm-workbench/
17. Docker: Build, Ship, Run
● Una vez instalado:
1) docker pull jboss/jbpm-workbench
2) docker run -p 8080:8080 -p 8001:8001
-d --name jbpm-workbench jboss/jbpm-
workbench
● ¡Listo! Tu instancia cuando quieras:
docker start jbpm-workbench
18. Demo
● Proyecto BPMS de ejemplo:
https://github.com/Psep/beneficiosbpm
● Ejemplo de Integración con Proyecto Web:
https://github.com/Psep/beneficiosweb
19. Documentación
● Código fuente en https://github.com/droolsjbpm/jbpm
● Drools http://drools.org/
● jBPM http://jbpm.org/
● Guía de Inicio
https://docs.jboss.org/jbpm/release/6.5.0.Final/jbpm-docs/html/
● Más ejemplos
https://docs.jboss.org/jbpm/v6.2/userguide/jBPMExamples.html