Laboratorio 2 Proceso Interactivo - somoslibres.org · Crear 03 pools, donde uno de ellos es el...

23
Universidad Inca Garcilaso de la Vega Intalio BPM Laboratorio 2 Proceso Interactivo 1. Introducción Esta vez vamos a crear un proyecto donde incorporamos más elementos como un formulario, un esquema XML y un usuario que interactúa con una tarea. El propósito de nuestro nuevo proyecto es que los usuarios sean parte del proceso, a continuación nuestra estrategia: a) Enunciado del Proceso b) Modelando el Proceso c) Iniciando el Servidor d) Ejecutando el Proceso e) Interactuando con la Interfaz del Usuario 2. Enunciado del Proceso Proyecto 2: Proyecto Interfaz Crear 03 pools, donde uno de ellos es el pool ejecutable que deberá llevar 02 variables al servidor. El proceso se inicia cuando se crea una tarea con sus 2 variables desde el administrador (admin), se completa cuando el usuario "msmith", utiliza la tarea mediante una interfaz (formulario). Finalmente el administrador (admin) de los procesos, se entera que ha sido completa la tarea. 3. Modelando el proceso 3.1 Creando el proyecto a) Antes de iniciar vamos a crear un nuevo “workspace” para nuestro proyecto denominado “ProyectoInteractivo” Figura 01: Definiendo nuevo “workspace” a nuestro nuevo proyecto ____________________________________________________________________________ MSc. Daniel Alejandro Yucra Sotomayor Pag. - 1 -

Transcript of Laboratorio 2 Proceso Interactivo - somoslibres.org · Crear 03 pools, donde uno de ellos es el...

Universidad Inca Garcilaso de la Vega Intalio BPM

Laboratorio 2Proceso Interactivo

1. Introducción

Esta vez vamos a crear un proyecto donde incorporamos más elementos como un formulario, un esquema XML y un usuario que interactúa con una tarea. El propósito de nuestro nuevo proyecto es que los usuarios sean parte del proceso, a continuación nuestra estrategia:

a) Enunciado del Procesob) Modelando el Procesoc) Iniciando el Servidord) Ejecutando el Procesoe) Interactuando con la Interfaz del Usuario

2. Enunciado del Proceso

Proyecto 2: Proyecto Interfaz

Crear 03 pools, donde uno de ellos es el pool ejecutable que deberá llevar 02 variables al servidor. El proceso se inicia cuando se crea una tarea con sus 2 variables desde el administrador (admin), se completa cuando el usuario "msmith", utiliza la tarea mediante una interfaz (formulario). Finalmente el administrador (admin) de los procesos, se entera que ha sido completa la tarea.

3. Modelando el proceso

3.1 Creando el proyecto

a) Antes de iniciar vamos a crear un nuevo “workspace” para nuestro proyecto denominado “ProyectoInteractivo”

Figura 01: Definiendo nuevo “workspace” a nuestro nuevo proyecto

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 1 -

Universidad Inca Garcilaso de la Vega Intalio BPM

b) A continuación Seleccionamos File Menu => Intalio|Designer Bussiness Process Project

Figura 02: Seleccionando la opción para crear un nuevo proyecto

c) El nuevo proyecto se denominará “ProyectoInterfaz”

“Figura 03: Definiendo el nombre del proyecto “ProyectoInterfaz”

d) A continuación organizamos nuestro proyecto en “Carpetas”

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 2 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 04: Organizando el proyecto en Carpetas

3.2 Creando el Diagrama BPM

a) Para crear un nuevo proyecto hacemos clic derecho en el proyecto y seleccionamos la opción “Business Process Diagram”

Figura 05: Seleccionando la opción para crea un nuevo diagrama BPM

b) Este nuevo diagrama en el proyecto se denominará “DiagramaProcesoInteractivo”, tal como se muestra en la figura de abajo:

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 3 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 06: Asignando nombre al nuevo diagrama BPM

c) El nuevo diagrama deberá queda en el punto de inicio de nuestro proyecto y el resto de elementos organizados en carpetas, tal como se muestra en la figura de abajo:

