You are on page 1of 113

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computacin

MANUAL PARTICIPANTE DE LA HERRAMIENTA INTALIO| DESIGNER V6.0 PARA EL MODELADO DE PROCESOS DE NEGOCIO

Elaborado por: - Mayora, Alex

Aprobado por: Rangel, Wilfredo Marquez, Mayerling

Historial de Revisiones
Fecha 6/Marzo/2010 Versin Descripcin 0.9 Desarrollo del documento Autor Alex Mayora

TABLA DE CONTENIDO
OBJETIVO GENERAL DEL CURSO a. Audiencia b. Objetivos del Aprendizaje c. Nivel de Ejecucin

d. Condiciones de Operacin INTRODUCCIN GENERAL DEL CURSO a. Componentes: b. Modelo de Negocio INTRODUCCIN A BPM a. Beneficios de BPM b. Qu es un proceso de negocio? c. Ciclo de vida de un proceso de negocio d. Situacin actual e. La brecha entre negocio e TI f. Beneficios de un BPMS g. Ciclo de desarrollo tradicional h. Entendiendo la complejidad INTRODUCCIN A INTALIO|BPM a. Qu es Intalio|BPM? Conceptos bsicos i. Qu queremos hacer? b. BPMN - Business Process Modeling Notation c. Actividades d. Interaccin INSTALACIN DEL SOFTWARE a. Variables de ambiente b. Cambiando el motor de Base de datos Conceptos bases i. Perspectivas MLTIPLES RUTAS DE TRANSICIN (BIFURCACIONES) a. Bifurcaciones en paralelo b. Comportamiento de las bifurcaciones c. Comportamiento de los subprocesos d. Rutas Excepcionales e. Mejores prcticas f. Consejos Procesos ejecutables i. Modelando g. BPMN vs. BPEL h. Generando BPEL i. Pasos para crear procesos automatizables j. Interaccin con humanos CREACIN DE FORMULARIOS a. XForms b. Intalio|Ajax c. Comportamiento de los formularios PUBLICACIN DE PROCESOS a. Manejo de bucles b. Configuracin de temporizadores Manejo de variables i. Creando variables TEMPO a. Qu tecnologas utiliza?

b. Caractersticas ms importantes c. Caractersticas relevantes d. Componentes de Tempo XForms Manager e. Componentes de Tempo TMP f. Componentes de Tempo Capa de persistencia (TMS) g. Interacciones en Tempo h. Procesos de gestin de Trabajo (PGT) i. El Marco de Seguridad (SFW) j. Servicio de archivos adjuntos de tareas (TAS) JavaServer Pages (JSP) i. Intalio | Designer y JSP k. Ubicacin de los archivos l. Interaccin con bases de datos m. REUTILIZACIN DE PROCESOS Interaccin con servicios web RESET i. Correlacin ii. Pasos iii. Manejo de errores iv. Transacciones v. Manejo de Excepciones vi. Compensaciones Ejemplo de los tipos de Compensaciones i. Descripcin de Secuencia 1. GLOSARIO DEL CURSO 2. BIBLIOGRAFA

OBJETIVO GENERAL DEL CURSO


Audiencia
El curso de Desarrollo de Procesos de Negocio bajo la herramienta Intalio|Designer est dirigido a Desarrolladores; Gerentes de Tecnologa, Analistas de Negocio y Usuarios Finales, con conocimientos bsicos en bases de datos relacionales y desarrollo de aplicaciones Web, SQL; as como navegar estructuras de directorios complejas y editar archivos de configuracin con un editor de texto. No se requiere tener conocimiento alguno sobre la Herramienta Intalio|Designer para poder asistir a ste curso. Nos enfocaremos en el dominio de las tcnicas de modelado y automatizacin de procesos, por lo que est abierta a la participacin de personas de cualquier perfil. Los participantes no requieren habilidades ni experiencia de desarrollo de software, sin embargo se espera que los asistentes tengan experiencia en el anlisis de problemas de negocio (o conocimiento de lo mencionado al inicio del apartado). Profundizando en la capacitacin integral del Curso tambin se obtendr conocimientos de tcnicas avanzada para la automatizacin de procesos de negocio e integracin con otros

sistemas. El perfil de los asistentes requiere un nivel ms avanzado de dominio de temas tcnicos como XML, bases de datos y servicios.

Objetivos del Aprendizaje


Al finalizar el curso de Desarrollo de Procesos de Negocio bajo la herramienta Intalio|Designer, el participante estar en capacidad de: Entender la Arquitectura de Intalio|Designer (versin 6.0) y sus mdulos. Visualizar los procesos desde la perspectiva de una entidad controladora y ejecutora. Capturar detalle de la ejecucin de los procesos. Documentar el rol y responsabilidad de cada actor dentro del proceso. Manejar escenarios de ejecucin para rutas normales y excepcionales. Mantener un mximo de separacin entre la definicin del proceso de negocio y los participantes tecnolgicos.

Nivel de Ejecucin
La duracin del curso de Desarrollo de Procesos de Negocio bajo la herramienta Intalio|Designer tiene una duracin de veinticuatro (24) horas, y cada da estar estructurado segn el siguiente horario: Actividad Sesin matutina 1 Refrigerio Sesin matutina 2 Almuerzo Sesin vespertina 1 Refrigerio Sesin vespertina 2 Hora Inicio 09:00 a.m. 10:15 a.m. 10:30 a.m 12:00 a.m. 1:00 p.m 2:45 p.m. 3:00 p.m. Hora Fin 10:15 a.m. 10:30 a.m. 12:00 p.m 1:00 p.m. 2:45 p.m. 3:00 p.m. 5:00 p.m. Duracin 75 minutos 15 minutos 90 minutos 60 minutos 105 minutos 15 minutos 120 minutos

