Definición de tareas concurrentes, detección e identificación de errores

Documentos relacionados
Bifurcación y unión de caminos, generación de avisos periódicos y manejo de señales

Programando recordatorios y fin del proceso de reserva de pasajes

Tareas multi-instanciadas y mapeo de datos relevantes

Subprocesos transaccionales

Modelado de patrones de tiempo

Usuarios y roles. Para administrar el acceso a las tareas de un diagrama de procesos, debemos definir ciertos roles que serán parte del modelo.

Modificación de dato relevante, evento timer y calendarios

Cómo enviar un mail automático y ejecución del acceso a la API programado previamente

Introducción al modelado de procesos de negocio en base al estándar BPMN

Definición de procesos de negocios

BPM (Business Process Management)

Una vez completo este paso, es necesario verificar que haya paquetes disponibles para la cantidad de personas que deseen realizar el viaje.

Convirtiendo el modelo en una aplicación funcional

Qué son los subtipos?

Prototipado, instancias e historia de un proceso

Trabajando con documentos

Inicio de un proceso desde un objeto GeneXus, usando la API de Workflow

Formularios dinámicos

Procedimiento. Compra de Pasaje Aéreo y Gastos de Alojamiento

Para llevar a cabo esta actividad veremos el estándar BPMN (Business Process Modeling Notation), este estándar define símbolos y reglas que nos

Ciclos de prototipado y producción

Data Providers - Más conocimientos

Sistema de Gestión de Procesos

Fórmulas Locales. Page1. Video filmado con GeneXus X Evolution 2. Veremos ahora qué es una fórmula local.

Se ejecuta el diagrama de procesos por primera vez

Qué son los subtipos?

Análisis y performance de procesos, tareas y equipos de trabajo

Sistema de Liquidación Directa. Manual del servicio de Obtención de Duplicados de RNT y RLC

Definiendo reglas. En las transacciones, las reglas que deben cumplirse, o los controles que nos solicitan validar, se definen en la sección de Rules.

Actores. Casos de Uso. Requisitos: Descripción Casos de Uso (v 1.0) Weitzenfeld 1. Apéndice Requisitos: Modelo de Casos de Uso

Servicios ON-LINE para clientes ex Mapfre ART. ( Empresas )

Hotel Neruda 4* Normal $ $ Hotel Neruda 4* La Polar $ $

Cargando los tipos de datos compuestos

MENDOZA A TU ALCANCE 04 días / 03 noches

Testeando las aplicaciones (GXtest)

MOTO GP ARGENTINA 2019 TERMAS DE RÍO HONDO - 29 DE MARZO AL 01 DE ABRIL

Componentes de pantalla (Extended controls)

Cargando Tipos de Datos Compuestos (SDT) mediante Data Providers

Dos formas de devolver una colección con un Data Provider

Curso GeneXus - Otro ejemplo de uso de Business components

MACROPROCESO GESTIÓN FINANCIERA PROCESO ADMINISTRACIÓN DE RECURSOS FINANCIEROS FACTURACIÓN DE OUTSOURCING

Otro ejemplo de uso de Business Components

Actualización de la Base de Datos - For each, delete, new

ESCAPADA A LA SERENA 03 días / 02 noches

Introducción a procedimientos, listados y comando For each

Definición de reglas

Componentes de pantalla (Extended controls)

Actualización de la Base de Datos - For each, delete, new

Introducción a procedimientos, listados y comando For each

Guía de Aplicación: Catastro y Gestión de Proyectos. Dirección de Planificación y Desarrollo CDEC SIC

BUZIOS TEMPORADA BAJA 06 días / 05 noches

Flujo de trabajo. Índice

Cargando los tipos de datos estructurados

Sistema de Liquidación Directa. Manual del servicio de Obtención de Duplicados de RNT y RLC

MANUAL DE PROCEDIMIENTOS DEFRC PROCEDIMIENTO PARA LOS VIÁTICOS NACIONALES E INTERNACIONALES

Creación de la KB. Page1. Video filmado con GeneXus X Evolution 3. Vamos a ejecutar a GeneXus

Estadio Monumental Arequipa

2. CONTENIDO DE LA GUÍA INFORMATIVA

02 Operaciones Process: Operaciones Especiales Division/Location: Prospectos/Querétaro, Qro. File: VisioDocument Título

MINISTERIO DE TRABAJO INSTRUCTIVO PARA EL REGISTRO DE LOS FORMULARIOS DGT-3 Y DGT-4

Tipos de datos compuestos

