0% encontró este documento útil (0 votos)
72 vistas5 páginas

Rest Vs Restful

Una API de REST, o API de RESTful, es una interfaz de programación de aplicaciones (API o API web) que se ajusta a los límites de la arquitectura REST y permite la interacción con los servicios web de RESTful. Las API son conjuntos de definiciones y protocolos que se utilizan para diseñar e integrar el software de las aplicaciones.

Cargado por

Ascencio JJ
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
72 vistas5 páginas

Rest Vs Restful

Una API de REST, o API de RESTful, es una interfaz de programación de aplicaciones (API o API web) que se ajusta a los límites de la arquitectura REST y permite la interacción con los servicios web de RESTful. Las API son conjuntos de definiciones y protocolos que se utilizan para diseñar e integrar el software de las aplicaciones.

Cargado por

Ascencio JJ
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 DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Resumen

Una API de REST, o API de RESTful, es una interfaz de programación


de aplicaciones (API o API web) que se ajusta a los límites de la
arquitectura REST y permite la interacción con los servicios web de
RESTful. El informático Roy Fielding es el creador de la transferencia
de estado representacional (REST).

Las API son conjuntos de definiciones y protocolos que se utilizan


para diseñar e integrar el software de las aplicaciones.Suele
considerarse como el contrato entre el proveedor de información y el
usuario, donde se establece el contenido que se necesita por parte del
consumidor (la llamada) y el que requiere el productor (la
respuesta).Por ejemplo, el diseño de una API de servicio
meteorológico podría requerir que el usuario escribiera un código
postal y que el productor diera una respuesta en dos partes: la primera
sería la temperatura máxima y la segunda, la mínima.

En otras palabras, las API le permiten interactuar con una


computadora o un sistema para obtener datos o ejecutar una función,
de manera que el sistema comprenda la solicitud y la cumpla. 

Imagínelas como si fueran los mediadores entre los usuarios o clientes


y los recursos o servicios web que quieren obtener. Con ellas, las
empresas pueden compartir recursos e información mientras
conservan la seguridad, el control y la autenticación, lo cual les
permite determinar el contenido al que puede acceder cada usuario. 

Otra ventaja de las API es que usted no necesita saber cómo se


recibe el recurso ni de dónde proviene.

REST (Representational State Transfer) es una arquitectura que se ejecuta sobre


HTTP.

RESTful hace referencia a un servicio web que implementa la arquitectura REST.

En un ejemplo bastante básico (de crear un aplicación RESTful), tenemos un


proyecto donde implementamos un CRUD para casas en PHP y con la architectura
MVC, el resultado de las respuestas serán devueltas en JSON, más no es obligatorio
manejar solo ese tipo Content-type, se puede devolver HTML, texto, etc ...

Mi modelo sería algo como:

namespace modelos\Casa;

use common\Model;
class Casa extends Model
{

public function getId($id)


{
// Carga una casa por ID
return ['id' => 1, 'puertas' => 1, 'focos' => 5];
}

public function getAll()


{
// Carga DB y devuelve todas las casas
return [
['id' => 1, 'puertas' => 1, 'focos' => 5],
['id' => 2, 'puertas' => 1, 'focos' => 3],
['id' => 3, 'puertas' => 2, 'focos' => 8]
];
}

public function delete($id)


{
// Elimina un registro en la DB
return parent::delete($id);
}

public function save()


{
// Valida que todo sea correcto y devuelve un booleano
return parent::save();
}

}
Mi controlador algo como:

namespace controladores\Casas;

use modelos\Casa;
use common\Controller;

header('Content-Type: application/json');

class Casas extends Controller


{

public function actionPost($id)


{
$casa = Casa::findId($id);
$casa->loadParams($_POST);

echo json_encode(['success' => $casa->save()]);


}

public function actionGet($id = null)


{
if (isset($id)) {
echo json_encode(Casa::getId($id));
} else {
echo json_encode(Casa::getAll());
}
}

/* Aquí el demás código */

}
La 3a. parte podría manejarla con JavaScript y HTML, donde el Js mandaría por
medio de AJAX la petición para obtener un resultado y mostrarlo al usuario de
forma amigable.

Las solicitudes podrían realizarse a los recursos listados a continuación con el


estado HTTP correspondiente y el controlador sería el encargado de responder a
cada una de ellas.

Resumen
Una API de REST, o API de RESTful, es una interfaz de programación
de aplicaciones (API o API web) que se ajusta a los límites de la
arquitectura REST y permite la interacción con los servicios web de
RESTful. El informático Roy Fielding es el creador de la transferencia
de estado representacional (REST).

Las API son conjuntos de definiciones y protocolos que se utilizan


