Un servicio web es una forma de comunicación diseñada para máquinas, que establece una serie de normas para la comunicación de información entre dispositivos a través de la red.
Decimos que está diseñado para máquinas porque el propósito de un servicio web es exponer información usando un formato que sea fácil de descifrar por otro programa, esto permite que desarrollemos aplicaciones que consulten esta información y la procesen de una manera simple.
A diferencia de otras interfaces que entregan información, los servicios web específicamente comunican información a través de la web precisamente, utilizando el protocolo HTTP, el mismo que hace que la web funcione, una aplicación hace consultas a otra a través de la red, por lo que nuestro servicio web puede estar en una computadora, que siempre y cuando sea accesible vía internet, pueda entregar información a otros dispositivos sin importar de qué tipo sean éstos, dónde estén o qué lenguaje de programación estén usando para consultar los datos.
Un servicio web es un tipo de API, Application Programming Interface, por lo que en la práctica los conceptos de API y servicio web suelen usarse como si fueran sinónimos. Al igual que otras APIs, un servicio web expone información y operaciones, ocultando los detalles de cómo se procesa esta información o cómo se ejecutan estas operaciones, por ejemplo, si yo, vía un servicio web solicito los cursos de CódigoFacilito, no necesito saber cómo va a obtener esa información, si los consultará de una base de datos, qué base de datos es, cómo están estructurados los datos, si los traerá de otro servicio web, en lo que a mi que necesito la información compete, solo debo de pedir los datos y esperar que se me entreguen, de nuevo, sin conocer los detalles de cómo obtendrá la información.
GraphQL nos permite desarrollar servicios web, con el añadido de que además de exponer los datos y las reglas para consultarlos, además nos provee de un lenguaje de consulta para de manera dinámica consultar información del servicio web.
Además de GraphQL existen otras arquitecturas y estrategias para implementar servicios web, pero la idea es la misma, usar la web y el protocolo HTTP para comunicar datos de un dispositivo a otros.
Esta idea nos permite tener un servicio central de información y distintas aplicaciones consultando y actualizando la información a través del servicio web.
Continuemos.
-
Módulo 1 | 8 clases
Introducción
expand_more-
play_circle_outline
Clase 1
Presentación del curso
-
play_circle_outline
Clase 2
Qué aprenderé en este curso
-
play_arrow
Clase 3
Qué es un servicio web
-
play_circle_outline
Clase 4
Qué es GraphQL
-
play_circle_outline
Clase 5
Servidor HTTP con Express
-
play_circle_outline
Clase 6
Definir el schema
-
play_circle_outline
Clase 7
Hola mundo con GraphQL
-
play_circle_outline
Clase 8
Tipos objeto en el schema
-
-
Módulo 2 | 3 clases
Fundamentos de GraphQL
expand_more -
Módulo 3 | 12 clases
Mi primer servicio web con GraphQL
expand_more-
play_circle_outline
Clase 1
Preparando el proyecto
-
play_circle_outline
Clase 2
GraphQL Schema Language
-
play_circle_outline
Clase 3
Mocking de datos
-
play_circle_outline
Clase 4
Preparando las consultas
-
play_circle_outline
Clase 5
GraphiQL
-
play_circle_outline
Clase 6
Consultar recurso individual
-
play_circle_outline
Clase 7
Variables de consulta
-
play_circle_outline
Clase 8
Mutaciones
-
play_circle_outline
Clase 9
Actualizar registros
-
play_circle_outline
Clase 10
Input types
-
play_circle_outline
Clase 11
Eliminar registros
-
play_circle_outline
Clase 12
Paginación
-
-
Módulo 4 | 6 clases
Apollo GraphQL
expand_more -
Módulo 5 | 10 clases
Base de datos
expand_more-
play_circle_outline
Clase 1
Configurando la base de datos
-
play_circle_outline
Clase 2
Modelo
-
play_circle_outline
Clase 3
Configurar GraphQL con express
-
play_circle_outline
Clase 4
Definición de tipos organizada por archivos
-
play_circle_outline
Clase 5
Resolvers modularizados
-
play_circle_outline
Clase 6
Crear registros
-
play_circle_outline
Clase 7
Consultar registros
-
play_circle_outline
Clase 8
Actualizar registros
-
play_circle_outline
Clase 9
Eliminar registros
-
play_circle_outline
Clase 10
Paginación
-
-
Módulo 6 | 4 clases
Relaciones
expand_more -
Módulo 7 | 6 clases
Autenticación
expand_more