Cada integración con su propia autenticación
Una usa una clave en la configuración, otra un usuario de servicio y la tercera, un token que caducó sin que quedara registrado quién lo renovó.
Plataforma y operación
Este diseño propone una pasarela para centralizar el gobierno y la seguridad de las API y observar el funcionamiento de las integraciones de Moodle.
El problema
La matrícula, el progreso, el catálogo o la certificación significan cosas distintas para un LMS, un CRM, un HRIS y una aplicación corporativa. En la pasarela, defino contratos explícitos para esas diferencias, establezco qué datos conserva cada sistema y qué equipo responde de ellos, y evito que los equipos integradores dependan de la estructura interna de Moodle.
Decisión principal
La API debe expresar con claridad los casos de uso, la identidad, los errores y la idempotencia. También debe especificar qué operaciones siguen siendo asíncronas, qué datos quedan fuera del alcance de la pasarela, quién responde de ellos y qué cambios exigen una nueva versión del contrato.
Criterios de diseño
Defino una pasarela externa que expone casos de uso estables sin trasladar la estructura interna de Moodle a cada integración.
Normalizo los contratos de negocio y documento las limitaciones reales de la plataforma.
La identidad, los límites de uso, la caché, los eventos y la observabilidad forman parte del diseño inicial.
Límites del producto
La pasarela no debe incorporar reglas de negocio que pertenecen a otros sistemas ni diseñarse o documentarse como si garantizara una consistencia inmediata que el flujo no puede ofrecer. Los eventos, la reconciliación y los registros de trazabilidad deben poder consultarse.
Capacidades previstas en el diseño
Criterio de validación
El contrato se valida con escenarios de alta, actualización, duplicado, error parcial, reintento y revocación. Las pruebas deben demostrar que dos consumidores pueden evolucionar a ritmos distintos sin interrumpir la plataforma ni perder la trazabilidad.
Evidencia descrita para la capa de API e integraciones para plataformas de aprendizaje
Preguntas abiertas
El alcance de la pasarela no debería ampliarse hasta que se hayan acordado la identidad de los consumidores, la política de versiones, el tratamiento de los errores y las garantías de entrega.
Contextos en los que encaja
Conviene valorarla cuando la repetición de autenticación, cuotas, observabilidad, versionado y políticas empieza a justificar su coste operativo.
Una usa una clave en la configuración, otra un usuario de servicio y la tercera, un token que caducó sin que quedara registrado quién lo renovó.
Al plantear un cambio en la plataforma, no hay forma de saber qué sistemas externos dependen de ese dato.
Un proceso mal escrito consulta en bucle y el campus se degrada para todos, sin que exista un límite que lo pare.
Y la respuesta hay que reconstruirla leyendo registros de cuatro sitios distintos.
Decisiones de arquitectura
Una pasarela añade una pieza al sistema: solo compensa si resuelve más de lo que complica.
Los consumidores comparten contratos de API versionados. Cada uno dispone de una política propia de ámbitos, cuotas y credenciales. Descarté una credencial global compartida y asigné una por consumidor, con ámbitos y rotación propios, para poder revocar sin afectar al resto.
Las cuotas acotan el impacto de un bucle o de un abuso. Sus umbrales se prueban con una carga representativa para comprobar qué degradación permiten y cómo responde el servicio.
Cada comando repetible incorpora una clave o una regla que evita duplicados e impide repetir su efecto. Sin esta protección, un reintento en una red inestable puede crear matrículas fantasma.
Cada llamada deja constancia de quién, qué y cuándo. Así, una auditoría puede responderse mediante consultas reproducibles en vez de reconstruir los accesos a mano.
A escala
El número por sí solo no suele justificar una pasarela: una conexión directa bien diseñada es más simple. Aun así, valoro la criticidad, la exposición, las cuotas, la auditoría, la tasa de cambio y el coste del gobierno común.
No decido solo por el número: mido criticidad, variedad de consumidores, tasa de cambio, exposición, requisitos de seguridad y coste de mantener contratos duplicados.
La capa deja de ser opcional cuando las interfaces ya no pueden gobernarse ni cambiarse con un riesgo aceptable.
Defino la trazabilidad necesaria según la finalidad, el riesgo, los permisos y las obligaciones aplicables. El registro debe permitir investigar accesos relevantes sin recoger más datos de los necesarios.
Decisiones de diseño documentadas
He definido casos de uso, identidad, versiones y errores para que los sistemas integradores puedan evolucionar sin depender de detalles internos de la plataforma.
Contexto profesional