Buscar este blog

jueves, 6 de agosto de 2015

Servicios REST

Los Principios de Diseño RESTful
 
En qué consiste?
El protocolo REST (Representational State Transfer) plantea un estilo de arquitectura Cliente-Servidor, donde el servicio es identificado como un recurso y se reconoce con un URL por el cual es consumido para la comunicación e intercambio del servidor. REST se puede realizar mediante los siguientes formatos y lenguajes : XML, HTML, JSON. En caso de JSON es el más usado en los servicios de redes sociales y comunidades de internet debido a sus sencillez y facilidad del procesamiento de los mensajes.



Cómo implementarlos?

Una forma de implementar es utilizando aplicaciones web clientes basadas únicamente en javascript, debido a que se puede configurar el lado del servidor para envíar respuestas en formato JSON. REST, también es ideal para aplicaciones móviles que están basadas en HTML5.

Para una implementación REST se debe considerar lo siguiente:
Utiliza los métodos HTTP (POST, GET, PUT, DELETE) de manera explícita para que resulte consistente con la definición del protocolo.
No mantiene estado, debe incluir dentro de la petición todos los parámetros necesarios para que el servidor pueda generar la respuesta y de esta manera no mantener el estado.
Expone URIs con forma de directorios, estas deben ser intuitivas de tal manera que sea fácil adivinarlas por el desarrollador para que así pueda comprender su objetivo e identificar a los recursos derivados relacionados que este involucra.
Transfiere XML, JSON, o ambos, lo que hace posible que el servicio pueda ser utilizado por distintos clientes cuya construcción fue realizada en diferentes lenguajes, ejecutándose en diferentes plataformas y dispositivos, esto minimiza el acoplamiento de datos entre el servicio y las aplicaciones consumidoras.



Tecnologías y especificaciones relacionadas

Existen diversos proveedores que utilizan la tecnología REST como:
Yahoo! ofrece un API en REST para desarrolladores.
El mecanismo de enrutamiento de Ruby on Rails soporta aplicaciones REST utilizando el patrón de diseño MVC.
Microsoft tiene su implementación en ADO.NET Data Services Framework (anteriormente conocido como “Astoria”)
Facebook ofrece una API basado en REST.
Twitter ofrece una API basado en REST.
MEGA ofrece una API basado en REST.
MercadoLibre ofrece una API basado en REST para desarrolladores.



Mediante el uso de esta API de Java (Web Services (JAX-RS) API, es posible crear aplicaciones utilizando la tecnología REST, de una manera más rápida.
JAX-RS es un modelo de programación que proporciona un mecanismo para desarrollar servicios que siguen los principios de RES. Con el uso de JAX-RS, se simplifica el desarrollo de servicios RESTful.
JAX-RS es una API Java para desarrollar aplicaciones REST de forma rápida. Mientras que JAX-RS proporciona una forma más rápida de desarrollar aplicaciones web que los servlets, el objetivo principal de JAX-RS es crear servicios RESTful. JAX-RS 1.0 define una API de componente del extremo del servidor para crear aplicaciones REST. IBM® JAX-RS proporciona una implementación de la especificación de JAX-RS (JSR 311).

1 comentario: