Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación

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 Versión Descripción 0.9 Desarrollo del documento Autor Alex Mayora

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

d. Condiciones de Operación INTRODUCCIÓN GENERAL DEL CURSO a. Componentes: b. Modelo de Negocio INTRODUCCIÓN A BPM a. Beneficios de BPM b. ¿Qué es un proceso de negocio? c. Ciclo de vida de un proceso de negocio d. Situación actual e. La brecha entre negocio e TI f. Beneficios de un BPMS g. Ciclo de desarrollo tradicional h. Entendiendo la complejidad INTRODUCCIÓN A INTALIO|BPM a. ¿Qué es Intalio|BPM? Conceptos básicos i. ¿Qué queremos hacer? b. BPMN - Business Process Modeling Notation c. Actividades d. Interacción INSTALACIÓN DEL SOFTWARE a. Variables de ambiente b. Cambiando el motor de Base de datos Conceptos bases i. Perspectivas MÚLTIPLES RUTAS DE TRANSICIÓN (BIFURCACIONES) a. Bifurcaciones en paralelo b. Comportamiento de las bifurcaciones c. Comportamiento de los subprocesos d. Rutas Excepcionales e. Mejores prácticas f. Consejos Procesos ejecutables i. Modelando g. BPMN vs. BPEL h. Generando BPEL i. Pasos para crear procesos automatizables j. Interacción con humanos CREACIÓN DE FORMULARIOS a. XForms b. Intalio|Ajax c. Comportamiento de los formularios PUBLICACIÓN DE PROCESOS a. Manejo de bucles b. Configuración de temporizadores Manejo de variables i. Creando variables TEMPO a. ¿Qué tecnologías utiliza?

b. Características más importantes c. Características 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 gestión 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. Ubicación de los archivos l. Interacción con bases de datos m. REUTILIZACIÓN DE PROCESOS Interacción con servicios web RESET i. Correlación ii. Pasos iii. Manejo de errores iv. Transacciones v. Manejo de Excepciones vi. Compensaciones Ejemplo de los tipos de Compensaciones i. Descripción de Secuencia 1. GLOSARIO DEL CURSO 2. BIBLIOGRAFÍA

OBJETIVO GENERAL DEL CURSO
Audiencia
El curso de Desarrollo de Procesos de Negocio bajo la herramienta Intalio|Designer está dirigido a Desarrolladores; Gerentes de Tecnología, Analistas de Negocio y Usuarios Finales, con conocimientos básicos en bases de datos relacionales y desarrollo de aplicaciones Web, SQL; así como navegar estructuras de directorios complejas y editar archivos de configuración 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 técnicas de modelado y automatización de procesos, por lo que está abierta a la participación 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 análisis de problemas de negocio (o conocimiento de lo mencionado al inicio del apartado). Profundizando en la capacitación integral del Curso también se obtendrá conocimientos de técnicas avanzada para la automatización de procesos de negocio e integración con otros

5:00 p.m. Intalio utiliza la notación para diseñar procesos de negocio establecida por el BPMN que puede adaptarse a los requisitos de las arquitectura orientada servicio (SOA).m. 10:30 a. demostraciones.m.sistemas. se desarrollarán tres (03) tipos de laboratorios: • • • Actividades de Instalación (instrucciones paso a paso). 10:15 a. INTRODUCCIÓN GENERAL DEL CURSO Intalio es un software Open Source basado en Java-J2EE que implementa BPMS. el participante estará en capacidad de: • • • • • • Entender la Arquitectura de Intalio|Designer (versión 6.m.m. 1:00 p. Mantener un máximo de separación entre la definición del proceso de negocio y los participantes tecnológicos. 3:00 p. En éste curso.m 2:45 p. y está basado en un conjunto de Frameworks y arquitecturas muy conocidas en la industria del software y con una madurez aceptable.m 1:00 p. Objetivos del Aprendizaje Al finalizar el curso de Desarrollo de Procesos de Negocio bajo la herramienta Intalio|Designer. 3:00 p. Capturar detalle de la ejecución de los procesos. Visualizar los procesos desde la perspectiva de una entidad controladora y ejecutora. . y cada día estará estructurado según el siguiente horario: Actividad Sesión matutina 1 Refrigerio Sesión matutina 2 Almuerzo Sesión vespertina 1 Refrigerio Sesión vespertina 2 Hora Inicio 09:00 a. El perfil de los asistentes requiere un nivel más avanzado de dominio de temas técnicos como XML.m. Duración 75 minutos 15 minutos 90 minutos 60 minutos 105 minutos 15 minutos 120 minutos Condiciones de Operación El curso de Desarrollo de Procesos de Negocio bajo la herramienta Intalio|Designer es una combinación de presentaciones. Actividades realizadas por el participante (práctica). laboratorios y mejores prácticas.m. 10:30 a. bases de datos y servicios.m.0) y sus módulos. 12:00 p. Nivel de Ejecución La duración del curso de Desarrollo de Procesos de Negocio bajo la herramienta Intalio|Designer tiene una duración de veinticuatro (24) horas.m. Manejar escenarios de ejecución para rutas normales y excepcionales.m 12:00 a. 2:45 p. Documentar el rol y responsabilidad de cada actor dentro del proceso. Actividades guiadas por el instructor (seguimiento de pasos).m.m. Hora Fin 10:15 a.

