Sistemas Reactivos

Kolektor UT, Argentina.

Plataforma de sistemas Reactivos, Sector Público.

Diseño de Arquitectura y desarrollo de software.

Desafío

Kolektor UT, un contratista de servicios y consultoría gubernamental necesitaba modernizar el sistema de estados de cuenta y pago de impuestos provinciales del Contribuyente del segundo estado más poblado de Argentina, con un nuevo enfoque y objetivo: mejorar la capacidad de respuesta, escalabilidad y disponibilidad del sistema heredado. El sistema debía procesar datos de +3,5 millones de contribuyentes y +80 millones de obligaciones fiscales.

Kolektor UT, Argentina.

Solución

Para comprender el lenguaje de negocio y el modelo de dominio, utilizamos la técnica EventStorming en la etapa de Diseño Estratégico y modelamos la solución utilizando DDD - Diseño Dirigido por Dominio. La nueva plataforma se diseñó con un enfoque impulsado por eventos que incluye un CDC (captura de datos modificados) de las fuentes de datos, una herramienta ETL para extraer y filtrar, un motor de reglas de negocio para procesar registros que se transmiten a la etapa de lógica de negocio, un sistema reactivo de actores para distribuir el estado en una arquitectura basada en la nube. Los datos en reposo son administrados por una base de datos distribuida y tolerante a fallas que segrega la lectura de las escrituras. La solución se probó completamente en nube pública de AWS, aunque la plataforma se aloja completamente en nube privada de Openshift y su canalización de CI/CD está completamente automatizada.

Resultados

La nueva plataforma se puso en marcha en junio de 2021 ingestando más de 100 millones de eventos, se integró al sistema tributario heredado y a un nuevo sistema de pagos de billetera virtual basado en blockchain. 

Los resultados en Producción mostraron la solución más resiliente, escalable y responsiva, con un modelo de dominio simplificado que permite introducir nuevas funcionalidades de una manera más ágil y flexible. Durante los siguientes meses, gracias a esta implementación también se pudo integrar, un nuevo sistema tributario (Oracle PSRM) y un nuevo módulo de descuentos de una manera transparente para los contribuyentes.

Tecnología

  • ETL (Extracción-Transformación-Carga): Apache NiFi
  • Motor de Reglas de Negocio: Drools
  • Encargado de Mensajería: Apache Kafka
  • Lógica de Negocio: Akka (Cluster, Streams, Persistence, Http)
  • BFF (Back For Frontend) y otros microservicios: Loopback Node.js/TypeScript
  • API Gateway: Kong
  • Bases de Datos: Apache Cassandra
  • Lenguajes: Scala, Node.js, React.js, Python
  • Orquestación y contenedores: Docker, Kubernetes, Red Hat Openshift Container Platform
  • Pruebas en AWS: EKS, MSK, Akka Cloud
  • Integración y Despliegues Continuos: Gitlab, Jenkins, Sonar
  • Pruebas: Postman, Taurus, Jmeter, Blazemeter
  • Monitoreo y Observabilidad: OpenSearch, Prometheus, Grafana, Jaeger/Zipkin, Lens