M101 - Introducción Java Backend.pptx
M101 - Introducción Java Backend.pptx
servicios y datos.
Tipos de servicios web
● Utiliza XML para el formato de sus mensajes. ● Es un estilo arquitectónico para diseñar
servicios de red escalables.
● Es un protocolo basado en estándares que
permite el intercambio de información ● Utiliza HTTP y se basa en recursos, donde
estructurada en una plataforma distribuida y cada recurso es identificado por una URL.
descentralizada.
● Los métodos HTTP (GET, POST, PUT,
● Incluye reglas estrictas sobre cómo debe DELETE) se utilizan para realizar operaciones
estructurarse el mensaje y puede utilizar sobre estos recursos.
varios protocolos de transporte como HTTP,
SMTP, y otros.
JAX-RS: La API de Java para servicios web RESTful
Java API for RESTful Web Services es una Características
especificación para la creación de servicios web
● Utiliza anotaciones, introducidas en Java SE 5,
basados en el estilo arquitectónico
para simplificar el desarrollo y despliegue de
Representational State Transfer (REST).
los clientes y puntos finales de los servicios
web. A partir de la versión 1.1 en adelante,
JAX-RS es parte oficial de Java EE 6.
http://mypizzaplace.co/index.html
Para manipular estos recursos, los componentes
de la red (clientes y servidores) se comunican a
URI
través de una interfaz estándar (HTTP) e
intercambian representaciones de estos recursos.
Recursos
http://mypizzaplace.co/index.html
Para manipular estos recursos, los componentes
de la red (clientes y servidores) se comunican a
URI
través de una interfaz estándar (HTTP) e
intercambian representaciones de estos recursos.
Conectores y comunicación stateless en REST
La petición puede ser transmitida por cualquier Así, una aplicación puede interactuar con un
número de conectores (por ejemplo clientes, recurso conociendo el identificador del recurso y
servidores, cachés, túneles, y otros) pero cada la acción requerida, no necesita conocer si
uno lo hace sin "ver más allá" de su propia existen cachés, proxys, cortafuegos, túneles o
petición (lo que se conoce como stateless o sin cualquier otra cosa entre ella y el servidor que
estado), otra restricción de REST, que es un guarda la información.
principio común con muchas otras partes de la
arquitectura de redes y de la información). La aplicación, sin embargo, debe comprender el
formato de la información devuelta (la
representación), que es por lo general un
documento HTML o XML, aunque también puede
ser una imagen o cualquier otro contenido.
RESTful
RESTful es un término utilizado para describir
servicios web que implementan el estilo
Veamos las características
arquitectónico REST. en el siguiente slide.
○ PUT: Actualizar un recurso existente. ● Interfaz uniforme: REST se basa en una interfaz
○ DELETE: Eliminar un recurso. uniforme para que diferentes componentes del sistema
puedan comunicarse de manera sencilla y coherente.
○ PATCH: Aplicar modificaciones parciales a un recurso.
Representación esquemática:
{...}
REST API
Client Server
Ejemplo: Gestión de recursos de libros en la API
● Obtener un libro específico:
Detalle de las operaciones CRUD para gestionar
libros en la API. Incluye obtención, creación, ○ Método: GET
actualización y eliminación de libros mediante ○ URI: /books/{id}
métodos HTTP como GET, POST, PUT y DELETE.
○ Descripción: Recupera los detalles del libro
● Obtener una lista de libros: con el ID especificado.
● Eliminar un libro:
○ Método: DELETE
○ URI: /books/{id}
○ Descripción: Elimina el libro con el ID.
Ejemplo: Gestión de recursos de libros en la API
Detalle de las operaciones CRUD para gestionar actualización y eliminación de libros mediante
libros en la API. Incluye obtención, creación, métodos HTTP como GET, POST, PUT y DELETE.
Obtener una lista de libros GET /books Recupera una lista de todos los libros disponibles.
Obtener un libro específico GET /books/{id} Recupera los detalles del libro con el ID especificado.
Añadir un nuevo libro POST /books Crea un nuevo libro con los datos proporcionados.
Actualizar un libro existente PUT /books/{id} Actualiza los detalles del libro con el ID especificado.
Utilizado cuando una solicitud GET, PUT, PATCH Un GET a /usuarios/123 devuelve los datos
200 OK
o DELETE se ha completado exitosamente. del usuario con ID 123.
Utilizado cuando la solicitud del cliente es Un POST a /usuarios con datos incorrectos
400 Bad Request
inválida o malformada. devuelve 400.
Una solicitud GET, PUT, PATCH o DELETE se ha Un GET a /usuarios/123 devuelve los datos
200 OK
completado exitosamente. del usuario con ID 123.