Condiciones de Operacin
El curso de Desarrollo de Procesos de Negocio bajo la herramienta Intalio|Designer es una combinacin de presentaciones, demostraciones, laboratorios y mejores prcticas. En ste curso, se desarrollarn tres (03) tipos de laboratorios: Actividades de Instalacin (instrucciones paso a paso). Actividades guiadas por el instructor (seguimiento de pasos). Actividades realizadas por el participante (prctica).

INTRODUCCIN GENERAL DEL CURSO


Intalio es un software Open Source basado en Java-J2EE que implementa BPMS, y est basado en un conjunto de Frameworks y arquitecturas muy conocidas en la industria del software y con una madurez aceptable. Intalio utiliza la notacin para disear procesos de negocio establecida por el BPMN que puede adaptarse a los requisitos de las arquitectura orientada servicio (SOA).

Bsicamente, Intalio proporciona un esquema de adopcin sencillo, con bajos costos de propiedad, un soporte bastante amplio de estndares de la industria, un base de comunidades y desarrolladores que contribuyen continuamente con mejoras, correccin y deteccin de bugs, adems cuenta con grandes facilidades para agregar nuevas caractersticas (extensibilidad). Intalio es una herramienta que permite automatizar los procesos de negocio, en los que participan distintos actores humanos y Sistemas de Informacin. Un proceso de negocio es ms amplio que la funcionalidad ofrecida por un nico sistema, de hecho, gran parte de las debilidades de los sistemas actuales ha sido el intentar implementar procesos de negocio a travs de cdigo, base de datos y parametrizacin. Al no estar las herramientas de desarrollo de software orientadas a la creacin de procesos, los resultados han sido implementaciones rgidas que son incapaces de mantener el ritmo que las reas funcionales requieren. Intalio EE es una herramienta de modelado y automatizacin de procesos de negocio. La ejecucin de los procesos con frecuencia deriva en el consumo de servicios, por lo que es posible orquestar las interacciones con ellos a fin de obtener la funcionalidad requerida. Sin embargo Intalio no est por la labor de sustituir herramientas como un bus empresarial (ESB) o la creacin de cdigo para manejar las coreografas de servicios. Componentes:
Una herramienta para el diseo de los procesos Eclipse (ambiente grafico o IDE para el desarrollo java). de negocio, basada en

Un engine (motor) que ejecuta los artefactos de software generados por el diseador de procesos. Un Servidor de Aplicaciones donde residirn los servicios de procesos de negocio que despleguemos.

Modelo de Negocio
El modelo de negocio de Intalio, est basado en una licencia dual. IntalioBPMS se distribuye en 3 ediciones: La edicin abierta de IntalioBPMS, bajo una licencia pblica de Mozilla (MPL), una edicin para la comunidad de IntalioBPMS, y la edicin de IntalioBPMS Enteprise. La edicin abierta incluye aproximadamente el 95% del cdigo usado para la edicin comunitaria y la de empresa. La edicin abierta est desplegada sobre el servidor de Apache Geronimo J2EE, y la base de datos de MySQL. La edicin comunitaria se distribuye con el servidor de IBM WebSphere, junto con MySQL. La edicin empresarial puede desplegarse en otros servidores y bases de datos, su mayor caractersticas es el manejo transaccional.

INTRODUCCIN A BPM
BPM (Gerencia de procesos de negocio) es un enfoque empresarial operativo basado en la coordinacin de l as actividades y decisiones que todas las partes involucradas deben realizar durante un proceso de negocio c on el objetivo de convertirse en una organizacin altamente eficiente, gil, innovadora y adaptable.

Beneficios de BPM
Conocimiento certero de la organizacin Claridad en las relaciones entre las partes Visibilidad de las operaciones Flexibilidad y agilidad para adaptarse

Qu es un proceso de negocio?
Es un conjunto de actividades y decisiones, iniciadas por la ocurrencia de un evento especifico, que se ejecutan de forma coordinada para alcanzar un objetivo de negocio concreto.

Ciclo de vida de un proceso de negocio

INTRODUCCIN A BPMS
Situacin actual
TI es generalmente el motor de una organizacin. Habilidades y tecnologas cada vez mas especializadas. La comunicacin efectiva con TI es crtica para el negocio.

Generalmente el conocimiento del negocio es un requisito deseable para los integrantes de TI.

La brecha entre negocio e TI

Qu es un BPMS?

Un BPMS (Sistema de gestin de procesos de negocio) es una coleccin integrada de tecnologas de sof tware que permiten control, manejo y mejoramiento continuo de los procesos a travs de la automatizacin de su ciclo de vida.

Beneficios de un BPMS
Manejo del ciclo de vida de los procesos Ahorro de costos de desarrollo y mantenimiento de software Ciclos de innovacin ms cortos Reduce las barreras de participacin de sistemas y humanos en los procesos.

Ciclo de desarrollo tradicional

Ciclo de desarrollo con un BPMS

Entendiendo la complejidad
Procesos de negocios son complejos Distintas perspectivas de cada participante Diagramas de flujo son insuficientes Curva de aprendizaje para desarrollo orientado a modelado.

INTRODUCCIN A INTALIO|BPM
Qu es Intalio|BPM?
Intalio|BPMEE es una solucin integral de BPMS construida bajo filosofa de cdigo abierto, basada en estndares y optimizada para atender los distintos tipos de requerimientos del mbito empresarial.

Intalio|BPM EE

Intalio|Server Intalio|Designer Intalio|BRE Intalio|ESB Intalio|BAM Intalio|ECM Intalio|Portal

Componentes Base
Orge nes en cdigo abierto Licen cias abiertas para uso comercial Por separado no constituyen un BPMS

Estndares soportados

XML 1.1 XML Namespaces 1.0

XML Schema XPath 1.0 / 2.0 XQuery 1.0 WSDL 1.1 SOAP 1.1 WSAddressing WSSecurity 1.1 WSBasicProfile 1.1 WSBasic Security Profile 1.1 BPEL 1.1 BPMN 1.2