Figura 07: Definiendo la ubicación de los elementos del proyecto

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 4 -

Universidad Inca Garcilaso de la Vega Intalio BPM

d) A continuación creamos 03 pool:El primer pool no ejecutable con el nombre de “Interfaz”, el segundo pool con el nombre de “ProcesoEjecutable” y el tercero no ejecutable “Usuarios”.

Figura 08: Pools definidos en el diagrama

e) A continuación vamos a agregar los elementos al proceso ejecutable, en este caso: “Se inicia el proceso cuando recibe un mensaje del pool interfaz y luego se crea una tarea y finalmente se completa terminando el proceso”. Son tareas necesarias para interactuar el formulario que utilizará el usuario.

Figura 09: Definiendo los elementos para el pool “ProcesoEjecutable”

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 5 -

Universidad Inca Garcilaso de la Vega Intalio BPM

3.2.1 Creando un Esquema (XML Schema)

A continuación necesitamos crear una estructura de datos para la tarea “cliente”, que pasen el resultado al pool ejecutable para que se inicie el proceso.

Más tarde se utilizará estos datos en el formulario y las relacionadas con el usuario. Para ello se utiliza un archivo XML Schema.

a) Para crear un archivo XML Schema, hacemos clic derecho en la carpeta “Esquemas” y seleccionamos la opción NEW => XML Schema

Figura 10: Seleccionando la opción XMLSchema

b) A continuación le asignaremos el nombre de “Simple.xsd”.

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 6 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 11: Asignando nombre al nuevo esquema

c) Nótese que acaba de crear dentro de la carpeta “Esquemas”, en nuevo archivo XSD, totalmente en blanco listo para agregar tipos (Types) y elementos (Elements) al archivo XML Schema.

Figura 12: Asignando nombre al nuevo esquema

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 7 -

Universidad Inca Garcilaso de la Vega Intalio BPM

d) Este es el Visual XML Schema Editor. Aquí podemos crear tipos de Datos Complejos (Complex Data). que se pueden pasar por el proceso y los formularios de flujo de trabajo (WorkFlow Forms) de nuestro sistema.

En este caso crearemos un “Complex Type” con el nombre de "MiTipoSimple", que contendrá dos elementos: "saludo" y "paraquien".

f) A continuación crearemos un tipo con el nombre de "MiTipoSimple", haciendo clic derecho en la sección “Types” y seleccionamos “AddComplex Type”.

Figura 13: Adicionando un Tipo Complejo en el nuevo esquema

Figura 14: Definiendo el nuevo tipo “MiTipoSimple”

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 8 -

Universidad Inca Garcilaso de la Vega Intalio BPM

f) Luego adicionamos los 2 elementos con el tipo de dato “string”

Figura 15: Definiendo los elementos del tipo “MiTipoSimple”

h) Finalmente guardamos el esquema:

3.2.2 Insertando el Esquema en el diagrama de procesos BPM

a) Para utilizar este "tipo de datos" que hemos creado, tenemos que arrastre el data type "MiTipoSimple" a la línea de interacción entre el pool "Interface" y el pool "ProcesoEjecutable".

Figura 16: Definiendo la línea de asociación entre pool

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 9 -

Universidad Inca Garcilaso de la Vega Intalio BPM

b) Para arrastrar solo de jalar “tns:MitipoSimple” a la linea de colaboración de la tarea “Cliente” y el evento “Inicia el Proceso”.

Figura 17: Arrastrando MiTipoSimple a la línea de colaboración

Figura 18: Definido el esquema como el contenido del mensaje

c) En resumen desde la tarea “Cliente”, se enviaran 2 datos a través de los elementos definidos en este esquema, y el proceso ejecutable lo recibirá e iniciará, llevando esos datos a lo largo del proceso.

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 10 -

Universidad Inca Garcilaso de la Vega Intalio BPM

3.2.3 Trabajando con formularios (WorkFlow Form)

a) Ahora vamos a crear un Formulario (WorkFlow Form), de esta manera podemos crear una tarea para nuestros usuarios.