en los que participan distintos actores humanos y Sistemas de Información. La edición abierta está desplegada sobre el servidor de Apache Geronimo J2EE. los resultados han sido implementaciones rígidas que son incapaces de mantener el ritmo que las áreas funcionales requieren. La edición empresarial puede desplegarse en otros servidores y bases de datos. bajo una licencia pública de Mozilla (MPL). de negocio. una edición para la comunidad de IntalioBPMS. junto con MySQL. La edición comunitaria se distribuye con el servidor de IBM WebSphere. basada en • Un engine (motor) que ejecuta los artefactos de software generados por el diseñador de procesos. Intalio es una herramienta que permite automatizar los procesos de negocio. su mayor características es el manejo transaccional. base de datos y parametrización. Intalio proporciona un esquema de adopción sencillo. está basado en una licencia dual. un base de comunidades y desarrolladores que contribuyen continuamente con mejoras. Un proceso de negocio es más amplio que la funcionalidad ofrecida por un único sistema. con bajos costos de propiedad. La ejecución de los procesos con frecuencia deriva en el consumo de servicios. corrección y detección de bugs. además cuenta con grandes facilidades para agregar nuevas características (extensibilidad). gran parte de las debilidades de los sistemas actuales ha sido el intentar implementar procesos de negocio a través de código. y la base de datos de MySQL. y la edición de IntalioBPMS Enteprise. . de hecho.Básicamente. Modelo de Negocio • • • • El modelo de negocio de Intalio. Sin embargo Intalio no está por la labor de sustituir herramientas como un bus empresarial (ESB) o la creación de código para manejar las coreografías de servicios. por lo que es posible orquestar las interacciones con ellos a fin de obtener la funcionalidad requerida. Componentes: • Una herramienta para el diseño de los procesos Eclipse (ambiente grafico o IDE para el desarrollo java). un soporte bastante amplio de estándares de la industria. Al no estar las herramientas de desarrollo de software orientadas a la creación de procesos. La edición abierta incluye aproximadamente el 95% del código usado para la edición comunitaria y la de empresa. Intalio EE es una herramienta de modelado y automatización de procesos de negocio. • Un Servidor de Aplicaciones donde residirán los servicios de procesos de negocio que despleguemos. IntalioBPMS se distribuye en 3 ediciones: La edición abierta de IntalioBPMS.

iniciadas por la ocurrencia de un evento especifico. Beneficios de BPM • • • • Conocimiento certero de la organización 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. Ciclo de vida de un proceso de negocio .INTRODUCCIÓN A BPM BPM (Gerencia de procesos de negocio) es un enfoque empresarial operativo basado en la coordinación 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 organización altamente eficiente. que se ejecutan de forma coordinada para alcanzar un objetivo de negocio concreto. innovadora y adaptable. ágil.

La brecha entre negocio e TI ¿Qué es un BPMS? . La comunicación efectiva con TI es crítica para el negocio. • Generalmente el conocimiento del negocio es un requisito “deseable” para los integrantes de TI. Habilidades y tecnologías cada vez mas especializadas.INTRODUCCIÓN A BPMS Situación actual • • • TI es generalmente el motor de una organización.

Beneficios de un BPMS • • • • Manejo del ciclo de vida de los procesos Ahorro de costos de desarrollo y mantenimiento de software Ciclos de innovación más cortos Reduce las barreras de participación de sistemas y humanos en los procesos. Ciclo de desarrollo tradicional .Un BPMS (Sistema de gestión de procesos de negocio) es una colección integrada de tecnologías de sof tware que permiten control. manejo y mejoramiento continuo de los procesos a través de la automatización de su ciclo de vida.

Intalio|BPM EE .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. basada en estándares y optimizada para atender los distintos tipos de requerimientos del ámbito empresarial. INTRODUCCIÓN A INTALIO|BPM ¿Qué es Intalio|BPM? Intalio|BPMEE es una solución integral de BPMS construida bajo filosofía de código abierto.

0 .• • • • • • • Intalio|Server Intalio|Designer Intalio|BRE Intalio|ESB Intalio|BAM Intalio|ECM Intalio|Portal Componentes Base • Oríge nes en código abierto • Licen cias abiertas para uso comercial • Por separado no constituyen un BPMS Estándares soportados • • XML 1.1 XML Namespaces 1.

0 / 2. • • • • • • • Modelar = Documentar consenso Simple Explicita Automatizar = Garantizar flujo de información ¿Quién hace qué?. ¿cuándo y con qué información? Las tareas las realizan sistemas.• • • • • • • • • • • XML Schema XPath 1.1 BPEL 1. humanos y procesos El BPMS es una instancia coordinadora.1 WSBasicProfile 1.1 BPMN 1.1 SOAP 1.0 WSDL 1.1 WSBasic Security Profile 1.2 Conceptos básicos ¿Qué queremos hacer? Modelar y automatizar una secuencia de actividades que coordine las tareas de sistemas.1 WSAddressing WSSecurity 1.Business Process Modeling Notation • • Desarrollado originalmente por la BPMI Mantenido actualmente por el OMG . humanos y procesos para lograr la representación de un proceso de negocio.0 XQuery 1. no ejecutora BPMN .

