viernes, 12 de julio de 2013

Introducción al diseño e implementación de un proceso con la herramienta BPMS Bonita. II

clip_image002

En la entrada anterior  habíamos visto como iniciar el trabajo con la herramienta BPMS Bonita y como se podía modelar un proceso básico usando sus distintos elementos quedando como en la imagen que da inicio a esta entrada.

Para recordar el proceso aquí se les deja nuevamente su descripción.

Descripción del proceso:

El proceso se encarga de permitir que un cliente de una tienda pueda acceder al sitio online de la tienda, seleccionar varios artículos los cuales deben ser aprobados por un empleado de forma manual, esto puede llevar a que el cliente compre los artículos con su tarjeta de crédito, o a que rechace la compra o a que se pida más información sobre los artículos a comprar. Si se ejecuta el pago entonces los artículos serán enviados al cliente en 3 días hábiles y la transacción será archivada, en caso de que se rechace la compra también se archiva la transacción. En cualquier caso se da por terminado el proceso.

En el estado en que quedó el proceso en la entrada anterior aun no es funcional, eso se debe a que no se han definido:

· No se ha definido la forma en que se capturará y se manejará la información.

· Las pantallas que verán los actores y trabajadores de este proceso.

Por lo que en esta entrada nuestro objetivo será mostrar como capturar y manejar la información usando variables dentro del proceso. Para luego en la siguiente entrada ver como se manejan las condiciones y transiciones que determinan el flujo del proceso.

Empecemos.!!!

Las variables se usan para:

1. Capturar información en los formularios de los usuarios, y pueden ser globales cuando esta información se necesita a lo largo de todo el proceso o locales cuando solo se necesitan dentro de una actividad.

2. Definir condiciones o transiciones entre actividades.

Para comenzar el proceso necesitamos una ventana donde se capture información del usuario:

· Nombre.

· Número de teléfono.

· Dirección de correo electrónico.

Para crear las variables que almacenen esta información debemos dar clic en el pool del proceso y luego en la pestaña General, y seleccionar Datos.

clip_image004

Ahí damos clic en Agregar y veremos la siguiente ventana.

clip_image005

Este es el mecanismo que estaremos usando siempre para crear variables.

Y lo llenamos de esta manera para la variable nombreCliente.

clip_image006

Será lo mismo para las otras dos variables.

Y terminaremos viendo lo siguiente:

clip_image008

Ahora bien, como no estamos obteniendo el listado de los productos que el cliente puede comprar de una fuente de datos, o sea dinámicamente, debemos crear una variable que contenga este listado de productos. Así que volvemos a crear otra variable de la siguiente manera:

clip_image009

Cuando llegamos a definir el tipo de dato ninguno cumple con nuestras necesidades así que damos clic en Lista de opciones… y se nos muestra la siguiente ventana.

clip_image011

Damos clic en Añadir y debemos crear nuestra lista de productos. Quedando como sigue:

clip_image013

Damos Aceptar.

Nuestra variable quedaría de la siguiente manera:

clip_image014

Vean que incluso definimos un valor por defecto para este escenario.

Finalizamos y ya tenemos lo siguiente:

clip_image016

Ahora debemos añadir nuevas variables para las actividades de “Más Información” y “Pagar”.

Los pasos son los mismos así que solo les dejo la información a introducir y tengan en cuenta que ahora en vez de seleccionar el pool del proceso como hicimos anteriormente, debemos seleccionar la actividad en la que queremos exista esta variable, pues será una variable local.

Para “Más Información”:

· Variable: comentario.

· Descripción: información adicional introducida por el empleado de ventas.

· Tipo de dato: Texto.

· Multiplicidad: simple.

clip_image017

Para “Pagar”:

  • Variable 1: numeroTarjetaCredito.
  • Descripción: tarjeta de crédito del cliente.
  • Tipo de dato: Texto.
  • Multiplicidad: simple.
  • Variable 2: fechaExpiracion.
  • Descripción: fecha de expiración de la tarjeta de crédito del cliente.
  • Tipo de dato: Fecha(Date).
  • Multiplicidad: simple.
  • Variable 3: escogerEntregaExpress.
  • Descripción: si es true se envía express, si es false se envía de forma normal.
  • Tipo de dato: Booleano(boolean).
  • Multiplicidad: simple.

Quedaría así:

clip_image019

Como se ha podido apreciar toda la información que se maneje dentro del proceso debe ser recopilada en variables, y estas pueden ser tanto globales si es de interés para el proceso en general, o locales si solo interesan a una actividad en particular.

Hemos identificado una restricción en este proceso y tiene que ver con la forma en que obtenemos el listado de productos a mostrar a los clientes. De la forma actual no es eficiente y tendría más sentido que el listado se obtuviera dinámicamente de una BD o servicio web, ya que el mismo puede cambiar en dependencia de la disponibilidad de productos en los almacenes e incluso su información propia como puede ser el precio. Ya esto será objeto de otra entrada más adelante cuando tengamos una primera versión de este proceso funcional y probado.

El objetivo de esta entrada era, como se dijo al inicio, mostrar como la información puede ser capturada en variables, y espero que haya quedado cumplido. Cualquier duda que tengan pregunten sin problema.


¿Te ha gustado este Post? Compártelo con tus amigos.

No hay comentarios:

Publicar un comentario

IconIconIcon