BIAN: Estructurando el Negocio Bancario con DDD y Microservicios
#Business

BIAN: Estructurando el Negocio Bancario con DDD y Microservicios

Backend Reporter
4 min read

BIAN proporciona un mapa funcional del negocio bancario que se conecta naturalmente con Domain-Driven Design y arquitecturas de microservicios, ofreciendo una estructura conceptual para modernizar core systems sin detener el negocio.

En los últimos años, el sector financiero ha vivido una transformación profunda: presión regulatoria, fintechs nativas digitales, APIs abiertas, banca como plataforma y una necesidad constante de modernizar core systems sin detener el negocio. En ese contexto, BIAN (Banking Industry Architecture Network) se ha convertido en una referencia clave para quienes diseñan arquitecturas bancarias modernas.

Pero BIAN no es solo "otro framework". Es una propuesta estructurada para organizar el negocio bancario en dominios bien definidos, con un modelo de servicios estandarizado que conecta de forma natural con prácticas como Domain-Driven Design (DDD) y arquitecturas de microservicios.

¿Qué es BIAN?

BIAN es una iniciativa colaborativa creada por bancos y proveedores tecnológicos con el objetivo de definir una arquitectura de referencia estandarizada para la industria bancaria. Su propósito es claro: descomponer el negocio bancario en capacidades funcionales bien definidas y estructuradas como servicios.

No define tecnología concreta, ni impone un estilo de implementación. Define una forma de estructurar el negocio y sus responsabilidades. En esencia, BIAN proporciona un mapa funcional del banco, donde cada parte tiene límites claros y responsabilidades específicas.

La estructura de BIAN

Para organizar los miles de procesos de un banco, BIAN utiliza un mapa llamado Service Landscape. Este se divide en tres grandes capas:

Business Areas (Áreas de Negocio): Son las divisiones estratégicas más grandes de una institución (ej. Ventas y Servicios, Operaciones de Referencia). Serían los "continentes" en nuestro mapa.

Business Domains (Dominios de Negocio): Subdivisiones lógicas dentro de las áreas. Aquí agrupamos problemas específicos (ej. Operaciones de Tarjetas, Préstamos). Serían los "países".

Service Domains (Dominios de Servicio): ¡El corazón de BIAN! Son las capacidades de negocio elementales e indivisibles. Cada Service Domain gestiona el ciclo de vida de un activo usando un patrón específico.

Featured image

BIAN y microservicios: relación estructural

BIAN no obliga a usar microservicios. Sin embargo, su forma de descomponer el negocio es especialmente compatible con arquitecturas distribuidas.

Cuando una organización decide estructurar su arquitectura en servicios independientes, necesita primero tener bien definidos los límites funcionales. Aquí es donde BIAN aporta valor:

  • Cada Business Domain puede convertirse en un servicio autónomo
  • Cada dominio puede gestionar su propio ciclo de vida
  • Las interacciones entre dominios pueden formalizarse mediante contratos explícitos

Lo importante no es convertir cada dominio en un microservicio de forma automática, sino usar el modelo para definir límites correctos. Una arquitectura basada en microservicios necesita:

  • Autonomía funcional
  • Aislamiento de datos
  • Responsabilidad clara
  • Interacciones controladas

BIAN proporciona precisamente esa estructura conceptual.

La conexión entre BIAN y Domain-Driven Design (DDD)

Más que una coincidencia, la relación entre BIAN y Domain-Driven Design (DDD) es estructural. Ambos enfoques parten del mismo principio fundamental: la arquitectura debe reflejar el dominio del negocio.

DDD es un enfoque de desarrollo de software que propone comenzar por comprender el dominio en profundidad y estructurarlo en Bounded Contexts: límites semánticos claros donde un modelo es consistente y coherente.

BIAN, por su parte, descompone el negocio bancario en Business Domains, cada uno con:

  • Responsabilidad funcional específica
  • Propiedad clara sobre su información
  • Servicios definidos
  • Límites bien establecidos

Aunque surgieron en contextos distintos, ambos enfoques convergen en varios puntos clave.

Caso Práctico: Conectando BIAN con DDD y Microservicios

Según el Service Landscape de BIAN, Current Account es un Service Domain cuyo objetivo es manejar el ciclo de vida de una cuenta corriente. En términos de DDD, este será nuestro Bounded Context (nuestro microservicio completo).

Dentro de este microservicio, BIAN nos dice que el Control Record (el núcleo de información que controla este dominio) se llama Current Account Arrangement (El acuerdo de cuenta corriente). Este Control Record se convierte automáticamente en nuestro Aggregate Root en Java. Es la entidad principal que protege las reglas de negocio (por ejemplo, que no puedas retirar más dinero del que tienes, a menos que tengas un límite de sobregiro).

Para manejar las distintas funcionalidades de la cuenta, implementamos los Behavior Qualifiers (Calificadores de Comportamiento) que dicta BIAN, como Withdrawals (Retiros) y Deposits (Depósitos), exponiéndolos como casos de uso.

Google AI Education track image

Conclusión

BIAN no reemplaza DDD. Tampoco DDD sustituye a BIAN. BIAN ofrece una estructura de descomposición sectorial específica para banca. DDD ofrece una metodología para modelar correctamente cualquier dominio, incluido el bancario.

Cuando se combinan:

  • BIAN ayuda a identificar los límites macro del sistema.
  • DDD ayuda a modelar correctamente cada uno de esos límites.

La conexión no es tecnológica. Es conceptual y estructural. Y ahí radica su verdadero valor.

Comments

Loading comments...