Simple pero rico semánticamente Roles y responsabilidades .2.• • • Versión actual 1. Notación grafica estandarizada para el modelado de procesos de negocio.0 en desarrollo. Versión 2.

Secuencias de Actividades en el tiempo .

Perspectiva de cada participante .

Alto nivel de detalle e integración .

Elementos básicos de BPMN • 3 tipos de símbolos .

• • • Eventos Actividades Decisiones • • • • 3 Tipos de Conexiones Flujo Interacción Asociación • • • 2 formas de agrupar Pools Lanes • 2 artefactos .

• • Datos Asociación Participantes .

No Ejecutable .• 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.

Transición • • • Define como un participante ejecuta sus tareas Se representa con conectores de flujo Una tarea sin transición previa es un punto de inicio del proceso. • Un subproceso es una actividad compuesta. • Una actividad puede ser una tarea o un subproceso.Actividades • Representa una acción dentro del proceso. • Un subproceso puede mostrarse expandido o contraído. .

Interacción • • • • • • • Refiere a intercambio de mensajes y datos entre participantes. eventos y decisiones del proceso Mantiene el estado del proceso . El BPMS se comporta como una autoridad controladora: Conoce todas las tareas. todas las interacciones son entre el proceso y los participantes. Dentro de un Pool no existe interacción Se representa con una línea punteada En un proceso automatizado.

Los datos del proceso están asociados a un contexto. Cada subproceso representa un contexto anidado. • Los participantes distintos al proceso. es el contexto mas externo. Cada instancia de proceso tiene su propio almacén de datos. Una actividad no puede acceder los datos de un contexto mas anidado. obtienen acceso a los datos del proceso a través de interacciones.Datos del Proceso y del Contexto • • Información estructurada que pertenece al proceso. . El Pool del proceso. • • • • • • Cada participante puede mantener sus propios datos. Una actividad puede acceder a los datos del contextos en que existe.

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

....6.• • • Descomprimir Intalio|Server.bat o /bin/startup.. echo $JAVA_HOME Windows Propiedades del sistema Variables de entorno Ej: JAVA_HOME=C:\Program Files (x86)\Java\jdk1. Copiar archivo de licencia a /var/config..sh Variables de ambiente • • • • • • • Linux export JAVA_HOME=/usr/bin. Iniciar con /bin/startup.0_10 Solucionando problemas • Revise logs en /var/logs/bpms.