Conceptos bsicos
Qu queremos hacer? Modelar y automatizar una secuencia de actividades que coordine las tareas de sistemas, humanos y procesos para lograr la representacin de un proceso de negocio. Modelar = Documentar consenso Simple Explicita Automatizar = Garantizar flujo de informacin Quin hace qu?, cundo y con qu informacin? Las tareas las realizan sistemas, humanos y procesos El BPMS es una instancia coordinadora, no ejecutora

BPMN - Business Process Modeling Notation Desarrollado originalmente por la BPMI Mantenido actualmente por el OMG

Versin actual 1.2. Versin 2.0 en desarrollo. Notacin grafica estandarizada para el modelado de procesos de negocio.

Simple pero rico semnticamente

Roles y responsabilidades

Secuencias de Actividades en el tiempo

Perspectiva de cada participante

Alto nivel de detalle e integracin

Elementos bsicos de BPMN

3 tipos de smbolos

Eventos Actividades Decisiones

3 Tipos de Conexiones Flujo Interaccin Asociacin

2 formas de agrupar Pools Lanes

2 artefactos

Datos Asociacin

Participantes

Cualquier recurso involucrado en un proceso 3 tipos de participantes Sistema Humano Proceso

Representado por un Pool Nombrar el Pool como el participante Dejar un Pool para representar el proceso que se est documentando Al menos un Pool para representar un sistema o humano. Ejecutabl e vs. No Ejecutable

Actividades
Representa una accin dentro del proceso. Una actividad puede ser una tarea o un subproceso. Un subproceso es una actividad compuesta. Un subproceso puede mostrarse expandido o contrado.

Transicin

Define como un participante ejecuta sus tareas Se representa con conectores de flujo Una tarea sin transicin previa es un punto de inicio del proceso.

Interaccin
Refiere a intercambio de mensajes y datos entre participantes. Dentro de un Pool no existe interaccin Se representa con una lnea punteada En un proceso automatizado, todas las interacciones son entre el proceso y los participantes. El BPMS se comporta como una autoridad controladora: Conoce todas las tareas, eventos y decisiones del proceso Mantiene el estado del proceso

Datos del Proceso y del Contexto


Informacin estructurada que pertenece al proceso. Cada instancia de proceso tiene su propio almacn de datos.

Los participantes distintos al proceso, obtienen acceso a los datos del proceso a travs de interacciones. Cada participante puede mantener sus propios datos. Los datos del proceso estn asociados a un contexto. El Pool del proceso, es el contexto mas externo. Cada subproceso representa un contexto anidado. Una actividad puede acceder a los datos del contextos en que existe. Una actividad no puede acceder los datos de un contexto mas anidado.

INSTALACIN DEL SOFTWARE


Instalar JDK o JRE. Configurar variable de ambiente JAVA_HOME o JRE_HOME. Descomprimir Intalio|Designer. Copiar archivo de licencia a directorio base de designer. Iniciar con designer.exe o designer.

Descomprimir Intalio|Server. Copiar archivo de licencia a /var/config. Iniciar con /bin/startup.bat o /bin/startup.sh

Variables de ambiente
Linux export JAVA_HOME=/usr/bin...... echo $JAVA_HOME Windows Propiedades del sistema Variables de entorno Ej: JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_10

Solucionando problemas
Revise logs en /var/logs/bpms.

Verifique la variable de ambiente. c:\>"%JAVA_HOME%\bin\java" versionjava version "1.6.0_10

Java(TM) SE Runtime Environment (build 1.6.0_10-b33) Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing) Verifique disponibilidad de puertos Windows: netstat -na | find /i "LISTENING" Linux: netstat nap | grep LISTENING 1099 -RMI Naming 1527 -Derby Connector 1528 -Derby Connector 2099 -JMX port for ODE 4201 -ActiveIO Connector EJB 4242 -Remote Login Listener 8009 -Jetty Connector AJP13 8080 -Jetty Connector HTTP 8443 -Jetty Connector HTTPS 9999 -JMX Remoting Connector

Cambiando el motor de Base de datos


Distribuido por defecto con Apache Derby Scripts para otras bases de datos en /databases

Sustituir contenido de /conf/resources.propertiespor el de /databases/[DB]/tomcat-5resources.propertiesajustado al ambiente a usar. Reiniciar servidor Publicar procesos existentes

Intalio Designer
Herramienta de modelado Ambiente de desarrollo de automatizacin Basado en Eclipse

Conceptos bases
Espacios de trabajos (workspaces) Perspectivas Vistas

Espacio de trabajo

Perspectivas In talio|Designer Int alio|Designer Form Editor Int alio|Designer Modeling

Vistas Process Explorer Paleta

Outline

Properties

Data Editor

Problems

Mapper

Workflow form editor palette

Otras vistas

Creando el primer proyecto


Nuevo Intalio|Designer Business Process Project

Proporcionar:

Nombre (sin espacios) Espacio de nombre base Direccin del Intalio|Server

El proyecto se encuentra listo para agregar artefactos

Agregar un Business Process Diagram

Seleccione carpeta destino y proporcione el nombre

Primer diagrama con el primer pool

Primer diagrama con el primer pool

Agregando elementos al diagrama Pop up. Clic paleta, clic diagrama. Doble clic paleta, clic, clic, clic en diagrama. Arrastrando transiciones, interacciones y asociaciones.

Submen Change activity type. Organizando elementos del diagrama Espacio. Tamao. Alineacin visual. Men alinear. Agrupacin. Cambiando texto, colores y fuentes.

Ejemplos: Modele una secuencia de 5 tareas llamadas A,B,C,D,E

Convierta la tarea B en un subproceso que contenga las tareas B1 y B2

MLTIPLES RUTAS DE TRANSICIN (BIFURCACIONES)


Bifurcaciones en paralelo
Los procesos con frecuencia requieren que mltiples eventos y tareas ocurran en paralelo

Bifurcacin paralela

Comportamiento de las bifurcaciones


Sincronizacin implcita Co mportamiento sin especificar Cua lquier ruta puede continuar en el punto de sincronizacin en cualquier momento.

