1. Contexto y motivación
Empresas que operan con SAP y Softland a menudo necesitan intercambiar datos de inventario, órdenes de compra y facturación en tiempo real. Mantener dos sistemas aislados genera retrabajo manual y aumenta la probabilidad de errores de registro.
La plataforma CLBR ofrece un conector basado en eventos que permite que ambos ERP publiquen y consuman mensajes sin escribir código a medida para cada punto de integración.
2. Retos habituales
| Área | Problema observado | Consecuencia directa |
|---|---|---|
| Sincronización de datos | Los procesos batch se ejecutan cada 24 h | Información desactualizada para la toma de decisiones |
| Formatos de mensaje | SAP usa IDoc, Softland expone JSON vía API | Necesidad de transformaciones ad‑hoc |
| Gestión de errores | Los logs se guardan en sistemas diferentes | Dificultad para rastrear la causa raíz |
3. Arquitectura recomendada con CLBR
- Productores: SAP genera IDoc y los envía a un topic de Kafka gestionado por CLBR. Softland publica eventos JSON a otro topic.
- Transformador: Un micro‑servicio de CLBR suscribe ambos topics, convierte IDoc a JSON y viceversa usando mapeos declarativos.
- Consumidores: Los módulos de SAP y Softland se suscriben a los eventos transformados mediante conectores REST.
- Persistencia de errores: CLBR escribe los mensajes que no pasan la validación en una tabla de PostgreSQL para su revisión posterior.

4. Paso a paso de la integración
- Crear los topics en la instancia de Kafka de CLBR (
sap-idoc-in,softland-json-in). - Configurar el conector SAP: usar la herramienta SAP PI/PO para publicar IDoc en
sap-idoc-in. - Exponer la API de Softland: habilitar el endpoint
/api/eventsque envíe JSON asoftland-json-in. - Desplegar el micro‑servicio de transformación:
- Definir los mapeos en un archivo YAML (ejemplo en la documentación de CLBR).
- Configurar la política de reintentos (3 intentos, 30 s entre cada uno).
- Probar la ruta con un IDoc de prueba (tipo
ORDERS01). Verificar que el mensaje convertido aparece en el topicsoftland-json-out. - Activar los consumidores en SAP y Softland:
- En SAP, crear un RFC que lea del topic
softland-json-out. - En Softland, programar una tarea que consuma de
sap-idoc-out.
- En SAP, crear un RFC que lea del topic
- Monitorear mediante el dashboard de CLBR: métricas de latencia, número de mensajes fallidos y tiempo de procesamiento.
5. Buenas prácticas
- Versionar los esquemas de los mensajes con Avro; cualquier cambio requiere actualizar el mapeo y volver a desplegar el micro‑servicio.
- Limitar el tamaño de los payloads a 1 MB; los mensajes mayores se fragmentan y aumentan la complejidad de reensamblado.
- Implementar pruebas de contrato entre los sistemas antes de mover la integración a producción.
- Documentar los códigos de error en la tabla de PostgreSQL; esto acelera la resolución cuando un mensaje es rechazado.
6. Impacto medible
Una empresa de distribución de alimentos aplicó la arquitectura descrita y registró los siguientes resultados durante los primeros tres meses:
- Tiempo de desarrollo: de 8 semanas (integración manual) a 3 semanas (uso de CLBR).
- Incidencias de datos: disminuyeron de 12 por mes a 2 por mes, según el registro de errores en la tabla de PostgreSQL.
- Costo de mantenimiento: reducción del 27 % al eliminar scripts de transformación específicos para cada ERP.
7. Preguntas frecuentes
¿Se necesita licencia adicional para usar Kafka con CLBR?
CLBR incluye un clúster gestionado de Kafka en los planes empresariales; para entornos on‑premise es posible conectar un clúster propio.
¿Qué pasa si un mensaje no se transforma?
El micro‑servicio lo marca como failed y lo escribe en la tabla de errores; el mensaje original permanece en el topic para su re‑intento manual.
¿Puedo añadir otro ERP al mismo flujo?
Sí. Basta con crear un nuevo topic y añadir el mapeo correspondiente en el archivo YAML.
Con esta guía, los equipos de TI pueden planificar, ejecutar y validar la integración de SAP y Softland mediante CLBR, manteniendo la trazabilidad de los datos y reduciendo la carga de desarrollo manual.