laboratorio gxflow gx23

30
Laboratorio GeneXus X Evolution 2 BPM Suite

Upload: genexus

Post on 19-Jun-2015

662 views

Category:

Documents


0 download

DESCRIPTION

Laboratorio GXflow GX23

TRANSCRIPT

Page 1: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2 BPM Suite

Page 2: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 2

Copyright 1988 - 2013| Artech Consultores S. R. L.

Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de Artech Consultores S.R.L. La información contenida en este documento es para uso personal únicamente.

Marcas Registradas

Artech y GeneXus son marcas registradas de Artech Consultores S.R.L. Todas las demás marcas mencionadas en este documento son propiedad de sus respectivos dueños.

Page 3: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 3

Contenido

Contenido .......................................................................................................................... 3

Objetivo ............................................................................................................................ 4

¿Qué es un proceso de negocio? .......................................................................................... 4

¿Qué es BPM? (Business Process Management) .................................................................... 4

Introducción ...................................................................................................................... 4

Caso de estudio ................................................................................................................. 5

Paso 1. Modelando el proceso en GeneXus ........................................................................... 5

Creación del Business Process Diagram ................................................................................ 6

Paso 2. Diseño del proceso de negocio ................................................................................. 8

Paso 3: Ejecución del proceso de negocio ........................................................................... 19

Anexo 1. Definiendo la Seguridad (Opcional) ...................................................................... 25

Glosario ........................................................................................................................... 30

Page 4: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 4

Objetivo

El objetivo de este laboratorio es que Ud. pueda desarrollar y probar una aplicación BPM

(Business Process Management) usando GeneXus y GXflow.

Usted encontrará una serie de ejercicios diseñados, con formato paso a paso, que le ayudarán a

iniciarse en la herramienta sin necesidad de contar con ningún conocimiento previo de GXflow

ni de GeneXus.

¿Qué es un proceso de negocio?

Es un conjunto de tareas relacionadas lógicamente llevadas a cabo para lograr un resultado de

negocio.

¿Qué es BPM? (Business Process Management)

Es una metodología que se enfoca en administrar y optimizar en forma continua las actividades

y procesos de negocio de la organización.

Introducción

Usted es el encargado de diseñar y poner en funcionamiento el proceso de negocio que

administra las Solicitudes de Crédito de su empresa. La aplicación asociada al proceso ya se

encuentra desarrollada, por lo que no es necesario programar. El objetivo del trabajo es

desarrollar únicamente el diagrama del proceso y luego ejecutarlo.

Mediante este tutorial, logrará describir la realidad presentada en GeneXus para generar un

caso de sistema de créditos en una plataforma Web utilizando el Generador .NET y base de

datos SQL Server. Partiremos de una base de conocimiento existente con algunos objetos ya

creados para concentrarnos en los procesos de negocio.

Page 5: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 5

Caso de estudio

Supongamos que una empresa requiere una aplicación que administre su Sistema de

Solicitud de Crédito. En este proceso una persona se presenta en la empresa solicitando un

crédito y lo atiende un administrativo quién iniciará el Proceso Solicitud.

Si esta persona no es actualmente cliente de la empresa se procede a Solicitarle los datos y

en caso contrario el proceso continúa. Luego el préstamo deberá ser Autorizado por el

Gerente de Préstamos. En caso de ser autorizado se le Otorgará el Crédito al cliente y en

caso contrario el proceso culmina.

Paso 1. Modelando el proceso en GeneXus

Abrir la Base de Conocimiento (Knowledge Base) desde las Recent Knowledge Bases como se

muestra en la figura siguiente.

Page 6: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 6

Una vez abierta la base de conocimiento, vamos a crear el primer diagrama, que representará

el proceso de Solicitud de Crédito. Para ello vea los siguientes pasos:

Creación del Business Process Diagram

Para crear un nuevo objeto hacemos CTRL+N, seleccionamos el tipo Business Process Diagram y le ponemos el nombre, en este caso será Solicitud de Crédito.

Page 7: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 7

