Pillar page

Integración de sistemas empresariales

Conectamos ERP, CRM, sistemas contables, RR.HH./nóminas, registros mercantiles, Microsoft Graph, Salesforce, SAP. Integraciones por API, colas, ETL y webhooks — con control total de calidad, audit trail y monitorización en producción.

Una empresa mediana ejecuta entre una decena y varias decenas de aplicaciones de negocio. Cada una almacena fragmentos de los mismos datos — cliente, factura, empleado, pedido. Sin integración, los empleados invierten horas al día reescribiendo, exportando e importando datos entre sistemas.

La integración de sistemas no es un lujo — es el fundamento de la transformación digital. Con una capa de integración bien diseñada: un cliente dado de alta en el CRM aparece en el ERP sin intervención, una factura emitida en contabilidad actualiza el dashboard financiero del CEO y el estado de un pedido es consistente entre la tienda online, el almacén y la atención al cliente.

¿Por qué es difícil integrar?

Cada sistema tiene su propio modelo de datos, su propio nombre para el mismo campo, su propia secuencia de operaciones, sus propias restricciones de API (límites de tasa, latencia, errores transitorios). Dos sistemas pueden parecer „compatibles" en teoría, pero en la práctica requieren semanas de trabajo en mapeos, transformaciones, gestión de edge-cases y resolución de conflictos.

La segunda capa de dificultad es la fiabilidad en producción. Una integración que funciona correctamente en el entorno de desarrollo es el 30% del camino. El 70% restante consiste en gestionar situaciones excepcionales: el sistema externo está caído, ha cambiado el contrato de la API, devuelve datos inesperados, aparece un cliente nuevo en el CRM con caracteres que el ERP antiguo no admite. Cada uno de estos casos requiere reflexión, una prueba y una alerta cuando ocurre.

Tipos de integración

Seis patrones fundamentales. En la mayoría de proyectos combinamos varios, eligiendo el método adecuado para cada caso.

REST API / GraphQL

Comunicación síncrona entre aplicaciones. JSON como formato de intercambio, OAuth2/JWT para autorización, OpenAPI/Swagger para documentación. La opción más común para sistemas cloud modernos.

Colas de mensajes

RabbitMQ, Redis Streams, Kafka — intercambio asíncrono cuando el emisor no espera al receptor. Ideal para notificaciones, eventos de negocio, operaciones de larga duración. Garantía de entrega + retry.

ETL / ELT

Carga por lotes de datos a un warehouse (Snowflake, BigQuery, Redshift, PostgreSQL on-premise). Airflow o dbt como orquestador, validación de calidad de datos (Great Expectations), monitorización de lineage.

Webhooks

Notificaciones push desde un sistema origen (Stripe, GitHub, Slack, Salesforce) hacia nuestra aplicación. Verificación HMAC, idempotencia, dead-letter queue para entregas fallidas.

SOAP / XML

Sistemas enterprise antiguos (SAP, Oracle, banca, seguros) — soporte completo de WSDL, validación XSD, WS-Security. Adaptador a protocolos modernos para el resto del sistema.

Bases de datos — replicación, CDC

Change Data Capture (Debezium, AWS DMS) para replicación en streaming de cambios desde la base origen a la destino. Replicación lógica de PostgreSQL para alta disponibilidad y reporting.

Seis retos clave en producción

Asuntos a los que prestamos atención en cada proyecto de integración. Que falte cualquiera de ellos = bomba de relojería.

Idempotencia

Cada petición ejecutada múltiples veces produce el mismo resultado. Claves de idempotencia en las cabeceras, deduplicación a nivel de aplicación, transacciones alrededor de las operaciones críticas.

Retry y backoff

Los errores de red transitorios son la norma. Exponential backoff (1s, 2s, 4s, 8s...), jitter para evitar thundering herd, circuit breaker tras N intentos fallidos.

Mapeo y transformaciones

El sistema A llama al campo "client_id", el B "customerId", el C "id_klienta". Catálogo central de mapeos, transformaciones en un único lugar, tests para cada transformación.

Eventual consistency

