API RESTful

Un web service es una de las formas que tenemos para disponibilizar interfaces de nuestro sistema a terceros. Con lo cual pueden consultar, agregar, borrar y modificar datos de nuestro sistema invocando los distintos endpoints habilitados.

Existen dos tipos ampliamente utilizados para dicha función, los cuales son SOAP y RESTful. SOAP fue usado ampliamente en el pasado y se basa en el intercambio de datos en formato XML, mientras que, REST gano bastante terreno y principalmente lo usamos con estructuras en JSON.


Haciendo una  comparación rápida entre cada uno tenemos la siguiente tabla

SOAP RESTful
Es un protocolo Es un arquitectura
No puede usar REST porque no es un protocolo Como es un concepto puede usar cualquier protocolo como HTML, SOAP
Usa interfaces de servicios para exponer la lógica de negocio Usa URI para exponer la lógica de negocio
Define estándares a seguir No define tantos estándares como SOAP
Requiere mas ancho de banda y recursos, al usar XML el volumen de datos es mayor No requiere tanto ancho de banda y recursos puesto que usa JSON y es mas acotado que el XML
Define su propia seguridad Hereda las medidas de seguridad del medio de transporte
Solo permite datos en XML Permite distintos formatos como texto plano, HTML, XML, JSON, etc
Actualmente no es tan usado Se prefiere antes que SOAP

Para concluir podemos citar lo siguiente

  • REST significa REpresentational State Transfer
  • Fue desarrollado por Roy Thomas Fielding quien tambien desarrollo el HTTP
  • La principal meta es hacer que los WS (Web services) más efectivos
  • Define los WS con los conceptos que ya estan presentes en HTTP (GET, PUT, POST, DELETE)
  • No define un formato estándar de intercambio de mensajes
  • Los recursos puede ser representados por XML, HTL, JSON, entre otros pero es ms utilizado JSON .
  • Puede ser accedido por medio de una URI (Uniform Resorce Identifier)

Existe mucha literatura en internet sobre que es un RESTful y como trabaja, esto es simplemente un resumen e introducción para lo que sigue.

Supongamos que necesitamos operar con un listado de personas, sobre las cuales podemos realizar las siguientes operaciones

Operación Método Path
Obtener el listado de personas GET /personas
Obtener una persona por id GET /personas/{id}
Agregar una persona POST /personas
Modificar una persona PUT /personas/{id}
Borrar una persona DELETE /personas/{id}

En posteriores entradas se implementara esta api con distintos lenguajes.

 

2 Comments

  1. Pingback: API RESTful en Go – Otro Del Montón

  2. Pingback: API RESTful con NodeJS – Otro Del Montón

Comments are closed.