Sincronizacin explicita Tod as las rutas deben completarse antes de que el proceso contine.

Ejemplo:
A es la primera tareas en ejecutarse B,D y E inician a la vez F se ejecuta despus de que C,D y E hayan todas terminado

La tarea C debe ejecutarse en paralelo con el subproceso B

Bifurcaciones condicionales

Las distintas rutas se ejecutan cuando se cumplen ciertas condiciones Solo una ruta se ejecuta Exclusivo

Inclusivo

Al menos una ruta se ejecuta Puede tomar ms de una ruta y se comporta como un paralelo Importante: Sincronizar con el mismo smbolo que se inicia la bifurcacin

La ruta por defecto se toma cuando las otras condiciones no se evalan como verdaderas Exclusivo: (A o B ), sino C Inclusivo: Si no (A y/o B) entonces C

Ejemplo: Bajo ciertas condiciones, es necesario no ejecutar la tarea C:

Comportamiento de los subprocesos


Si existen mltiples puntos de inicio en un subproceso, cada ruta se ejecuta en paralelo. - Forma incorrecta:

- Forma correcta:

Manejo de Eventos
Smbolos de eventos Los eventos de inicio son dibujados con una lnea delgada. Los eventos intermedios son dibujados con una lnea delgada doble Los eventos de fin son dibujados con una lnea gruesa

Los eventos de inicio son dibujados con una lnea delgada. Los eventos intermedios son dibujados con una lnea delgada doble Los eventos de fin son dibujados con una lnea gruesa Cada smbolo hereda el comportamiento definido externamente y agrega su propio significado.

Smbolos de especficos:

eventos

Eventos vacos
Evento de inicio vaco: Ilustra que el proceso inicia en ese punto, pero sin ninguna informacin sobre el tipo de evento.

Evento intermedio vaco: o Indic a un cambio de estado del diagrama o o de Punt

captura de indicadores de gestin

Eventos vacos
Evento de fin vaco: Ilus tra que el proceso culmina, Los procesos pueden tener mltiples puntos de fin Evento terminar Deti ene el proceso inmediatamente, incluyendo cualquier ruta paralela

Eventos en los subprocesos


En un subproceso se puede usar eventos de inicio y fin. Los eventos estn implcitos. Su uso mejora la legibilidad del diagrama

Eventos intermedios

Temporizadores
Evento intermedio con temporizador El proceso espera un periodo de tiempo antes de continuar Ejercicio Bajo ciertas condiciones en vez de ejecutar C debemos terminar el proceso, incluyendo las actividades del subproceso B.

Queremos esperar un tiempo entre que termina B1 y el inicio de B2

Eventos de Mensajes

Evento de inicio de mensaje. El proceso inicia cuando se recibe un mensaje desde otro participante

Evento fin de mensaje. El proceso termina enviando un mensaje a otro participante

Evento intermedio de mensaje. El proceso espera hasta recibir un mensaje desde otro participante

Flujo de proceso vs. Flujo de datos


El flujo del proceso define como ocurre una secuencia de actividades desde la perspectiva de un participante.

El flujo de datos define como la informacin es intercambiada entre participantes.

Flujo basado en eventos


Decisin de ruta a ejecutar basada en la primera ocurrencia de un evento externo Los eventos pueden ser de distintos tipos Solo una ruta se ejecuta por lo que sincroniza con una bifurcacin exclusiva

Ejemplo: Cul de estos diagramas es correcto?

Ejemplo: Flujo de datos en los eventos y tareas

Ejemplo: La tarea A es realmente la recepcin inicial de un mensaje de un participante Cajero. La tarea E es realmente el envo final de un mensaje a un participante Contabilidad

Rutas Excepcionales
BPMN tiene una forma elegante de manejar rutas excepcionales

Automticamente escala tareas retrasadas

Mltiples eventos intermedios pueden ser colocados en el borde de un subproceso. Eventos de error

Eventos de temporizador Eventos de compensacin

Ejemplo: Si el subproceso B no termina en un tiempo determinado es necesario ejecutar una tarea escalar

Mejores prcticas
Objetivos al modelar en BPMN Ser eficientes capturando la informacin del proceso. Reducir errores de interpretacin Transferir conocimiento

Hacer los diagramas tan fciles de leer como sea posible

Consejos
Cree los procesos inicialmente usando solo smbolos de tareas. Luego cambie el smbolo para detallar ms el comportamiento del proceso.

Concntrese en documentar el proceso. No intente agregar participantes desde las primeras fases de modelado. Luego de tener un acuerdo sobre el flujo del proceso, agregue participantes e interacciones.

Agregar participantes antes tiene a mantener el foco en detalles de forma prematura y a causar la necesidad de re-diagramar el proceso.

Utilice el artefacto de anotacin para agregar informacin importante a transferir.

El artefacto de Agrupar no tiene impacto en la ejecucin del proceso. Utilcelo para representar tareas relacionadas o documentar fases.

Asgnele nombres a sus tareas considerando la perspectiva del participante que la ejecuta

Coloque la pregunta asociada en cada bifurcacin Cada ruta representa una respuesta, asgnele una etiqueta para documentarla en el diagrama

Una bifurcacin hace una sola pregunta. Evite condiciones que no estn relacionadas entre s.

Utilice condiciones de cascada en ese caso.

Las condiciones pueden ser anidadas

En ese caso, use subprocesos para evitar confusin y mejorar la legibilidad

Cada objeto puede tener un color distinto. Use esta opcin para hacer sus diagramas ms simples de leer. Adopte una convencin y apguese a ella.

PRCTICA
Ejercicio A
Despus de un incendio, por un lado se necesita obtener informacin de nuestra compaa de seguro. Por otro lado, es posible que necesitemos informacin adicional del departamento de bomberos, pero solo si los bomberos participaron durante el apagado del incendio. Cuando se tenga toda la informacin, se necesita escribir un informe consolidado