0_10“ Java(TM) SE Runtime Environment (build 1.propertiespor el de /databases/[DB]/tomcat-5resources.6.• • Verifique la variable de ambiente.0-b15. mixed mode.6.0_10-b33) Java HotSpot(TM) Client VM (build 11. 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. c:\>"%JAVA_HOME%\bin\java" –versionjava version "1.propertiesajustado al ambiente a usar. • • Reiniciar servidor Publicar procesos existentes .

Intalio Designer • • • Herramienta de modelado Ambiente de desarrollo de automatización 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 Dirección 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 .

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

D. Alineación visual. Tamaño. Agrupación.B.E • Convierta la tarea B en un subproceso que contenga las tareas B1 y B2 . colores y fuentes. Cambiando texto.C.• • • • • • • • Submenú “Change activity type”. Organizando elementos del diagrama Espacio. • • Ejemplos: Modele una secuencia de 5 tareas llamadas A. Menú alinear.

MÚLTIPLES RUTAS DE TRANSICIÓN (BIFURCACIONES)
Bifurcaciones en paralelo •
Los procesos con frecuencia requieren que múltiples eventos y tareas ocurran en paralelo


Bifurcación paralela

Comportamiento de las bifurcaciones
Sincronización implícita • Co mportamiento sin especificar • Cua lquier ruta puede continuar en el punto de sincronización en cualquier momento.

Sincronización explicita • Tod as las rutas deben completarse antes de que el proceso continúe.

· Ejemplo:
• • • A es la primera tareas en ejecutarse B,D y E inician a la vez F se ejecuta después 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 más de una ruta y se comporta como un paralelo Importante: Sincronizar con el mismo símbolo que se inicia la bifurcación .

• La ruta por defecto se toma cuando las otras condiciones no se evalúan 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 múltiples puntos de inicio en un subproceso.Forma correcta: . .Forma incorrecta: . cada ruta se ejecuta en paralelo.

• Los eventos intermedios son dibujados con una línea delgada doble • Los eventos de fin son dibujados con una línea gruesa • Los eventos de inicio son dibujados con una línea delgada. • Los eventos intermedios son dibujados con una línea delgada doble • Los eventos de fin son dibujados con una línea gruesa Cada símbolo hereda el comportamiento definido externamente y agrega su propio significado.Manejo de Eventos Símbolos de eventos • Los eventos de inicio son dibujados con una línea delgada. Símbolos de específicos: eventos .

Eventos vacíos • Evento de inicio vacío: Ilustra que el proceso inicia en ese punto. pero sin ninguna información sobre el tipo de evento. • Evento intermedio vacío: o Indic a un cambio de estado del diagrama o o de Punt .

Su uso mejora la legibilidad del diagrama . Los eventos están implícitos. incluyendo cualquier ruta paralela Eventos en los subprocesos • • • En un subproceso se puede usar eventos de inicio y fin. • Los procesos pueden tener múltiples puntos de fin Evento terminar • Deti ene el proceso inmediatamente.captura de indicadores de gestión Eventos vacíos Evento de fin vacío: • Ilus tra que el proceso culmina.

Eventos intermedios .

incluyendo las actividades del subproceso B.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. .

• Queremos esperar un tiempo entre que termina B1 y el inicio de B2 Eventos de Mensajes .

• El proceso termina enviando un mensaje a otro participante Evento intermedio de mensaje. • El proceso espera hasta recibir un mensaje desde otro participante . • El proceso inicia cuando se recibe un mensaje desde otro participante Evento fin de mensaje.Evento de inicio de mensaje.

Flujo de proceso vs. Flujo de datos • El flujo del proceso define como ocurre una secuencia de actividades desde la perspectiva de un participante. Flujo basado en eventos • • • Decisión 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 bifurcación exclusiva . • El flujo de datos define como la información es intercambiada entre participantes.

• • Ejemplo: ¿Cuál de estos diagramas es correcto? .

• Ejemplo: • Flujo de datos en los eventos y tareas .

• • • Ejemplo: La tarea A es realmente la recepción inicial de un mensaje de un participante “Cajero”. La tarea E es realmente el envío final de un mensaje a un participante “Contabilidad” .

Rutas Excepcionales • BPMN tiene una forma elegante de manejar rutas excepcionales .

• Eventos de error .• Automáticamente escala tareas retrasadas • Múltiples eventos intermedios pueden ser colocados en el borde de un subproceso.

• • Eventos de temporizador Eventos de compensación • Ejemplo: • Si el subproceso B no termina en un tiempo determinado es necesario ejecutar una tarea “escalar” .

Reducir errores de interpretación Transferir conocimiento .Mejores prácticas • • • • Objetivos al modelar en BPMN Ser eficientes capturando la información del proceso.

• Hacer los diagramas tan fáciles de leer como sea posible Consejos • Cree los procesos inicialmente usando solo símbolos de tareas. . Luego de tener un acuerdo sobre el flujo del proceso. agregue participantes e interacciones. No intente agregar participantes desde las primeras fases de modelado. • Agregar participantes antes tiene a mantener el foco en detalles de forma prematura y a causar la necesidad de re-diagramar el proceso. • • • Concéntrese en documentar el proceso. Luego cambie el símbolo para detallar más el comportamiento del proceso.

.• Utilice el artefacto de anotación para agregar información importante a transferir.

• Asígnele nombres a sus tareas considerando la perspectiva del participante que la ejecuta .• • El artefacto de Agrupar no tiene impacto en la ejecución del proceso. Utilícelo para representar tareas relacionadas o documentar fases.

• • Coloque “la pregunta” asociada en cada bifurcación Cada ruta representa una respuesta. asígnele una etiqueta para documentarla en el diagrama .

• Una bifurcación hace una sola pregunta. • Evite condiciones que no estén relacionadas entre sí. • Las condiciones pueden ser anidadas . • Utilice condiciones de cascada en ese caso.

• En ese caso. Use esta opción para hacer sus diagramas más simples de leer. use subprocesos para evitar confusión y mejorar la legibilidad • Cada objeto puede tener un color distinto. Adopte una convención y apéguese a ella. .

Cuando se tenga toda la información. se necesita escribir un informe consolidado . por un lado se necesita obtener información de nuestra compañía de seguro. pero solo si los bomberos participaron durante el apagado del incendio. es posible que necesitemos información adicional del departamento de bomberos. Por otro lado.PRÁCTICA Ejercicio A Después de un incendio.

Ejercicio B Nuestros productos están listos para ser enviados. enviamos 3 mensajes separados a cada una pidiéndole que despachen nuestros productos. La primera compañía que responda que puede hacer el envió es la escogida . Para determinar que compañía de envío utilizar.

Un proceso cliente envía una petición para que se realice una solicitud y aprobación de fondos. 3. 2. . Se solicita y recibe la aprobación de la solicitud de un gerente.Ejercicio C 1. Se solicita y recibe la información de la solicitud de un empleado.

Rechazar basados en la información contable proporcionada por el director. se debe volver al paso #2. Se solicita y recibe la revisión del departamento de finanzas. Si se aprueba la solicitud. se debe volver al paso Si el departamento de finanzas aprobó. 6. Si el departamento de finanzas rechazó basado en la solicitud del empleado. 7.4. Aprobar. c. se solicita y recibe información contable al director del área. Este departamento puede: a. Rechazar basados en la información de la solicitud del empleado. #5. Si el departamento de finanza rechazó basado en la información contable. 8. 5. b. . Si la solicitud del empleado es rechazada se vuelve al paso #2. el proceso finaliza enviando un mensaje al proceso cliente.

.

BPEL . Si se aprueba. El empleado procede a realizar los cambios y a enviar la información de vuelta. . De lo contrario al empleado se le envía la información para su corrección. A un gerente se le envía la información para su revisión.DEL DISEÑO A LA EJECUCIÓN Procesos ejecutables Proceso base Un empleado envía una información para ser revisada. Luego se envía una notificación al gerente y el proceso culmina. el empleado recibe una notificación y el proceso culmina. quien tiene la potestad de aprobarla o rechazarla.

Esto funciona (poco explícito): ..

BPEL • BPMN es un lenguaje de modelado de procesos de negocio • BPEL (Business Process Execution Language) es un lenguaje de ejecución de procesos de negocio.Esto funciona (más explícito): Modelando • • Un proceso puede ser ejecutable antes de estar correctamente modelado. • En el camino. El objetivo final es tener procesos ejecutables correctamente modelados. es posible validar el proceso sin necesidad de invertir todo el esfuerzo para modelarlo correctamente.. • En Intalio|Designer modelamos en BPMN . BPMN vs.

flow. throw.• • • • • • • Al salvar en Intalio|Designer. En BPEL se pueden hacer: Actividades basicas: invoke. Generando BPEL • Lo modelado en pools no ejecutables no genera código. exit. No hay que aprender BPEL para poder automatizar procesos de negocio. assign. . wait. Intalio|Server ejecuta BPEL. repeatUntil. recieve. pick. se genera automáticamente código BPEL. foreach No existe una correspondencia 1 a 1 entre BPMN y BPEL. while. empty. reply. rethrow Actividades estructuradas: sequence. if.

. • Las interacciones salientes de pools ejecutables representan servicios consumidos por el proceso.• Lo modelado en pools ejecutables genera código BPEL.

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

• Las interacciones. . indiferentemente de su dirección. generan variables para almacenar la información que intercambian datos.

Garantizar el flujo de información entre las distintas actividades.Pasos para crear procesos automatizables • • • • Definir como son los servicios expuestos por el proceso Definir como se consumen los servicios ofrecidos por los participantes. Realizar la interacción con otros procesos humanos y/o sistemas. Interacción con humanos ¿Cómo los humanos interactúan con el proceso? .

• El envío de información a través de la interfaz de usuario da inicio a una nueva instancia de proceso. Actividades de humanos. Notificaciones. . Procesos iniciados por humanos • La interfaz de usuario está disponible fuera del contexto del proceso.Modos de interacción con humanos • • • Procesos iniciados por humanos.

• Variables creadas: form1InitProcessRequestMsg y form1InitProcessResponseMsg. form1NotifyTaskCompletitionRequest. Actividades de humanos • humano. form1NotifyTaskCompletitionResponse. . form1CreateTaskresponse. • • Interacción en dos pasos: Enviar información al humano y recibir información del Utilizado cuando se requiere participación activa del humano El proceso se detiene a esperar la recepción de información del humano • Variables creadas form1CreateTaskRequest.

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

jar .xml Modelo simple de seguridad controlado por /var/config/security.xml Servicio RBAC: http://[Server]/axis2/services/RBACQueryService?wsdl • Extensible vía /webapps/ui-fw/WEB-INF/lib/security-api-1.0.2.¿De dónde vienen los humanos? • • • Definición de autenticación en /var/config/securityConfig.

Autorización en las interacciones • Definida en tiempo de diseño a través de propiedades. • En tiempo de ejecución a través de la metadata de las tareas. .

CREACIÓN DE FORMULARIOS XForms • • • Especificación mantenida por la W3C Nueva generación de formularios web basados en XML La estructura del formulario es definida por un esquema XML .

• • • Los XForms definen un mecanismo de asociación de datos entre el modelo y la vista Intalio|BPMS Designer proveed un editor gráfico 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 Autogeneración de formas Intalio|BPMS Designer incluye el editor de formularios Formularios a Crear • Para cada interacción con personas. un formulario será utilizado .

Identificación de patrones Comportamiento de los formularios • • Input es para enviar datos al formulario Output es para enviar datos al proceso .

Configuración de temporizadores • Especificando fechas y duraciones: . While: Hacer algo mientras se cumpla una condición Repeat: Hacer algo un número de veces.PUBLICACIÓN DE PROCESOS Manejo de bucles • • • • • Bucles: Tareas y subprocesos pueden ser configurados como bucles. ForEach: Hacer algo hasta que se cumpla una condición.

Duración. Renombre las variables antes de que se genere una con el mismo nombre: . Arrastrando elementos o tipos. “P1DT12H30M”. YYYY-MM-DDTHH:MM:SS-[timezone offset]. PxYxMxDTxHxMxS. Data Editor.• • • • • • Fecha. “2007-10-30T14:55:00-4”. Manejo de variables Creando variables • • • Nota: Interacciones.

Renombrar variables • • Doble click sobre el nombre de la variable Ingrese nuevo nombre .

2. Una de sus principales características es que expone sus APIs mediante Web Services (personas trabajando con procesos definidos en TI). que gestiona diversos patrones de flujo de trabajo. . Integración nativa basada en XForms mediante Orbeon Xforms. Integración de LDAP para autentificación de usuario y autorización basada en roles. ¿Qué tecnologías utiliza? 1.TEMPO Es una implementación del estándar Bpel4People.

Proporciona tareas para aceptar. Encaja en una estrategia SOA. Capacidad de modificar la interfaz de usuario con otras tecnologías. 7. 6.3. completar. Está compuesta de la página de autenticación y la página de acceso a la lista. Cuenta con un set de procesos BPEL definidos para el workflow (asignación de tareas. Soporte de Attachments. • • La interfaz de usuario es donde los usuarios manejan sus tareas. Persistencia de Tareas vía JDBC. Existen listas de correo públicas y de desarrolladores. UIFW se despliega como un archivo WAR en prácticamente cualquier servidor de aplicaciones J2EE. Cuenta con un marco de Seguridad basado en “role-based access control (RBAC)” y single sign-on (SSO). Su modelo de objetos de tareas es extensible. . Lista de tareas (interfase de usuario). etc. La arquitectura de tempo consiste en un conjunto de componentes desacoplados: Mayor flexibilidad para los desarrolladores para reemplazar un componente. Interfaces basadas en Web-service y REST. etc. etc. Persistencia de archivos (attachments). 3. 5. via JDBC. estalación. 2. Es el responsable de mostrar la forma adecuada cuando el usuario selecciona una tarea. 4.) 5. Características relevantes • • • • • Tempo es una implementación de código abierto de los principios de BPEL4People. Proporciona una pantalla de inicio de sesión y lista de tareas. • Componentes de Tempo – Interfaz de usuario (UI _FW) El marco de interfaz de usuario (UIFW) es la aplicación web que ofrece a los usuarios el acceso a la ejecución de procesos. cancelar. Cuenta con servicios para el despliegue (Deployment Service) de las tareas. 4. reasignar. formas. implementadas mediante Spring MVC y JSP/JSTL. Características más importantes 1.

.

UI-FW está construida bajo un patrón MVC. • Provee una separación entre el modelo (la lógica e información) y el vista (La interfaz como se muestra al usuario) • • Modelo: La información 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 información 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 código XForms y sus acciones. Este componente es invocado por el marco de la interfaz de usuario cuando el usuario hace clic (con el ratón) en la lista de tareas para se gestione un documento XForms. XFM invoca el los servicios de gestión de tareas para recuperar los datos de la tarea específica y obtiene la forma XForms a través del servicio de implementación de flujo de trabajo. XFM agrega herramientas para las acciones de flujo de trabajo: botónes para enviar o terminar una tarea, herramientas para la gestión de archivos adjuntos, entre otros; este mecanismo permite que se añadan acciones nuevas al formulario sin afectar el código de sus definiciones. XFM utiliza Orbeon Presentation Server para ejecutar XForms., también utiliza el idioma Orbeon XPL, y ejecuta acciones del flujo de trabajo invocando el servicio de gestión de tareas y procesos BPEL, los cuales son expuestos como servicios Web. XFM se despliega como un archivo WAR en prácticamente 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. Interacción con TMP ( ).

asignándole estados a cada etapa. .Componentes de Tempo – TMP • Maneja el ciclo de vida de las tareas de humanos. Esta implementado como un proceso llamado Task Management Process.

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. el Administrador de XForms para recuperar datos de tareas y los procesos de gestión de tareas para cambiar el estado de la tarea. El componente TMS es implementado en Java como un servicio web mediante Axis2. TMS es utilizado por el Marco de la interfaz de usuario para recuperar la lista de tareas.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. . • • • • La capa de persistencia es provista por el Task Management Service (TMS).

Es el XForm Manager que despliega las pantallas con los procesos del Usuario y muestra unas opciones (ver la imagen). Si los datos fueron correctos el Token Service retorna un hashCode (es un código encriptado con la sesión del usuario). El hashCode es recibido por la UI-FW y luego se buscan los procesos asociados al usuario que ingreso en el sistema. 4. 3. • • • Usado por: La interfaz de usuario para desplegar la lista de tareas XForms Manager para obtener los datos de las tareas. 1. 2. Interacciones en Tempo Lo siguiente es como ocurren las interacciones: Acemos login (entramos en el sitema.• Proveer servicios a las aplicaciones clientes para tener acceso y cambiar la data de las tareas en una forma segura. Se envía un Token Service con la identificación suministrada por el usuario para su verificación. . "Componente Tempo").

.

El Marco de Seguridad (SFW) Proporciona un acceso basado en roles de interfaz de control para los sistemas de seguridad. es posible utilizar algunas acciones JSP predefinidas mediante etiquetas. junto con alguna descripción y tipo de contenido.0 y se despliega en cualquier WS-BPEL 2.En primer lugar. como Apache Ode.Procesos de gestión 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. Además. en forma de documentos HTML. Esta tecnología es un desarrollo de la compañía Sun Microsystems. además de poder ofrecer la solicitud de SAP a través del símbolo del sistema. El TMP implementa WS-BPEL 2. . Este componente. fundamentalmente para la autorización.En segundo lugar.0 compatible. Es utilizado por el Marco de interfaz de usuario para la autenticación de usuarios en el inicio de sesión y por el Servicio de Gestión de Tareas para la autorización de cualquier llamada al TMS. También interactúa con los procesos BPEL donde se utilizan las actividades de flujo de trabajo. Servicio de archivos adjuntos de tareas (TAS) Es un servicio que persiste archivos adjuntos vinculados a las tareas. toma la entrada como "punto final URL" o "End Point URL" .2 fue la primera que se liberó y en la actualidad está disponible la Especificación JSP 2. La forma JSP tiene tres entradas del usuario: . a través del Servicio Dispatcher. La Especificación JSP 1. Intalio | Designer y JSP Una de las formas para utilizar una interfaz de JSP para capturar la data de un proceso es la aceptación de la petición SOAP de un formulario JSP como la interfaz de usuario. Proporciona servicios a los que los usuarios puedan realizar acciones de flujo de trabajo. autenticación y single sign-on. La API soporta agregar y eliminar los archivos adjuntos (archivos binarios). invoca el Servicio de Gestión de tareas para cambiar de estado de tareas de una manera segura. toma la entrada de" Nombre de servicio" o "Service Name" en el WSDL generado.Tercero que se necesita "mensaje SOAP" o "Type Soap File". JavaServer Pages (JSP) JSP es una tecnología Java que permite generar contenido dinámico para web.1. Las JSP's permiten la utilización de código Java mediante scripts. Estas etiquetas pueden ser enriquecidas mediante la utilización de Bibliotecas de Etiquetas (TagLibs o Tag Libraries) externas e incluso personalizadas. 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. XML o de otro tipo. .

\intalio-bpms-6.Otro con formato *. .0\webapps\axis2\axis2-web.0\webapps\axis2\WEB-INF\classes\.Condiciones previas: 1.class (el archivo compilado del JAVA). Asegúrese de que el panel de "Process Explorer" no contiene ningún proyecto con el mismo nombre.. ahí creamos una carpeta llamada "wsdl" que contendrá los archivos *.java y *. acá agregamos los archivos JSP de la interfaz deseada..java.Uno con formato *.. Y la carpera: C:\ . 2.class.Y por último uno con formato *. Asegúrese de que el servidor de Intalio | BPMS esté activo y funcionando bien.. .jsp. Ubicación de los archivos Para el uso de una interfaz JSP deberíamos tener a lo sumo 3 tipos de archivos: . \intalio-bpms-6. Buscamos la carpeta del servidor de Intalio | BPMS y nos paramos en la raíz de ésta. . ahí debemos ubicar 2 carpetas: C:\ .

jsp.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>. si no sabe donde se encuentra búsquelo en: http://localhost:8080/axis2/ . 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.

Y en "Type Soap File" se coloca una estructura en xml que le indicará como interpretar el servicio. Se requiere extraer el wsdl de la carpeta “build “y consumirlo como un servicio web.xmlsoap. Interacción con servicios web RESET Correlación • • Existen un número indeterminado de instancias de procesos. • proceso.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. Interacción con bases de datos • • • Permite consumir directamente desde los procesos sentencias SQL Requiere la existencia de un “connection profile”. Es necesario asociar mensajes entrantes con la instancia correcta de proceso . suele ser de la forma: <soapenv:Envelope xmlns:soapenv="http://schemas. Tipos: • Services: Provee servicios cuya implementación es la ejecución del código SQL. Es invocado desde el proceso.En "Service Name" se coloca en nombre de nuestro servicio. Feed: Provee funcionalidad para invocar la consulta SQL y enviar resultados a un REUTILIZACIÓN DE PROCESOS • • Los servicios que provean interacciones con faltas no pueden participar en plantillas.

lanzadas dentro del propio proceso. originadas en participantes externos Faltas estándares. definidas en la especificación BPEL Faltas de negocio. • Dentro de un proceso es posible lanzar Faltas utilizando los “Error Events”. Fallas. • Las funcionalidades de compensación. permiten modelar las acciones que realizan el reverso de operaciones de negocio.• La correlación es el mecanismo para realizar esa asociación a través de la definición de un identificador único de la instancia de proceso a partir de datos de negocio. Crear un correlation set. Declarar un <bpel:property>. Definir cuales mensajes pueden iniciar procesos y cuáles no. Pasos • • • • • • • Manejo de errores • Los Web services utilizan “Faults” (faltas) para comunicar que situaciones de error han ocurrido en su ejecución y que es necesario propagar el error. Asociar el correlation set a los puntos de recepción de mensajes. el proceso debe propagar una falta. En el Data Editor. Faltas técnicas. • • • • El Manejo de error consiste en capturar la ocurrencia. Asociar el <bpel:property> al correlation set. • Cuando la recuperación de una situación de error no es posible. Crear <bpel:propertyAlias> en las declaraciones de mensajes. Excepciones y Compensación .

todas las tareas anteriores que ya han sido ejecutadas deben ser devueltas a su estado original. una excepción puede ser lanzada. Transacciones Una transacción. Si una tarea.Actualmente existen tres tipos de mecanismos para gestionar errores en un proceso de negocio: Transacciones. es una secuencia de operaciones agrupadas en una unidad indivisible. el manejo de excepciones se realiza adjuntado una excepción a un sub-proceso. conectándola con una actividad que la manejara. En un diagrama del proceso (notación BPMN). y el flujo del proceso es afectado. Este esquema se basa en el principio transaccional basado en el modelo “todo o nada”. Excepciones. Manejo de Excepciones Una excepción de negocio reorienta el flujo o ruta del proceso cuando se detecta una excepción. pero la cuenta carece de fondos suficientes. para luego retornar a su ruta normal. se utiliza el sub-proceso para agrupar las actividades dentro de una transacción. y Compensaciones. En un diagrama del proceso. una tarea que debe realizar una operación de debito. Como resultado de ello. . sino finaliza el proceso antes esta condición. Por ejemplo. en la cual se ejecutan todas las tareas o ninguna. Estos tres mecanismos. se encuentra dentro de una transacción y esta no puede ser ejecutada. las cuales pueden desencadenar acciones compensatorias para deshacer las operaciones fallidas. ofreciendo flujos o rutas (paths) alternativos cuando se producen excepciones. trabajan juntos para evitar que los procesos fallen.

La tarea de compensación asociada a la primera actividad se ejecuta. una tarea recibe una transacción y es completada. 2. restituyendo la transacción. una tarea relacionada no se ejecuta. Posteriormente. . debido a una excepción de negocio. Por ejemplo.Compensaciones Las compensaciones establecen reglas para deshacer tareas si una tarea falla. Ejemplo de los tipos de Compensaciones Este es un ejemplo donde podemos ver la secuencia o ruta del proceso ante diversos escenarios: Descripción de Secuencia · Sin Excepción 1. La compensación no se ejecuta si la tarea no tiene asignada una excepción. sin embargo. La Tarea A se ejecuta y completa. La Tarea B Falla.

y luego el proceso de negocio. La Tarea D Falla. La Tarea A se ejecuta y completa. Se ejecuta la Excepción 1. La Tarea C se ejecuta y completa.3. 4. sigue su ruta (no falla el proceso. · Con Excepción 1. . debido a una excepción de negocio. porque se considero una excepción). El proceso de negocio falla porque no hay un manejo de excepciones configurado para el subproceso AB. 5. 3. La Tarea B se ejecuta y completa. 2.

La Tarea C se ejecuta y completa. La Tarea G Falla. 8. La Tarea F se ejecuta y completa. . Se ejecuta la actividad de Compensación 1. 2. La Tarea A se ejecuta y completa. 7. La Tarea D se ejecuta y completa.· Con Compensación 1. debido a una excepción de negocio. La Tarea E se ejecuta y completa. 5. 3. 4. La Tarea B se ejecuta y completa. 6.

ágil. Business Activity Monitoring.slideshare. . . podemos incluir todas estas actividades dentro de un subproceso. Business Process Management System Business Process Modeling Notation. GLOSARIO DEL CURSO En ésta sección se colocarán los acrónimos que serán usados a lo largo del material: • • • • • • • BPM: BPMS: BPMN: Intalio EE: BPEL: BAM: BRE: Business Process Management. el proceso de negocio falla. Business Process Execution Language. Intalio Enterprise Edition. sino logar reconocer todas las Actividades y Actores que formarán parte del proceso a Modelar. Lo más complicado del modelado en BPM a través de Intalio no es dominarlo en "per se". A pesar que la tarea de compensación 1 se ejecuta. Por eso es muy vital que todos los involucrados y/o relacionados al proceso tengan un rol activo dentro de la solución. ésto requiere un análisis exhaustivo y detallado para lograrlo. Conclusiones Generales Es importante destacar que en calidad de solución BPM la mayor influencia la tienen la claridad del objetivo buscado y el conocimiento del comportamiento del negocio. Business Rules Engine. . http://www. innovadora y adaptable.9. . Para evitar este comportamiento.net/estebanf/elementos-de-una-solucin-bpm CONCLUSIÓN El uso de Intalio | Designer en el modelado de los Procesos de Negocio permitirá tener una mejor coordinación de las actividades y mayor control al momento de la toma de decisiones logrando así el objetivo de convertirse en una organización altamente eficiente.

intalio. Tecnología de Información. visite los sitios Web: • • • http://www.org/confluence/display/TEMPO/Home Prof.com/ http://community.• • • • ESB: ECM: TI: TMS: Enterprise Service Bus. BIBLIOGRAFÍA Para mayor información. Wilfredo Rangel Prof. Task Management Services.com/ http://www.intalio. Mayerling Marquez Alumno: Alex Mayora Sistemas de Información Página Semestre I .2010 .intalio. Enterprise Content Management.

Sign up to vote on this title
UsefulNot useful