Los datos en dos sistemas nunca son 100% consistentes en tiempo real. Aceptamos latencias (típicamente segundos), monitorizamos el drift y alertamos ante divergencias prolongadas.

Auditoría y compliance

Cada operación de integración registra: quién/qué/cuándo/desde/hacia, payload (anonimizado si contiene PII), resultado. El audit log cumple los requisitos del RGPD e ISO 27001.

Escalado y costes

Las integraciones crecen con el negocio. Escalado horizontal (más instancias), rate limiting (protección frente a peticiones excesivas), monitorización de coste por integración.

Cómo entregamos un proyecto de integración

  1. Discovery (1-2 semanas): mapeo de los flujos de datos actuales, identificación de la fuente de verdad para cada entidad, recopilación de contratos de API, evaluación de riesgos y dependencias.
  2. Diseño de arquitectura (1 semana): elección de patrones (sync vs. async, push vs. pull, hub-and-spoke vs. point-to-point), esquema del audit log, plan de monitorización.
  3. Piloto sobre una entidad (2-3 semanas): entregamos la integración para un tipo de dato (p. ej. clientes) end-to-end. Validación de contratos, pruebas de carga, dry-run en el entorno de pruebas.
  4. Expansión al resto de entidades (4-8 semanas): sucesivas sincronizaciones (facturas, pedidos, productos) con el mismo patrón. Cada despliegue precedido por un Change Request y tests de regresión.
  5. Migración de datos históricos (1-3 semanas): traslado de los datos existentes. Dry-run, auditoría, plan de rollback. Migración incremental o en ventana de servicio según el riesgo.
  6. Hypercare (4 semanas en producción): monitorización intensiva, respuesta rápida ante incidencias, ajuste de alertas. Tras el hypercare, transición al mantenimiento estándar.

Ejemplos de integraciones realizadas

KRS + CRBR — RejestrFirm

Microservicio que conecta los datos del Registro Mercantil polaco (740k+ empresas) con el Registro Central de Beneficiarios Reales. Smart caching (24h), dual-source con fallback automático, 15+ endpoints REST. Utilizado en procesos de KYC, verificación de contrapartes y reporting de compliance.

SSO con múltiples aplicaciones

Plataforma central Keycloak (realm eskom-ai) integrada con una decena de aplicaciones cliente. OAuth2/OIDC + PKCE, social login (Google, Microsoft, Apple, Facebook), provisioning de usuarios, billing basado en el consumo de tokens LLM. Single sign-on para todos los productos de ESKOM AI.

Microsoft Graph — calendarios, e-mail, OneDrive

Integración con Microsoft 365 para la automatización del calendario (un asistente IA agenda reuniones), envío de correo transaccional, archivado de documentos. OAuth2 con delegated permissions, refresh tokens en Vault, monitorización de rate limits de la Graph API.

LLM Proxy — enrutado multi-proveedor

Cola central que conecta varios proveedores de LLM (Anthropic, OpenAI, Ollama local). Enrutado por tarea (las menores — modelo local, las complejas — Claude Opus), caché de respuestas, monitorización de coste por proyecto, fail-over entre proveedores.

Preguntas frecuentes