Ejercicio B
Nuestros productos estn listos para ser enviados. Para determinar que compaa de envo utilizar, enviamos 3 mensajes separados a cada una pidindole que despachen nuestros productos. La primera compaa que responda que puede hacer el envi es la escogida

Ejercicio C
1. 2. 3. Un proceso cliente enva una peticin para que se realice una solicitud y aprobacin de fondos. Se solicita y recibe la informacin de la solicitud de un empleado. Se solicita y recibe la aprobacin de la solicitud de un gerente.

4. 5. 6.

Si la solicitud del empleado es rechazada se vuelve al paso #2. Si se aprueba la solicitud, se solicita y recibe informacin contable al director del rea. Se solicita y recibe la revisin del departamento de finanzas. Este departamento puede: a. b. c. Aprobar. Rechazar basados en la informacin de la solicitud del empleado. Rechazar basados en la informacin contable proporcionada por el director.

7. Si el departamento de finanzas rechaz basado en la solicitud del empleado, se debe volver al paso #2. 8. #5. Si el departamento de finanza rechaz basado en la informacin contable, se debe volver al paso

Si el departamento de finanzas aprob, el proceso finaliza enviando un mensaje al proceso cliente.

BPEL - DEL DISEO A LA EJECUCIN Procesos ejecutables


Proceso base Un empleado enva una informacin para ser revisada. A un gerente se le enva la informacin para su revisin, quien tiene la potestad de aprobarla o rechazarla. Si se aprueba, el empleado recibe una notificacin y el proceso culmina. De lo contrario al empleado se le enva la informacin para su correccin. El empleado procede a realizar los cambios y a enviar la informacin de vuelta. Luego se enva una notificacin al gerente y el proceso culmina.

- Esto funciona (poco explcito):

- Esto funciona (ms explcito):

Modelando Un proceso puede ser ejecutable antes de estar correctamente modelado. El objetivo final es tener procesos ejecutables correctamente modelados.

En el camino, es posible validar el proceso sin necesidad de invertir todo el esfuerzo para modelarlo correctamente.

BPMN vs. BPEL


BPMN es un lenguaje de modelado de procesos de negocio

BPEL (Business Process Execution Language) es un lenguaje de ejecucin de procesos de negocio. En Intalio|Designer modelamos en BPMN

Al salvar en Intalio|Designer, se genera automticamente cdigo BPEL. Intalio|Server ejecuta BPEL. En BPEL se pueden hacer: Actividades basicas: invoke, recieve, reply, assign, throw, wait, empty, exit, rethrow Actividades estructuradas: sequence, if, while, repeatUntil, pick, flow, foreach No existe una correspondencia 1 a 1 entre BPMN y BPEL. No hay que aprender BPEL para poder automatizar procesos de negocio.

Generando BPEL
Lo modelado en pools no ejecutables no genera cdigo.

Lo modelado en pools ejecutables genera cdigo BPEL.

Las interacciones salientes de pools ejecutables representan servicios consumidos por el proceso.

Las interacciones entrantes de pools ejecutables representan servicios provistos por el proceso.

Las interacciones, indiferentemente de su direccin, generan variables para almacenar la informacin que intercambian datos.

Pasos para crear procesos automatizables


Definir como son los servicios expuestos por el proceso Definir como se consumen los servicios ofrecidos por los participantes. Garantizar el flujo de informacin entre las distintas actividades. Realizar la interaccin con otros procesos humanos y/o sistemas.

Interaccin con humanos


Cmo los humanos interactan con el proceso?

Modos de interaccin con humanos Procesos iniciados por humanos. Actividades de humanos. Notificaciones.

Procesos iniciados por humanos La interfaz de usuario est disponible fuera del contexto del proceso.

El envo de informacin a travs de la interfaz de usuario da inicio a una nueva instancia de proceso.

Variables creadas: form1InitProcessRequestMsg y form1InitProcessResponseMsg.

Actividades de humanos humano. Interaccin en dos pasos: Enviar informacin al humano y recibir informacin del

Utilizado cuando se requiere participacin activa del humano El proceso se detiene a esperar la recepcin de informacin del humano

Variables creadas form1CreateTaskRequest, form1CreateTaskresponse, form1NotifyTaskCompletitionRequest, form1NotifyTaskCompletitionResponse.

Notificaciones Utilizadas para enviar informacin al humano. No se requiere recibir informacin del humano El proceso no se detiene a esperar que la notificacin sea recibida. Variables creadas: form1NotifyRequestMsg y form1NotifyResponseMsg.

De dnde vienen los humanos? Definicin de autenticacin en /var/config/securityConfig.xml Modelo simple de seguridad controlado por /var/config/security.xml Servicio RBAC:

http://[Server]/axis2/services/RBACQueryService?wsdl Extensible va /webapps/ui-fw/WEB-INF/lib/security-api-1.0.2.jar

Autorizacin en las interacciones Definida en tiempo de diseo a travs de propiedades.

En tiempo de ejecucin a travs de la metadata de las tareas.

CREACIN DE FORMULARIOS
XForms
Especificacin mantenida por la W3C Nueva generacin de formularios web basados en XML La estructura del formulario es definida por un esquema XML

Los XForms definen un mecanismo de asociacin de datos entre el modelo y la vista Intalio|BPMS Designer proveed un editor grfico que genera XForms. Intalio|BPMS Workflow soporta XForms.

Intalio|Ajax
Basado en Tibco GI Modelo MVC ejecutado del lado del cliente Mayores posibilidades de Javascript y CSS Autogeneracin de formas Intalio|BPMS Designer incluye el editor de formularios

Formularios a Crear
Para cada interaccin con personas, un formulario ser utilizado

Identificacin de patrones

Comportamiento de los formularios


Input es para enviar datos al formulario Output es para enviar datos al proceso

PUBLICACIN DE PROCESOS
Manejo de bucles
Bucles: Tareas y subprocesos pueden ser configurados como bucles. ForEach: Hacer algo hasta que se cumpla una condicin. While: Hacer algo mientras se cumpla una condicin Repeat: Hacer algo un nmero de veces.