para diseñar e integrar el software de las aplicaciones.Suele
considerarse como el contrato entre el proveedor de información y el
usuario, donde se establece el contenido que se necesita por parte del
consumidor (la llamada) y el que requiere el productor (la
respuesta).Por ejemplo, el diseño de una API de servicio
meteorológico podría requerir que el usuario escribiera un código
postal y que el productor diera una respuesta en dos partes: la primera
sería la temperatura máxima y la segunda, la mínima.

En otras palabras, las API le permiten interactuar con una


computadora o un sistema para obtener datos o ejecutar una función,
de manera que el sistema comprenda la solicitud y la cumpla. 

Imagínelas como si fueran los mediadores entre los usuarios o clientes


y los recursos o servicios web que quieren obtener. Con ellas, las
empresas pueden compartir recursos e información mientras
conservan la seguridad, el control y la autenticación, lo cual les
permite determinar el contenido al que puede acceder cada usuario. 

Otra ventaja de las API es que usted no necesita saber cómo se


recibe el recurso ni de dónde proviene.

soap
REST y SOAP son dos enfoques distintos para la transmisión de datos
en línea. Específicamente, ambas definen cómo diseñar interfaces de
programación de aplicaciones (API), las cuales permiten la
comunicación de datos entre aplicaciones web. La transferencia de
estado representacional (REST) es un conjunto de principios
arquitectónicos, mientras que el protocolo simple de acceso a objetos
(SOAP) es un protocolo oficial de cuyo mantenimiento se encarga el
Consorcio World Wide Web (W3C). La principal diferencia es que
SOAP es un protocolo, y REST no lo es. Por lo general, alguno de
ellos regirá a las API, según el caso práctico y las preferencias del
desarrollador.

SOAP: protocolo simple de acceso a objetos


SOAP es un protocolo estándar que se creó originalmente para
permitir la comunicación entre las aplicaciones que se diseñaban con
diferentes lenguajes y en diferentes plataformas. Como es un
protocolo, impone reglas integradas que aumentan la complejidad y la
sobrecarga, lo cual puede retrasar el tiempo que tardan las páginas en
cargarse. Sin embargo, estos estándares también ofrecen normas
integradas que pueden ser ideales para el sector empresarial. Los
estándares de cumplimiento integrados incluyen la seguridad, la
atomicidad, la uniformidad, el aislamiento y la durabilidad (ACID), que
forman un conjunto de propiedades que garantizan operaciones
confiables de las bases de datos.

Las especificaciones comunes de los servicios web incluyen lo


siguiente:

 Seguridad de los servicios web (WS-Security): estandariza la


forma de proteger y transferir los mensajes usando
identificadores únicos llamados tokens.
 Mensajería segura de los servicios web (WS-
ReliableMessaging): estandariza el control de errores entre
mensajes que se transfieren en infraestructuras de TI poco
confiables.
 Abordaje de los servicios web (WS-Addressing): paquetes
que enrutan la información como metadatos dentro de los
encabezados SOAP, en lugar de mantener la información en un
lugar más profundo de la red.
 Lenguaje de descripción de los servicios web
(WSDL): describe qué hace un servicio web, así como dónde
comienza y termina.

El envío de una solicitud de datos a una API de SOAP se puede


administrar a través de cualquiera de los protocolos de la capa de la
aplicación: HTTP (para los exploradores web), SMTP (para el correo
electrónico), TCP, entre otros. Sin embargo, una vez que se recibe
una solicitud, los mensajes SOAP de retorno deben ser documentos
XML, que es un lenguaje de marcado que comprenden las personas y
las máquinas. Una solicitud completa a una API de SOAP no se
almacena en caché por un navegador, por lo que no se puede acceder
a ella después sin reenviarla a la API.

¿Cuál es la diferencia entre SOAP y REST?


Es posible que muchos sistemas heredados sigan rigiéndose por
SOAP, aunque REST haya surgido más tarde y se considere una
alternativa más rápida en los escenarios basados en la Web. REST es
un conjunto de pautas que ofrece una implementación flexible,
mientras que SOAP es un protocolo con requisitos específicos, como
en el caso de la mensajería XML.

Las API de REST son ligeras, así que son ideales para los contextos
más nuevos, como el Internet de las cosas (IoT), el desarrollo de
aplicaciones móviles y la informática sin servidor. Los servicios web de
SOAP ofrecen seguridad y cumplimiento de las operaciones
integrados que coinciden con muchas de las necesidades
empresariales, pero que también los hacen más pesados. Asimismo,
muchas API públicas, como la API de Google Maps, siguen las pautas
de REST.

También podría gustarte