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 6

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

Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptxjarniel1
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docxssusere34b451
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALGuadalinfoHuscarGuad
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxJohanna4222
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.sofiasonder
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfprofmartinsuarez
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.saravalentinat22
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .itzyrivera61103
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometriasofiasonder
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docxwerito139410
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariaandresingsiseo
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxencinasm992
 

Último (20)

Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 

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!