SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
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

Conceptos generales de sia
Conceptos generales de siaConceptos generales de sia
Conceptos generales de siaAntonio 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 ServerSolidQ
 
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 Frameworkexcedesoft
 
Metodología de SI
Metodología de SIMetodología de SI
Metodología de SIsullinsan
 
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 2012Carlos Nacianceno
 
metodologias de desarrollo.ppt
metodologias de desarrollo.pptmetodologias de desarrollo.ppt
metodologias de desarrollo.pptCristianFlasher1
 
¡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 (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
MetodologíaMetodología
Metodología
 
Metodología de SI
Metodología de SIMetodología de SI
Metodología de SI
 
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

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 

Último (20)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 

Introducción a jBPM

  • 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!