2. Programa
• Quien soy, que hago acá?
• BPM Background
• jBPM5
• Introducción
• Componentes / Estándares
• Herramientas
• BPM no es suficiente
• Drools Platform
• Demo
Thursday, December 1, 11
3. Quién soy?, qué hago acá?
• Desarrollador / Arquitecto / System Integrator
• Trabajando en proyectos Open Source desde 2007
• BPM Background
• Expert Systems Background
• Muy interesado en todo lo que tenga que ver con IA
• Plus actor
Thursday, December 1, 11
4. Aviso Importante
• Esta es una charla sobre tecnología
• Proyectos Open Source
• Bajo Apache Software License V2
• Extremadamente amigable para empresas
• No tengo ningún tipo de relación con Red Hat/JBoss
quienes soportan estos proyectos
Thursday, December 1, 11
5. Qué es BPM?
• Business (Negocio)
• Process (Proceso)
• Business Process (Proceso de Negocio)
• Business Process Management (Gestión de Procesos
de Negocio)
Thursday, December 1, 11
6. Qué significa negocio
para nosotros?
Relativo a un dominio, compañía o escenario de
negocio en el cual se realizan actividades, tareas,
interacciones humanas y se aplican ciertas reglas
para que la empresa funcione.
Thursday, December 1, 11
7. Qué significa proceso
para nosotros?
Conjunto de acciones ordenadas que tienden a
transformar una entrada en una salida especifica con
ciertas características.
Thursday, December 1, 11
8. Business Process
(proceso de negocio)
Secuencia de acciones/tareas/actividades realizadas
por personas y sistemas con el fin de alcanzar/
cumplir un objetivo de negocio.
Thursday, December 1, 11
10. BPM
Gestión de Procesos de Negocio
• Cuando tenemos una cantidad considerable de
procesos de negocio, vamos a necesitar gestionarlos
correctamente
• Historia
• Etapas principales
Thursday, December 1, 11
11. Breve historia de BPM (1/2)
• Nació/se formalizo hace mas de 30 años
• Enfocada en mejorar como las companias realizan su
trabajo
• El termino Workflows es anterior y se refiere a
interacciones de personas con personas
Thursday, December 1, 11
12. Breve historia de BPM (2/2)
• Un enfoque mas relacionado con conceptos de negocio
se vino empezó a analizar luego
• BPM es una disciplina que provee un marco para
describir nuestros procesos de negocio que van a ser
mejorados continuamente
Thursday, December 1, 11
14. Sistemas de Gestión de
Procesos de Negocio (BPMS)
• Podemos hacer BPM con papel y lápiz
• O podemos usar un Sistema de Gestión de Procesos de
Negocio, que nos brinda:
• Una suite de herramientas para ayudarnos en cada
etapa
• El poder de automatizar la ejecución de nuestros
procesos de negocio
• Información vital para mejorar como se toman
decisiones dentro de la empresa
Thursday, December 1, 11
17. jBPM5 en pocas palabras
• Es un BPMS
• Provee como núcleo un motor de procesos de negocio
• Nos permite modelar nuestros procesos usando
BPMN2
• Puede ser fácilmente embebido en nuestras
aplicaciones o usado como servicio
• Tiene como foco proveer herramientas para permitir
que desarrolladores y analistas de negocio trabajen
juntos definiendo, implementando y ejecutando
procesos de negocio
Thursday, December 1, 11
18. Componentes dentro de
jBPM5
• Ecosistema de jBPM5
• jBPM5 Runtime
• BPMN2 Semantic Module
• Core Business Process Engine
• Persistence and Transaction Mechanism
• History Logs
• jBPM5 Human Task Server
• jBPM5 Service Repository
• jBPM5 Tooling
• jBPM5 Designer
• jBPM5 Process Console
• jBPM5 REST Process Server
• jBPM5 BAM
Thursday, December 1, 11
20. jBPM Runtime
• BPMN2 Semantic Module: es el encargado de entender
definiciones de procesos de negocio descriptas usando el
estándar BPMN2
• Core Business Process Engine: es el encargado de crear
instancias y ejecutar estas definiciones. Nos provee un set de
APIs para integrar el motor con nuestras aplicaciones.
• Persistence and Transaction Mechanism: se encarga de
mantener y almacenar el estado de nuestros procesos de
negocio
• History Logs: se encarga de guardar toda la información
generada por la ejecución de nuestros procesos de negocio.
Thursday, December 1, 11
21. Business Process Model and
Notation V2
• Especificación Estándar creada por Object Management Group
(OMG)
• Lanzada públicamente: 2011-01-03
• Definido basado en la experiencia adquirida por la industria en los
últimos 20 años.
• Define la sintaxis y la semántica de ejecución para nuestros procesos
de negocio
• La especificación se divide en tres grandes áreas:
• Procesos:
• Modelado de Procesos
• Ejecución de Procesos
• Colaboraciones
• Coreografías
Thursday, December 1, 11
23. Servidor de Tareas Humanas
de jBPM5
• Es un componente separado, que puede ser reemplazado
con distintas implementaciones. Es el encargado de
mantener y administrar el ciclo de vida de las
interacciones humanas
• Implementa un estándar llamado Web Service Human
Task (WS-HT) definido por OASIS Group
• Define las estructuras de datos que van a manejar las
tares humanas definidas en nuestros procesos de negocio
• Define los estados en los que puede estar una tarea
humana durante su ciclo de vida.
Thursday, December 1, 11
27. jBPM5 - Herramientas
• jBPM5 Designer: Diseñador gráfico que nos permite dibujar
nuestros procesos de negocio usando la notación gráfica
BPMN2
• jBPM5 Process Console: Nos permite correr e interactuar
nuestros procesos de negocio.
• jBPM5 REST Process Server: Expone el runtime de jBPM5 a
traces de una interface REST, lo cual nos permite interactuar con
el motor desde clientes que pueden estar escritos en otros
lenguajes.
• jBPM5 BAM: Provee los mecanismos para analizar y agregar la
información que se genera cuando ejecutamos nuestros
procesos de negocio.
Thursday, December 1, 11
28. Repositorio de Servicio de
jBPM5
• Conectores a servicios específicos del dominio
• Repositorio centralizado de estos conectores
• Promueve la reutilizacion
• Nos permite definir un repositorio local y privado a la
empresa o externo
Thursday, December 1, 11
30. Solo BPM no alcanza
• BPM es solo el primer paso
• Nuestros procesos de negocio representan una sola
dimensión de nuestro conocimiento "empresarial"
• jBPM5 es solo un modulo dentro de una plataforma
que nos permite representar y ejecutar conocimiento
Thursday, December 1, 11
32. Otras formas de representar
conocimiento
• Business Rules (Reglas de Negocio)
• Events (Eventos, definiciones temporales)
• Ontologies (Ontologías)
• Predictive Models (Modelos Predictivos)
• etc.
Thursday, December 1, 11
33. Drools 5 BLiP
• Plataforma de integración de lógica de negocio /
Business Logic integration Platform (BLiP)
• Módulos:
• Drools Expert (Inference Engine)
• jBPM5 (Process Engine)
• Drools Fusion (Complex Event Processing)
• Drools Guvnor (Knowledge Repository)
• Hay otros módulos experimentales que no vamos a
cubrir hoy (Planner, Chance, Grid, FIPA Agents, etc.)
Thursday, December 1, 11
34. Drools Expert - Sistemas
Expertos
"Un sistema experto es un software que intenta proveer
una respuesta a un problema para el cual
normalmente uno o mas expertos serian consultados"
• En los 70 el foco era reemplazar, hoy en día asistir
• Terminamos creando software que tiene conocimiento
sobre un dominio especifico
• Vamos a poder hacer preguntas y obtener respuestas o
evaluar situaciones
Thursday, December 1, 11
35. Sistemas Expertos -
Usos Comunes
• Medicina
• Diagnostico basado en síntomas de pacientes
• Análisis de Campo
• Evaluación geográfica de regiones (Petrol
Prospecting)
• Prestamos e Hipotecas (Bancos)
• Evaluación de riesgo (scoring)
• Medios / TV / Radio
• Selección de contenidos por usuario
Thursday, December 1, 11
36. Ingeniería del Conocimiento
"Ingeniería del conocimiento" se conoce como la
ciencia de observar expertos, modelar y construir
modelos con su conocimiento y experiencia que ellos
mismos puedan evaluar.
Thursday, December 1, 11
37. Motor de Inferencia
Drools Expert
"Un motor de inferencia es un software que trata de
derivar respuestas basándose en una base de
conocimiento. Se lo conoce como el "cerebro" de un
sistema experto el cual es usado para formular
conclusiones sobre una situación dada."
Thursday, December 1, 11
39. Regla
If / When / Where / On
Condiciones/Filtros
Then / Do
Acciones
Thursday, December 1, 11
40. Ejemplo
When
Fuego
Then
Disparar Alarma
Thursday, December 1, 11
41. Características comunes
• Las respuestas van a contener justificaciones
• Estos sistemas están creados para soportar una gran
cantidad de conocimiento
• El conocimiento puede ser:
• Expresado por Usuarios de Negocio
• Reutilizado
• Mejorado Iterativamente
• El conocimiento puede ser mantenido desacoplado
de nuestras aplicaciones
Thursday, December 1, 11
42. Drools Fusion
• Enfocado en Procesamiento de Eventos Complejos
• Nos permite realizar "Temporal reasoning"/
razonamiento temporal
• 13 operadores temporales (before, after, during, and so on)
• Nos permite realizar detección de eventos complejos,
agregando, correlacionando y ordenando eventos que
ocurren en distintos momentos
Thursday, December 1, 11
43. Drools Fusion
Event Driven Architecture
Thursday, December 1, 11
44. Drools Fusion - Ejemplo
Monitoreo de Pacientes
Thursday, December 1, 11
45. Drools Fusion
Operadores Temporales
Thursday, December 1, 11
46. Drools Fusion - Usos Comunes
• Detección de Fraude
• Stock Trading
• Hardware monitoring
• Transporte y Logística
• En cualquier escenario que necesitemos agregar y
correlacionar eventos
Thursday, December 1, 11
47. Drools Guvnor
• Comúnmente denominado BRMS
• Repositorio de Conocimiento Centralizado (JCR)
• Encargado de versionar y categorizar
• Hoy en día incluye un conjunto de herramientas que
facilitan y promueven su uso
• Asistente para la creación de reglas
• Asistente para la creación de escenarios de tests
• Editor de restricciones de dominio
• Validador y verificador de Reglas de Negocio
• Modelador de Procesos de Negocio asistido
Thursday, December 1, 11
48. Drools Guvnor
Guided Editor
Thursday, December 1, 11
50. Emergency Service
Application
• Simular un escenario real
• Demostrar las capacidad de la integración de reglas de
negocio, procesos de negocio y procesamiento de
events complejos.
• Código Fuente:
• https://github.com/Salaboy/emergency-service-
drools-app
Thursday, December 1, 11