SlideShare una empresa de Scribd logo
Introducción a jBPM
Pablo Sepúlveda P.
JBUG Chile
pablo.sepulveda@ti-nova.cl
Acerca del instructor...
• Pablo Sepúlveda P.
• (Intento de) Arquitecto de Software
• Actualmente en:
– TI-Nova: Middleware Solutions Architect
– JBUG Chile: Miembro fundador
• Anteriormente:
– Fundación GNUCHILE: Director Ejecutivo
– Mozilla Chile: Developed Lead
– Etc, etc, etc...
• Contacto:
– Email: pablo.sepulveda@ti-nova.cl
– Website: http://www.psep.cl
– Twitter: @psep_cl
– GitHub: Psep
Advertencia
Introducción a jBPM 6
• Introducción al Software Libre, JEE y
Arquitectura de Software.
• Introducción al motor de procesos jBPM
y ejercicios prácticos de Laboratorio.
Agenda
Introducción al Software Libre, JEE
y la Arquitectura de Software
• Software libre es el que
respeta la libertad individual
de los usuarios.
• Se basa en:
– Ejecutar
– Copiar
– Distribuir
– Estudiar
¿Qué es el Software Libre?
Introducción a jBPM 6
“El copyright no es un derecho
natural sino un monopolio
artificial impuesto por el Estado
que limita el derecho natural de
los usuarios a copiar.”
Richard Matthew Stallman
• Algunas de las más populares…
Licencias Libres
Pronto en: http://www.jboss.cl y http://www.jbug.cl
@jbug_cl
• Standard Edition:
– APIs de Java (utils)
– Bajo supervisión del
Java Community
Process (JCP).
– Especificación JSR
(Java Specification
Request).
Java EE y Java SE
• Enterprise Edition:
– Plataforma empresarial
de Java.
– Incluye Java SE.
– Soporte de arquitecturas
por N capas.
– Ejecución mediante
servidor de aplicaciones.
– Plataforma líder del
mercado.
Java EE y Java SE
JEE abierto, ¿Plataformas
Privativas?
• ¿Por qué las soluciones no libres dominan el
mercado?
• Respaldo de grandes marcas.
• Experiencia y madurez en sus plataformas
(?)
• Lobby y otras prácticas (?)
• Soluciones empresariales enfocadas en
SOA.
• 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.
Arquitectura de Referencia
¿Qué es SOA?
• Arquitectura Orientada a Servicios.
• Paradigma enfocado a sistemas distribuidos
y la abstracción.
• Permite escalabilidad, flexibilidad e
integración entre sistemas.
• Abstracción de procesos y reglas de negocio
como servicios.
• Aborda situaciones reales como el
encapsulamiento, desacoplamiento,
reutilización.
Modelo por Capas
Apache Ant:
• Herramienta (librería) de
compilación y despliegue (deploy).
• Configuración basada en XML.
• Descripción en build.xml
• Incluye libs y classpath declarados
en el proyecto.
• Incorporada por default en muchos
IDEs.
• Ejecución mediante comandos.
Ant y Maven
Ant y Maven
Ant y Maven
Apache Maven:
• Herramienta (librería) de
compilación y despliegue (deploy).
• Orientación a repositorios de
librerías (artefactos).
• Descripción en pom.xml,
simplificando su notación.
• Proyectos menos complejos y
ligeros.
• Incorporada por default en muchos
IDEs.
• Ejecución mediante comandos.
Ant y Maven
• ¿Qué es un control
de versiones?
• ¿Por qué usar un
control de
versiones?
• ¿CVS, SVN,
Mercurial, GIT?
Versionamiento con GIT
Introducción al motor de procesos
jBPM
Objetivos
• Ambiente jBPM de desarrollo.
• Conocimiento base de la plataforma.
• Conformación de reglas y procesos de
negocio.
• Implementación e integración.
Características de jBPM
• Aplicaciones Web (WAR).
• Funcionan bajo el servidor de
aplicaciones WildFly 8 (ex JBoss AS).
• ¿Para qué usan Ant?
• ¿Maven? Repositorio basado en
artefactos.
Características de jBPM
• Creación de Usuarios:
– Fichero properties de configuración
$JBOSS_HOME/standalone/configuration/use
rs.properties
admin=admin
krisv=krisv
psep=qwerty123
Características de jBPM
• Creando Roles:
– Fichero properties de configuración:
$JBOSS_HOME/standalone/configuration/role
s.properties
admin=admin,analyst,kiemgmt
krisv=admin,analyst
psep=admin,analista
~$ ant start.demo.noeclipse
http://localhost:8080/jbpm-console/
• Organización:
Conceptos de Repositorio
Lab: Creando una
Organización
• En el
administrador de
unidades
organizaciones,
crear: jbug.
• Default group ID:
cl.jbug.jbpm
Conceptos de Repositorio
• Integración con GIT mediante ngit. Posibilidad de
clonar, crear, listar.
Creación de Proyectos
• → New Project
• Otras opciones
(después de crear un
proyecto):
– BPM
– Regla de negocio
(tablas de decisión,
guiadas, DRL, DSL)
– Objetos
– Etc, etc.
Problemática de Laboratorio
• Se requiere desarrollar un proceso para la
asignación de beneficios.
• Los beneficios a otorgar son: vejez, viudez,
subsidio joven, aguinaldo.
• Básicamente, consta de: ingreso de la
solicitud, cálculo de beneficio, visación
(notificación).
• Los roles involucrados son operador y
analista.
Lab: Creando un Proyecto
• New Item → Project
Lab: Creando un Proyecto
Atributos:
• Project Name: beneficios
• Group ID: cl.jbug.jbpm
• Artifact ID: beneficios
• Version: 1.0
Modelo de Datos en jBPM
Laboratorio: Modelo de Datos
• Nuevo “Data Object” (POJO) →
Solicitante
• Package: cl.jbug.jbpm.beneficios
• Fields: run (Integer), nombre (String),
edad (Integer), estadoCivil (Integer),
numHijos (Integer), sexo (Integer),
montoBono (int), mensaje (String).
• Basados en Drools.
• Creación de Regla
Guiada:
– Nueva Regla
– Import de objetos
– Extends, condición
– Acción
Reglas de Negocio
Lab: Modelar Reglas de Negocio
• Vejez
– Bono de $50000.-
– Solicitante mayor a 65 años e ingresos
menores o iguales a $150000.-
• Subsidio Joven
– Bono: el resultado de 350000 – el sueldo.
– Solicitante menor a 25 años e ingresos
menores o iguales a $250000.-
Lab: Modelar Reglas de Negocio
• Viudez
– Bono: $50000 * N° de beneficiarios (viuda
e hijos).
– Estado civil del solicitante debe ser viudez
(4) e ingresos menores.
• Aguinaldo
– Bono: $10000 * hijo.
– Solicitante con un hijo o más e ingresos
menores a $250000.-
Escenarios de Prueba
• Diseño de
casos de
pruebas para
reglas de
negocio (diseño
y resultados).
• New Item →
Test Scenario
Diseño de Procesos
• Diseño de procesos bajo estándar
BPMN 2.0.
• jBPM Web Designer.
• Formato XML (extensión .bpmn2).
• Exportación: bpmn2, JSON, SVG, PNG.
• Creación: New Item → Business
Process.
Lab: Creando un Proceso
• Proceso: IngresoSolicitud
• Revisión de Process ID
• Importaciones
• Variables
• Documentación
Tipos de Tasks
• Algunos de los más comunes:
– Usuario (Human Task)
– Reglas de Negocio (Business Rule)
– Script
• Propiedades dependiendo de cada
tarea.
Lab: Proceso de Beneficios
Formularios
• HTML generados
automáticamente
por la plataforma
jBPM.
• Basados en los
datos de entrada
del proceso/tareas.
• Personalizables.
Lab: Formularios Personalizados
Generación de Proyecto jBPM
• Deploy
• Deployment y Process definitions
• Ejecución
• Tasks List
¿Integración?
• APIs:
– RUNTIME
https://docs.jboss.org/jbpm/v6.2/userguid
e/jBPMRemoteAPI.html#remote.java.api
– REST
https://docs.jboss.org/jbpm/v6.2/usergu
ide/jBPMRemoteAPI.html#d0e14165
Lab: Ejemplo de Integración
• Utilización de Eclipse (JBoss Developer Studio) y
GIT.
• Clonar desde GitHub:
– App Web
https://github.com/Psep/beneficiosweb
• Modificación según implementación.
• Compilación y Deploy.
• Pruebas.
Extras
• (Instalación) Configurar jBPM con una base de datos
(MySQL, PostgreSQL, etc) y Dominios de Seguridad
https://docs.jboss.org/jbpm/v6.2/userguide/jBPMInstaller.
html#d0e950
• Guía de Inicio
https://docs.jboss.org/jbpm/v6.2/userguide/jBPMGettingSta
rted.html
• Drools http://www.drools.org/
• jBPM http://jbpm.org/
• Más ejemplos
https://docs.jboss.org/jbpm/v6.2/userguide/jBPMExample
s.html#d0e1795
¡Muchas gracias por su
Atención!

