procesos ejecutables parte ii
DESCRIPTION
BPMS, Procesos EjecutablesTRANSCRIPT
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Sistemas de Información
Procesos Ejecutables.
Manejo de Excepciones y
Conexiones a Bases de Datos
1
´
© 2012, Universidad Central de Venezuela. Sistemas de Información.
2
• Introducción
• Manejo de Bucles
• Configuración de Temporizadores
• Manejo de Variables
• Conclusiones
Agenda
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Objetivos de Aprendizaje
Al finalizar este capitulo, usted estará en capacidad de:
1. Definir y describir los elementos básicos para la construcción de
procesos ejecutables.
3
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Introducción
Notificación en Bucles
Manejo de Bucles
Configuración de Temporizadores
4
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Notificación en Bucle
5
Un proceso es iniciado cuando se recibe un mensaje de una aplicación
externa. Una vez empezado, el proceso envía notificaciones cada 30
segundos. Después de 3 mensajes enviados, se envía un ultimo
mensaje anunciando el fin del proceso.
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Introducción
Notificación en Bucles
Manejo de Bucles
Configuración de Temporizadores
6
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Bucles
7
Tareas y subprocesos pueden ser configurados como bucles
ForEach: Hacer algo hasta que se cumpla una condición
While: Hacer algo mientras se cumpla una condición
Repeat: Hacer algo un número de veces.
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Introducción
Notificación en Bucles
Manejo de Bucles
Configuración de Temporizadores
8
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Configuración de Temporizadores
9
Especificando fechas y duraciones: Fecha: YYYY-MM-DDTHH:MM:SS-[timezone offset].: Ej. “2007-10-30T14:55:00-4”.
Duración: PxYxMxDTxHxMxS. Ej. “P1DT12H30M”.
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Introducción
Notificación en Bucles
Manejo de Bucles
Configuración de Temporizadores
Manejo de Rutas Excepcionales
10
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Manejo de Rutas Excepcionales
11
Manejo de Excepciones:
Link: Excepciones
El procesos recibe a y b
En su flujo normal a < 10,
el proceso debe sumar a
+ b y lo debe retornar.
En su flujo excepcional el
proceso gestiona la ruta
excepcional cuando la
variable a > 10, y
devuelve un msg de error.
En la propiedad de Catch
del evento intermedio de
error: Catch Business
Exception, se debe
especificar el tipo de falta
(Throw Exception)
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Manejo de Rutas Excepcionales
12
End Event Message:
Business Fault Response Fault name = fault
“BusinessFault”
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Manejo de Rutas Excepcionales
13
Mapper: thisBusinessFaultMsg.body
“Error Messge:…..”
Solo queda realizar el
deploy y la prueba en el
explorador para tesT de
web services
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Introducción
Notificación en Bucles
Manejo de Bucles
Configuración de Temporizadores
Manejo de Rutas Excepcionales
Interacción con Bases de Datos
14
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
15
Permite consumir sentencias SQL directamente desde los procesos
(Tanto DDL como DML)
Requiere de la existencia de un “connection profile”.
Un conector de base de datos (Database conector) facilita la interacción
entre un proceso ejecutable y una base de datos
Tiene como objetivo proporcionar un entorno de tiempo de diseño, que le
permite escribir, probar e implementar las sentencias SQL.
Estas sentencias SQL se pueden exponer en el servidor de Intalio BPMS
ya sea como servicio o como un evento. Tipos:
Services: Provee servicios cuya implementación es la ejecución del
código SQL. Es invocado desde el proceso en forma sincrónica.
Feed: funcionalidad asincrónica, recibir respuestas de SQL (conjuntos
de resultados) que se deben actualizar en el proceso .
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
16
Primero se debe
seleccionar Data
Source Explorer , del
menu:
Windows - Show
view-Others…
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
17
Primero se debe seleccionar
Data Source Explorer , del
menu: Windows -Show view – Others
Luego, En Database Connections,
botón derecho y New…
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
18
New Connection Profile.
Se debe seleccionar el tipo de
conexión.
En nuestro caso se
seleccionara Generic JDBC
para luego configurar el
manejador de base de datos
DERBY, el cual biene por
defecto con la distribución de
INTALIO.
Name: Derby
Descripción: conexión derby
Botón Next >
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
19
Botón Add JAR/Zip….
Se debe seleccionar el tipo de
Driver, para ello se presiona el
botón New Driver Definition
Navegar a la ruta de
instalación de intalio server
C:\Intalio\intalio-bpms-ee-6.0.2.005-
tomcat-5-5.5.26\common\lib
Seleccionar el Driver de Derby
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
20
Parado en el Driver
Seleccionado, navegar a
la pestaña properties
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
21
Seleccionar el botón de
Driver Class
En la ventana: Available
Classes From Jar List,
escoger el radio botton
Browse for class:
org.apache. Derby.jdbc.
ClientDriver
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
22
Una vez configurado el driver,
vamos a configurar las
propiedades del Connection
Profile
Database: BPMSDB
url: jdbc:derby://localhost:1527/BPMSDB
User name: APP
Password: APP
Save Password: Seleccionar
Botón Test Conection
Ping succeeded!!
Finish
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
23
En la pestaña del Data Source
Explorer aparece Derby debajo de
Database Connection
Navegamos a BPMSDB
Luego a Schemas
Luego APP
Luego Tables
En este momento podemos ver las
tablas de nuestro esquema APP
de la base de datos BPMSDB
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
24
Creamos un nuevo proyecto: ConsultarBaseDatos, luego creamos las
carpetas BD, process y schema. A continuación creamos el esquema
BaseDatos.xsd con los elementos TipoAlumnoID y TipoNombre
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
25
Creamos un proceso: QryNombre, en el cual, a través de un WebService
se envía un ID y se obtiene el nombre del alumno.
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
26
Realizamos el mapper de la Tarea Consultar Nombre: desde la variable de
Recibe Id, procesamos y luego la asignamos a la variable Enviar Nombre.
Observe que las variables definidas en el esquema fueron asignadas a las
respectivas interacciones.
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
27
Parado en la carpeta BD, botón
derecho:
New – Other – SQL Development
– SQL File
File Name: Base de Datos
Database Server Type: Generic
JDBC 1.x
Connection profile name: Derby
Database name: BPMSDB
Finish
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
28
Creamos nuestra tabla en el esquema de datos APP. Tabla Alumnos con
los campos AlumnoID y Nombre. Le agregamos el Primary Key y luego
algunos insert. Para su ejecución: Botón derecho en el editor y Execute All
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
29
Después de ejecutar el SQL, se activa la pestaña SQL Result.
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
30
Si seleccionan la ultima sentencia: SELECT * FROM ALUMNOS, podran
observar el resultado de la consulta
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
31
Una vez creado la tabla, solo falta
crear el conector de base de datos
que será utilizado en nuestro
proceso. Para ello, parados en la
carpeta BD, botón derecho: New –
Others… - Intalio | Designer -
Database Connector
SQL File Name: QryAlumno.sql
Connection Profile Name: Derby
Use As A: Service (por defecto)
Finish
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
32
Escribimos el select que retorna el nombre dado el id. Luego salvamos y nos
muestra el parámetro en la pestaña SQL Properties. Seleccionamos el Tipo
NUMBER para el atributo ALUMNOID. Probamos y guardamos.
Asi se pasan
parámetros en
un where
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
33
Eliminamos la tarea Consultar Nombre. Luego Drap and Drop del conector al
espacio donde se encontraba la anterior tarea. Aceptar el mensaje: Invoke service
based on ‘QryAlumno.sql’ statement. Realizamos las respectivasconexiones.
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
34
Concatenamos el ID y el Nombre para enviarlo a la variable Nombre de
ThisRecibe_IDResponseMsg.body.
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Interacciones con Base de Datos
35
Salvamos
Deploy
Probamos
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Conclusiones
36
• Hemos realizado un estudio de …..
• Hemos hecho una discusión sobre….
• Se han desarrollado demostraciones de
Conclusiones
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Tutoriales
37
1. Procesos accesibles como Web Services. Este tutorial demuestra como implementar un proceso para que sea accesible como
un servicio web, con capacidad para responder con “Faltas" cuando ocurran
condiciones de error y continuar con el proceso en ejecución aun después de haber
enviado la respuesta al cliente que consuma el servicio. Este enfoque de
implementación permite facilitar la integración y complemento con sistemas
existentes, a fin de contar con las ventajas que brindan los procesos automatizados
con un impacto reducido en la arquitectura instalada. Se abarca:
Crear esquemas de datos
Modelar procesos – ruta normal / Modelar procesos – ruta excepcional
Configurar intercambio de mensajes
Pruebas
Enlace Procesos Accesibles como web Services
Conclusiones
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Tutoriales
38
2. Creación de Archivos de Esquemas XML:
XML Schema Definition (XSD) es el lenguaje utilizado para
estructuras de datos complejas en XML.
No es necesario aprender XSD para realizar un modelo con Intalio
Designer. En este tutorial se abarca:
Creación de una definición de esquema XML (XSD) en Intalio
Creación de estructuras de datos complejos en XSD
Realizar cambios a la estructura de datos de los XSD existentes
Enlace: Creación de Esquemas XML
Conclusiones
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Tutoriales
39
3. Mi primer Proceso (Create - Complete):
Este tutorial muestra como crear un primer proceso el cual crea una
tarea para un usuario. Abarca las siguientes áreas funcionales:
Creación de un diagrama de proceso
Definición del esquema XML para la estructura de datos(XSD)
Creación de un formulario con Workflow Form Editor
Integración del formulario con el proceso.
Despliegue del proceso en el servidor
Ejecutar y monitorear el proceso en la consola
Ejecutar el proceso a través de la interface de usuario
Enlace: Mi primer Proceso
Conclusiones
© 2012, Universidad Central de Venezuela. Sistemas de Información.
Tutoriales
40
4. Inicio de un proceso con un form (Init Process):
Este tutorial muestra como iniciar un proceso utilizando un
formulario. Se abarcan las siguientes áreas funcionales:
Creación de un diagrama de proceso
Creación de un formulario con Workflow Form Editor
Integración del formulario con el proceso.
Despliegue del proceso en el servidor
Ejecutar y monitorear el proceso en la consola
Ejecutar el proceso a través de la interface de usuario
Enlace: Inicio de un proceso con un form InitProcess
Conclusiones