Configuracin de temporizadores
Especificando fechas y duraciones:

Fecha. YYYY-MM-DDTHH:MM:SS-[timezone offset]. 2007-10-30T14:55:00-4. Duracin. PxYxMxDTxHxMxS. P1DT12H30M.

Manejo de variables
Creando variables Nota: Interacciones. Arrastrando elementos o tipos. Data Editor.

Renombre las variables antes de que se genere una con el mismo nombre:

Renombrar variables

Doble click sobre el nombre de la variable Ingrese nuevo nombre

TEMPO
Es una implementacin del estndar Bpel4People, que gestiona diversos patrones de flujo de trabajo. Una de sus principales caractersticas es que expone sus APIs mediante Web Services (personas trabajando con procesos definidos en TI). Qu tecnologas utiliza?
1. 2. Integracin nativa basada en XForms mediante Orbeon Xforms. Integracin de LDAP para autentificacin de usuario y autorizacin basada en roles.

3. 4. 5.

Persistencia de Tareas va JDBC. Persistencia de archivos (attachments), via JDBC. Lista de tareas (interfase de usuario), implementadas mediante Spring MVC y JSP/JSTL.

Caractersticas ms importantes
1. 2. Su modelo de objetos de tareas es extensible. Proporciona tareas para aceptar, completar, cancelar, reasignar, etc.

3. Cuenta con un marco de Seguridad basado en role-based access control (RBAC) y single sign-on (SSO). 4. Cuenta con un set de procesos BPEL definidos para el workflow (asignacin de tareas, estalacin, etc.) 5. 6. 7. Cuenta con servicios para el despliegue (Deployment Service) de las tareas, formas, etc. Soporte de Attachments. Interfaces basadas en Web-service y REST.

Caractersticas relevantes
Tempo es una implementacin de cdigo abierto de los principios de BPEL4People. Existen listas de correo pblicas y de desarrolladores. La arquitectura de tempo consiste en un conjunto de componentes desacoplados: Mayor flexibilidad para los desarrolladores para reemplazar un componente. Capacidad de modificar la interfaz de usuario con otras tecnologas. Encaja en una estrategia SOA.

Componentes de Tempo Interfaz de usuario (UI _FW)


El marco de interfaz de usuario (UIFW) es la aplicacin web que ofrece a los usuarios el acceso a la ejecucin de procesos. Proporciona una pantalla de inicio de sesin y lista de tareas. Es el responsable de mostrar la forma adecuada cuando el usuario selecciona una tarea. UIFW se despliega como un archivo WAR en prcticamente cualquier servidor de aplicaciones J2EE. La interfaz de usuario es donde los usuarios manejan sus tareas. Est compuesta de la pgina de autenticacin y la pgina de acceso a la lista.

UI-FW est construida bajo un patrn MVC. Provee una separacin entre el modelo (la lgica e informacin) y el vista (La interfaz como se muestra al usuario) Modelo: La informacin que se obtiene el TMS Vista: Son paginas JSP. Pantalla de login. El servicio Token Service es llamado para obtener la ficha de seguridad para autenticas al usuario Lista de tareas. Despliega la informacin obtenida de TMS Controlador: Escrito en Java utilizando el Spring MVC (TaskActions.java).

Componentes de Tempo XForms Manager


El Administrador de XForms (XFM), es el responsable de gestionar el cdigo XForms y sus acciones. Este componente es invocado por el marco de la interfaz de usuario cuando el usuario hace clic (con el ratn) en la lista de tareas para se gestione un documento XForms. XFM invoca el los servicios de gestin de tareas para recuperar los datos de la tarea especfica y obtiene la forma XForms a travs del servicio de implementacin de flujo de trabajo. XFM agrega herramientas para las acciones de flujo de trabajo: botnes para enviar o terminar una tarea, herramientas para la gestin de archivos adjuntos, entre otros; este mecanismo permite que se aadan acciones nuevas al formulario sin afectar el cdigo de sus definiciones. XFM utiliza Orbeon Presentation Server para ejecutar XForms., tambin utiliza el idioma Orbeon XPL, y ejecuta acciones del flujo de trabajo invocando el servicio de gestin de tareas y procesos BPEL, los cuales son expuestos como servicios Web. XFM se despliega como un archivo WAR en prcticamente cualquier servidor de aplicaciones J2EE. XForms Manager es usado para ver y editar los formularios relacionados a cada tarea. Responsable de: Despliegue de los XForm. Interaccin con TMP ( ).

Componentes de Tempo TMP


Maneja el ciclo de vida de las tareas de humanos, asignndole estados a cada etapa. Esta implementado como un proceso llamado Task Management Process.

Componentes de Tempo Capa de persistencia (TMS)


El servicio de datos que persiste las tareas en la base de datos proporcionando servicios a las aplicaciones cliente para que puedan acceder y modificar datos de la tarea de una forma segura. TMS es utilizado por el Marco de la interfaz de usuario para recuperar la lista de tareas, el Administrador de XForms para recuperar datos de tareas y los procesos de gestin de tareas para cambiar el estado de la tarea. El componente TMS es implementado en Java como un servicio web mediante Axis2. La capa de persistencia es provista por el Task Management Service (TMS). El TMS est implementado en Java como un servicio Axis2 y provee una interfaz de Web Service Responsable de: Persistir los datos de las tareas en una base de datos de forma segura.

Proveer servicios a las aplicaciones clientes para tener acceso y cambiar la data de las tareas en una forma segura. Usado por: La interfaz de usuario para desplegar la lista de tareas XForms Manager para obtener los datos de las tareas.

Interacciones en Tempo
Lo siguiente es como ocurren las interacciones: Acemos login (entramos en el sitema, "Componente Tempo"). 1. Se enva un Token Service con la identificacin suministrada por el usuario para su verificacin. 2. Si los datos fueron correctos el Token Service retorna un hashCode (es un cdigo encriptado con la sesin del usuario). 3. El hashCode es recibido por la UI-FW y luego se buscan los procesos asociados al usuario que ingreso en el sistema. 4. Es el XForm Manager que despliega las pantallas con los procesos del Usuario y muestra unas opciones (ver la imagen).

