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 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?
“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

Similar a Introducción a jBPM 6

Conceptos generales de sia
Conceptos generales de siaConceptos generales de sia
Conceptos generales de sia
Antonio Atenas
 
Conceptos generales de sia
Conceptos generales de siaConceptos generales de sia
Conceptos generales de siaAntonio Atenas
 
Buenas prácticas que debes seguir en la administración de tu SQL Server
Buenas prácticas que debes seguir en la administración de tu SQL ServerBuenas prácticas que debes seguir en la administración de tu SQL Server
Buenas prácticas que debes seguir en la administración de tu SQL Server
SolidQ
 
Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2
Ingrid Figueroa Mendoza
 
Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2
Ingrid Figueroa Mendoza
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
excedesoft
 
RUP.pdf
RUP.pdfRUP.pdf
DBA del Futuro (Un nuevo paradigma)
DBA del Futuro (Un nuevo paradigma)DBA del Futuro (Un nuevo paradigma)
DBA del Futuro (Un nuevo paradigma)
Oracle User Group Mexico
 
Metodología de SI
Metodología de SIMetodología de SI
Metodología de SI
sullinsan
 
Metodología
MetodologíaMetodología
Metodología
Jose Solorzano
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Educagratis
 
Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012
Carlos Nacianceno
 
metodologias de desarrollo.ppt
metodologias de desarrollo.pptmetodologias de desarrollo.ppt
metodologias de desarrollo.ppt
CristianFlasher1
 
Web Day Devops - Plain Concepts
Web Day Devops - Plain ConceptsWeb Day Devops - Plain Concepts
Web Day Devops - Plain Concepts
Manuel Rodrigo Cabello Malagón
 
Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)
Ignacio Sánchez Holgueras
 
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
JuanKa Díaz - jdevelopia
 
Fases de un proyecto de desarrollo de Softwareo Orientado a la Web-Charles Fr...
Fases de un proyecto de desarrollo de Softwareo Orientado a la Web-Charles Fr...Fases de un proyecto de desarrollo de Softwareo Orientado a la Web-Charles Fr...
Fases de un proyecto de desarrollo de Softwareo Orientado a la Web-Charles Fr...
Charles Aldahir Franco Verdezoto
 
Testing y Open Source ¿Choque de dos mundos?
Testing y Open Source ¿Choque de dos mundos?Testing y Open Source ¿Choque de dos mundos?
Testing y Open Source ¿Choque de dos mundos?
Software Guru
 

Similar a Introducción a jBPM 6 (20)

Conceptos generales de sia
Conceptos generales de siaConceptos generales de sia
Conceptos generales de sia
 
Conceptos generales de sia
Conceptos generales de siaConceptos generales de sia
Conceptos generales de sia
 
Buenas prácticas que debes seguir en la administración de tu SQL Server
Buenas prácticas que debes seguir en la administración de tu SQL ServerBuenas prácticas que debes seguir en la administración de tu SQL Server
Buenas prácticas que debes seguir en la administración de tu SQL Server
 
Clase 11
Clase 11Clase 11
Clase 11
 
Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2
 
Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
 
RUP.pdf
RUP.pdfRUP.pdf
RUP.pdf
 
DBA del Futuro (Un nuevo paradigma)
DBA del Futuro (Un nuevo paradigma)DBA del Futuro (Un nuevo paradigma)
DBA del Futuro (Un nuevo paradigma)
 
Metodología de SI
Metodología de SIMetodología de SI
Metodología de SI
 
Metodología
MetodologíaMetodología
Metodología
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
 
Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012
 
metodologias de desarrollo.ppt
metodologias de desarrollo.pptmetodologias de desarrollo.ppt
metodologias de desarrollo.ppt
 
Web Day Devops - Plain Concepts
Web Day Devops - Plain ConceptsWeb Day Devops - Plain Concepts
Web Day Devops - Plain Concepts
 
Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)
 
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
¡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...
Fases de un proyecto de desarrollo de Softwareo Orientado a la Web-Charles Fr...Fases de un proyecto de desarrollo de Softwareo Orientado a la Web-Charles Fr...
Fases de un proyecto de desarrollo de Softwareo Orientado a la Web-Charles Fr...
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Testing y Open Source ¿Choque de dos mundos?
Testing y Open Source ¿Choque de dos mundos?Testing y Open Source ¿Choque de dos mundos?
Testing y Open Source ¿Choque de dos mundos?
 

Último

EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 

Último (20)

EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 

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
  • 4.
  • 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?
  • 8.
  • 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!