Más contenido relacionado

PDF
Lecciones aprendidas creando una red social
PDF
02 proceso ciclodevida
PPT
Metodo watch
PPT
Metodo watch
PDF
"Al rico" PHP
PPT
Clase 4, 29/8/2007
PPTX
METODOLOGIA RUP.pptx
PPTX
METODOLOGIA RUP PARA DESARROLLO TEMA 3.pptx
Lecciones aprendidas creando una red social
02 proceso ciclodevida
Metodo watch
Metodo watch
"Al rico" PHP
Clase 4, 29/8/2007
METODOLOGIA RUP.pptx
METODOLOGIA RUP PARA DESARROLLO TEMA 3.pptx

Similar a Introducción a jBPM 6 (20)

PPT
Conceptos generales de sia
PPT
Conceptos generales de sia
PPT
Conceptos generales de sia
PDF
Buenas prácticas que debes seguir en la administración de tu SQL Server
PPT
Clase 11
PPT
Ingenieria de softwrae vol1 v4 2
PPT
Ingenieria de softwrae vol1 v4 2
PPTX
Symfony-Community: Introducción a Symfony Framework
PDF
DBA del Futuro (Un nuevo paradigma)
PDF
Metodología
PDF
Metodología de SI
PPTX
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
PDF
Herramientas para la medicion de desempeño PHPConMX 2012
PPT
metodologias de desarrollo.ppt
PPT
semana-3-metodologc3adas-de-desarrollo.ppt
PPTX
Web Day Devops - Plain Concepts
PPTX
Flujo de desarrollo para drupal (PFC)
PDF
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
PPTX
Fases de un proyecto de desarrollo de Softwareo Orientado a la Web-Charles Fr...
Conceptos generales de sia
Conceptos generales de sia
Conceptos generales de sia
Buenas prácticas que debes seguir en la administración de tu SQL Server
Clase 11
Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2
Symfony-Community: Introducción a Symfony Framework
DBA del Futuro (Un nuevo paradigma)
Metodología
Metodología de SI
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Herramientas para la medicion de desempeño PHPConMX 2012
metodologias de desarrollo.ppt
semana-3-metodologc3adas-de-desarrollo.ppt
Web Day Devops - Plain Concepts
Flujo de desarrollo para drupal (PFC)
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
Fases de un proyecto de desarrollo de Softwareo Orientado a la Web-Charles Fr...
Publicidad