Procesos de gestin de Trabajo (PGT)


Gestiona el ciclo de vida de las tareas de flujo de trabajo desde el momento se crea una tarea hasta que finaliza. Es responsable de cambiar los estados de tareas de acuerdo a las normas y las interacciones del usuario tal como se define en sus procesos.

Este componente, invoca el Servicio de Gestin de tareas para cambiar de estado de tareas de una manera segura. Proporciona servicios a los que los usuarios puedan realizar acciones de flujo de trabajo. Tambin interacta con los procesos BPEL donde se utilizan las actividades de flujo de trabajo, a travs del Servicio Dispatcher. El TMP implementa WS-BPEL 2.0 y se despliega en cualquier WS-BPEL 2.0 compatible, como Apache Ode.

El Marco de Seguridad (SFW)


Proporciona un acceso basado en roles de interfaz de control para los sistemas de seguridad, fundamentalmente para la autorizacin, autenticacin y single sign-on. Es utilizado por el Marco de interfaz de usuario para la autenticacin de usuarios en el inicio de sesin y por el Servicio de Gestin de Tareas para la autorizacin de cualquier llamada al TMS.

Servicio de archivos adjuntos de tareas (TAS)


Es un servicio que persiste archivos adjuntos vinculados a las tareas. La API soporta agregar y eliminar los archivos adjuntos (archivos binarios), junto con alguna descripcin y tipo de contenido.

JavaServer Pages (JSP)


JSP es una tecnologa Java que permite generar contenido dinmico para web, en forma de documentos HTML, XML o de otro tipo. Esta tecnologa es un desarrollo de la compaa Sun Microsystems. La Especificacin JSP 1.2 fue la primera que se liber y en la actualidad est disponible la Especificacin JSP 2.1. Las JSP's permiten la utilizacin de cdigo Java mediante scripts. Adems, es posible utilizar algunas acciones JSP predefinidas mediante etiquetas. Estas etiquetas pueden ser enriquecidas mediante la utilizacin de Bibliotecas de Etiquetas (TagLibs o Tag Libraries) externas e incluso personalizadas. Intalio | Designer y JSP Una de las formas para utilizar una interfaz de JSP para capturar la data de un proceso es la aceptacin de la peticin SOAP de un formulario JSP como la interfaz de usuario, adems de poder ofrecer la solicitud de SAP a travs del smbolo del sistema. La forma JSP tiene tres entradas del usuario: - En primer lugar, toma la entrada como "punto final URL" o "End Point URL"

- En segundo lugar, toma la entrada de" Nombre de servicio" o "Service Name" en el WSDL generado. - Tercero que se necesita "mensaje SOAP" o "Type Soap File".

Condiciones previas:

1. Asegrese de que el servidor de Intalio | BPMS est activo y funcionando bien. 2. Asegrese de que el panel de "Process Explorer" no contiene ningn proyecto con el mismo nombre. Ubicacin de los archivos Para el uso de una interfaz JSP deberamos tener a lo sumo 3 tipos de archivos: - Uno con formato *.jsp.

- Otro con formato *.java. - Y por ltimo uno con formato *.class (el archivo compilado del JAVA).
Buscamos la carpeta del servidor de Intalio | BPMS y nos paramos en la raz de sta, ah debemos ubicar 2 carpetas: C:\ ... \intalio-bpms-6.0\webapps\axis2\axis2-web, ac agregamos los archivos JSP de la interfaz deseada. Y la carpera: C:\ ... \intalio-bpms-6.0\webapps\axis2\WEB-INF\classes\, ah creamos una carpeta llamada "wsdl" que contendr los archivos *.java y *.class.

Iniciar la Interfaz para cargar un JSP Abrimos un navegador de Internet y colocamos el siguiente URL para iniciar la carga de la Interfaz en JSP: http://localhost:8080/axis2/axis2-web/<Nombre_de_nuestro_jsp>.jsp.

Ahora el navegador se abrir una pantalla en JSP donde indicaremos el "Nombre de servicio" y "Tipo de archivo SOAP" a utilizar. En "End Point URL" se coloca direccion local donde se encuentra la generada de nuestro servicio en WSDL, si no sabe donde se encuentra bsquelo en: http://localhost:8080/axis2/

En "Service Name" se coloca en nombre de nuestro servicio. Y en "Type Soap File" se coloca una estructura en xml que le indicar como interpretar el servicio, suele ser de la forma:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="<Colocar_el_NameSpace_del_proceso-Puede_ser_ubicado_en_el_bpms-console>"> <soapenv:Body> <inv:EventStartMessageRequest> </inv:EventStartMessageRequest> </soapenv:Body> </soapenv:Envelope> El resultado final es una interfaz JSP desplegando los servicios que sta provea.

Interaccin con bases de datos


Permite consumir directamente desde los procesos sentencias SQL Requiere la existencia de un connection profile. Tipos: Services: Provee servicios cuya implementacin es la ejecucin del cdigo SQL. Es invocado desde el proceso. proceso. Feed: Provee funcionalidad para invocar la consulta SQL y enviar resultados a un

REUTILIZACIN DE PROCESOS
Los servicios que provean interacciones con faltas no pueden participar en plantillas. Se requiere extraer el wsdl de la carpeta build y consumirlo como un servicio web.

Interaccin con servicios web RESET


Correlacin Existen un nmero indeterminado de instancias de procesos. Es necesario asociar mensajes entrantes con la instancia correcta de proceso

