Saltar a contenido

Capítulo 6: Transformación de Mensajes

Introducción

En un ecosistema enterprise, ningún sistema habla exactamente el mismo idioma. Los formatos de datos difieren entre productores y consumidores: esquemas diferentes, convenciones de nombres distintas, granularidades incompatibles, representaciones de fechas, monedas, identificadores y estructuras jerárquicas que no coinciden.

Los patrones de transformación de mensajes resuelven este problema fundamental: ¿cómo se adapta un mensaje producido por un sistema para que sea comprensible y procesable por otro sistema, sin modificar ninguno de los dos?

La transformación es la capa de traducción de la arquitectura de integración. Sin ella, cada par de sistemas necesitaría hablar el mismo formato — lo cual escala cuadráticamente y es insostenible. Con transformación, cada sistema habla su propio formato y la capa de integración se encarga de la traducción.

Los Seis Patrones de Transformación

Patrón Pregunta que responde Operación
Envelope Wrapper ¿Cómo se protege el contenido original durante el transporte? Envolver / Desenvolver
Content Enricher ¿Cómo se completa un mensaje con datos que faltan? Añadir datos
Content Filter ¿Cómo se eliminan datos innecesarios del mensaje? Eliminar datos
Claim Check ¿Cómo se maneja un mensaje con payload demasiado grande? Externalizar payload
Normalizer ¿Cómo se procesan mensajes que llegan en formatos diferentes? Estandarizar formato
Canonical Data Model ¿Cómo se minimiza el número de transformaciones necesarias? Modelo intermedio

El Espectro de Transformación

Las transformaciones operan en diferentes niveles:

  • Structural: cambiar la estructura del mensaje (renombrar campos, aplanar jerarquías, reorganizar elementos).
  • Data: convertir valores (formatos de fecha, unidades de medida, códigos de país, currencies).
  • Content: añadir o eliminar información (enrichment, filtering, masking).
  • Format: cambiar el formato de serialización (XML → JSON, CSV → Avro, HL7 → FHIR).
  • Semantic: cambiar el significado conceptual (un "pedido" en el sistema A es un "requerimiento" en el sistema B con campos diferentes que representan los mismos conceptos).

Principio de No-Invasión

Un principio fundamental de los patrones de transformación es la no-invasión: la transformación ocurre en la capa de integración, no en los sistemas origen ni destino. Ningún sistema debe modificarse para adaptarse al formato de otro. La capa de integración absorbe las diferencias.

Este principio es lo que permite que los sistemas evolucionen independientemente: cuando el sistema A cambia su formato, solo cambia la transformación en la capa de integración, no el sistema B.

Mapa del Capítulo

Patrón Función Vigencia
Envelope Wrapper Envolver/desenvolver para transporte Alta
Content Enricher Completar con datos externos Alta
Content Filter Eliminar datos innecesarios Alta
Claim Check Externalizar payloads grandes Alta
Normalizer Estandarizar formatos heterogéneos Alta
Canonical Data Model Modelo intermedio para minimizar transformaciones Media

A continuación, cada patrón de transformación se analiza en profundidad.