Que son los servicios web



@eduardo_gpg

Número de visitas 264

Tiempo de lectura 3 min

15 Marzo 2021

Ok, hasta este punto del curso ya tenemos conocimientos sobre qué es protocolo HTTP y sobre la arquitectura cliente servidor, pilares con los cuales es posible la comunicación a través de internet, sin embargo, aun queda un concepto clave para comprender exactamente que vamos a construir y cómo lo haremos.

Y me refiero al concepto: Servicio web.

Del cual vamos a estar hablando en este vídeo.

Servicio web

Un servicio web, según palabras de la W3C se define como un sistema de software para admitir la interacción interoperable de máquina a máquina a través de una red.

Un concepto un poco confuso no lo crees? Bueno, en palabras mas sencillas podemos definir a un servicio web como el conjunto de protocolos y estándares para el intercambio de información entre diferentes aplicaciones, facilitando así el acceso a recurso de forma remota.

Lo interesante de los servios web es la posibilidad de comunicar diferentes aplicaciones, que inclusive se ejecutan en entornos diferentes, entre sí. Esto gracias, principalmente, al uso de protocolos y estándares abiertos.

Por ejemplo, imaginemos que tenemos una aplicación escrita en Java y deseamos enviar, a una aplicación escrita en Go, los últimos reportes de ventas de nuestro sistema. Utilizando un servicio web esto sería una tarea bastante sencilla, no podemos apoyar del protocolo HTTP para el envío de información y utilizar el formato JSON para la estructurar de los datos.

Al utilizar tecnologías y conceptos universales, no importa que las aplicaciones estes escritas en lenguajes de programación diferentes, ni qué se ejecuten en sistemas operativos distintos, al seguir los mismo estándares y protocolos es posible establecer un comunicación entre clientes y servidores.

RestFULL

Ok, ya definimos que es un servicio web, sin embargo es posible que aun queden un par de dudas sobre el tema, así que por qué no nos apoyamos de un ejemplo.

Para ello vamos hablar de uno de las arquitecturas más populares de actualidad, me refiero REST, Representational State Transfer, o por su traducción al español: Transferencia de representación de estado

Esta arquitectura esta diseñada para ser lo mas simple posible, facilitando así su desarrollo y adopción por parte de los usuarios. REST se apoya del protocolo HTTP para enviar y recibir información, además de permitir el uso de un formato JSON para estructurar, tanto los datos en entrada como de salida.

A las aplicaciones que implemente la arquitectura REST las conoceremos como RESTful y serán los servidores donde se centralice la información.


Ahora, como funciona una aplicación RestFull. Bueno, como mencionamos anteriormente, para implementar esta arquitectura haremos uso del protocolo HTTP y nos apoyaremos de sus verbos para definir acciones a realizar.

De igual forma, si recordamos, en vídeos anteriores mencionamos que los protocolos HTTP y HTTPS poseen verbos los cuales nos permiten definir la acción a realizar por parte del servidor.

Pues bien, utilizando el servicio REST trabajaremos con los métodos GET, POST, PUT Y DELETE, podremos obtener, crear, actualizar y eliminar.

Utilizando REST, todos estos método se encontrarán enfocados en un recurso en particular, recurso que fácilmente podremos conocer mediante la URI.

Utilizando la combinación recurso-métodos es posible tener, para un mismo recurso un total de 6 direcciones uRLS. Inclusive más, pero en esencia son 5.

Veamos un ejemplo.

<table> <thead> <tr> <th align="left">Método</th> <th align="center">URL</th> <th align="right">Acción</th> </tr> </thead> <tbody> <tr> <td align="left">GET</td> <td align="center">/libros</td> <td align="right">Retorna un listado de libros</td> </tr> <tr> <td align="left">POST</td> <td align="center">/libros</td> <td align="right">Crea un nuevo libro</td> </tr> <tr> <td align="left">GET</td> <td align="center">/libros/{id}</td> <td align="right">Retorna el libro seleccionado</td> </tr> <tr> <td align="left">PUT</td> <td align="center">/libros/{id}</td> <td align="right">Actualiza el libro seleccionado</td> </tr> <tr> <td align="left">DELETE</td> <td align="center">/libros/{id}</td> <td align="right">Elimina el libro seleccionado</td> </tr> </tbody> </table>

En este caso el recurso son los libros, y a través de métodos y parámetros podremos conocer qué debemos hacer con exactamente que recurso.

El cliente será el encargado de realizar una petición al servidor indicando el recurso a utilizar y la acción a realizar.


Al desarrollar aplicaciones Web RESTful haremos uso de protocolos y estándares abiertos y universales, por lo cual nos permite escalar aplicaciones de forma muy sencilla, además de facilitar una rápida adopción por parte de los usuarios y nuestros clientes.

Para este curso nos apoyaremos de la arquitectura REST para maquetar nuestro proyecto y de la arquitectura cliente-servidor más el protocolo HTTP para enviar y recibir la información.


¿El contenido te resulto de ayuda?

Para poder dejar tu opinión es necesario ser un usuario autenticado. Login

Más Tips y Ejercicios 🐍

Adquiere una subscripción PyWombat por tan solo $3 USD. al mes.

Conoce los beneficios de ser usuario premium:
Niveles desbloqueados: Ten accesos a todos los niveles de ejercicios. 🔓
Nuevo límite: Incrementa tu límite de ejercicios por semana. 🚀
Contenido único: Recibe semanalmente recursos exclusivos de Python (Videos, Artículos y Capitulos del libro PyWombat, comienza como desarrollador Python. 🐍