Para diseñar el proceso se utilizan los distintos Símbolos que le proporciona la barra de herramientas (Toolbox). Si no visualiza la barra vaya a: View -> Other Tool Windows -> Toolbox y podrá visualizarla. Los elementos que deberá utilizar para realizar el diagrama de Solicitud de Crédito son los siguientes:

Símbolo de Inicio de proceso (None Start Event). Cuando el proceso comienza, se utiliza este símbolo. No es necesario utilizarlo, a no ser que la tarea inicial del proceso tenga aristas de entrada.

Símbolo de Fin de proceso (None End Event). Cuando el proceso debe finalizar, se utiliza este símbolo. No es necesario utilizarlo si no se desea.

Actividad Interactiva (User Task), sirve para que las personas puedan ejecutar sus tareas. Cada actividad va asociada a una aplicación interactiva.

Actividad Batch (Script Task), sirve para ejecutar programas sin que sea necesaria la intervención de personas. Se les asocian programas batch.

Page 8: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 8

Condicional (Inclusive). Se utiliza cuando es necesario tomar decisiones en el flujo del proceso.

Condicional (Exclusive). Se utiliza cuando es necesario tomar decisiones en el flujo del proceso. Para insertar un símbolo en el diagrama, se arrastra desde la barra de herramientas hacia el diagrama.

Paso 2. Diseño del proceso de negocio

Para comenzar, veamos la primera frase del problema planteado:

“En este proceso una persona se presenta en la empresa solicitando un crédito y lo atiende un

administrativo quién iniciará el proceso solicitud.”

Lo primero que debemos representar es el inicio del proceso. Para eso arrastramos el símbolo

de inicio de tipo None al diagrama.

Page 9: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 9

A continuación del inicio necesitamos una actividad para ingresar la información de la

solicitud. Para eso arrastramos el símbolo User Task al diagrama y lo conectamos al inicio y

modificamos su descripción en las propiedades. Le ponemos Name: Ingresar Solicitud.

Como conectar elementos:

Tip para aumentar su productividad: Luego de arrastrar una actividad al

diagrama presione F2 para modificar su descripción.

Vemos que la base de conocimiento contiene los siguientes objetos GeneXus ya creados:

Transacción: Loan

Transacción: Customer

Web Panel: GrantLoan

Web Panel: LoanAuthorization

Page 10: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 10

A la primer tarea Ingresar Solicitud le vamos a asociar un objeto que nos permita ingresar la

información del crédito que la persona está solicitando, para eso utilizamos la Transacción

Loan.

Para asociar esta Transacción a la tarea del proceso, seleccionamos la tarea y usamos la

propiedad Application como se muestra a continuación.

Elegimos la Transacción Loan y realizamos los pasos marcados en la siguiente imagen:

Page 11: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 11

Luego de esto, seguimos analizando la realidad que continúa con la siguiente frase:

“Si esta persona no es actualmente cliente de la empresa se procede a solicitarle los datos

y en caso contrario el proceso continúa.”

En este caso se tiene que evaluar una condición que indica si la persona es cliente o no y

solamente se puede dar una de las dos. Por eso vamos a utilizar el símbolo de Exclusive

Gateway y lo conectamos a la actividad anterior.

Ahora vamos a modelar el caso de que la persona no sea cliente.

En este paso vamos a usar otra alternativa para el diseño, arrastramos la Transacción

Customer ubicada en el Knowledge Base Navigator de GeneXus y la colocamos en nuestro

diagrama, como observamos en la siguiente imagen:

Page 12: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 12

Conectamos la actividad al Exclusive Gateway y presionando la tecla F2 le cambiamos la

descripción colocándole Ingresar Cliente, ya que en esta actividad solicitaremos los datos del

nuevo cliente.

Agregaremos un poco de lógica a nuestro proceso de solicitud de crédito…

Después del ingreso de la solicitud hay que evaluar si la persona que está realizando la solicitud

es cliente o no y para eso utilizaremos el atributo CustomerId, en caso que sea 0 debemos

registrar a la persona como cliente. Para eso seleccionamos el conector que va a la tarea de

