0% encontró este documento útil (0 votos)
14 vistas

M101 - Introducción Java Backend.pptx

El documento describe los fundamentos de los servicios web, destacando su capacidad de interoperabilidad entre diferentes sistemas y lenguajes de programación. Se explican los tipos de servicios web, como SOAP y REST, así como las características clave de RESTful, incluyendo el uso de URIs, métodos HTTP y la naturaleza stateless. Además, se presentan ejemplos de operaciones CRUD y el uso de códigos de estado HTTP para la comunicación entre cliente y servidor.

Cargado por

Rocío Arano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas

M101 - Introducción Java Backend.pptx

El documento describe los fundamentos de los servicios web, destacando su capacidad de interoperabilidad entre diferentes sistemas y lenguajes de programación. Se explican los tipos de servicios web, como SOAP y REST, así como las características clave de RESTful, incluyendo el uso de URIs, métodos HTTP y la naturaleza stateless. Además, se presentan ejemplos de operaciones CRUD y el uso de códigos de estado HTTP para la comunicación entre cliente y servidor.

Cargado por

Rocío Arano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 17

Introducción

HTML5: Fundamentos Web


a Servicios Web
¿Qué es un servicio web?

Un web service es un conjunto de protocolos y


Web Service
estándares que permiten la comunicación entre
aplicaciones a través de la web (Internet).
PHP
C

Los servicios web facilitan la interoperabilidad


Java .NET
entre diferentes sistemas y plataformas.

Significa que aplicaciones desarrolladas, en


diferentes lenguajes de programación y en
diferentes sistemas operativos, pueden
interactuar, entre sí, sin problemas.
Características

Además de la interoperabilidad, los servicios Web Service


web se distinguen por:
XML / JSON / HTTP
● Uso de estándares: Implementan estándares request
web como HTTP, XML, JSON, SOAP y REST.

● Comunicación a través de la web: Funcionan


Internet
sobre protocolos de red estándar como HTTP SOAP / HTTP / REST
o HTTPS.
Internal
Client
system
● Accesibilidad: Pueden ser invocados a través XML / JSON / HTTP
de la red, permitiendo el acceso remoto a response

servicios y datos.
Tipos de servicios web

Simple Object Access Protocol (SOAP) Representational State Transfer (REST)

● 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.

● Cuenta con una implementación de referencia


llamada Jersey.
Se puede obtener la especificación completa en: Java
Community Process.
Recursos

Un concepto clave en REST es la existencia de HTTP Client Web Server

recursos (elementos de información), que pueden HTTP request

ser accedidos utilizando un identificador global


(Identificador Uniforme de Recurso - URI). HTTP response

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

Un concepto clave en REST es la existencia de HTTP Client Web Server

recursos (elementos de información), que pueden HTTP request

ser accedidos utilizando un identificador global


(Identificador Uniforme de Recurso - URI). HTTP response

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.

Cuando un servicio Rest posee ciertas


características, se considera RESTful.
Características

● Recursos y URIs: En REST, todo es considerado un ● Representaciones: Los recursos se representan en


recurso. Cada recurso es identificado por una URI. formatos estándar, como JSON, XML, HTML, y otros.
Por ejemplo, en un servicio de biblioteca, un recurso podría
● Stateless (sin estado): cada solicitud del cliente al
ser un libro, identificado por /books/{id}.
servidor debe contener toda la información necesaria
● Métodos HTTP: REST utiliza los métodos estándar de para entender y procesar la solicitud.
HTTP para realizar operaciones sobre los recursos. Los
● Cacheable: Las respuestas deben definir si pueden ser
métodos principales son:
almacenadas en caché o no. Las respuestas cacheables
○ GET: Recuperar una representación de un recurso. permiten mejorar la eficiencia de la red y la escalabilidad
○ POST: Crear un nuevo recurso. del servicio.

○ 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.

○ Método: GET ● Añadir un nuevo libro:


○ URI: /books ○ Método: POST
○ Descripción: Recupera una lista de todos ○ URI: /books
los libros disponibles.
○ Descripción: Crea un nuevo libro con los
datos proporcionados.
● Actualizar un libro existente:
○ Método: PUT
○ URI: /books/{id}
○ Descripción: Actualiza los detalles del libro
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.

Operación Método URI Descripción

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.

Eliminar un libro DELETE /books/{id} Elimina el libro con el ID.


Errores y códigos HTTP
Los errores HTTP son códigos de estado que un Las API RESTful aprovechan estos códigos para
servidor web devuelve a un cliente (como un comunicar de manera eficiente y estándar el
navegador web) para indicar el resultado de una estado de una solicitud entre el cliente y el
solicitud. Estos códigos ayudan a diagnosticar y servidor.
resolver problemas que pueden ocurrir durante
la comunicación entre el cliente y el servidor.

Los códigos de estado HTTP tienen una relación


muy estrecha con las API REST, ya que son
utilizados para indicar el resultado de las
operaciones realizadas a través de las
solicitudes HTTP.
Por ejemplo:

Código de estado HTTP Descripción Ejemplo

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.

Utilizado cuando la solicitud requiere Un GET a /perfil sin token de autenticación


401 Unauthorized
autenticación. devuelve 401.

Utilizado cuando el recurso solicitado no se Un GET a /usuarios/999 para un usuario


404 Not Found
encuentra. que no existe devuelve 404.

Utilizado cuando el servidor encuentra un Un GET a /usuarios que falla por un


500 Internal Server Error
error inesperado. problema en la base de datos devuelve 500.
Por ejemplo:

Código de estado HTTP Utilizado cuando: Ejemplo

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.

La solicitud del cliente es inválida o Un POST a /usuarios con datos incorrectos


400 Bad Request
malformada. devuelve 400.

Un GET a /perfil sin token de autenticación


401 Unauthorized La solicitud requiere autenticación.
devuelve 401.

Un GET a /usuarios/999 para un usuario


404 Not Found El recurso solicitado no se encuentra.
que no existe devuelve 404.

Un GET a /usuarios que falla por un


500 Internal Server Error El servidor encuentra un error inesperado.
problema en la base de datos devuelve 500.

También podría gustarte