Una capa de integración para evolucionar los canales sin tocar el core
Una capa de servicios trazable conectó las aplicaciones con el core bancario, sin trasladar su complejidad a cada nuevo desarrollo.
Una capa de integración para evolucionar los canales sin tocar el core
Una capa de servicios trazable conectó las aplicaciones con el core bancario, sin trasladar su complejidad a cada nuevo desarrollo.
- App móvil
- Home banking
- Portales y back office
- API REST con contratos versionados
- Un adaptador por operación
- Identificador de correlación por operación
- Reintentos con estado verificado
- Sistema existente, sin cambios
- Se consulta el estado antes de reintentar
- Reglas y saldos siguen siendo su fuente
¿Tu core funciona, pero cada canal nuevo vuelve a empezar la integración?
Podemos construir una capa de servicios que conecte tus aplicaciones con el sistema bancario existente y baje el acoplamiento técnico.
El desafío
El core bancario concentraba la información y las operaciones esenciales de la entidad, y no había ninguna intención de reemplazarlo: hacía lo que tenía que hacer. El problema era otro. Cada canal nuevo volvía a integrarse contra él desde cero.
El equipo que desarrollaba una aplicación tenía que aprender los formatos propios del sistema bancario, interpretar sus códigos de respuesta y resolver por su cuenta las validaciones, el manejo de errores y el seguimiento de cada operación. Una modificación en el core obligaba a revisar varios consumidores a la vez. Una aplicación nueva reconstruía integraciones que ya existían en otro proyecto, con criterios distintos.
El punto más delicado aparecía cuando una operación no terminaba con una respuesta inmediata. Ante un corte de comunicación o un tiempo de espera agotado, el canal quedaba sin certeza: no sabía si la solicitud había sido rechazada, si seguía en proceso o si el core la había registrado correctamente. En un entorno financiero, repetir una operación sin conocer su estado es tan riesgoso como perderla.
La solución
Construimos una capa de integración entre el core y los sistemas que necesitan consultar o registrar información bancaria. Funciona como una frontera estable: los canales consumen contratos de servicio definidos para cada operación, y adaptadores especializados traducen esas solicitudes al formato que el core espera.
Los canales habilitados son seis: la banca online web, la banca online móvil, el backoffice de sucursal, el call center, los sistemas internos y las integraciones de terceros. El recorrido empieza cuando un usuario inicia una consulta desde cualquiera de ellos. La aplicación envía la solicitud a la capa de servicios, que valida la identidad, los permisos y la presencia de los datos obligatorios antes de tocar nada. Si la solicitud es válida, el servicio correspondiente aplica las reglas de integración y la entrega al adaptador.
La capa publica doce operaciones agrupadas en cuatro familias. Posición: consulta de saldo, consulta de movimientos, consulta de cuentas del cliente y consulta de comprobante. Transferencias: alta de transferencia, consulta de estado y reverso de operación. Pagos: alta de pago de servicios y consulta de pago. Productos: consulta de plazo fijo, alta de plazo fijo y consulta de préstamos. Cada una tiene su contrato, su versión y su modo de ejecución, sincrónico o diferido.
El adaptador transforma el mensaje sin exponerle esa complejidad al canal: convierte campos, códigos y estructuras al modelo del core, ejecuta la comunicación y recibe el resultado. Después normaliza la respuesta, para que las aplicaciones consumidoras trabajen siempre con el mismo contrato, independientemente de cómo el core represente la información por dentro.
Cuando la operación termina bien, el canal recibe una respuesta funcional que puede mostrarle al usuario. Cuando se interrumpe, la integración conserva el identificador y el estado del intercambio. En vez de repetir la solicitud a ciegas, el equipo de soporte consulta qué etapa alcanzó y verifica el resultado contra el core antes de decidir si corresponde reintentar.
Cada operación queda asociada a un identificador de correlación. Desde la vista de seguimiento, el equipo autorizado consulta el momento de recepción, el canal de origen, el servicio invocado, el estado y el resultado técnico. Los datos sensibles se protegen: la traza sirve para diagnosticar un incidente, no para convertirse en una copia paralela de la información bancaria.
Este diseño también cambia cómo se incorpora un canal. El equipo que desarrolla una aplicación no vuelve a implementar la comunicación con el core: consume los servicios ya publicados y se concentra en la experiencia y en las reglas de su producto. Si el core cambia, la adaptación se resuelve en un solo lugar y no en cada consumidor.
Arquitectura de la plataforma
La arquitectura separa cinco responsabilidades: los canales consumidores, el punto de acceso y seguridad, los servicios de integración, el adaptador específico y el core. Esa división es la que evita que los contratos externos terminen reproduciendo las estructuras internas del sistema bancario, que es exactamente el acoplamiento que se quería sacar.
Las operaciones sincrónicas recorren la capa y devuelven al canal una respuesta normalizada. Las que requieren procesamiento diferido mantienen un estado consultable y un identificador único. Tratar cada interacción según su comportamiento real es lo que permite no aplicar reintentos automáticos indiscriminados sobre operaciones financieras.
La observabilidad acompaña todo el recorrido. Los eventos técnicos registran el avance de la solicitud y permiten relacionar lo que pasó en el canal con la invocación efectiva sobre el core. Soporte investiga una operación puntual sin tener que recorrer los registros aislados de cuatro sistemas distintos.
El core sigue siendo el sistema responsable de procesar y confirmar las operaciones bancarias. La capa no duplica esa responsabilidad: controla el intercambio, traduce los contratos y presenta una interfaz estable para todo lo que evoluciona alrededor.
La implementación
Arrancamos identificando las operaciones prioritarias y documentando, para cada una, sus entradas, sus respuestas, sus validaciones y sus estados de error posibles. Antes de sumar el primer canal definimos los contratos de integración y armamos casos de prueba reproducibles, para comprobar que la capa nueva interpretara el core igual que los procesos que ya estaban andando.
El despliegue fue progresivo, y esa fue la decisión de diseño que más importó. Cada operación se validó de punta a punta antes de incorporar la siguiente: respuestas correctas, rechazos funcionales, tiempos de espera agotados y recuperación ante fallas de comunicación. Así se pudo evolucionar la integración sin exigir una sustitución del core ni una migración simultánea de todos los canales.
El resultado es una arquitectura donde el core conserva su rol transaccional y los desarrollos nuevos se apoyan en una interfaz controlada y trazable. La entidad suma servicios alrededor del core sin convertir cada iniciativa digital en un proyecto de integración que empieza de nuevo.
Preguntas frecuentes
¿Cómo se evita que un reintento duplique una operación bancaria?
Cada solicitud lleva un identificador propio y la integración guarda el estado que alcanzó. Ante un corte, el equipo verifica primero contra el core si la operación quedó registrada y recién después decide si reintenta. El reintento automático indiscriminado no se aplica sobre operaciones financieras.
¿Hay que reemplazar el core para sumar canales digitales?
No. El core sigue procesando y confirmando las operaciones bancarias. La capa administra contratos, validaciones de entrada, transformación, comunicación y trazabilidad, y publica una interfaz estable para las aplicaciones que se construyen alrededor.
¿Qué pasa cuando el core cambia un formato o un código de respuesta?
El cambio se absorbe en el adaptador, que es el único componente que conoce el modelo interno del sistema bancario. Los canales siguen consumiendo el mismo contrato y no necesitan una nueva versión ni un redespliegue.
¿Se puede implementar por etapas sin frenar la operación?
Sí, y es el enfoque recomendado. Las operaciones se priorizan por canal y por riesgo, y cada circuito se valida de punta a punta antes de incorporar el siguiente, incluyendo rechazos funcionales y tiempos de espera agotados.
¿La capa de integración guarda información bancaria?
No replica la base del core. Registra los datos técnicos del intercambio para poder diagnosticar un incidente, con los campos sensibles protegidos. La traza sirve para reconstruir qué pasó con una operación, no para consultar saldos ni movimientos.
¿Cómo se diagnostica una operación rechazada?
Por el identificador de correlación, que conecta la solicitud del canal, su transformación, la comunicación con el core y el resultado. Desde una sola vista se ve en qué etapa se detuvo y con qué respuesta técnica, sin cruzar registros de varios sistemas.
Por qué no ves el nombre del cliente
Trabajamos bajo acuerdo de confidencialidad: no publicamos la razón social, ni datos comerciales, ni detalles técnicos que puedan comprometer la operación de nuestros clientes. Las métricas de este caso son reales y están validadas con ellos. ¿Necesitás más detalle para evaluarnos? Podemos ampliarlo bajo NDA.