37
Sistemas de Información ´ Procesos Ejecutables - Continuación. 1

Procesos Ejecutables. Parte II

Embed Size (px)

DESCRIPTION

BPMS, Intalio

Citation preview

Page 1: Procesos Ejecutables. Parte II

Sistemas de Información

´

Procesos Ejecutables - Continuación.

1

Page 2: Procesos Ejecutables. Parte II

• Introducción• Manejo de Bucles• Configuración de Temporizadores• Manejo de Variables• Conclusiones

Agenda

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

2

• Conclusiones

Page 3: Procesos Ejecutables. Parte II

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.

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

3

Page 4: Procesos Ejecutables. Parte II

IntroducciónNotificación en BuclesManejo de BuclesConfiguración de Temporizadores

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

4

Page 5: Procesos Ejecutables. Parte II

Notificación en Bucle

Un proceso es iniciado cuando se recibe un mensaje de una aplicaciónexterna. Una vez empezado, el proceso envía notificaciones cada 30segundos. Después de 3 mensajes enviados, se envía un ultimomensaje anunciando el fin del proceso.

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

5

Page 6: Procesos Ejecutables. Parte II

IntroducciónNotificación en BuclesManejo de BuclesConfiguración de Temporizadores

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

6

Page 7: Procesos Ejecutables. Parte II

Bucles

Tareas y subprocesos pueden ser configurados como buclesForEach: Hacer algo hasta que se cumpla una condiciónWhile: Hacer algo mientras se cumpla una condiciónRepeat: Hacer algo un número de veces.

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

7

Page 8: Procesos Ejecutables. Parte II

IntroducciónNotificación en BuclesManejo de BuclesConfiguración de Temporizadores

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

8

Page 9: Procesos Ejecutables. Parte II

Configuración de Temporizadores

Especificando fechas y duraciones:Fecha: YYYY-MM-DDTHH:MM:SS-[timezone offset].: Ej. “2007-10-30T14:55:00-4”.Duración: PxYxMxDTxHxMxS. Ej. “P1DT12H30M”.

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

9

Page 10: Procesos Ejecutables. Parte II

IntroducciónNotificación en BuclesManejo de BuclesConfiguración de TemporizadoresManejo de Rutas Excepcionales

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

Manejo de Rutas Excepcionales

10

Page 11: Procesos Ejecutables. Parte II

Manejo de Rutas Excepcionales

Manejo de Excepciones:Link: ExcepcionesEl procesos recibe a y bEn su flujo normal a < 10,el proceso debe sumar a+ b y lo debe retornar.En su flujo excepcional el

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

11

En su flujo excepcional elproceso gestiona la rutaexcepcional cuando lavariable a > 10, ydevuelve un msg de error.En la propiedad de Catchdel evento intermedio deerror: Catch BusinessException, se debeespecificar el tipo de falta(Throw Exception)

Page 12: Procesos Ejecutables. Parte II

Manejo de Rutas Excepcionales

End Event Message:Business Fault

Response Fault name = fault“BusinessFault”

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

12

Page 13: Procesos Ejecutables. Parte II

Manejo de Rutas Excepcionales

Mapper:thisBusinessFaultMsg.body“Error Messge:…..”

Solo queda realizar eldeploy y la prueba en elexplorador para tesT deweb services

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

13

Page 14: Procesos Ejecutables. Parte II

IntroducciónNotificación en BuclesManejo de BuclesConfiguración de TemporizadoresManejo de Rutas Excepcionales

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

Manejo de Rutas ExcepcionalesInteracción con Bases de Datos

14

Page 15: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

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ónentre un proceso ejecutable y una base de datosTiene como objetivo proporcionar un entorno de tiempo de diseño, que lepermite escribir, probar e implementar las sentencias SQL.

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

15

permite escribir, probar e implementar las sentencias SQL.Estas sentencias SQL se pueden exponer en el servidor de Intalio BPMSya sea como servicio o como un evento. Tipos:

Services: Provee servicios cuya implementación es la ejecución delcódigo SQL. Es invocado desde el proceso en forma sincrónica.Feed: funcionalidad asincrónica, recibir respuestas de SQL (conjuntosde resultados) que se deben actualizar en el proceso .

Page 16: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Primero se debeseleccionar DataSource Explorer , delmenu:Windows - Showview-Others…

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

16

Page 17: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Primero se debe seleccionarData Source Explorer , delmenu: Windows -Show view – Others

Luego, En Database Connections,botón derecho y New…

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

17

Page 18: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