Script Data Selectors: reusing definitions

Relaciones entre entidades de la realidad

POLITICAS DE SEGURIDAD DE LA INFORMACION PARA PROVEEDORES Y CONTRATISTAS GESTION TECNOLOGICA Y DISEÑO

Mesa de Ayuda. Bizagi Modeler.

Huelga de Controladores en Portugal del 29Jun a 3Jul 2012 Notificación de excepción en las políticas de viaje

Tipos de datos estructurados

Comando For Each simple y For Each anidado para listar info relacionada

ElParking - Simplemente Aparca. El Parking Manual de usuario

MANUAL DE PROCEDIMIENTOS

Reglas en transacciones - Más conocimientos

PROCEDIMIENTO PROVEEDURÍA DE SUMINISTROS Y MATERIALES

US$744 US$890. Cayo Coco / Cuba 8 Días / 7 Noches. Programa Incluye. Por Persona en Plan Familiar. Por Persona en Habitación Doble

1. OBJETIVO Definir los lineamientos y acciones a seguir para la gestión y control de acceso remoto.

CATÁLOGO DE SERVICIOS PROCESO DE PRESUPUESTO

Y cuando en la transacción Flight nombramos a CountryName, sabemos que será inferido a través del atributo AirporId.

Huracán Leslie Notificación de excepción en las políticas de viaje

Solicitud de Viaje. Bizagi Suite. Copyright 2016 Bizagi

Data Provider que carga colección con valores fijos (no extraídos de la base de datos)

Momentos de disparo de reglas en transacciones

Proceso de Matriculación FIUNA Ciclo 2

Fórmulas Globales. Page1. Video filmado con GeneXus X Evolution 2

2.- Procedimiento Operativo de Asesoría.

1. Consulta de Órdenes de Instalación 2. Generación de OT 3. Finalización de OT

MACROPROCESO GESTIÓN DE BIENES Y SERVICIOS PROCESO INVENTARIOS INVENTARIO DE MATERIALES DEL ALMACÉN DE CAMPUS Y CONSTRUCCIONES

PROCEDIMIENTO: CESE Y DEVOLUCIÓN DE GARANTÍA DE LAS PERSONAS VINCULADAS A LA ACTIVIDAD ADUANERA

Manual Nº 9. Caja Chica

FINAL UEFA CHAMPIONS LEAGUE 2019 MADRID - 31 DE MAYO AL 03 DE JUNIO

Código: PE-GE-2.5-PR-2 Versión: 2 Fecha de Actualización: Página 1 de 6

Sistema de Liquidación Directa RED Directo. Manual del servicio de Cambio de modalidad de pago

Notificación de excepción en las políticas de viaje

Introducción a Smart Devices

Terminales POS: App. Vale Electrónico Offline. Manual de Usuario

Solicitud de Plazas de Profesor Asociado

Transcripción:

Definición de tareas concurrentes, detección e identificación de errores El proceso de reserva de pasajes de la Agencia de Viajes, incluye un subproceso que llamamos Validate Reservation, que se encarga de validar los datos de la reserva registrada. En el desarrollo de este proceso, en primer lugar, se verifica la disponibilidad de la reserva contactando las aerolíneas para ver si hay vuelos disponibles en las fechas solicitadas. Una vez obtenida la información puede pasar que no haya disponibilidad de tickets, en cuyo caso se deberá volver al proceso de reserva de tickets, para preguntarle al cliente si desea hacer otra reserva. O bien hay tickets disponibles para la fechas solicitadas y se continúa adelante con el proceso de validación, para lo cual se deberá seguir por dos caminos Page1

Por un lado se deberá completar los datos del cliente necesarios para el viaje, como visas, pasaportes, vacunas, etc. Y por otro lado, dependiendo del importe del viaje, se deberá obtener información de la situación financiera del cliente. Una vez finalizada la obtención de la información requerida, se deberá proceder a evaluarla, por una parte verificar toda la documentación requerida por el viaje y por otra parte, el gerente de atención al cliente deberá autorizar la reserva. Si falta algo de la documentación, deberá volverse a obtener lo que sea necesario. Page2

Para estudiar la autorización de la reserva, el gerente de atención al cliente dispondrá de un tiempo determinado y tendrá avisos periódicos que le recuerden esta tarea. Si al analizar la misma, decide no autorizarla, deberá notificar los motivos al cliente y finalizará el subproceso de validación y también el proceso de reserva de tickets. En caso de que se otorgue la autorización del gerente y que la documentación esté toda en orden, se autorizará la reserva. En este caso finalizará el subproceso de validar la reserva y se volverá al proceso principal de reserva de tickets, para notificar al cliente de que la reserva está confirmada. Modelaremos ahora el proceso de validación de la reserva paso a paso utilizando el Business Process Modeler de GeneXus. Lo primero que hacemos es crear un objeto del tipo Business Process Diagram y lo llamaremos ValidateReservation. Page3

