Transformación en Cash Management
- Inicio
- Detalles del Caso
Las aplicaciones monolíticas complejas a menudo evolucionan a lo largo de los años, con capas de requisitos comerciales apiladas unas sobre otras sin límites claros. Los conceptos se entrelazan, las reglas y políticas se dispersan en múltiples capas, y la implementación de cambios se convierte en una tarea abrumadora. Estos sistemas suelen depender de un puñado de expertos, creando cuellos de botella cuando se necesitan actualizaciones urgentes.
Este fue el desafío que enfrentó uno de nuestros clientes, un importante grupo financiero en Centroamérica. Su solución de gestión de efectivo era un sistema monolítico frágil, con un manejo superficial de errores y sin resiliencia—esencialmente, un castillo de naipes que nadie se atrevía a tocar. Necesitaban una nueva solución construida desde cero, pero con una restricción crítica: las interfaces existentes para los clientes (servicios SOAP, intercambio de archivos y banca en línea) debían permanecer sin cambios para evitar interrupciones a sus clientes corporativos.
Entregamos una solución dinámica basada en microservicios dirigidos por eventos que redefinió las transacciones distribuidas. Utilizando el Patrón de Orquestación de Sagas, aseguramos que cada transacción se mantuviera equilibrada, mientras que los Patrones de Reintento y Cortocircuito agregaron resiliencia. Para evitar créditos o débitos duplicados, implementamos nuestro método probado "Preguntar Antes de Repetir", haciendo el proceso más complejo pero mucho más seguro.
La solución también incorporó patrones esenciales como Base de Datos por Servicio, Event Sourcing, CQRS, Caché Distribuido, API Gateway, Health Check API, Agregación de Registros, Trazabilidad Distribuida, Métricas de Aplicación y Registro de Auditoría.
Un componente clave fue el API Gateway, que permitió una transición sin problemas al redirigir gradualmente a los clientes al nuevo sistema sin alterar su experiencia. Este enfoque nos permitió implementar la solución en un modo controlado de "amigos y familiares", garantizando cero interrupciones para los usuarios finales.
Participantes
Microservicios
Clases desarrolladas
Artefactos de Base de Datos
Líneas de código
Temas