Último (20)

PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Curso de generación de energía mediante sistemas solares
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PDF
Maste clas de estructura metálica y arquitectura
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
CyberOps Associate - Cisco Networking Academy
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
MANUAL de recursos humanos para ODOO.pdf
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
historia_web de la creacion de un navegador_presentacion.pptx
Curso de generación de energía mediante sistemas solares
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
TRABAJO DE TECNOLOGIA.pdf...........................
Power Point Nicolás Carrasco (disertación Roblox).pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
introduccion a las_web en el 2025_mejoras.ppt
informe_fichas1y2_corregido.docx (2) (1).pdf
Maste clas de estructura metálica y arquitectura
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
SAP Transportation Management para LSP, TM140 Col18
CyberOps Associate - Cisco Networking Academy
Historia Inteligencia Artificial Ana Romero.pptx
Influencia-del-uso-de-redes-sociales.pdf
MANUAL de recursos humanos para ODOO.pdf
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Publicidad

Introducción a jBPM 6

  • 1. Introducción a jBPM Pablo Sepúlveda P. JBUG Chile pablo.sepulveda@ti-nova.cl
  • 2. Acerca del instructor... • Pablo Sepúlveda P. • (Intento de) Arquitecto de Software • Actualmente en: – TI-Nova: Middleware Solutions Architect – JBUG Chile: Miembro fundador • Anteriormente: – Fundación GNUCHILE: Director Ejecutivo – Mozilla Chile: Developed Lead – Etc, etc, etc... • Contacto: – Email: pablo.sepulveda@ti-nova.cl – Website: http://www.psep.cl – Twitter: @psep_cl – GitHub: Psep
  • 5. • Introducción al Software Libre, JEE y Arquitectura de Software. • Introducción al motor de procesos jBPM y ejercicios prácticos de Laboratorio. Agenda
  • 6. Introducción al Software Libre, JEE y la Arquitectura de Software
  • 7. • Software libre es el que respeta la libertad individual de los usuarios. • Se basa en: – Ejecutar – Copiar – Distribuir – Estudiar ¿Qué es el Software Libre?
  • 9. “El copyright no es un derecho natural sino un monopolio artificial impuesto por el Estado que limita el derecho natural de los usuarios a copiar.” Richard Matthew Stallman
  • 10. • Algunas de las más populares… Licencias Libres
  • 11. Pronto en: http://www.jboss.cl y http://www.jbug.cl @jbug_cl
  • 12. • Standard Edition: – APIs de Java (utils) – Bajo supervisión del Java Community Process (JCP). – Especificación JSR (Java Specification Request). Java EE y Java SE
  • 13. • Enterprise Edition: – Plataforma empresarial de Java. – Incluye Java SE. – Soporte de arquitecturas por N capas. – Ejecución mediante servidor de aplicaciones. – Plataforma líder del mercado. Java EE y Java SE
  • 14. JEE abierto, ¿Plataformas Privativas? • ¿Por qué las soluciones no libres dominan el mercado? • Respaldo de grandes marcas. • Experiencia y madurez en sus plataformas (?) • Lobby y otras prácticas (?) • Soluciones empresariales enfocadas en SOA.
  • 15. • 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. Arquitectura de Referencia
  • 16. ¿Qué es SOA? • Arquitectura Orientada a Servicios. • Paradigma enfocado a sistemas distribuidos y la abstracción. • Permite escalabilidad, flexibilidad e integración entre sistemas. • Abstracción de procesos y reglas de negocio como servicios. • Aborda situaciones reales como el encapsulamiento, desacoplamiento, reutilización.
  • 18. Apache Ant: • Herramienta (librería) de compilación y despliegue (deploy). • Configuración basada en XML. • Descripción en build.xml • Incluye libs y classpath declarados en el proyecto. • Incorporada por default en muchos IDEs. • Ejecución mediante comandos. Ant y Maven
  • 20. Ant y Maven Apache Maven: • Herramienta (librería) de compilación y despliegue (deploy). • Orientación a repositorios de librerías (artefactos). • Descripción en pom.xml, simplificando su notación. • Proyectos menos complejos y ligeros. • Incorporada por default en muchos IDEs. • Ejecución mediante comandos.
  • 22. • ¿Qué es un control de versiones? • ¿Por qué usar un control de versiones? • ¿CVS, SVN, Mercurial, GIT? Versionamiento con GIT
  • 23. Introducción al motor de procesos jBPM
  • 24. Objetivos • Ambiente jBPM de desarrollo. • Conocimiento base de la plataforma. • Conformación de reglas y procesos de negocio. • Implementación e integración.
  • 25. Características de jBPM • Aplicaciones Web (WAR). • Funcionan bajo el servidor de aplicaciones WildFly 8 (ex JBoss AS). • ¿Para qué usan Ant? • ¿Maven? Repositorio basado en artefactos.
  • 26. Características de jBPM • Creación de Usuarios: – Fichero properties de configuración $JBOSS_HOME/standalone/configuration/use rs.properties admin=admin krisv=krisv psep=qwerty123
  • 27. Características de jBPM • Creando Roles: – Fichero properties de configuración: $JBOSS_HOME/standalone/configuration/role s.properties admin=admin,analyst,kiemgmt krisv=admin,analyst psep=admin,analista
  • 30. Lab: Creando una Organización • En el administrador de unidades organizaciones, crear: jbug. • Default group ID: cl.jbug.jbpm
  • 31. Conceptos de Repositorio • Integración con GIT mediante ngit. Posibilidad de clonar, crear, listar.
  • 32. Creación de Proyectos • → New Project • Otras opciones (después de crear un proyecto): – BPM – Regla de negocio (tablas de decisión, guiadas, DRL, DSL) – Objetos – Etc, etc.
  • 33. Problemática de Laboratorio • Se requiere desarrollar un proceso para la asignación de beneficios. • Los beneficios a otorgar son: vejez, viudez, subsidio joven, aguinaldo. • Básicamente, consta de: ingreso de la solicitud, cálculo de beneficio, visación (notificación). • Los roles involucrados son operador y analista.
  • 34. Lab: Creando un Proyecto • New Item → Project
  • 35. Lab: Creando un Proyecto Atributos: • Project Name: beneficios • Group ID: cl.jbug.jbpm • Artifact ID: beneficios • Version: 1.0
  • 36. Modelo de Datos en jBPM
  • 37. Laboratorio: Modelo de Datos • Nuevo “Data Object” (POJO) → Solicitante • Package: cl.jbug.jbpm.beneficios • Fields: run (Integer), nombre (String), edad (Integer), estadoCivil (Integer), numHijos (Integer), sexo (Integer), montoBono (int), mensaje (String).
  • 38. • Basados en Drools. • Creación de Regla Guiada: – Nueva Regla – Import de objetos – Extends, condición – Acción Reglas de Negocio
  • 39. Lab: Modelar Reglas de Negocio • Vejez – Bono de $50000.- – Solicitante mayor a 65 años e ingresos menores o iguales a $150000.- • Subsidio Joven – Bono: el resultado de 350000 – el sueldo. – Solicitante menor a 25 años e ingresos menores o iguales a $250000.-
  • 40. Lab: Modelar Reglas de Negocio • Viudez – Bono: $50000 * N° de beneficiarios (viuda e hijos). – Estado civil del solicitante debe ser viudez (4) e ingresos menores. • Aguinaldo – Bono: $10000 * hijo. – Solicitante con un hijo o más e ingresos menores a $250000.-
  • 41. Escenarios de Prueba • Diseño de casos de pruebas para reglas de negocio (diseño y resultados). • New Item → Test Scenario
  • 42. Diseño de Procesos • Diseño de procesos bajo estándar BPMN 2.0. • jBPM Web Designer. • Formato XML (extensión .bpmn2). • Exportación: bpmn2, JSON, SVG, PNG. • Creación: New Item → Business Process.
  • 43. Lab: Creando un Proceso • Proceso: IngresoSolicitud • Revisión de Process ID • Importaciones • Variables • Documentación
  • 44. Tipos de Tasks • Algunos de los más comunes: – Usuario (Human Task) – Reglas de Negocio (Business Rule) – Script • Propiedades dependiendo de cada tarea.
  • 45. Lab: Proceso de Beneficios
  • 46. Formularios • HTML generados automáticamente por la plataforma jBPM. • Basados en los datos de entrada del proceso/tareas. • Personalizables.
  • 48. Generación de Proyecto jBPM • Deploy • Deployment y Process definitions • Ejecución • Tasks List
  • 49. ¿Integración? • APIs: – RUNTIME https://docs.jboss.org/jbpm/v6.2/userguid e/jBPMRemoteAPI.html#remote.java.api – REST https://docs.jboss.org/jbpm/v6.2/usergu ide/jBPMRemoteAPI.html#d0e14165
  • 50. Lab: Ejemplo de Integración • Utilización de Eclipse (JBoss Developer Studio) y GIT. • Clonar desde GitHub: – App Web https://github.com/Psep/beneficiosweb • Modificación según implementación. • Compilación y Deploy. • Pruebas.
  • 51. Extras • (Instalación) Configurar jBPM con una base de datos (MySQL, PostgreSQL, etc) y Dominios de Seguridad https://docs.jboss.org/jbpm/v6.2/userguide/jBPMInstaller. html#d0e950 • Guía de Inicio https://docs.jboss.org/jbpm/v6.2/userguide/jBPMGettingSta rted.html • Drools http://www.drools.org/ • jBPM http://jbpm.org/ • Más ejemplos https://docs.jboss.org/jbpm/v6.2/userguide/jBPMExample s.html#d0e1795
  • 52. ¡Muchas gracias por su Atención!