Para indicar el comienzo de nuestro proceso, arrastramos un símbolo de None Start Evént desde la toolbar y le agregamos la descripción Validate a ticket reservation. Ahora agregaremos la primer tarea a realizarse que es la de contactar a las aerolíneas. Como es una tarea interactiva arrastramos una tarea User al diagrama, con F2 le ponemos de nombre Contact Airlanes y la unimos desde el nodo de comienzo. Esta tarea tiene la particularidad de que va a ser ejecutada un cierto número de veces, ya que es necesario contactar a varias aerolíneas y esto incluso podría realizarse simultáneamente. Para definir esto, vamos a la propiedad Loop type y asignamos el valor Multi-Instance. Una vez contactadas todas las aerolíneas debemos analizar la información obtenida y chequear si hay vuelos disponibles en las fechas solicitadas. Para modelar esto insertamos una tarea Script con el nombre Check availability y la conectamos desde la tarea Contact Airlines. Page4

Ahora debemos evaluar el resultado del chequeo. Si no hay disponibilidad de tickets debemos volver al proceso principal de reservaciones para que se le pregunte al cliente si desea hacer otra reserva, pero si hay disponibilidad debemos seguir por 2 caminos a la vez: completar los datos para el viaje y verificar la situación financiera del cliente. Para modelar esto, no podemos utilizar un exclusive gateway ya que el flujo deberá continuar por más de un camino, por lo que arrastramos desde la toolbar un símbolo de Inclusive Gateway, lo conectamos desde la tarea Check Availability y le agregamos la descripción Are the tickets available? En este tipo de nodo se define una condición por cada camino que sale del mismo y el flujo seguirá por todos los caminos que cumplan las condiciones. Un camino posible es cuando no hay disponibilidad de tickets. Si pasa esto, debemos indicar que debe cancelarse el proceso de validación de tickets ya que no hay tickets para validar y debe volverse al proceso principal para notificar esto al cliente y ofrecerle la posibilidad de solicitar nuevas fechas para la reserva. Page5

Podemos modelar esta situación de finalización por error, insertando un Error End Event, al que unimos desde el inclusive Gateway y agregamos la descripción Not available tickets. En la propiedad Error Code escribimos NOT_AVAILABLE_TICKETS. Este tipo de evento de fin, dispara un error que permite que el flujo continúe en otro proceso, al que agregaremos un evento intermedio de error, con el fin de detectar dicho error. Si volvemos al proceso principal de reserva de tickets, vemos que en el mismo era necesario utilizar un exclusive gateway para evaluar si la reserva era válida. Sin embargo, este modelo no nos permite discernir porqué razón la reserva no es válida, ya que como vimos, podía pasar que no pudiera continuarse con la reserva porque no había tickets disponibles o porque el gerente de atención al cliente no autorizaba la reserva. Page6

El modelo utilizando un error end event y un error intermediate event nos permite detectar qué situación provocó el error en el subproceso y tomar distintas acciones en el proceso principal. Para modelar esto, modificamos el proceso FlightTicketReservation, eliminando el Gateway que evaluaba la validez de la reserva y lo sustituimos por un error intermediate event que colocamos sobre el símbolo del subproceso. Editamos las propiedades de este evento y en Error Code escribimos NOT_AVAILABLE_TICKETS. Este código de error debe coincidir exactamente con el definido en el error end event del subproceso ValidateReservation. Conectamos este evento con la tarea Notify about rejection and check follow up, a esta conexión le agregamos la descripción Not available tickets y completamos el diagrama conectando el subproceso ValidateReservation a la tarea Notify customer of authorization. Page7

Con esto modelamos el caso de que no pudiera continuarse con la reserva porque no había tickets disponibles. Para modelar el caso de que el gerente de atención al cliente no autoriza la reserva, agregamos otro error intermediate event al subproceso. Luego arrastramos una tarea script desde la toolbar, le ponemos la descripción Notify rejection to customer y la conectamos desde el error event. A esta conexión le ponemos la descripción Rejected by Customer Care Manager. Por último agregamos un None end event con la descripción Invalid reservation y lo conectamos desde la tarea de la notificación. Page8