Saltar al contenido
Logotipo de Trainontech Trainontech

Desarrollo Backend y APIs · BAC-170

GraphQL: esquemas, resolvers y federación

GraphQL con criterio: esquemas, resolvers, rendimiento y cuándo no sustituye a REST

Próximamente Avanzado 7 módulos · 32 clases

Formato asíncrono Desarrollo GraphQL, Node.js

Lo que aprenderás

  • Diseñar un esquema con tipos, interfaces, uniones y entradas que refleje el dominio y no la base de datos
  • Implementar resolvers en Node organizando la carga de datos por capas
  • Resolver el problema N+1 de las consultas anidadas con cargadores por lotes
  • Limitar el coste de las consultas con profundidad máxima, complejidad y listas blancas de operaciones
  • Gestionar errores parciales y valores nulos distinguiendo fallo de campo y fallo de operación
  • Componer un grafo federado repartiendo tipos entre varios servicios y resolviendo referencias
  • Comparar GraphQL y REST en casos concretos evaluando el coste de cada opción

Contenido del curso

7 módulos · 32 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Presentación y modelo mental 5 clases
  • Qué problema resolvió GraphQL y en qué contexto nació
  • Consulta, mutación y suscripción
  • El lenguaje de definición del esquema
  • Montar el servidor de prácticas en Node
  • El dominio con el que trabajaremos
Módulo 2 · Diseño del esquema 5 clases
  • Tipos, campos y anulabilidad con intención
  • Interfaces y uniones para modelar variantes
  • Tipos de entrada y argumentos
  • Paginación por cursor y conexiones
  • Errores de diseño: exponer el modelo de datos tal cual
Módulo 3 · Resolvers y acceso a datos 5 clases
  • Anatomía de un resolver y su contexto
  • Resolvers por campo y resolución en cascada
  • Separar acceso a datos de la capa del grafo
  • Detectar el problema N+1 instrumentando consultas
  • Cargadores por lotes y caché por petición
Módulo 4 · Mutaciones y escritura 4 clases
  • Diseño de mutaciones y carga útil de respuesta
  • Validación de entrada y errores de negocio
  • Transacciones en operaciones compuestas
  • Idempotencia y reintentos del cliente
Módulo 5 · Coste, seguridad y operación 5 clases
  • Profundidad máxima y análisis de complejidad
  • Consultas persistidas y listas blancas
  • Autenticación y autorización por campo
  • Trazas, métricas y consultas lentas
  • Caché: por qué la HTTP deja de bastar
Módulo 6 · Federación 4 clases
  • Repartir el esquema entre varios servicios
  • Tipos extendidos y resolución de referencias
  • La pasarela y la composición del supergrafo
  • Cambios de esquema sin romper a los clientes
Módulo 7 · Caso práctico y decisión 4 clases
  • Misma funcionalidad expuesta como REST y como GraphQL
  • Medición de consultas, carga útil y latencia
  • Coste de mantenimiento de cada opción
  • Informe de decisión para un equipo real

Requisitos

  • Experiencia construyendo y consumiendo APIs REST en producción
  • JavaScript o TypeScript con Node a nivel intermedio, incluida programación asíncrona
  • Conocer bases de datos relacionales y el impacto de las consultas anidadas

Descripción

GraphQL se adopta a menudo por moda y se abandona por sorpresa: el cliente pide exactamente lo que necesita, sí, pero el servidor pasa a recibir consultas cuya forma no controla, la caché HTTP deja de servir y una petición profunda puede desencadenar cientos de accesos a base de datos. La pregunta útil no es si GraphQL es mejor, sino en qué casos mueve la complejidad a un sitio donde compensa.

El curso responde a esa pregunta construyendo un grafo real sobre Node. Se diseña el esquema desde el dominio, se implementan resolvers por capas, se instrumenta el número de consultas y se corrige con cargadores por lotes. Después se limita el coste de las operaciones, se define el tratamiento de errores parciales y se divide el grafo entre dos servicios federados con referencias entre ellos.

El cierre incluye una comparativa medida frente a la misma funcionalidad expuesta como REST, con datos de consultas, carga útil y complejidad de mantenimiento. Es la preparación para decidir la estrategia de API de una organización y para continuar con diseño de contratos y arquitectura de microservicios.

¿Para quién es este curso?

  • Equipos de backend que evalúan sustituir o complementar su API REST con un grafo
  • Perfiles full stack que consumen GraphQL y quieren entender el coste que generan sus consultas
  • Responsables técnicos que deben unificar el acceso a datos de varios servicios internos
Próximamente

Curso en hoja de ruta. Se prioriza según la demanda recogida y los proyectos en cartera.

Código
BAC-170
Nivel
Avanzado
Público
Desarrollo
Entorno
GraphQL, Node.js

Este curso incluye

  • 32 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Bajo demanda

BAC-111Desarrollo Backend y APIs

Django REST Framework

Serializadores, vistas genéricas, permisos y paginación para exponer un backend Django como API.

DjangoPython

Avanzado 32 clases

Bajo demanda

BAC-113Desarrollo Backend y APIs

FastAPI: APIs asíncronas y documentadas

Tipado con Pydantic, documentación automática, dependencias y concurrencia real.

FastAPIPythonDocker

Avanzado 33 clases

Próximamente

BAC-121Desarrollo Backend y APIs

NestJS: backend TypeScript estructurado

Módulos, inyección de dependencias y arquitectura por capas para equipos que vienen de Java o C#.

NestJSTypeScript

Avanzado 32 clases