New Connection Profile.Se debe seleccionar el tipo deconexión.En nuestro caso seseleccionara Generic JDBCpara luego configurar elmanejador de base de datos

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

18

manejador de base de datosDERBY, el cual biene pordefecto con la distribución deINTALIO.Name: DerbyDescripción: conexión derbyBotón Next >

Page 19: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Botón Add JAR/Zip….Se debe seleccionar el tipo deDriver, para ello se presiona elbotón New Driver DefinitionNavegar a la ruta deinstalación de intalio server

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

19

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

Interacciones con Base de Datos

Parado en el DriverSeleccionado, navegar ala pestaña properties

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

20

Page 21: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Seleccionar el botón deDriver ClassEn la ventana: AvailableClasses From Jar List,escoger el radio bottonBrowse for class:org.apache. Derby.jdbc.

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

21

org.apache. Derby.jdbc.ClientDriver

Page 22: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Una vez configurado el driver,vamos a configurar laspropiedades del ConnectionProfileDatabase: BPMSDBurl:jdbc:derby://localhost:1527/BPMSDB

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

22

jdbc:derby://localhost:1527/BPMSDBUser name: APPPassword: APPSave Password: Seleccionar

Botón Test ConectionPing succeeded!!Finish

Page 23: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

En la pestaña del Data SourceExplorer aparece Derby debajo deDatabase ConnectionNavegamos a BPMSDBLuego a SchemasLuego APP

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

23

Luego APPLuego Tables

En este momento podemos ver lastablas de nuestro esquema APPde la base de datos BPMSDB

Page 24: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Creamos un nuevo proyecto: ConsultarBaseDatos, luego creamos lascarpetas BD, process y schema. A continuación creamos el esquemaBaseDatos.xsd con los elementos TipoAlumnoID y TipoNombre

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

24

Page 25: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Creamos un proceso: QryNombre, en el cual, a través de un WebServicese envía un ID y se obtiene el nombre del alumno.

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

25

Page 26: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Realizamos el mapper de la Tarea Consultar Nombre: desde la variable deRecibe Id, procesamos y luego la asignamos a la variable Enviar Nombre.Observe que las variables definidas en el esquema fueron asignadas a lasrespectivas interacciones.

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

26

Page 27: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Parado en la carpeta BD, botónderecho:New – Other – SQL Development– SQL FileFile Name: Base de DatosDatabase Server Type: Generic

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

27

Database Server Type: GenericJDBC 1.xConnection profile name: DerbyDatabase name: BPMSDBFinish

Page 28: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Creamos nuestra tabla en el esquema de datos APP. Tabla Alumnos conlos campos AlumnoID y Nombre. Le agregamos el Primary Key y luegoalgunos insert. Para su ejecución: Botón derecho en el editor y Execute All

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

28

Page 29: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Después de ejecutar el SQL, se activa la pestaña SQL Result.

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

29

Page 30: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Si seleccionan la ultima sentencia: SELECT * FROM ALUMNOS, podranobservar el resultado de la consulta

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

30

Page 31: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Una vez creado la tabla, solo faltacrear el conector de base de datosque será utilizado en nuestroproceso. Para ello, parados en lacarpeta BD, botón derecho: New –Others… - Intalio | Designer -Database Connector

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

31

Database ConnectorSQL File Name: QryAlumno.sqlConnection Profile Name: DerbyUse As A: Service (por defecto)Finish

Page 32: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Escribimos el select que retorna el nombre dado el id. Luego salvamos y nosmuestra el parámetro en la pestaña SQL Properties. Seleccionamos el TipoNUMBER para el atributo ALUMNOID. Probamos y guardamos.

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

32

Asi se pasan parámetros en un where

Page 33: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Eliminamos la tarea Consultar Nombre. Luego Drap and Drop del conector alespacio donde se encontraba la anterior tarea. Aceptar el mensaje: Invoke servicebased on ‘QryAlumno.sql’ statement. Realizamos las respectivasconexiones.

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

33

Page 34: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

Concatenamos el ID y el Nombre para enviarlo a la variable Nombre deThisRecibe_IDResponseMsg.body.

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

34

Page 35: Procesos Ejecutables. Parte II

Interacciones con Base de Datos

SalvamosDeployProbamos

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

35

Page 36: Procesos Ejecutables. Parte II

Conclusiones

• Hemos realizado un estudio de …..

• Hemos hecho una discusión sobre….

• Se han desarrollado demostraciones de

Conclusiones

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

36

Page 37: Procesos Ejecutables. Parte II

Tutoriales

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

Conclusiones

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

37

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