Ingresar Cliente y en las propiedades seleccionamos la propiedad Condition Rule, allí la

condición que debe cumplirse es que Loan.CustomerId = 0 como se muestra en la siguiente

imagen:

Page 13: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 13

Siguiendo con la realidad planteada…

"Luego el préstamo deberá ser Autorizado por el Gerente de Préstamos”

Aquí aparece una tarea de Autorizar Crédito. Para eso vamos a incluir una nueva User Task para la autorización y presionando F2 le colocamos el nombre. Conectamos el Exclusive Gateway y la tarea Ingresar Cliente a esta nueva tarea como vemos en la imagen:

Ahora veamos el flujo cuando la persona ya es cliente de la empresa. En este caso debemos

expresar que si la otra condición no se cumple, este es el camino por defecto. Para eso

utilizamos el conector de tipo default como se muestra en la imagen:

Page 14: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 14

Para terminar nuestro diagrama de proceso veamos que pasa después de la autorización:

“En caso de ser autorizado se le otorgará el crédito al cliente y en caso contrario el

proceso culmina.”

Aquí nos encontramos con una evaluación y en caso de ser aprobado el préstamo con una

nueva tarea llamada Otorgar Crédito al cliente, de lo contrario termina el proceso. Para eso

vamos a utilizar un Exclusive Gateway, una User Task y además el símbolo de fin de un

proceso de tipo Message.

Los End Event: Message permiten representar que un proceso termina con un mensaje genérico, podría ser un email, un llamado telefónico, o el otorgamiento de un crédito como en este caso, etc.

Page 15: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 15

Seguiremos asociando lógica a nuestro proceso de negocio… A la tarea de Autorizar Crédito le vamos a asignar el web panel LoanAuthorization, este

objeto recibe como parámetro la clave primaria LoanId, por lo tanto podremos establecer que

se actualice con el valor del dato relevante LoanId que se cargó inicialmente en el proceso

como se muestra en la siguiente imagen:

Page 16: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 16

En esta instancia debemos almacenar la decisión del gerente (si autoriza o no), en este caso no

vamos a agregar un atributo a la transacción Loan sino que vamos a utilizar una variable, o

sea un dato relevante de tipo boolean por ejemplo. Ese dato relevante se cargará con el

valor true en caso de que se autorice y false en caso contrario. Para definir el dato relevante

seleccionamos la pestaña Datos Relevantes del diagrama, presionamos la tecla enter y

agregamos un nuevo dato relevante llamado Authorized como se muestra en la siguiente

imagen:

Una vez almacenada la decisión del gerente hay que evaluarla por lo tanto al conector de

aprobación del préstamo vamos a asignarle la siguiente condición:

Este dato relevante se setea en la sección Eventos del web panel LoanAuthorization. Esta

sección ya se encuentra desarrollada.

Page 17: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 17

El otro conector lo dejamos como Default.

Para terminar asignamos a la tarea Otorgar Crédito el Web Panel Grant Loan.

Page 18: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 18

¡Felicitaciones!

Usted ha creado con éxito su primera aplicación BPM.

Page 19: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 19

Paso 3: Ejecución del proceso de negocio

Durante esta sección vamos a probar en ejecución el proceso que acabamos de diseñar, para

eso presionamos clic derecho sobre el objeto y en el menú contextual que se despliega

utilizamos la opción Run del diagrama.

Page 20: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 20

Se abrirá el cliente de GXflow con una tarea en la Bandeja de Entrada disponible para probar

nuestro proceso.

Lo primero que tenemos que hacer es ejecutarla, para eso seleccionamos la tarea y

presionamos el botón Execute, esto nos abrirá la aplicación asociada donde ingresaremos una

nueva solicitud con lo siguientes datos y confirmamos:

Ingresamos los datos del préstamo a solicitar con cualquier monto y seleccionamos Confirm

Page 21: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 21

La tarea fue ejecutada ahora resta completarla para eso presionamos el botón Send.

Dado que no ingresamos el código de cliente, el flujo continuará por el camino de registro del

