Flujos de Datos

Para que se envíen las notificaciones de estado de pago, es necesario recibir tanto el domain events(acting as a trigger) y los detalles del mensaje de pago inicial (PAIN. 001) con el fin de extraer los datos necesarios para completar el mensaje PAIN. 002 que constituye la notificación del estado del pago. El servicio en sí mismo es independiente y no requiere, por ejemplo, el Almacén de Datos de Operación (ODS). Esto significa que los datos deben ser almacenados en caché en algún lugar.

El primer diagrama a continuación muestra la recepción de un Domain Event que contiene un PAIN. 001 que ha sido expuesto o publicado desde la Aplicación IPF. Es el evento inicial que contiene el mensaje PAIN. 001, el cual se utiliza como fuente de todos los parámetros de pago que se utilizarán para completar el PAIN. 002. A efectos de notificaciones, esto es lo que debe ser almacenado en caché, para que pueda ser accedido en un momento posterior.

notification-service-pain001

Para producir una notificación, al recibir un Dominio posterior Event los datos originales de PAIN. 001 se recuperan de la caché. Notifications se crean únicamente donde los eventos subsiguientes que pasan un filtro basado en el domain event nombre. Luego, basado en la configuración de notificaciones, el servicio producirá una Notificación de Estado de Pago.

notification-service-pain002

Para ofrecer esta capacidad, el servicio utiliza los siguientes componentes:

  • IPF Processing Data ingreso: consumir Domain Events que se publican como parte de IPF application procesamiento. Estos eventos son consumidos de Kafka y esto se logra técnicamente añadiendo la siguiente dependencia de maven:

<dependency>
    <groupId>com.iconsolutions.ipf.core.processingdata</groupId>
    <artifactId>ipf-processing-data-ingress-kafka</artifactId>
</dependency>
  • IPF Caching: para almacenar y recuperar datos, añadiendo la siguiente dependencia de maven:

<dependency>
    <groupId>com.iconsolutions.ipf.core.platform</groupId>
    <artifactId>ipf-cache-infinispan</artifactId>
</dependency>
  • Configuración de Notificación de Estado de Pago: a customise campos específicos al producir el PAIN. 002. Más sobre el tema aquí.

  • Dolor 002 Mapper: mapea un PAIN. 002 del Dominio original Event y el PAIN. 001 original recuperado de la caché

  • Send Connector: utilizando un AlpakkaKafkaProducerConfiguration para producir la Notificación de Estado de Pago

  • IPF Processing Data salida: publicar Message Logs to Kafka, añadiendo las siguientes dependencias de maven:

<dependency>
    <groupId>com.iconsolutions.ipf.core.processingdata</groupId>
    <artifactId>ipf-processing-data-egress-message-logger</artifactId>
</dependency>
<dependency>
    <groupId>com.iconsolutions.ipf.core.processingdata</groupId>
    <artifactId>ipf-processing-data-egress-kafka</artifactId>
</dependency>