Softtek Softtek
  • Our experience
  • Overview
  • Insights
  • Blog
  • Newsroom
  • Careers
  • Contact us
softtek Language Selector
ENGLISH
EUROPE / EN
ESPAÑOL
EUROPA / ES
PORTUGUÊS
中文(简体)
Search button
AI
APPROACH
INDUSTRIES
SERVICES & SOLUTIONS
TRANSCEND
Softtek GenAI
FRIDA AI for Software Engineering
Service Transformation
Portfolio Transformation
Digital Acceleration
Our Work
Agribusiness
Airlines
Automotive
Banking & Financial Services
Consumer Packaged Goods
Energy & Utilities
Fitness & Wellness
Gaming
Government & Public Sector
Higher Education
Healthcare
Industrial
Insurance
Media & Entertainment
Oil & Gas
Pharma & Beauty
Professional Sports
Restaurant & Hospitality
Retail
Technology
Telecommunications
Transportation & Logistics
Digital Solutions
Digital Optimization
Digital Sales
Data Masking Solution
IT Cost Optimization
Fan Engagement Ecosystem
Softtek Digital Enablers
DIEGO
blauLabs
Business OnDemand
Click2Sync Omnichannel
Automotive Digital Assistant
Guest Engagement
Socializer
Collaborative Commuting
Workplace Management
Application Services
Software Development
Quality Engineering
Application Management
Application Services
Cloud & DevOps
Cloud Services
IT Infrastructure
Digital Security
DevOps
Data & Automation
Data and AI
Intelligent Automation
Services Transformation
Core Modernization
Next-Gen IT Operations
Platform Services
AWS
SAP
Microsoft
Salesforce
ServiceNow
Atlassian
BlueYonder
Sustainability by Softtek
Softtek
Language selector
search button
AI
Softtek GenAI
FRIDA AI for Software Engineering
APPROACH
Service Transformation
Portfolio Transformation
Digital Acceleration
Our Work
INDUSTRIES
Agribusiness
Airlines
Automotive
Banking & Financial Services
Consumer Packaged Goods
Energy & Utilities
Fitness & Wellness
Gaming
Government & Public Sector
Higher Education
Healthcare
Industrial
Insurance
Media & Entertainment
Oil & Gas
Pharma & Beauty
Professional Sports
Restaurant & Hospitality
Retail
Technology
Telecommunications
Transportation & Logistics
SERVICES & SOLUTIONS
Digital Solutions
Digital Optimization
Digital Sales
Data Masking Solution
IT Cost Optimization
Fan Engagement Ecosystem
Softtek Digital Enablers
DIEGO
blauLabs
Business OnDemand
Click2Sync Omnichannel
Automotive Digital Assistant
Guest Engagement
Socializer
Collaborative Commuting
Workplace Management
Application Services
Software Development
Quality Engineering
Application Management
Application Services
Cloud & DevOps
Cloud Services
IT Infrastructure
Digital Security
DevOps
Data & Automation
Data and AI
Intelligent Automation
Services Transformation
Core Modernization
Next-Gen IT Operations
Platform Services
AWS
SAP
Microsoft
Salesforce
ServiceNow
Atlassian
BlueYonder
TRANSCEND
Sustainability by Softtek
Our experience
Overview
Insights
Blog
Newsroom
Careers
Contact us
Presencia Global
ENGLISH
EUROPE / EN
ESPAÑOL
EUROPA / ES
PORTUGUÊS
中文(简体)
Softtek Blog

Rest - Restful: Ventajas y diferencias

Autor
Author Damian Wajser
Publicado el:
sep 7, 2015
Tiempo de lectura:
sep 2015
|
SHARE
Share on LinkedIn
Share on X
Share on Facebook
SHARE
Share on LinkedIn
Share on X
Share on Facebook

Por Damián Wajser, Technical Team Lead Softtek 
Como sabemos, internet se basa en una comunicación constante entre clientes y servidores, por lo cual, que esta comunicación sea lo más eficaz posible es el reto que debemos afrontar y el objetivo de todas las arquitecturas, tecnologías y lenguajes web.

Hace ya varios años los servicios webs no han parado de aumentar y mejorar, seguramente te topaste con el término RestFul en varias ocasiones. Sin embargo no es un término para nada nuevo. 

Rest (Representational state transfer), es un producto del siglo XX, lo cual en este ámbito se considera antiguo. Este producto, es un modelo de arquitectura web basado en el protocolo HTTP, que se nutre con un conjunto de buenas prácticas para mejorar las comunicaciones cliente-servidor.

Principios de la arquitectura REST

El primero de estos principios es saber que todo lo que se mueve a través de las comunicaciones web es un recurso. Para entenderlo tenemos que partir de la idea que los datos se representan con el formato específico que tienen y no como un archivo físico.

Cada recurso disponible en internet tiene un formato en particular que se describe por el tipo de contenido: Jpeg para imágenes, mpeg para video, xml, html, entre otros, los cuales van a estar referidos en los protocolos de comunicación como: image/jpeg, video/mpeg, text/html, text/xml, etc.