cliente por lo tanto la próxima tarea que sea crea en nuestra bandeja de entrada será:

Ingresar Cliente.

Page 22: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 22

Al igual que la tarea anterior, la seleccionamos, presionamos el botón Execute e ingresamos

un cliente con los siguientes datos y confirmamos. La foto podemos encontrarla en el escritorio,

el nombre del archivo es Luisito.jpg.

Seleccionamos Confirm y luego para completar la tarea seleccionamos Send.

A continuación la siguiente tarea que veremos en la bandeja de entrada es la de Autorizar

Crédito.

Page 23: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 23

Al ejecutar la tarea seleccionamos la opción de autorizar en este caso:

Luego de seleccionar Authorize completamos la tarea seleccionando Send.

Luego de la autorización se procede a otorgarle el crédito al cliente por lo tanto se crea la tarea

Otorgar Crédito:

Page 24: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 24

La ejecutamos y presionamos el botón close.

Luego completamos la tarea con el botón Send.

Aquí termina la fase de prototipación de nuestro proceso donde nos aseguramos que todos los

caminos posibles del proceso reflejan la realidad que queremos representar.

En la siguiente sección veremos cómo representar los distintos roles y usuarios que estarán

involucrados en la ejecución del proceso.

Page 25: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 25

Anexo 1. Definiendo la Seguridad (Opcional)

Vemos que en la realidad planteada tenemos dos perfiles distintos: Administrativo y Gerente

de Préstamos. Estos perfiles los representamos como roles en GeneXus (Preferences –

Workflow – Roles) como vemos en la imagen a continuación:

Para asignar roles a las tareas contamos con la propiedad Roles como vemos en la siguiente

imagen:

Page 26: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 26

Al hacer clic se abre el siguiente diálogo para seleccionar el rol:

Vamos a asignarle roles a todos los elementos del diagrama, para esto vamos seleccionando el

elemento y cambiamos la propiedad Roles de cada uno.

1. Al símbolo de Inicio le asignamos el rol Employee.

2. A las tareas de Ingresar Cliente y Otorgar Crédito le asignamos el mismo rol

Employee.

3. Por último a la tarea Autorizar Crédito le asignamos el rol Loan Manager.

4. Una vez asignados los roles estamos en condiciones de probar la aplicación completa

como será ejecutada en producción, para eso debemos cambiar el modo de ejecución y

seleccionar StandardClient en las propiedades del Environment.

Page 27: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 27

Luego de modificar el modo de ejecución hacemos Run de un diagrama y veremos que en vez

de abrirnos el cliente para prototipar nos abre el Login de GXflow.

Vamos a ingresar con el usuario administrador para crear los usuarios que formarán parte del

sistema.

User: WFADMINISTRATOR

Password: WFADMINISTRATOR

Page 28: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 28

Al ingresar vamos al módulo de usuarios:

Y agregamos dos nuevos usuarios: USER1 y USER2 utilizando el botón NEW.

Ahora vamos a asignarle roles a estos usuarios utilizando el botón Roles:

Luego asignamos lo siguiente:

USER1: Employee

USER2: Loan Manager

Page 29: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 29

Una vez asignados los roles cerramos la sesión del administrador e ingresamos con el USER1.

1. Iniciamos una instancia de proceso utilizando el botón NEW, ingresamos la solicitud,

seleccionamos el cliente ingresado anteriormente y vemos que al enviar la tarea ya no

tenemos tareas pendientes en la bandeja de entrada.

2. Cerramos la sesión e ingresamos con el USER2 para la autorización del crédito.

3. Luego si autorizamos e ingresamos con el USER1 vemos la tarea de otorgar crédito.

Aquí termina el proceso y hemos visto como se resuelve la seguridad automáticamente luego

de asignados los roles.

¡Gracias por participar!

Page 30: Laboratorio GXflow GX23

Laboratorio GeneXus X Evolution 2. “BPM Suite” | 30

Glosario

Sitio Web de GXflow

www.gxflow.com

Documentación técnica de GXflow www.genexus.com/gxflowdocs