jBPM5 Introduction - Spanish - Extended Version - www.jbug.com.ar

  • 2,304 views
Uploaded on

www.jbug.com.ar - Introduccion a jBPM5, version extendida (2hs aprox)

www.jbug.com.ar - Introduccion a jBPM5, version extendida (2hs aprox)

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,304
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
109
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introducción a jBPM5Thursday, December 1, 11
  • 2. Programa • Quien soy, que hago acá? • BPM Background • jBPM5 • Introducción • Componentes / Estándares • Herramientas • BPM no es suficiente • Drools Platform • DemoThursday, 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 actorThursday, 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 proyectosThursday, 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
  • 9. Ejemplo de Proceso de NegocioThursday, 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 principalesThursday, 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 personasThursday, 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 continuamenteThursday, December 1, 11
  • 13. 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
  • 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 empresaThursday, December 1, 11
  • 15. 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
  • 16. Ciclo/Iteraciones BPMThursday, 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 negocioThursday, 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 BAMThursday, December 1, 11
  • 19. jBPM5 - ComponentesThursday, 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íasThursday, December 1, 11
  • 22. jBPM5 Human TaskThursday, 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
  • 24. Interfaces de Usuario Unificadas(Task List)Thursday, December 1, 11
  • 25. Interfaces de Usuario Unificadas(TaskThursday, December 1, 11
  • 26. jBPM5 - HerramientasThursday, 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 externoThursday, December 1, 11
  • 29. Vista de alto nivelThursday, 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 conocimientoThursday, December 1, 11
  • 31. Spaghetti BPEL of hellThursday, 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 situacionesThursday, 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 usuarioThursday, 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
  • 38. Sistemas ExpertosThursday, December 1, 11
  • 39. Regla If / When / Where / On          Condiciones/Filtros   Then / Do          AccionesThursday, December 1, 11
  • 40. Ejemplo When Fuego Then Disparar AlarmaThursday, 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 aplicacionesThursday, 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 momentosThursday, December 1, 11
  • 43. Drools Fusion Event Driven ArchitectureThursday, December 1, 11
  • 44. Drools Fusion - Ejemplo Monitoreo de PacientesThursday, December 1, 11
  • 45. Drools Fusion Operadores TemporalesThursday, 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 eventosThursday, 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 asistidoThursday, December 1, 11
  • 48. Drools Guvnor Guided EditorThursday, December 1, 11
  • 49. Drools & jBPM5 - ComponentesThursday, 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-appThursday, December 1, 11
  • 51. Emergency ServiceThursday, December 1, 11
  • 52. Preguntas?Thursday, December 1, 11
  • 53. Thursday, December 1, 11