Capítulo 1: Estilos de Integración¶
Introducción¶
Antes de hablar de canales, mensajes, routers o transformadores, es necesario responder una pregunta más fundamental: ¿cómo se conectan dos sistemas? Los estilos de integración responden a esta pregunta en su nivel más básico. Son las cuatro estrategias fundamentales mediante las cuales dos o más aplicaciones pueden intercambiar información y coordinar su comportamiento.
Los cuatro estilos de integración catalogados por Hohpe y Woolf son:
- File Transfer — Los sistemas intercambian datos produciendo y consumiendo archivos en un sistema de archivos compartido.
- Shared Database — Los sistemas comparten datos leyendo y escribiendo en una base de datos común.
- Remote Procedure Invocation — Un sistema invoca directamente la funcionalidad de otro a través de una interfaz remota.
- Messaging — Los sistemas intercambian datos enviando y recibiendo mensajes a través de un sistema de mensajería intermedio.
Estos cuatro estilos no son mutuamente excluyentes. En cualquier arquitectura enterprise real, coexisten múltiples estilos de integración, a menudo entre los mismos sistemas. Lo importante es comprender las propiedades, trade-offs y consecuencias arquitectónicas de cada uno para tomar decisiones informadas sobre cuándo aplicar cada estilo.
Por Qué Este Capítulo Es Fundamental¶
Los estilos de integración son la decisión de diseño más fundamental en una arquitectura de integración. Todo lo demás — patrones de routing, transformación, endpoints, gestión — opera dentro del marco establecido por el estilo de integración elegido. Elegir messaging como estilo habilita un universo de patrones de routing y transformación asíncrona. Elegir remote procedure invocation conduce a un mundo diferente de APIs, contracts y circuit breakers.
Comprender los estilos de integración es comprender las reglas del juego antes de empezar a jugar.
Evolución de los Estilos en el Contexto Moderno¶
En el contexto actual, los estilos de integración se manifiestan de formas que los autores originales no podían anticipar completamente:
- File Transfer ha evolucionado de archivos CSV en directorios FTP a data lakes en cloud storage, pipelines de datos batch y formatos como Parquet o Delta Lake.
- Shared Database se ha convertido en un reconocido anti-pattern para integración entre microservicios, pero persiste en formas más sutiles como data meshes con zonas de datos compartidas o change data capture.
- Remote Procedure Invocation se ha transformado de CORBA y DCOM a REST APIs, gRPC, GraphQL y service meshes, convirtiéndose en el estilo dominante para integración síncrona.
- Messaging ha evolucionado de colas JMS a plataformas de streaming como Kafka, event brokers cloud-native y event meshes distribuidos, convirtiéndose en el backbone de las arquitecturas event-driven.
La elección del estilo sigue siendo la primera decisión. Las herramientas cambian; las consecuencias arquitectónicas permanecen.
Mapa del Capítulo¶
| Patrón | Estilo | Comunicación | Acoplamiento Temporal | Vigencia |
|---|---|---|---|---|
| File Transfer | Batch | Asíncrona | Desacoplado | Media |
| Shared Database | Compartido | Síncrona | Acoplado | Baja |
| Remote Procedure Invocation | Síncrono | Síncrona | Acoplado | Alta |
| Messaging | Asíncrono | Asíncrona | Desacoplado | Alta |
A continuación, cada estilo de integración se analiza en profundidad con la estructura completa de 18 secciones.