• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Laboratorio GXflow GX23
 

Laboratorio GXflow GX23

on

  • 656 views

Laboratorio GXflow GX23

Laboratorio GXflow GX23

Statistics

Views

Total Views
656
Views on SlideShare
607
Embed Views
49

Actions

Likes
0
Downloads
40
Comments
0

1 Embed 49

http://www5.genexus.com 49

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Laboratorio GXflow GX23 Laboratorio GXflow GX23 Document Transcript

    • Laboratorio GeneXus X Evolution 2 BPM Suite
    • 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.
    • 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
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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
    • 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:
    • 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:
    • 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:
    • 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:
    • 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.
    • 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:
    • 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.
    • 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.
    • Laboratorio GeneXus X Evolution 2. “BPM Suite” | 18 ¡Felicitaciones! Usted ha creado con éxito su primera aplicación BPM.
    • 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.
    • 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
    • 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.
    • 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.
    • 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:
    • 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.
    • 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:
    • 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.
    • 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
    • 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
    • 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!
    • 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