Arquitectura de los servicios en línea
RPC
Remote Procedure Call
Modelado de funciones
~1970
Ejemplos
Servicio que responde a peticiones que reciben los parámetros serializados:
Servicio que responde a peticiones que recibe un parámetro array
Servicio http que responde peticiones que recibe el procedimiento a ejecutar vía querystring (op) y los parámetros vía body en xml
Servicio http que responde peticiones que recibe el procedimiento a ejecutar vía querystring (op) y los parámetros vía querystring en caso de GET y los parámetros vía body en JSON en caso de POST
Servicio http que responde peticiones cuyos endpoints hacen referencia al procedimiento a ejecutar. Los parámetros se envian vía querystring en caso de GET y vía body en caso POST.
Pros & Cons
- Simple y fácil de entender
- carga ligera
- alto rendimiento
⚡
- alto acoplamiento
- sin capacidad de descubrimiento
- funciones, funciones y funciones
Ejemplos de Apis RPC públicas
REST
REpresentational State Transfer
Modelado de recursos
~2000
Ejemplo
Pros & Cons
- Desacoplamento cliente-servidor
- api puede evolucionar con el tiempo
- reutiliza http
⚡
- No hay especificación
- alta carga y charlatanería
Ejemplo de apis REST públicas
GraphQL
Modelado de query
- ~2012 privado facebook
- ~2015 publico facebook
- ~2018 fundacion comunidad
Ejemplo
Ejemplo en grapql de los endpoints vistos en los ejemplos anteriores. Ejemplo en grapql de una petición que relaciona diversas entidades.
Pros & Cons
- Baja sobrecarga de la red
- Esquema tipado
- Se ajusta muy bien a los grafos como datos
⚡
- complejo
- cacheabilidad nula en HTTP
- no hay versionado
- muy joven