jBPM: Implementando Procesos
con Software Libre
Pablo Sepúlveda P.
Arquitecto de Software
Agenda
●Introducción
–¡Software Libre!
–Arquitectura de Referencia
–Business Process Management (BPM)
–jBPM 6
●Demo
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.
https://www.gnu.org/philosophy/free-sw.es.html
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.
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.
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.
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
Ciclo de Vida del BPM
●Ciclo BPR (Business Process Reengineering).
AS-IS → TO-BE
¿por qué hacemos lo que hacemos?
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...
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
¿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.
¿Qué es jBPM?
●Disponible para descarga en http://jbpm.org
¿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/
¿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/
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
Demo
●Proyecto BPMS de ejemplo:
https://github.com/Psep/beneficiosbpm
●Ejemplo de Integración con Proyecto Web:
https://github.com/Psep/beneficiosweb
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
¿Interesado?
●¡Atentos a nuestros próximos workshops!
●Contacto:
–Email: [email protected]
–Website: http://psep.cl
–Twitter: @psep_cl
–GitHub: Psep
–TINOVA en Twitter: @TINOVA_CL
–Free Software Chile en Twitter: @FreeSoftware_CL
¡Muchas gracias por su
Atención!
http://www.ti-nova.cl/
En memoria de Ian Murdock.