¿Qué significa integración de sistemas?
La integración de sistemas es el proceso de conectar dos o más aplicaciones de modo que puedan intercambiar datos, disparar eventos entre sí y mantener la información consistente. En la práctica: cuando se da de alta a un cliente en el CRM, aparece automáticamente en el ERP; cuando se emite una factura en contabilidad, los datos fluyen al CRM y a la analítica. Sin integración, la empresa malabarea los datos manualmente (exportaciones CSV, copias entre sistemas), lo que genera errores, retrasos y costes.
¿Qué tecnologías de integración utilizáis?
La elección depende del contexto: REST API y webhooks para sistemas cloud modernos, SOAP/XML para ERP/banca legacy, colas de mensajes (RabbitMQ, Redis Streams, Kafka) para intercambio asíncrono, ETL/ELT para alimentar warehouses, GraphQL cuando el cliente busca flexibilidad. A menudo combinamos enfoques — síncrono donde el usuario espera el resultado, asíncrono donde prima el throughput.
¿Las integraciones se rompen al actualizar los sistemas origen?
Es uno de los mayores problemas de la integración — y por eso construimos adaptadores con aislamiento (anti-corruption layer). El sistema externo cambia su contrato → solo cambia el adaptador, el resto de la integración no se ve afectado. Además: los contratos están versionados (v1, v2), los tests de integración corren a diario contra APIs sandbox, las alertas de Sentry/Wazuh saltan ante cambios en el formato de respuesta. El cliente conoce el problema antes de que llegue a los usuarios finales.
¿Cuánto tarda una integración típica?
Las integraciones simples (un sistema con otro, ~5 endpoints, sincronización unidireccional) se entregan en 1-2 semanas. Las complejas (sincronización bidireccional, una decena de entidades, mapeos, transformaciones, deduplicación) tardan 4-8 semanas. Las integraciones multi-sistema (hub-and-spoke) se planifican por fases, entregando valor de negocio en iteraciones de 2-3 semanas.
¿Qué pasa con los datos históricos en una nueva integración?
Cada proyecto de integración incluye una fase específica de migración histórica. Primero un análisis completo: cuántos registros, qué tipos de datos, dónde hay duplicados, qué campos son obligatorios y cuáles opcionales. Después un script de migración con dry-run, audit trail (qué se ha movido, qué se ha rechazado y por qué) y plan de rollback. La migración se realiza en ventana de servicio o de forma incremental, según el riesgo de negocio.
¿Tiene que funcionar la integración 24/7?
Depende de la criticidad de negocio. Los procesos online (pagos, autorizaciones) exigen alta disponibilidad — los diseñamos con redundancia (load balancer, múltiples instancias, health checks, auto-restart). Los procesos nocturnos (informes, sincronizaciones por lotes) pueden ejecutarse en ventanas de servicio. Clasificamos cada integración con un SLA: tiempo de respuesta p95, downtime mensual aceptable, RTO/RPO.
¿Cómo monitorizáis las integraciones en producción?
Cada integración emite métricas a Prometheus (request rate, error rate, latencia p50/p95/p99), envía logs a un SIEM central (Wazuh) y errores a Sentry. Las alertas saltan ante caídas de throughput, picos en el error rate o timeouts. Un dashboard muestra el estado de todas las integraciones en un único lugar — el operador puede ver, por ejemplo, que la integración con el proveedor X tiene un 3% de errores mientras el resto opera con normalidad.
¿Qué hay de la seguridad en integraciones externas?
Cada integración usa permisos mínimos (least privilege). Las claves y tokens viven en HashiCorp Vault (no en ficheros .env, no en el código). Las comunicaciones siempre por TLS 1.2+, con verificación de certificados (nunca verify=False). Los webhooks entrantes llevan verificación HMAC. Ante una fuga de token — rotación inmediata, el audit log muestra qué ocurrió y cuándo.
¿En qué se diferencia el enfoque de integración de ESKOM AI de un ESB clásico (Enterprise Service Bus)?
Los ESB clásicos (Mule, BizTalk, WebMethods) son plataformas monolíticas — costosas en licencias y exigentes en equipos dedicados. Nuestro modelo: microservicios de integración, cada integración como un componente separado con su propio despliegue y monitorización, infraestructura construida sobre open source (FastAPI, RabbitMQ, Redis, PostgreSQL, Vault). Menor coste de licencias, mantenimiento más sencillo, sin vendor lock-in. Para algunos clientes es un argumento financiero, para otros estratégico.
¿Integráis con sistemas públicos polacos (KRS, CRBR, KSeF, ePUAP)?
Sí. En producción operamos un microservicio integrado con KRS y CRBR (rejestrfirm.eskom.ai — datos de 740k+ empresas con beneficial owners). KSeF (facturación electrónica polaca) — disponemos de componentes de integración en el proyecto Kontroling. ePUAP, e-doręczenia — accesibles vía Microsoft Graph API e integraciones directas. Cumplimiento total con la legislación polaca (RGPD, obligaciones de reporting).

¿Tienes un proyecto de integración?

Empezamos con una auditoría gratuita — mapeamos los flujos de datos actuales, identificamos cuellos de botella y proponemos un plan en fases claras.