jbpm5 introduction - spanish - extended version -
DESCRIPTION
www.jbug.com.ar - Introduccion a jBPM5, version extendida (2hs aprox)TRANSCRIPT
jBPM5Introducción a
Thursday, December 1, 11
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
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
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
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
Qué significa negociopara 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
Qué significa procesopara nosotros?
Conjunto de acciones ordenadas que tienden a transformar una entrada en una salida especifica con
ciertas características.
Thursday, December 1, 11
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
Ejemplo de Proceso de Negocio
Thursday, December 1, 11
BPMGestió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
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
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
Etapas de BPM
• Etapa #1: Discover (Descubrimiento) (Quality)
• Etapa #2: Formalize (Formalización) (Quality)
• Etapa #3: Monitor (Monitoreo) (Decision Making)
• Etapa #4: Improve (Mejora) (Quality)
Thursday, December 1, 11
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
Etapas en un BPMS
• Etapa #1: Discover (Quality)
• Etapa #2: Formalize (Quality)
• Etapa #3: Implementación (Technical) -> Devs!!!
• Etapa #4: Ejecución (Technical) -> Devs!!!
• Etapa #5: Monitor (Decision Making)
• Etapa #6: Improve (Quality)
Thursday, December 1, 11
Ciclo/Iteraciones BPM
Thursday, December 1, 11
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
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
jBPM5 - Componentes
Thursday, December 1, 11
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
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
jBPM5 Human Task
Thursday, December 1, 11
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
Interfaces de Usuario Unificadas(Task List)
Thursday, December 1, 11
Interfaces de Usuario Unificadas(Task
Thursday, December 1, 11
jBPM5 - Herramientas
Thursday, December 1, 11
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
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
Vista de alto nivel
Thursday, December 1, 11
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
Spaghetti BPEL of hell
Thursday, December 1, 11
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
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
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
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
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
Motor de InferenciaDrools 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
Sistemas Expertos
Thursday, December 1, 11
Regla
If / When / Where / On Condiciones/Filtros Then / Do Acciones
Thursday, December 1, 11
Ejemplo
When
Fuego
Then
Disparar Alarma
Thursday, December 1, 11
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
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
Drools FusionEvent Driven Architecture
Thursday, December 1, 11
Drools Fusion - EjemploMonitoreo de Pacientes
Thursday, December 1, 11
Drools FusionOperadores Temporales
Thursday, December 1, 11
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
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
Drools GuvnorGuided Editor
Thursday, December 1, 11
Drools & jBPM5 - Componentes
Thursday, December 1, 11
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
Emergency Service
Thursday, December 1, 11
Preguntas?
Thursday, December 1, 11
Thursday, December 1, 11