b) Para crear el nuevo formulario (Interfaz del usuario), hacemos clic derecho en el directorio “Formularios”.

Figura 19: Seleccionado la opción Workflow Form para crear la interfaz de usuario

c) A continuación le asignamos el nombre de”FormularioSaludo”

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 11 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 20: Seleccionado la opción Workflow Form para crear la interfaz de usuario

d) Nótese que automáticamente se sea su archivo XML SChema y se muestra los tipos de datos “output” y “input”, es decir para ingresar datos y enviar los datos a una determinada tarea.

Figura 21: Seleccionado la opción Workflow Form para crear la interfaz de usuario

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 12 -

Universidad Inca Garcilaso de la Vega Intalio BPM

e) A continuación seleccionamos de perspectiva “Intalio|Designer Form Editor”, para poder editar mejor el formulario.

Figura 22: Seleccionando la perspectiva “Intalio|Designer Form Editor”

f) Luego debe quedar como muestra la figura de abajo

Figura 23: Se muestra el Editor WorkFlow Form

Ahora arrastramos 2 objetos del tipo cajas de textos (Text Input):1. El primer objeto "Text Input", en propiedades de "Control Label", asignamos "Saludos"2. El segundo objeto "Text Input", en propiedads de "Control Label", asignamos "Para Quién"____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 13 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 24: Editando los 2 objetos en el Editor de Formularios

j) Finalmente guardamos el formulario (es importante para generar los elementos y su archivo XSD)

3.2.4 Insertando el "FormularioSaludo" al pool de Usuarios

a) Para colocar el formulario en el pool no ejecutable “Usuarios”, solo debe arrastre el formulario al pool no ejecutable “Usuarios”

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 14 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 25: Insertando el formulario en el pool Usuarios

b) Nuestro formulario a generado 2 tareas como consecuencia de haber seleccionado “Use Formulario for people Activity”

Figura 26: Una tarea para crear y otra para completar

c) Ahora tenemos que asignar la tarea para que ingresen datos las personas. Esto se puede hacer usando la opción “WorkFlow” en el “proceso No Ejecutable” Usuarios.

d) Seleccionamos la opción Workflow para ingresar los participantes

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 15 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 27: Una tarea para crear y otra para completar

e) Colocamos en roles “examples\employee”, una vez hecho, nótese que automáticamente aparece el participante en el pool de los “usuarios”.

Figura 28: Insertando Roles al pool “Usuarios”

Los usuarios que representen employee son:examples\msmith password

3.2.5 Interacciones entre las tareas

a) Las interacciones de flujo de trabajo (WorkFlow), REQUIERE de una "solicitud" y la "respuesta" de flujo Mensaje. Cada interacción con Xforms será un tipo de mensaje de dos vías, es decir, que después haber hecho una PETICIÓN, el servidor envía y recepciona una respuesta.

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 16 -

Universidad Inca Garcilaso de la Vega Intalio BPM

b) Entonces a continuación unimos las tareas del proceso ejecutable y las tareas del proceso no ejecutable “Usuarios” de acuerdo al flujo de trabajo.Los elementos del esquema salen de la tarea “Crear”, donde se envía como mensaje al formulario y una vez completado se envía a la tarea “Completa”, finalmente se envía un mensaje al participante del pool. Además por definición por cada formulario que interactúa con el proceso se necesita las 2 tareas.

Figura 29: Interacción entre las tareas y el formulario

c) Tenga en cuenta las líneas van en la dirección opuesta. Esto es porque el servidor no esta en la iniciación de la interacción. El usuario envía un formulario al servidor. Por lo tanto la primera línea viene del participante (el usuario). El mensaje de color verde indica el flujo que recorre en este caso llega al formulario.

d) Si quiere ver las tareas en un solo tamaño, solo haga clic en el botón “Autosizes”

3.2.6 Definiendo un Flujo de Datos a la tarea “Crear” (Mapper)

a) Para crear un proceso completo, tenemos que crear un flujo de datos (data flow) a través del sistema (mapper). Vamos a poner los datos del mensaje en nuestro XFORM para que los datos se muestren en el formulario cuando lo abrimos.