La correlacin es el mecanismo para realizar esa asociacin a travs de la definicin de un identificador nico de la instancia de proceso a partir de datos de negocio. Pasos Manejo de errores Los Web services utilizan Faults (faltas) para comunicar que situaciones de error han ocurrido en su ejecucin y que es necesario propagar el error. Dentro de un proceso es posible lanzar Faltas utilizando los Error Events. En el Data Editor. Declarar un <bpel:property>. Crear un correlation set. Asociar el <bpel:property> al correlation set. Crear <bpel:propertyAlias> en las declaraciones de mensajes. Asociar el correlation set a los puntos de recepcin de mensajes. Definir cuales mensajes pueden iniciar procesos y cules no.

El Manejo de error consiste en capturar la ocurrencia. Faltas tcnicas, originadas en participantes externos Faltas estndares, definidas en la especificacin BPEL Faltas de negocio, lanzadas dentro del propio proceso.

Cuando la recuperacin de una situacin de error no es posible, el proceso debe propagar una falta. Las funcionalidades de compensacin, permiten modelar las acciones que realizan el reverso de operaciones de negocio.

Fallas, Excepciones y Compensacin

Actualmente existen tres tipos de mecanismos para gestionar errores en un proceso de negocio: Transacciones, Excepciones, y Compensaciones. Estos tres mecanismos, trabajan juntos para evitar que los procesos fallen.

Este esquema se basa en el principio transaccional basado en el modelo todo o nada, ofreciendo flujos o rutas (paths) alternativos cuando se producen excepciones, las cuales pueden desencadenar acciones compensatorias para deshacer las operaciones fallidas.

Transacciones Una transaccin, es una secuencia de operaciones agrupadas en una unidad indivisible, en la cual se ejecutan todas las tareas o ninguna. Si una tarea, se encuentra dentro de una transaccin y esta no puede ser ejecutada, todas las tareas anteriores que ya han sido ejecutadas deben ser devueltas a su estado original. En un diagrama del proceso (notacin BPMN), se utiliza el sub-proceso para agrupar las actividades dentro de una transaccin. Manejo de Excepciones Una excepcin de negocio reorienta el flujo o ruta del proceso cuando se detecta una excepcin. Por ejemplo, una tarea que debe realizar una operacin de debito, pero la cuenta carece de fondos suficientes. Como resultado de ello, una excepcin puede ser lanzada, y el flujo del proceso es afectado. En un diagrama del proceso, el manejo de excepciones se realiza adjuntado una excepcin a un sub-proceso, conectndola con una actividad que la manejara, para luego retornar a su ruta normal, sino finaliza el proceso antes esta condicin.

Compensaciones Las compensaciones establecen reglas para deshacer tareas si una tarea falla. Por ejemplo, una tarea recibe una transaccin y es completada. Posteriormente, sin embargo, una tarea relacionada no se ejecuta. La tarea de compensacin asociada a la primera actividad se ejecuta, restituyendo la transaccin. La compensacin no se ejecuta si la tarea no tiene asignada una excepcin.

Ejemplo de los tipos de Compensaciones


Este es un ejemplo donde podemos ver la secuencia o ruta del proceso ante diversos escenarios:

Descripcin de Secuencia Sin Excepcin

1. 2.

La Tarea A se ejecuta y completa. La Tarea B Falla, debido a una excepcin de negocio.

3. El proceso de negocio falla porque no hay un manejo de excepciones configurado para el subproceso AB.

Con Excepcin

1. 2. 3. 4.

La Tarea A se ejecuta y completa. La Tarea B se ejecuta y completa. La Tarea C se ejecuta y completa. La Tarea D Falla, debido a una excepcin de negocio.

5. Se ejecuta la Excepcin 1, y luego el proceso de negocio, sigue su ruta (no falla el proceso, porque se considero una excepcin).

Con Compensacin

1. 2. 3. 4. 5. 6. 7. 8.

La Tarea A se ejecuta y completa. La Tarea B se ejecuta y completa. La Tarea C se ejecuta y completa. La Tarea D se ejecuta y completa. La Tarea E se ejecuta y completa. La Tarea F se ejecuta y completa. La Tarea G Falla, debido a una excepcin de negocio. Se ejecuta la actividad de Compensacin 1.

9. A pesar que la tarea de compensacin 1 se ejecuta, el proceso de negocio falla. Para evitar este comportamiento, podemos incluir todas estas actividades dentro de un subproceso.

Conclusiones Generales
Es importante destacar que en calidad de solucin BPM la mayor influencia la tienen la claridad del objetivo buscado y el conocimiento del comportamiento del negocio. Por eso es muy vital que todos los involucrados y/o relacionados al proceso tengan un rol activo dentro de la solucin. Lo ms complicado del modelado en BPM a travs de Intalio no es dominarlo en "per se", sino logar reconocer todas las Actividades y Actores que formarn parte del proceso a Modelar, sto requiere un anlisis exhaustivo y detallado para lograrlo.

http://www.slideshare.net/estebanf/elementos-de-una-solucin-bpm

CONCLUSIN
El uso de Intalio | Designer en el modelado de los Procesos de Negocio permitir tener una mejor coordinacin de las actividades y mayor control al momento de la toma de decisiones logrando as el objetivo de convertirse en una organizacin altamente eficiente, gil, innovadora y adaptable. . . .

GLOSARIO DEL CURSO


En sta seccin se colocarn los acrnimos que sern usados a lo largo del material: BPM: BPMS: BPMN: Intalio EE: BPEL: BAM: BRE: Business Process Management. Business Process Management System Business Process Modeling Notation. Intalio Enterprise Edition. Business Process Execution Language. Business Activity Monitoring. Business Rules Engine.

ESB: ECM: TI: TMS:

Enterprise Service Bus. Enterprise Content Management. Tecnologa de Informacin. Task Management Services.

BIBLIOGRAFA

Para mayor informacin, visite los sitios Web:


http://www.intalio.com/ http://community.intalio.com/ http://www.intalio.org/confluence/display/TEMPO/Home

Prof. Wilfredo Rangel Prof. Mayerling Marquez Alumno: Alex Mayora

Sistemas de Informacin Pgina Semestre I - 2010

You might also like