Documentation for a newer release is available. View Latest

Estados y Eventos

Los estados y los eventos son principios fundamentales para entender y trabajar con IPF. Los estados representan un punto en el procesamiento de tu sistema, mientras que los eventos son hechos persistidos sobre algo que ha ocurrido en tu sistema. (puedes leer más sobre estados y eventos desde la perspectiva de una "máquina de estados" aquí - Máquina de Estados)

Estados Globales

Primero consideramos el "Conjunto de Estados Globales". El conjunto de estados globales es un conjunto de estados que representan el estado general de un pago. Se utiliza particularmente cuando un pago puede abarcar múltiples flujos (por ejemplo, si el procesamiento del pago se divide en partes de "iniciación" y "ejecución"), pero también puede aplicar un estado de tipo agrupación general a las partes individuales del flujo para simplificar las aparentes transiciones de estado desde un nivel de pago.

Cada estado a nivel de flujo puede mapearse a un estado global de tal manera que múltiples estados a nivel de flujo puedan considerarse que dejan el pago en el mismo estado global general.

Se proporciona un conjunto de estados globales por defecto que ofrece los siguientes estados estándar: Pending, Accepted, Rejected, Manual Action Required y Cancelled.

Estados

El siguiente concepto a considerar dentro de nuestro flujo es un "Estado". Este es simplemente un punto de descanso en el flujo por el que el pago puede pasar en su recorrido. Por ejemplo, podríamos tener un flujo muy simple que va de "Estado A" a "Estado B".

Un estado en sí tiene varias propiedades:

  • "Nombre"

  • "Descripción"

  • "Estado global"

  • Indicador "Es Terminal" - el indicador terminal se usa para indicar que esto termina el flujo al que pertenece el estado.

Cada flujo puede contener muchos estados diferentes.

Además de las propiedades del estado anteriores es posible especificar (a un nivel más técnico)

  • Si un flujo debe ser pasivado cuando la acción asociada con ese estado ha sido procesada.

  • Si el estado no es recuperable - en nuestro contexto significa si las acciones asociadas con este estado pueden reproducirse. Esto es particularmente útil cuando un dominio externo no puede tolerar solicitudes repetidas.

Eventos

Cuando un flujo se mueve de un estado a otro, esto se conoce como una "Transición de Estado". Dentro de IPF, para que ocurra una transición de estado, el sistema necesita recibir un "Evento" en el recorrido de procesamiento del pago. En este caso, es en realidad un tipo específico de evento conocido como "Evento de Dominio".

Un evento de dominio es una ocurrencia fáctica persistida: la llegada de un evento significa que algo explícito ha ocurrido que puede causar algún tipo de cambio en el procesamiento de nuestro pago.

Un evento tiene varias propiedades:

  • "Nombre"

  • "Descripción"

  • Lista de "Datos de negocio".

Cuando se forma un evento, el sistema comprobará su propio comportamiento para determinar qué acciones deben realizarse.

Los comportamientos y el procesamiento desencadenados por los eventos se discuten aquí. Hay tres ocasiones en las que un evento puede causar un cambio en el procesamiento; estas se conocen como las condiciones de "Criterios de Evento" y se definen como:

  • "On" - este movimiento ocurrirá con la llegada de un único evento (p. ej., podemos transicionar al recibir "Evento 1")

  • "On any of" - este movimiento ocurrirá con la llegada de uno de múltiples eventos (p. ej., podemos transicionar al recibir "Evento 1" o "Evento 2")

  • "On all of" - este movimiento solo ocurrirá con la llegada de múltiples eventos (p. ej., podemos transicionar solo después de recibir "Evento 1" y "Evento 2")

Aquí hemos descrito el "Evento de Dominio", que es el tipo de evento que se declara explícitamente dentro de cualquier solución MPS. Sin embargo, IPF como un todo utiliza varios tipos diferentes de evento:

  • "Evento del Sistema" - estos ocurren cuando sucede algo al sistema y pueden adaptarse para ser específicos a necesidades individuales.

  • "Eventos de Tiempo de Espera de Acción" - estos eventos ocurren durante el procesamiento cuando se incumplen las configuraciones de tiempo de espera.

  • "Eventos de Resultado de Decisión" - estos eventos se usan como respuesta a recibir resultados de decisiones.

Todos estos tipos de evento se discuten en los conceptos o tutoriales.