Procesos ejecutables parte II

40
© 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 ´

description

BPMS, Procesos Ejecutables

Transcript of Procesos ejecutables parte II

Page 1: Procesos ejecutables parte II

© 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

´

Page 2: Procesos ejecutables parte II

© 2012, Universidad Central de Venezuela. Sistemas de Información.

2

• Introducción

• Manejo de Bucles

• Configuración de Temporizadores

• Manejo de Variables

• Conclusiones

Agenda

Page 3: Procesos ejecutables parte II

© 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

Page 4: Procesos ejecutables parte II

© 2012, Universidad Central de Venezuela. Sistemas de Información.

Introducción

Notificación en Bucles

Manejo de Bucles

Configuración de Temporizadores

4

Page 5: Procesos ejecutables parte II

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

Page 6: Procesos ejecutables parte II

© 2012, Universidad Central de Venezuela. Sistemas de Información.

Introducción

Notificación en Bucles

Manejo de Bucles

Configuración de Temporizadores

6

Page 7: Procesos ejecutables parte II

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

Page 8: Procesos ejecutables parte II

© 2012, Universidad Central de Venezuela. Sistemas de Información.

Introducción

Notificación en Bucles

Manejo de Bucles

Configuración de Temporizadores

8

Page 9: Procesos ejecutables parte II

© 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”.

Page 10: Procesos ejecutables parte II

© 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

Page 11: Procesos ejecutables parte II

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

Page 12: Procesos ejecutables parte II

© 2012, Universidad Central de Venezuela. Sistemas de Información.

Manejo de Rutas Excepcionales

12

End Event Message:

Business Fault Response Fault name = fault

“BusinessFault”

Page 13: Procesos ejecutables parte II

© 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

Page 14: Procesos ejecutables parte II

© 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

Page 15: Procesos ejecutables parte II

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

Page 16: Procesos ejecutables parte II

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

Page 17: Procesos ejecutables parte II

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

Page 18: Procesos ejecutables parte II

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

Page 19: Procesos ejecutables parte II

© 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

Page 20: Procesos ejecutables parte II

© 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

Page 21: Procesos ejecutables parte II

© 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

Page 22: Procesos ejecutables parte II

© 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

Page 23: Procesos ejecutables parte II

© 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

Page 24: Procesos ejecutables parte II

© 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

Page 25: Procesos ejecutables parte II

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

Page 26: Procesos ejecutables parte II

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

Page 27: Procesos ejecutables parte II

© 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

Page 28: Procesos ejecutables parte II

© 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

Page 29: Procesos ejecutables parte II

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

Page 30: Procesos ejecutables parte II

© 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

Page 31: Procesos ejecutables parte II

© 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

Page 32: Procesos ejecutables parte II

© 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

Page 33: Procesos ejecutables parte II

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

Page 34: Procesos ejecutables parte II

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

Page 35: Procesos ejecutables parte II

© 2012, Universidad Central de Venezuela. Sistemas de Información.

Interacciones con Base de Datos

35

Salvamos

Deploy

Probamos

Page 36: Procesos ejecutables parte II

© 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

Page 37: Procesos ejecutables parte II

© 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

Page 38: Procesos ejecutables parte II

© 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

Page 39: Procesos ejecutables parte II

© 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

Page 40: Procesos ejecutables parte II

© 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