Arquitectura de un sistema basado en modelos
Los componentes fijos
Una capa de entrada que valida y limpia; una capa de recuperación que trae contexto con permisos; una capa de llamada al modelo con reintentos, tiempo límite y un proveedor de respaldo; una capa de validación de la salida contra un esquema; y una capa de registro y medición.
Cada una existe también en los sistemas ordinarios. Lo que cambia es que la salida no es determinista, así que la validación y la medición importan muchas veces más.
Síncrono frente a asíncrono
Si la respuesta tarda más de unos segundos, cambia a un proceso en segundo plano con un identificador de tarea y actualizaciones de estado. Mantener una petición abierta un minuto es una receta para los tiempos de espera y una mala experiencia de usuario.
Límites que no se deben cruzar
La salida del modelo no va directamente a la ejecución: ni una consulta, ni un comando, ni una llamada externa, sin validación y una lista de acciones permitidas.
En profundidad
Construye la capa del modelo para que pueda correr en modo seco: el mismo sistema, sin una llamada real, con respuestas guardadas. Eso acelera el desarrollo, estabiliza las pruebas y permite reproducir un incidente exactamente como ocurrió.