b) Para definir las condiciones de nuestro proceso, en intalio debemos Mappear.c) Haciendo un clic en la tarea “Crear”, donde inicia el flujo de datos, vamos a crear

un flujo de datos desde la izquierda hasta la derecha, en el mapper. En este caso vamos a conectar elementos / operadores con otros elementos / operadores.

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 17 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 30: Elementos de archivo XML SChema versus los elementos del Formulario

d) En este caso seleccionamos los elementos “Saludo” y “ParaQuien" y el flujo de datos lo conectamos con “Saludos” y “Para_Quin” que son los nombres de los cajas de textos que han sido definidos en el formulario.

Figura 31: Enlazando elementos con los nombres de los objetos del formulario

4. Ejecutando el proceso en el servidor

Para ejecutar solo debe salvar la configuración y hacer clic en “deploy”

Figura 32: Configurando el proyecto a su desployment

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 18 -

Universidad Inca Garcilaso de la Vega Intalio BPM

a) Ingresamos como usuario “admin.”

Figura 33: Mostrando el proceso ejecutado DiagramaProcesoInteractivo:ProcesoEjecutable

b) Iniciando el proceso

Figura 34: Iniciando el proceso

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 19 -

Universidad Inca Garcilaso de la Vega Intalio BPM

c) Ingresando datos

Figura 35: Ingresando datos al proceso

Nota: Recuerde el XML Schema que se creo, el servidor automáticamente genera unos inputs al formulario basado en los parámetros especificados en el tipo de datos del XML Schema. En nuestro caso estamos empezando con un mensaje cuando el “admin”, inicia el proceso. (Recuerde no hemos creado interfaz para el usuario admin, por lo tanto justifica iniciarlo con el administrador).

Figura 36: Si el mensaje es OK, quiere decir que empezó el proceso

d) Verificando el estado del proceso

Hacemos clic en “INSTANCES”

Figura 37: Con el nombre de ProcesoEjecutable, aparece que esta en progreso

A continuación hacemos clic en el proceso para averiguar en que parte de la tarea se encuentra ejecutando.____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 20 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 38: Verifica el estado del proceso y esperando que sea completadae) Ingresando a la interfaz con el usuario: http://localhost:8080/ui-fw/

examples\msmith password

Figura 39: Verificando tarea desde el empleado “msmith”

f) A continuación hacemos clic en esa tarea y nos pedirá: reclamar tarea, grabar tarea o simplemente completar. Le hacemos clic en completar tarea.

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 21 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Figura 40: Completar tarea de “msmith”

g) Verificar desde el “admin”, si realmente cumplió la tarea “msmith”

Figura 41: Verificando si se completo la tarea “msmith”

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 22 -

Universidad Inca Garcilaso de la Vega Intalio BPM

Nota: No se olvide de darle al final un shutdown al servidor

Contenido Laboratorio 2

1. Introducción2. Enunciado del Proceso3. Modelando el proceso

3.1 Creando el proyecto3.2 Creando el Diagrama BPM

3.2.1 Creando un Esquema (XML Schema)3.2.2 Insertando el Esquema en el diagrama de procesos BPM3.2.3 Trabajando con formularios (WorkFlow Form)3.2.4 Insertando el "FormularioSaludo" al pool de Usuarios3.2.5 Interacciones entre las tareas 3.2.6 Definiendo un Flujo de Datos a la tarea “Crear”

4. Ejecutando el proceso en el servidor

Solución disponible: http://bpm.somoslibres.org

Universidad Inca Gracilazo de la VegaFacultad de Ingeniería de Sistemas, Cómputo y Telecomunicaciones

Asignatura: Gestión de Procesos de NegociosDocente: MSc. Daniel Alejandro Yucra Sotomayor

Ingeniero de SistemasColegio de Ingenieros del Perú: 61845

Email: [email protected], [email protected] Perú, 2011

____________________________________________________________________________MSc. Daniel Alejandro Yucra Sotomayor Pag. - 23 -