Tema 3 Flashcards
¿Qué es un Servicio Web?
sistema de software diseñado para permitir la interacción interoperable entre máquinas en una red
¿Qué permite un Servicio Web?
- Ejecutar funcionalidad de forma remota alojada en un servidor
- Utilizando el protocolo http
Los servicios Web no son la única forma de comunicar programas:
Existen otras tecnologías: TCP / IP, UDP, etc.
Respuestas HTTP:
200-Ok, 201-Recurso Creado, 202-Petición aceptada,, etc.
¿Qué significa REST?
Representational State Transfer (Transferencia de estado Representacional)
¿Qué es REST?
- Es una especificación para intercambio de invocaciones y respuestas
- Basado en los métodos de HTTP (GET, POST; PUT; DELETE y HEAD).
¿Qué filosofía usa REST?
► Filosofía orientada a recursos
• Las URL representan recursos
Uso habitual de los métodos HTTP
- GET para obtener el recurso producto
- POST para crear un nuevo recurso producto
- PUT / UPDATE para cambiar o actualizar datos de un recurso producto existente
- DELETE para eliminar un recurso producto
¿Qué significa RPC?
Remote Procedure Call (Llamadas a procedimientos remotos)
¿Cómo funciona RPC?
- Las URL simulan «nombres de funciones» o «nombres de acciones a ejecutar»
- El método HTTP no delimita la acción, sino el nombre
¿Cuál es la diferencia entre REST y RPC?
REST esta orientado a la transferencia de recursos (entidades) no a la llamada a procedimientos/funciones
¿Qué es importante en la Arquitectura REST?
► Cada recurso debería tener una URL / identificador único
• GET /pedido/345,
• UPDATE /pedido/345
¿Qué tipos de arquitectura REST hay?
► Sin estado. El servidor no debería tener que recordar nada de peticiones anteriores
► Cache. Los recursos deben ser declarados como cacheables o no
cachableas
¿Cómo se identifican recursos en REST?
A través de la URI
¿Qué función transforma objetos a formato JSON?
JSON.stringfy (objeto)
¿Qué software se puede usar para probar un POST?
Se usa la app Postman
¿Cómo se convierte un string a objeto para MongoDB?
require(‘mongodb’).ObjectID(req.params.id);
¿Qué se necesita para utilizar el Servicio Web REST?
- URLs
- Parámetros que reciben
- Parámetros que retornan (por si fuera necesario utilizarlos)
¿Qué módulo se necesita en el cliente?
Debemos instalar el módulo request (permite hacer peticiones http)
nom install request –save
Cuando implementamos el cliente: ¿Qué datos importantes contiene la respuesta?
- response.body (es lo mismo que body) contiene la respuesta del servicio
- response.statusCode , código de la respuesta útil para identificar errores
Un servicio Web permite:
Ejecutar funcionalidad de forma remota utilizando el protocolo http.
Los clientes de un servicio web:
Pueden ser diferentes plataformas y utilizar diferentes lenguajes de programación.
REST es una especificación:
Para intercambio de invocaciones y respuestas basado en los métodos de http.
En una arquitectura REST, qué método http se debe usar para crear un recurso:
POST
La base de una arquitectura REST son:
Los recursos.
En una petición POST los parámetros pueden viajar en:
- La URL.
- El cuerpo (body).
- La cabecera (headers).
¿Cómo se puede acceder a un parámetro GET de una petición en express?:
req.query.nombre_del_parámetro.
¿Qué código http indica que una petición es correcta?
200
¿Qué método http se debe utilizar para actualizar un recurso?
PUT