Seguir un dato de punta a punta: la conexión IT/OT y su espejo en software
La forma más eficaz de entender por qué importa conectar IT y OT — y de detectar dónde falla una digitalización — es elegir un dato y seguirlo desde que nace en el mundo físico hasta que aparece en una factura o un cuadro de mando. En cada salto cambia de protocolo, formato, dueño, ritmo y, a menudo, significado. El mismo ejercicio aplicado a una petición HTTP es la base de la observabilidad en software.
1Un dato físico hasta la factura
Una conservera recibe pescado. Un dato: el peso de una partida.
Nivel 0 Báscula (señal eléctrica)
└► Nivel 1 PLC/indicador de pesaje: peso bruto en kg, cada 100 ms, Modbus
└► Nivel 2 SCADA/historian: peso + hora + lote + operario
└► Nivel 3 MES: entrada de MP — lote, proveedor, peso neto, calidad
└► Nivel 3.5 DMZ (fichero o API)
└► Nivel 4 ERP: albarán de compra — kg facturables, precio, IVA
├► Factura del proveedor conciliada · asiento contable
└► BI: rendimiento por proveedor, merma por lote
| Salto | Cambia | Dónde se rompe |
|---|---|---|
| Sensor → PLC | Naturaleza: señal analógica a número | Calibración: si la báscula deriva, el error entra en todo lo aguas abajo |
| PLC → SCADA | Ritmo: ms a eventos | Decidir cuál lectura es "el peso" es una regla de negocio escondida en OT |
| SCADA → MES | Contexto: se añade lote, proveedor, operario | Si el operario elige mal el lote de una lista |
| MES → ERP | Semántica: peso neto a peso facturable | "Peso" ya son tres números distintos que se llaman igual |
| ERP → factura | Dueño: de operaciones a finanzas | Si el proveedor factura su peso y no el nuestro, hay disputa |
| ERP → BI | Agregación: de registro a indicador | Si el histórico tiene huecos, el indicador miente |
2Dónde suele estar rota la conexión en una PYME real
- El portapapeles. El operario lee el peso y lo apunta en una hoja; alguien lo teclea en el ERP por la tarde. La frontera IT/OT es una persona: errores de transcripción, retraso, imposibilidad de saber el stock real a mediodía.
- El CSV nocturno por FTP. Mejor que el portapapeles, pero: si un peso se corrige después (recalibración), ¿el fichero de la noche siguiente lo sobreescribe o crea un duplicado? Es la corrección tardía (se retoma en UD2-06): ¿se actualiza el dato histórico o se registra un evento nuevo?
- Unidades y significados sin acordar. La lonja habla en kg, planta en latas, comercial en cajas/palés, y el factor de conversión no es constante.
- Zonas horarias, calendarios, turnos. El turno de noche produce a las 02:00 del día siguiente pero contabiliza en el día anterior.
Qué se gana cuando la conexión existe: planificación con datos reales, mantenimiento predictivo, trazabilidad automática (exigida por regulación en alimentación/farmacia/automoción), costes reales por lote, y cierre de bucle (el negocio también envía órdenes a la máquina).
El gemelo digital es la versión ambiciosa de esta conexión: un modelo de la planta alimentado continuamente por datos de OT, sobre el que IT puede simular antes de tocar la realidad.
3El espejo: una petición HTTP de punta a punta
El mismo ejercicio aplicado al software: un usuario pulsa "confirmar pedido" en una tienda online.
Navegador (clic → JS → fetch POST JSON)
→ DNS → TLS → Proxy/balanceador → Middleware (auth, límites, registro)
→ Controlador (valida JSON) → Servicio (reglas: stock, precio, fraude)
→ Acceso a datos (SQL/ORM, transacción) → Base de datos
└► Cola de mensajes → correo, almacén, analítica
← Respuesta 201 + JSON ← Base de datos
| Cadena OT→IT | Cadena HTTP | Lo que cambia |
|---|---|---|
| Señal → número | Clic → JSON | Naturaleza |
| Modbus → OPC UA → API | HTTP → SQL → mensaje en cola | Protocolo |
| Peso → entrada de MP → albarán | JSON → objeto → fila → evento | Formato y semántica |
| Planta → operaciones → finanzas | Cliente → API → BD → otros servicios | Dueño |
| DMZ | "Nunca confíes en el cliente" | Seguridad |
Y los puntos de rotura son los mismos: la reintroducción (el JS calcula el total y el servidor lo acepta sin recalcular — el portapapeles del operario), el proceso nocturno (un cron que sincroniza cada hora — el CSV por FTP), y significados distintos ("pedido confirmado", "pedido pagado", "pedido en preparación": tres estados que en cada sistema se llaman "pedido" y no coinciden).
4Observabilidad: la trazabilidad del software
En OT, seguir el dato se llama trazabilidad y lo exige la regulación. En software se llama observabilidad. Tres pilares:
- Logs: qué pasó, en texto, en cada componente.
- Métricas: cuánto y con qué frecuencia (peticiones/s, latencia, errores).
- Trazas: el recorrido de una petición por todos los componentes, unido por un identificador que se propaga (trace ID) — estándar abierto OpenTelemetry; herramientas: Jaeger, Grafana Tempo, Datadog.
Sin trazas, un microservicio lento se busca a ciegas entre veinte; con trazas, se ve en qué salto se fue el tiempo.
Para el proyecto: la parte de integración mejora mucho con un diagrama como los de este apunte, para un dato concreto de la empresa elegida.
5Para debatir en clase
- Elige un dato de un trabajo, un comercio o del propio instituto (una nota, una falta, una compra) y dibuja su recorrido completo. ¿Cuántas veces se teclea? ¿Cambia de nombre por el camino?
- Si la báscula corrige un peso después de facturar, ¿qué debe pasar? Compara "modificar el registro" con "añadir un evento de corrección". ¿Qué prefiere finanzas? ¿Y calidad?
- En una API, ¿dónde se pone el trace ID? ¿Sobrevive al paso por una cola de mensajes? ¿Y a una llamada a un proveedor externo de LLM?
✓Autoevaluación — puntos que debes dominar
Adaptado de 06-extremo-a-extremo.md.