El segundo principio que tenemos que tener en cuenta, es que cada uno de estos recursos debe tener un identificador único, el cual va a estar dado por su URL, ya que hay una infinidad de recursos en la web y los mismo deben estar accesibles e identificables.

En tercer lugar, es que este protocolo de transmisión de datos debe utilizar los verbos estándares de HTTP, que están definidos en el protocolo nativo, donde cada uno de estos verbos significa una acción diferente. Hay definidas 8 acciones principales: GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE, CONNECT.

El cuarto principio y clave en este tipo de arquitectura es, que cada recurso puede tener múltiples representaciones, independientemente de como esté almacenado. Un ejemplo sencillo para ilustrar este principio sería tener un recurso en formato XML y poder solicitarlo en JSON.

El quinto principio es clave para entender las comunicaciones cliente-servidor, se trata de comunicaciones que se denominan sin estado (STATELESS), lo que significa que cada petición al servidor es tratada de manera totalmente independiente. 

REST es antiguo, entonces, ¿porque ganó tanta popularidad últimamente?

La razón básicamente se encuentra en la popularización de los Web Services y la enorme ampliación de sus usos, lo que hizo que el protocolo SOAP (que predominaba hasta el momento) no sea el más eficaz.

El protocolo SOAP (Simple Object Access Protocol), se basa en distintas especificaciones WS que aprovechan la flexibilidad del XML. Esto permitió que se definan un gran número de ellas. A su vez están vagamente definidas, lo que se buscaba con esto es convertirse en interoperables entre distintos proveedores, y llevó a que sean unificadas por otra especificación como WS Basic Profile.

WS Basic Profile es la encargada de definir todas las reglas de interoperatibilidad para todas las especificaciones SOAP que son transportadas.

Ademas, por mas que estemos utilizando SOAP como protocolo seguimos utilizando HTTP como medio de transporte, por lo cual para enviar datos binarios como archivos o imagenes, entre otros, se necesitó incorporar nuevas especificaciones como SWAREF y MTOM.

Ahí es donde reaparece REST simplificando nuevamente las cosas, y reintroduciendo el concepto de recursos y medios estándar.

Cabe aclarar que cuando hablamos de Rest y RestFull no hablamos de conceptos diferentes, sino que es lo mismo, salvo ciertos matices.

Rest, como hablamos anteriormente, es un concepto de arquitectura que siguen los principios anteriormente mencionados, en cambio RestFull son los web services que siguen esos principios.

Ventajas de utilizar REST

- Separación de un recurso de su representación

Recordemos que un recurso es solo un conjunto de información y como hemos definido anteriormente en los principios REST puede tener múltiples representaciones.
Igualmente recordemos que es recurso no tiene estado, corresponde a quien lo llama especificar en el encabezado de la petición HTTP el tipo de contenido que se desea obtener.
Una vez recibido este requerimiento, será la aplicación del servidor la encargada de manejar la representación y devolver el estado HTTP apropiado:
HTTP 200: para mensajes OK.
HTTP 400: cuando un recurso no está disponible.
HTTP 500: Por un error interno del lado del servidor.

Por lo cual deberíamos enviarle al servidor (en la cabecera HTTP, con la propiedad acept) que es lo que esperamos recibir, por ejemplo:
text/xml
application/json
jpg/jpeg
etc.

- Visibilidad

Rest está diseñado para ser visible y simple, lo que significa que cada aspecto del servicio debe ser autodescriptivo siguiendo las normas HTTP, que hablamos anteriormente.
Seguridad.

Al utilizar rest garantizamos que los métodos http son seguros, lo que significa que a solicitar un recurso este requerimiento no modifica o causa ningún tipo de cambio en su estado.

- Escalabilidad

Si el aumento de la demanda exige aumentar el número de servidores, esto puede hacerse sin preocuparse por la sincronización entre los mismos, ya que no deberíamos tener que preocuparnos por el estado de los recursos.

- Rendimiento

La escalabilidad no debe ser confundida con el rendimiento.

El rendimiento se mide por el tiempo necesario para que una única petición sea procesada, mientras que la escalabilidad depende del número total de peticiones que la aplicación puede manejar.

Al ser pequeños servicios el tiempo de respuesta es 0 o con tendencia a 0, porque estos servicios no deberían ejecutar gran lógica de negocio, con esta arquitectura estamos aprovechando el poder de procesamiento de las máquinas cliente para usar su poder de procesamiento.

Te invito a dejar tu opinión. 

Vive el Softtek Life! Ver el video

Related posts

ago 18, 2015
Combate entre servidores web: NGINX vs Apache
jun 20, 2017
Webinar ¿Conoces las diferencias entre API REST y RESTful?
RestAreaEdit2
dic 13, 2019
Diseñando APIs RESTful

Let’s stay in touch!

Get Insights from our experts delivered right to your inbox!

Follow us:
Softtek LinkedIn
Softtek Twitter
Softtek Facebook
Softtek Instagram
Softtek Instagram
Follow us:
Softtek LinkedIn
Softtek Twitter
Softtek Facebook
Softtek Instagram
Softtek Instagram

© Valores Corporativos Softtek S.A. de C.V. 2025.
privacy notice
legal disclaimer
code of ethics
our policies
webmaster@softtek.com