SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
 Integrantes: o Lizzette Betancourt o Robert Caraguay  Tutor: o Ing. Luis Jumbo  Fecha: o 17 / 11/ 2014  Componente: o Arquitectura de Aplicaciones OCTUBRE 2014 – FEBRERO 2015 Universidad Técnica Particular de Loja REST Representational State Transfe
INTRODUCCION 
Los servicios web son Apis Web que son accesibles desde las Web, dentro de una red y son ejecutadas desde un sistema. Estos servicios tienen diferentes tipos de sistemas, entre ellos REST, éstos se comunican por mensajes XML que cumplen con el estándar SOAP. 
La transferencia de estado representacional o Representational State Transfer (REST), es una técnica de arquitectura de software en red para sistemas distribuidos que aprovecha de las tecnologías y protocolos de las World Wide Web (www). 
Cabe destacar que REST no es una especificación ni un estándar. Este es solo una técnica de arquitectura que está basada en varios estándares, algunos de ellos son: 
 HTTP 
 URL 
 Recursos XML 
Dicho servicio web REST, posee una serie de elementos que se los detalla a continuación. 
 Identificación de recursos: Los recursos deben ser totalmente accesibles, es decir deben poseer una URI de identificación, que es única 
 Manipulación de recursos: Uso de recursos HTTP que son accedidos, para implementarlos mediante CRUD (Get, post, put delete). 
 Metadatos para describir nuevos recursos: Usa métodos o tecnologías estándar como HTTP, URI, XML, RDF, JSON, ETC 
 Comunicación sin estado: no guardas las transacciones entre el cliente y servidor.
HISTORIA 
La tecnología REST se originó en el año 2000, gracias al tema de tesis doctoral sobre la web escrita por de Roy Fielding, desarrollada en la Universidad de California en Irvine, en conjunto con el Consorcio World Wide Web (W3C) en paralelo con HTTP 1.1. 
Fielding desarrolló este tipo de arquitectura de desarrollo web, para identificar los problemas que existían en la web, y así poder comparar soluciones alternativas a estos inconvenientes y por consiguiente certificar que las extensiones de protocolo no vulnerarían las restricciones esenciales que hacen que la web sea exitosa. La World Wide Web (www) representa la mayor implementación de un sistema conforme al estilo arquitectónico REST. 
Por estas razones los autores describen al término REST, como cualquier interfaz simple que se utiliza para la trasmisión de datos de un dominio específico a través del protocolo HTTP, sin requerir de capas externas como mensajería o seguimiento de sesión. 
Transferencia de estado representacional, fue desarrollado para que consuma menos software del lado del cliente, es decir un navegador estándar puede acceder a cualquier aplicación y a sus recursos de datos.
Overview 
La transferencia de estado representacional o Representational State Transfer (REST), es una técnica arquitectónica para el diseño de aplicaciones en la red. Dicho término se originó por el Doctor Roy Fielding en el año 2000, mediante su tesis doctoral Estilos Arquitecturales y el Diseño de Arquitecturas de Software basadas en Red, en el cual definió REST como un enfoque para desarrollar servicios web, y para describir los principios de redes que caracteriza la World Wide Web. 
Rest fue ganando espacio en la web como una opción más simple a SOAP (Simple Object Access Protocol) y a los servicios Web basados en el lenguaje de descripción de servicios web WSDL. El impacto de rest fue demasiado grande que logró desplazar a SOAP y a interfaces basadas en WSDL, por su manera fácil de utilizar. Rest es orientado a recursos, más no a métodos. 
Objetivos 
Dentro de esta arquitectura se tiene varios objetivos que deben ser cumplidos. 
 Escalabilidad de los componentes de interacción: 
 Generalidad de interfaces: cualquier cliente puede interactuar con algún servidor http, sin que se haga una configuración. 
 Puesta en funcionamiento independiente: los servidores antiguos o viejos tienen que ser capaces de entenderse con cliente nuevo y viceversa. 
 Compatibilidad con componentes intermedios: permite reducir la latencia de interacción y mejorar la seguridad. 
Elementos de la Arquitectura REST 
Elementos de datos 
Rest define varios principios arquitectónicos o características por los que se diseñan los servicios web, se clasifican en:
Identificación de recursos 
Todo recurso es identificado de manera única como en HTTP, que es un protocolo que se basa en URIs (Uniform Resource Identifier), ésto es lo que permite identificar un recurso. Un recurso es considerado como una entidad que representa un concepto de negocio que puede ser accedido de manera pública, éste posee un estado interno que no puede ser accedido desde el exterior, a lo que se puede acceder es a las representaciones (xml, json, rdf), dicha de otra manera se puede acceder al formato de datos que contenga este estado, para la fácil transferencia entre el cliente y el servidor. 
Manipulación de recursos 
Todos los recursos comparten una interfaz uniforme formada por un conjunto de operaciones, éstas nos permiten manipular el estado público de un recurso. Los métodos más importantes de http son: 
 Get: Obtener la representación de un recurso.(read) 
 Post: Crear un nuevo recurso (create) 
 Put: Actualizar un recurso (update) 
 Delete: eliminar un recurso.(delete) 
Éstos suelen ser confundidos con las operaciones de Base de Datos, CRUD: create, read, update, delete. Ya que se dice que rest es crud, implementado en la web. 
Metadatos para describir nuevos recursos 
Varios de los recursos de los que se habla, tienen diversos formatos, entre ellos,html, xml, pdf, json, rdf entre otros. 
Comunicación sin estado: 
Rest exige que el estado sea transformado en estado del recurso lógico o físico, y sea mantenido en el cliente. El servidor no debe guardar el estado de la comunicación que tiene con cualquiera de los clientes en cada una de sus peticiones. 
A esta razón se la llama escalabilidad, ya que el número de clientes que se comunican o interactúan con el servidor estaría afectado profundamente si, se tuviera que mantener el estado del cliente. 
Conector 
Es un mecanismo en el que se hace posible la comunicación y coordinación entre componentes, éste no tiene que almacenar cualquier información del estado, esta comunicación puede ser en paralelo.
 Cliente /servidor: 
Es el que inicia la comunicación a través de una petición, mientras que el servidor es el que responde a dichas peticiones para dar acceso a los usuarios. 
 Cache: 
Puede ser utilizado por un cliente para evitar que la comunicación de red, está repetida, o por un servidor para evitar la repetición del proceso que genera una respuesta 
Componentes 
Producen un conjunto de métodos definidos en los recursos, para así capturar el estado actual, de dicho recurso. 
Estos componentes se clasifican en: 
 Agente usuario: usa un conector de tipo cliente, para poder iniciar la petición y ser el receptor de la misma. 
 Servidor: usa un conector de tipo servidor, que realiza la representación de sus recursos y debe ser el último receptor de las peticiones, en las que se solicite modificar valores de los recursos de la misma. 
 Gateway: es un sistema intermedio que lo proporciona la red, se lo usa para dar el mejor funcionamiento y seguridad a la transmisión de datos. 
 Proxy: es un sistema intermedio que el cliente lo selecciona, para cumplir con la encapsulación de la interfaz de otros servicios, y también para dar mejor funcionamiento y seguridad a la transmisión de datos. 
La diferencia entre Gateway y Proxy, es que el cliente es el encargado de ver cuándo va a usar un proxy. 
Restricciones de la Arquitectura Rest 
Para poder llevar a cabo los objetivos antes mencionados, se debe cumplir con las siguientes restricciones. Cliente / Servidor: 
Este promueve dos componente, la lógica de negocios que es parte del Servidor y la lógica de presentación a cargo del cliente; esto permite que las modificaciones se hagan de manera independiente en la capa de presentación, no puede afectar la lógica de negocio. 
Sin estado (Stateless) 
Estos servicios web no mantienen estado asociado a un cliente, por lo que cada petición que se realiza es independientemente de la siguiente petición.
Cacheable: 
Es decir que cuando se realiza un a petición al servidor, el resto de peticiones pueden hacer uso de las de la cache, si lo necesitan. 
Interfaz uniforme 
Dicha interfaz está diseñada para tener el trabajo eficiente en cuanto a transferencias de datos de hipermedios, ya que está optimizando para la mayor parte de la Web. 
Sistemas de capas. 
Permiten mejorar la conducta de la escalabilidad en internet, permitiendo tener una arquitectura con componentes separados, esto para poder limitar el comportamiento de diversos componentes, ya que se puede ver o modificar el contenido de una capa, sin afectar a la otra. 
Código bajo demanda 
Esta restricción es opcional, ya que permite a los clientes poder descargar el y ejecutar el código fuente a manera de scripts o applets. También posee una desventaja que es que reduce la visibilidad y puede influir en la seguridad del sistema 
Rest y XML Rest como está orientado a los sistemas distribuidos de hipermedia, tiene la necesidad de crear sus representaciones a partir de recursos como lo son videos, sonidos, html, etc., Para esto en sus comienzos apostó por XML, como una de las soluciones para la codificación de representaciones que pueden ser codificadas o no están estandarizadas. 
XSLT con REST 
XSLT es un lenguaje de estilo utilizado para transformar documentos XML en documentos XHTML o de otros documentos basados en texto. A Través la combinación de la interfaz REST con XSLT, es posible construir formas respectivamente simples para recuperar datos XML desde el servicio web y presentarlos en el navegador usando HTML.
Construcción de la XSLT 
Existen dos pasos para inicializar los datos XML utilizando REST y XLST, el primer consiste en la construcción del archivo XLST, que prácticamente permite convertir los datos del XML en otro formato como HTML. La segunda forma consiste en la recuperación de los datos desde el servidor web y la aplicación. 
Ejemplo: 
<Font face = "Arial, Helvetica, sans-serif" size = "2"> Identificador Único: <xsl: value-of select = "@ uid" /> <br/> </ font> 
<Font face = "Arial, Helvetica, sans-serif" size = "2"> Elemento Code: <xsl: value- of select = "@ speciesCode" /> <br/> </ font> 
<Font face = "Arial, Helvetica, sans-serif" size = "2"> 
Taxonomía informal: 
<Xsl: for-each select = "// ns: taxonomyName"> 
<Xsl: if test = "! Posición () = 1"> 
<Xsl: text> - </ xsl: text> 
</ Xsl: if> 
<Xsl: value-of select = "@ nombre" /> 
</ Xsl: for-each> 
</ Font> 
Representación de la salida 
El procesamiento de XSLT no es más que XSLT + XML que da como resultado la salida del documento. Una vez visto como construir un XSLT, ahora se tratará de ver cómo recuperar el documento XML desde el servidor web, utilizando la interfaz basada en REST. Los parámetros ingresan en la interfaz establecida en REST, en la misma forma que está en la página web o también se puede añadir al final de la URL o al inicio de la cabecera http un POST. Una vez que los dos parámetros se rellenan, la URL a continuación, se puede enviar mediante programación o simplemente ingresando en el navegador donde se puede observar los datos.
Tecnología y/o Framework 
Tecnología 
Descripción 
Ruby on Rails 
Este framework ofrece el módulo Active Resource, que proporciona la infraestructura necesaria para crear de manera sencilla recursos REST, el cual está presente en las últimas versiones, desplazando a otros modelos como SOAP. 
.NET 
.NET permite el consumo del api de Bing Maps Servicios REST. Estos son un conjunto de servicios web REST full que permiten la recolección de recursos a través de una url y de los métodos get y post de http. Este enfoque se utiliza en tecnologías de Windows Store y Windows Presentation Foundation (WPF). 
Blogsfera (blogs) 
Los blogs están basados en REST, dado que implica descargar ficheros XML (en formato RSS o Atom) que contienen listas de enlaces a otros recursos. 
Amazon Simple Storage Service (Amazon S3) 
Ofrece su api REST a sus desarrolladores para que hagan uso de su servicio web que permite almacenar datos en la nube. Describe las diversas operaciones como: petición y respuesta estructuras relacionadas, y códigos de error. 
"Seniors Canada On- line" 
El gobierno de Canadá ofrece una interfaz REST, la cual proporcionar información amalgamada para los jubilados de todos los niveles de gobierno. 
“La aplicación REST comparte su base de datos y aplicación de la lógica con el sitio web HTML, por lo que la parte XML es sólo una vista fina escrita en la parte superior de todo lo que, en paralelo con la vista HTML” (David Megginson, 2005). 
Bloglines 
Actúa como una caché de RSS, resolviendo así el problema de ancho de banda RSS. El Bloglines Web Services se puede utilizar para desarrollar notificadores más avanzados. 
Yahoo Developed 
Yahoo ofrece un API en REST a los desarrolladores, con la finalidad de desarrollar y optimizar sus aplicaciones (PlaceFinder, Flickr, Tumblr, etc.).
WCF Data Services 4.5 de Microsoft 
Es un componente de .NET para crear servicios que utilizan el protocolo de datos abierto (OData), el que permite consumir datos a través de Internet o intranet, a través del uso de transferencia de estado representacional (REST). Estos datos abiertos exponen los datos como recursos que son direccionables por URI. Los cuales acceden a los datos y cambiar utilizando los verbos HTTP estándar de GET, PUT, POST y DELETE. 
Restlet - java 
Es un marco de la API REST web líder para Java. Su API de Java está disponible en ambos lados de cliente y servidor, en seis ediciones compatibles: Java SE, Java EE, Android, GAE, GWT y OSGi. 
Django REST 
Contiene un gran conjunto de herramientas de gran alcance y hace que sea flexible y fácil de con construir APIs Web. Para poder hacer uso de este framework, se requiere de lo siguiente: 
 Python 
 Django 
Zend Framework 
Es un Framework que ofrece capacidades de cliente y servidor. El componente del servidor posee funciones y clases que utilizan un significativo y sencillo formato XML, es decir al momentos que se accede a estos servicios a través del cliente, es posible recuperar fácilmente los datos de retorno de la llamada remota. 
El servicio del servidor es Zend_Rest_Server y el del cliente Zend_Rest_Client_Response. 
Slim 
Este micro framework de PHP permite y ayuda a la creación rápida de aplicaciones web (RESt) simple pero poderosa. Permite desde el router asociar cierto pedido HTTP con funciones anónimas. 
Bullet PHP Micro- Framework 
Es un micro framework con PHP, que permite crear con facilidad api RESt y aplicaciones web, que cumplen con los requisitos especificos de http. Este es un recurso orientado a URI que viene pre-cargado con las funciones de HTTP. Maneja un segmento a la ruta de acceso a la vez, y ejecuta la devolución de llamada antes de procesar el siguiente segmento. 
Limonade 
Es un micro marco de PHP para la creación de aplicaciones web, de manera rápida y sencilla. Su principal objetivo es
ser simple, ligero y extremadamente flexible para los desarrolladores. 
Limonade es sumamente fácil de aprender y utilizar, le ofrece al desarrollador todo lo que se puede usar en marco moderno REST. 
Fat-Free Framework 
Es de uso gratuito y ayuda a que la creación de un sitio web sea fácil, posee el mismo poder y variedad que otros herramientas y librerías como Javascript. Facilita la escritura en programas PHP, dando un mejor aspecto, resultando mucho más fácil de entender el código del programa, obteniendo muy bueno resultados. 
Silex 
Es un framework PHP, está construida sobre Symfony2 y Pimple e inspirado por Sinatra. Ofrece la construcción de aplicaciones web de un solo archivo simple. Pretende ser: 
 Conciso: exponiendo una API intuitiva y concisa. 
 Extensible: posee un sistema de extensión en torno a micro-servicio con la finalidad de enlazar las bibliotecas de terceros. 
 Comprobable: utiliza Symfony2 de HttpKernel para la petición y respuesta. Además respeta la especificación HTTP. 
Phalcon 
“Nuestra misión es darle una herramienta avanzada para el desarrollo de sitios web y aplicaciones sin tener que preocuparse por el rendimiento marco” (Phalcon, s.f.). 
Es de código abierto para PHP 5 con extensión C, optimizado para tener un alto rendimiento. Los desarrolladores no necesitan saber C, ya que la funcionalidad se presenta como clases PHP. 
Utiliza los métodos HTTP: 
 GETa recuperar y buscar datos 
 POST para agregar datos 
 PUT para actualizar los datos 
 DELETE para eliminar los datos
Conclusiones 
 Rest es una técnica arquitectónica para producir entornos web, no es una especificación o un estándar, se basa en ciertos objetivos que se los debe cumplir conjuntamente con las restricciones para que todo salga a la perfección. 
 La arquitectura de Transferencia de Estado Representacional (REST) es una técnica muy utilizada actualmente en el desarrollo de aplicaciones web, debido a que posee las operaciones del protocolo HTTP, es fácil de utilizar y completa. 
 La arquitectura por capas permite reducir el riesgo de daño al momento de modificar algún bloque, ya que afecta sólo a la capa en donde modifica 
 Al aplicar la restricción de Cache, se reduce el tiempo de espera de las interacciones, ya que mejoran la eficiencia y escalabilidad. 
 En la actualidad esta técnica (REST) para el desarrollo web, posee una gran variedad de Frameworks disponibles para poder utilizarla, los mismos que permiten que la construcción de sistemas web sea fácil, novedoso, y completo.
Bibliografía 
Rusell, Kay (2007). Representational State Transfer (REST). Recuperado el 15/11/2014, de Computerworld. Sitio web: http://www.computerworld.com/article/2552929/networking/representational- state-transfer--rest-.html 
s.a (s.f). REPRESENTATIONAL STATE TRANSFER: REST. Recuperado el 15/11/2014 desde Internet: http://bibing.us.es/proyectos/abreproy/11247/fichero/Memoria%252F8- Representational+State+Transfer+(REST).pdf 
Amazon. (2006). REST API. Recuperado el 15/11/2014, de Amazon. Sitio web: http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html 
Microsoft developer Network. (s.f.). Using the REST Services with .NET. Recuperado el 15/11/2014, de Microsoft. Sitio web: http://msdn.microsoft.com/en-us/library/jj819168.aspx 
Bloglines. (s.f.). Servicios Bloglines. Recuperado el 15/11/2014, de Bloglines Sitio web: http://www.bloglines.com/services/ 
Megginson, D. (2005). Grandes, de aplicación REST público: Mayores de Canadá en línea. Recuperado el 15/11/2014, de Quoderat. Sitio web: http://quoderat.megginson.com/2005/03/09/public-rest-application-seniors- canada-online/ 
Microsoft developer Network. . (s.f.). WCF Data Services 4.5. Recuperado el 15/11/2014, de Microsoft Sitio web: http://msdn.microsoft.com/en- us/library/cc668792.aspx 
Wikipedia. (2014). Ruby on Rails. Recuperado el 15/11/2014, de Wikipedia Sitio web: http://es.wikipedia.org/wiki/Ruby_on_Rails 
Restlet. (s.f.). The Leading Web API Platform for Java. Recuperado el 15/11/2014, de Restlet Sitio web: http://restlet.com/ 
Bullet. (2012). Bullet PHP Micro-Framework. Recuperado el 15/11/2014, de Bullet Sitio web: http://bulletphp.com/ 
Slim. (2012). Slim. Recuperado el 15/11/2014, de Slimframework Sitio web: http://www.slimframework.com/ 
Django. (s.f.). Django Rest Framework. Recuperado el 15/11/2014, de Django Rest. Sitio web: http://www.slimframework.com/

Más contenido relacionado

La actualidad más candente

Learn REST in 18 Slides
Learn REST in 18 SlidesLearn REST in 18 Slides
Learn REST in 18 SlidesSuraj Gupta
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolMasud Rahman
 
Web front end development introduction to html css and javascript
Web front end development introduction to html css and javascriptWeb front end development introduction to html css and javascript
Web front end development introduction to html css and javascriptMarc Huang
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical ApproachMadhaiyan Muthu
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web ApplicationRishi Kothari
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.netSHADAB ALI
 
ReST (Representational State Transfer) Explained
ReST (Representational State Transfer) ExplainedReST (Representational State Transfer) Explained
ReST (Representational State Transfer) ExplainedDhananjay Nene
 
Web servers (l6)
Web servers (l6)Web servers (l6)
Web servers (l6)Nanhi Sinha
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding RESTNitin Pande
 
An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST Ram Awadh Prasad, PMP
 
Lezione 8: Introduzione ai Web Service
Lezione 8: Introduzione ai Web ServiceLezione 8: Introduzione ai Web Service
Lezione 8: Introduzione ai Web ServiceAndrea Della Corte
 
Front end development session1
Front end development session1Front end development session1
Front end development session1marwa Ayad Mohamed
 
Usando postman para probar un rest api
Usando postman para probar un rest apiUsando postman para probar un rest api
Usando postman para probar un rest apiIleana Rodriguez
 

La actualidad más candente (20)

Rest web services
Rest web servicesRest web services
Rest web services
 
Learn REST in 18 Slides
Learn REST in 18 SlidesLearn REST in 18 Slides
Learn REST in 18 Slides
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access Protocol
 
Web front end development introduction to html css and javascript
Web front end development introduction to html css and javascriptWeb front end development introduction to html css and javascript
Web front end development introduction to html css and javascript
 
Client side scripting and server side scripting
Client side scripting and server side scriptingClient side scripting and server side scripting
Client side scripting and server side scripting
 
Soap vs rest
Soap vs restSoap vs rest
Soap vs rest
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web Application
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
ReST (Representational State Transfer) Explained
ReST (Representational State Transfer) ExplainedReST (Representational State Transfer) Explained
ReST (Representational State Transfer) Explained
 
Introduction to SOAP
Introduction to SOAPIntroduction to SOAP
Introduction to SOAP
 
Restful web services ppt
Restful web services pptRestful web services ppt
Restful web services ppt
 
Web servers (l6)
Web servers (l6)Web servers (l6)
Web servers (l6)
 
HTTP Basics
HTTP BasicsHTTP Basics
HTTP Basics
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding REST
 
An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST
 
Lezione 8: Introduzione ai Web Service
Lezione 8: Introduzione ai Web ServiceLezione 8: Introduzione ai Web Service
Lezione 8: Introduzione ai Web Service
 
Restful api
Restful apiRestful api
Restful api
 
Front end development session1
Front end development session1Front end development session1
Front end development session1
 
Usando postman para probar un rest api
Usando postman para probar un rest apiUsando postman para probar un rest api
Usando postman para probar un rest api
 

Similar a RES - Transferencia de Estado Representacional

Similar a RES - Transferencia de Estado Representacional (20)

REST
RESTREST
REST
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
 
Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
Paper ieee
Paper ieeePaper ieee
Paper ieee
 
Web services
Web servicesWeb services
Web services
 
Web services
Web servicesWeb services
Web services
 
Scom5 Ws Ii
Scom5 Ws IiScom5 Ws Ii
Scom5 Ws Ii
 
23444719 monografia-de-web-services
23444719 monografia-de-web-services23444719 monografia-de-web-services
23444719 monografia-de-web-services
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Rest clase 4 - curso front-end 2014 - open webinars
Rest   clase 4 - curso front-end 2014 - open webinarsRest   clase 4 - curso front-end 2014 - open webinars
Rest clase 4 - curso front-end 2014 - open webinars
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
 
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
 
T final modulo_1
T final modulo_1T final modulo_1
T final modulo_1
 
10-Unidad 3: Diseños de Vista-3.2 Usos Web Services
10-Unidad 3: Diseños de Vista-3.2 Usos Web Services10-Unidad 3: Diseños de Vista-3.2 Usos Web Services
10-Unidad 3: Diseños de Vista-3.2 Usos Web Services
 

Más de Robert Caraguay

Qué es una organización
Qué es una organizaciónQué es una organización
Qué es una organizaciónRobert Caraguay
 
La Responsabilidad Social frente a otras teorías
La Responsabilidad Social frente a otras teoríasLa Responsabilidad Social frente a otras teorías
La Responsabilidad Social frente a otras teoríasRobert Caraguay
 
Responsabilidad Social en América Latina y el Ecuador
Responsabilidad Social en América Latina y el EcuadorResponsabilidad Social en América Latina y el Ecuador
Responsabilidad Social en América Latina y el EcuadorRobert Caraguay
 
La RSE y su evolución en América Latina
La RSE y su evolución en América LatinaLa RSE y su evolución en América Latina
La RSE y su evolución en América LatinaRobert Caraguay
 
Empresas y Desarrollo humano
Empresas y Desarrollo humanoEmpresas y Desarrollo humano
Empresas y Desarrollo humanoRobert Caraguay
 
RESPONSABILIDAD SOCIAL EMPRESARIAL ESTRATÉGICA
RESPONSABILIDAD SOCIAL EMPRESARIAL ESTRATÉGICARESPONSABILIDAD SOCIAL EMPRESARIAL ESTRATÉGICA
RESPONSABILIDAD SOCIAL EMPRESARIAL ESTRATÉGICARobert Caraguay
 
Logística con Responsabilidad Social (LRS)
Logística con Responsabilidad Social (LRS)Logística con Responsabilidad Social (LRS)
Logística con Responsabilidad Social (LRS)Robert Caraguay
 
LA LÓGICA DE LA RESPONSABILIDAD CORPORATIVA EN EL BUEN GOBIERNO - RSE
LA LÓGICA DE LA RESPONSABILIDAD CORPORATIVA EN EL BUEN GOBIERNO - RSELA LÓGICA DE LA RESPONSABILIDAD CORPORATIVA EN EL BUEN GOBIERNO - RSE
LA LÓGICA DE LA RESPONSABILIDAD CORPORATIVA EN EL BUEN GOBIERNO - RSERobert Caraguay
 
¿Profesor TIC o profesor TAC?
¿Profesor TIC o profesor TAC?¿Profesor TIC o profesor TAC?
¿Profesor TIC o profesor TAC?Robert Caraguay
 
REQUERIMIENTOS NO FUNCIONALES
REQUERIMIENTOS NO FUNCIONALESREQUERIMIENTOS NO FUNCIONALES
REQUERIMIENTOS NO FUNCIONALESRobert Caraguay
 
Style case use - estilos de casos de uso
Style case use - estilos de casos de usoStyle case use - estilos de casos de uso
Style case use - estilos de casos de usoRobert Caraguay
 
Casos de uso del negocio
Casos de uso del negocioCasos de uso del negocio
Casos de uso del negocioRobert Caraguay
 
Artefactos arquitectonicos - GTI
Artefactos arquitectonicos - GTIArtefactos arquitectonicos - GTI
Artefactos arquitectonicos - GTIRobert Caraguay
 
Crear wbs para proyectos de software
Crear wbs para proyectos de softwareCrear wbs para proyectos de software
Crear wbs para proyectos de softwareRobert Caraguay
 
Sistemas (Modos) de Producción Económicos
Sistemas (Modos) de Producción EconómicosSistemas (Modos) de Producción Económicos
Sistemas (Modos) de Producción EconómicosRobert Caraguay
 
Periodo del Militarismo Nacional o Urvinista
Periodo del Militarismo Nacional o UrvinistaPeriodo del Militarismo Nacional o Urvinista
Periodo del Militarismo Nacional o UrvinistaRobert Caraguay
 
Subestimación de Quito en la Gran Colombia
Subestimación de Quito en la Gran ColombiaSubestimación de Quito en la Gran Colombia
Subestimación de Quito en la Gran ColombiaRobert Caraguay
 
Leyes de Kirchhoff - Guía de problemas 3
Leyes de Kirchhoff - Guía de problemas 3Leyes de Kirchhoff - Guía de problemas 3
Leyes de Kirchhoff - Guía de problemas 3Robert Caraguay
 

Más de Robert Caraguay (20)

Qué es una organización
Qué es una organizaciónQué es una organización
Qué es una organización
 
La Responsabilidad Social frente a otras teorías
La Responsabilidad Social frente a otras teoríasLa Responsabilidad Social frente a otras teorías
La Responsabilidad Social frente a otras teorías
 
Responsabilidad Social en América Latina y el Ecuador
Responsabilidad Social en América Latina y el EcuadorResponsabilidad Social en América Latina y el Ecuador
Responsabilidad Social en América Latina y el Ecuador
 
La RSE y su evolución en América Latina
La RSE y su evolución en América LatinaLa RSE y su evolución en América Latina
La RSE y su evolución en América Latina
 
Empresas y Desarrollo humano
Empresas y Desarrollo humanoEmpresas y Desarrollo humano
Empresas y Desarrollo humano
 
RESPONSABILIDAD SOCIAL EMPRESARIAL ESTRATÉGICA
RESPONSABILIDAD SOCIAL EMPRESARIAL ESTRATÉGICARESPONSABILIDAD SOCIAL EMPRESARIAL ESTRATÉGICA
RESPONSABILIDAD SOCIAL EMPRESARIAL ESTRATÉGICA
 
Logística con Responsabilidad Social (LRS)
Logística con Responsabilidad Social (LRS)Logística con Responsabilidad Social (LRS)
Logística con Responsabilidad Social (LRS)
 
LA LÓGICA DE LA RESPONSABILIDAD CORPORATIVA EN EL BUEN GOBIERNO - RSE
LA LÓGICA DE LA RESPONSABILIDAD CORPORATIVA EN EL BUEN GOBIERNO - RSELA LÓGICA DE LA RESPONSABILIDAD CORPORATIVA EN EL BUEN GOBIERNO - RSE
LA LÓGICA DE LA RESPONSABILIDAD CORPORATIVA EN EL BUEN GOBIERNO - RSE
 
Comercio Justo-RSE
Comercio Justo-RSEComercio Justo-RSE
Comercio Justo-RSE
 
¿Profesor TIC o profesor TAC?
¿Profesor TIC o profesor TAC?¿Profesor TIC o profesor TAC?
¿Profesor TIC o profesor TAC?
 
REQUERIMIENTOS NO FUNCIONALES
REQUERIMIENTOS NO FUNCIONALESREQUERIMIENTOS NO FUNCIONALES
REQUERIMIENTOS NO FUNCIONALES
 
Style case use - estilos de casos de uso
Style case use - estilos de casos de usoStyle case use - estilos de casos de uso
Style case use - estilos de casos de uso
 
Casos de uso del negocio
Casos de uso del negocioCasos de uso del negocio
Casos de uso del negocio
 
Diagrama contexto
Diagrama contexto Diagrama contexto
Diagrama contexto
 
Artefactos arquitectonicos - GTI
Artefactos arquitectonicos - GTIArtefactos arquitectonicos - GTI
Artefactos arquitectonicos - GTI
 
Crear wbs para proyectos de software
Crear wbs para proyectos de softwareCrear wbs para proyectos de software
Crear wbs para proyectos de software
 
Sistemas (Modos) de Producción Económicos
Sistemas (Modos) de Producción EconómicosSistemas (Modos) de Producción Económicos
Sistemas (Modos) de Producción Económicos
 
Periodo del Militarismo Nacional o Urvinista
Periodo del Militarismo Nacional o UrvinistaPeriodo del Militarismo Nacional o Urvinista
Periodo del Militarismo Nacional o Urvinista
 
Subestimación de Quito en la Gran Colombia
Subestimación de Quito en la Gran ColombiaSubestimación de Quito en la Gran Colombia
Subestimación de Quito en la Gran Colombia
 
Leyes de Kirchhoff - Guía de problemas 3
Leyes de Kirchhoff - Guía de problemas 3Leyes de Kirchhoff - Guía de problemas 3
Leyes de Kirchhoff - Guía de problemas 3
 

Último

2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptxEncomiendasElSherpa
 
Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfGuillermoBarquero7
 
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSBeatrizGonzales19
 
Trabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaTrabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaKANTUPAULAPORCELYUCR
 
Caso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralCaso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralAitana
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 

Último (6)

2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
 
Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
 
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
 
Trabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaTrabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - Ofimática
 
Caso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralCaso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business Central
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 

RES - Transferencia de Estado Representacional

  • 1.  Integrantes: o Lizzette Betancourt o Robert Caraguay  Tutor: o Ing. Luis Jumbo  Fecha: o 17 / 11/ 2014  Componente: o Arquitectura de Aplicaciones OCTUBRE 2014 – FEBRERO 2015 Universidad Técnica Particular de Loja REST Representational State Transfe
  • 2. INTRODUCCION Los servicios web son Apis Web que son accesibles desde las Web, dentro de una red y son ejecutadas desde un sistema. Estos servicios tienen diferentes tipos de sistemas, entre ellos REST, éstos se comunican por mensajes XML que cumplen con el estándar SOAP. La transferencia de estado representacional o Representational State Transfer (REST), es una técnica de arquitectura de software en red para sistemas distribuidos que aprovecha de las tecnologías y protocolos de las World Wide Web (www). Cabe destacar que REST no es una especificación ni un estándar. Este es solo una técnica de arquitectura que está basada en varios estándares, algunos de ellos son:  HTTP  URL  Recursos XML Dicho servicio web REST, posee una serie de elementos que se los detalla a continuación.  Identificación de recursos: Los recursos deben ser totalmente accesibles, es decir deben poseer una URI de identificación, que es única  Manipulación de recursos: Uso de recursos HTTP que son accedidos, para implementarlos mediante CRUD (Get, post, put delete).  Metadatos para describir nuevos recursos: Usa métodos o tecnologías estándar como HTTP, URI, XML, RDF, JSON, ETC  Comunicación sin estado: no guardas las transacciones entre el cliente y servidor.
  • 3. HISTORIA La tecnología REST se originó en el año 2000, gracias al tema de tesis doctoral sobre la web escrita por de Roy Fielding, desarrollada en la Universidad de California en Irvine, en conjunto con el Consorcio World Wide Web (W3C) en paralelo con HTTP 1.1. Fielding desarrolló este tipo de arquitectura de desarrollo web, para identificar los problemas que existían en la web, y así poder comparar soluciones alternativas a estos inconvenientes y por consiguiente certificar que las extensiones de protocolo no vulnerarían las restricciones esenciales que hacen que la web sea exitosa. La World Wide Web (www) representa la mayor implementación de un sistema conforme al estilo arquitectónico REST. Por estas razones los autores describen al término REST, como cualquier interfaz simple que se utiliza para la trasmisión de datos de un dominio específico a través del protocolo HTTP, sin requerir de capas externas como mensajería o seguimiento de sesión. Transferencia de estado representacional, fue desarrollado para que consuma menos software del lado del cliente, es decir un navegador estándar puede acceder a cualquier aplicación y a sus recursos de datos.
  • 4. Overview La transferencia de estado representacional o Representational State Transfer (REST), es una técnica arquitectónica para el diseño de aplicaciones en la red. Dicho término se originó por el Doctor Roy Fielding en el año 2000, mediante su tesis doctoral Estilos Arquitecturales y el Diseño de Arquitecturas de Software basadas en Red, en el cual definió REST como un enfoque para desarrollar servicios web, y para describir los principios de redes que caracteriza la World Wide Web. Rest fue ganando espacio en la web como una opción más simple a SOAP (Simple Object Access Protocol) y a los servicios Web basados en el lenguaje de descripción de servicios web WSDL. El impacto de rest fue demasiado grande que logró desplazar a SOAP y a interfaces basadas en WSDL, por su manera fácil de utilizar. Rest es orientado a recursos, más no a métodos. Objetivos Dentro de esta arquitectura se tiene varios objetivos que deben ser cumplidos.  Escalabilidad de los componentes de interacción:  Generalidad de interfaces: cualquier cliente puede interactuar con algún servidor http, sin que se haga una configuración.  Puesta en funcionamiento independiente: los servidores antiguos o viejos tienen que ser capaces de entenderse con cliente nuevo y viceversa.  Compatibilidad con componentes intermedios: permite reducir la latencia de interacción y mejorar la seguridad. Elementos de la Arquitectura REST Elementos de datos Rest define varios principios arquitectónicos o características por los que se diseñan los servicios web, se clasifican en:
  • 5. Identificación de recursos Todo recurso es identificado de manera única como en HTTP, que es un protocolo que se basa en URIs (Uniform Resource Identifier), ésto es lo que permite identificar un recurso. Un recurso es considerado como una entidad que representa un concepto de negocio que puede ser accedido de manera pública, éste posee un estado interno que no puede ser accedido desde el exterior, a lo que se puede acceder es a las representaciones (xml, json, rdf), dicha de otra manera se puede acceder al formato de datos que contenga este estado, para la fácil transferencia entre el cliente y el servidor. Manipulación de recursos Todos los recursos comparten una interfaz uniforme formada por un conjunto de operaciones, éstas nos permiten manipular el estado público de un recurso. Los métodos más importantes de http son:  Get: Obtener la representación de un recurso.(read)  Post: Crear un nuevo recurso (create)  Put: Actualizar un recurso (update)  Delete: eliminar un recurso.(delete) Éstos suelen ser confundidos con las operaciones de Base de Datos, CRUD: create, read, update, delete. Ya que se dice que rest es crud, implementado en la web. Metadatos para describir nuevos recursos Varios de los recursos de los que se habla, tienen diversos formatos, entre ellos,html, xml, pdf, json, rdf entre otros. Comunicación sin estado: Rest exige que el estado sea transformado en estado del recurso lógico o físico, y sea mantenido en el cliente. El servidor no debe guardar el estado de la comunicación que tiene con cualquiera de los clientes en cada una de sus peticiones. A esta razón se la llama escalabilidad, ya que el número de clientes que se comunican o interactúan con el servidor estaría afectado profundamente si, se tuviera que mantener el estado del cliente. Conector Es un mecanismo en el que se hace posible la comunicación y coordinación entre componentes, éste no tiene que almacenar cualquier información del estado, esta comunicación puede ser en paralelo.
  • 6.  Cliente /servidor: Es el que inicia la comunicación a través de una petición, mientras que el servidor es el que responde a dichas peticiones para dar acceso a los usuarios.  Cache: Puede ser utilizado por un cliente para evitar que la comunicación de red, está repetida, o por un servidor para evitar la repetición del proceso que genera una respuesta Componentes Producen un conjunto de métodos definidos en los recursos, para así capturar el estado actual, de dicho recurso. Estos componentes se clasifican en:  Agente usuario: usa un conector de tipo cliente, para poder iniciar la petición y ser el receptor de la misma.  Servidor: usa un conector de tipo servidor, que realiza la representación de sus recursos y debe ser el último receptor de las peticiones, en las que se solicite modificar valores de los recursos de la misma.  Gateway: es un sistema intermedio que lo proporciona la red, se lo usa para dar el mejor funcionamiento y seguridad a la transmisión de datos.  Proxy: es un sistema intermedio que el cliente lo selecciona, para cumplir con la encapsulación de la interfaz de otros servicios, y también para dar mejor funcionamiento y seguridad a la transmisión de datos. La diferencia entre Gateway y Proxy, es que el cliente es el encargado de ver cuándo va a usar un proxy. Restricciones de la Arquitectura Rest Para poder llevar a cabo los objetivos antes mencionados, se debe cumplir con las siguientes restricciones. Cliente / Servidor: Este promueve dos componente, la lógica de negocios que es parte del Servidor y la lógica de presentación a cargo del cliente; esto permite que las modificaciones se hagan de manera independiente en la capa de presentación, no puede afectar la lógica de negocio. Sin estado (Stateless) Estos servicios web no mantienen estado asociado a un cliente, por lo que cada petición que se realiza es independientemente de la siguiente petición.
  • 7. Cacheable: Es decir que cuando se realiza un a petición al servidor, el resto de peticiones pueden hacer uso de las de la cache, si lo necesitan. Interfaz uniforme Dicha interfaz está diseñada para tener el trabajo eficiente en cuanto a transferencias de datos de hipermedios, ya que está optimizando para la mayor parte de la Web. Sistemas de capas. Permiten mejorar la conducta de la escalabilidad en internet, permitiendo tener una arquitectura con componentes separados, esto para poder limitar el comportamiento de diversos componentes, ya que se puede ver o modificar el contenido de una capa, sin afectar a la otra. Código bajo demanda Esta restricción es opcional, ya que permite a los clientes poder descargar el y ejecutar el código fuente a manera de scripts o applets. También posee una desventaja que es que reduce la visibilidad y puede influir en la seguridad del sistema Rest y XML Rest como está orientado a los sistemas distribuidos de hipermedia, tiene la necesidad de crear sus representaciones a partir de recursos como lo son videos, sonidos, html, etc., Para esto en sus comienzos apostó por XML, como una de las soluciones para la codificación de representaciones que pueden ser codificadas o no están estandarizadas. XSLT con REST XSLT es un lenguaje de estilo utilizado para transformar documentos XML en documentos XHTML o de otros documentos basados en texto. A Través la combinación de la interfaz REST con XSLT, es posible construir formas respectivamente simples para recuperar datos XML desde el servicio web y presentarlos en el navegador usando HTML.
  • 8. Construcción de la XSLT Existen dos pasos para inicializar los datos XML utilizando REST y XLST, el primer consiste en la construcción del archivo XLST, que prácticamente permite convertir los datos del XML en otro formato como HTML. La segunda forma consiste en la recuperación de los datos desde el servidor web y la aplicación. Ejemplo: <Font face = "Arial, Helvetica, sans-serif" size = "2"> Identificador Único: <xsl: value-of select = "@ uid" /> <br/> </ font> <Font face = "Arial, Helvetica, sans-serif" size = "2"> Elemento Code: <xsl: value- of select = "@ speciesCode" /> <br/> </ font> <Font face = "Arial, Helvetica, sans-serif" size = "2"> Taxonomía informal: <Xsl: for-each select = "// ns: taxonomyName"> <Xsl: if test = "! Posición () = 1"> <Xsl: text> - </ xsl: text> </ Xsl: if> <Xsl: value-of select = "@ nombre" /> </ Xsl: for-each> </ Font> Representación de la salida El procesamiento de XSLT no es más que XSLT + XML que da como resultado la salida del documento. Una vez visto como construir un XSLT, ahora se tratará de ver cómo recuperar el documento XML desde el servidor web, utilizando la interfaz basada en REST. Los parámetros ingresan en la interfaz establecida en REST, en la misma forma que está en la página web o también se puede añadir al final de la URL o al inicio de la cabecera http un POST. Una vez que los dos parámetros se rellenan, la URL a continuación, se puede enviar mediante programación o simplemente ingresando en el navegador donde se puede observar los datos.
  • 9. Tecnología y/o Framework Tecnología Descripción Ruby on Rails Este framework ofrece el módulo Active Resource, que proporciona la infraestructura necesaria para crear de manera sencilla recursos REST, el cual está presente en las últimas versiones, desplazando a otros modelos como SOAP. .NET .NET permite el consumo del api de Bing Maps Servicios REST. Estos son un conjunto de servicios web REST full que permiten la recolección de recursos a través de una url y de los métodos get y post de http. Este enfoque se utiliza en tecnologías de Windows Store y Windows Presentation Foundation (WPF). Blogsfera (blogs) Los blogs están basados en REST, dado que implica descargar ficheros XML (en formato RSS o Atom) que contienen listas de enlaces a otros recursos. Amazon Simple Storage Service (Amazon S3) Ofrece su api REST a sus desarrolladores para que hagan uso de su servicio web que permite almacenar datos en la nube. Describe las diversas operaciones como: petición y respuesta estructuras relacionadas, y códigos de error. "Seniors Canada On- line" El gobierno de Canadá ofrece una interfaz REST, la cual proporcionar información amalgamada para los jubilados de todos los niveles de gobierno. “La aplicación REST comparte su base de datos y aplicación de la lógica con el sitio web HTML, por lo que la parte XML es sólo una vista fina escrita en la parte superior de todo lo que, en paralelo con la vista HTML” (David Megginson, 2005). Bloglines Actúa como una caché de RSS, resolviendo así el problema de ancho de banda RSS. El Bloglines Web Services se puede utilizar para desarrollar notificadores más avanzados. Yahoo Developed Yahoo ofrece un API en REST a los desarrolladores, con la finalidad de desarrollar y optimizar sus aplicaciones (PlaceFinder, Flickr, Tumblr, etc.).
  • 10. WCF Data Services 4.5 de Microsoft Es un componente de .NET para crear servicios que utilizan el protocolo de datos abierto (OData), el que permite consumir datos a través de Internet o intranet, a través del uso de transferencia de estado representacional (REST). Estos datos abiertos exponen los datos como recursos que son direccionables por URI. Los cuales acceden a los datos y cambiar utilizando los verbos HTTP estándar de GET, PUT, POST y DELETE. Restlet - java Es un marco de la API REST web líder para Java. Su API de Java está disponible en ambos lados de cliente y servidor, en seis ediciones compatibles: Java SE, Java EE, Android, GAE, GWT y OSGi. Django REST Contiene un gran conjunto de herramientas de gran alcance y hace que sea flexible y fácil de con construir APIs Web. Para poder hacer uso de este framework, se requiere de lo siguiente:  Python  Django Zend Framework Es un Framework que ofrece capacidades de cliente y servidor. El componente del servidor posee funciones y clases que utilizan un significativo y sencillo formato XML, es decir al momentos que se accede a estos servicios a través del cliente, es posible recuperar fácilmente los datos de retorno de la llamada remota. El servicio del servidor es Zend_Rest_Server y el del cliente Zend_Rest_Client_Response. Slim Este micro framework de PHP permite y ayuda a la creación rápida de aplicaciones web (RESt) simple pero poderosa. Permite desde el router asociar cierto pedido HTTP con funciones anónimas. Bullet PHP Micro- Framework Es un micro framework con PHP, que permite crear con facilidad api RESt y aplicaciones web, que cumplen con los requisitos especificos de http. Este es un recurso orientado a URI que viene pre-cargado con las funciones de HTTP. Maneja un segmento a la ruta de acceso a la vez, y ejecuta la devolución de llamada antes de procesar el siguiente segmento. Limonade Es un micro marco de PHP para la creación de aplicaciones web, de manera rápida y sencilla. Su principal objetivo es
  • 11. ser simple, ligero y extremadamente flexible para los desarrolladores. Limonade es sumamente fácil de aprender y utilizar, le ofrece al desarrollador todo lo que se puede usar en marco moderno REST. Fat-Free Framework Es de uso gratuito y ayuda a que la creación de un sitio web sea fácil, posee el mismo poder y variedad que otros herramientas y librerías como Javascript. Facilita la escritura en programas PHP, dando un mejor aspecto, resultando mucho más fácil de entender el código del programa, obteniendo muy bueno resultados. Silex Es un framework PHP, está construida sobre Symfony2 y Pimple e inspirado por Sinatra. Ofrece la construcción de aplicaciones web de un solo archivo simple. Pretende ser:  Conciso: exponiendo una API intuitiva y concisa.  Extensible: posee un sistema de extensión en torno a micro-servicio con la finalidad de enlazar las bibliotecas de terceros.  Comprobable: utiliza Symfony2 de HttpKernel para la petición y respuesta. Además respeta la especificación HTTP. Phalcon “Nuestra misión es darle una herramienta avanzada para el desarrollo de sitios web y aplicaciones sin tener que preocuparse por el rendimiento marco” (Phalcon, s.f.). Es de código abierto para PHP 5 con extensión C, optimizado para tener un alto rendimiento. Los desarrolladores no necesitan saber C, ya que la funcionalidad se presenta como clases PHP. Utiliza los métodos HTTP:  GETa recuperar y buscar datos  POST para agregar datos  PUT para actualizar los datos  DELETE para eliminar los datos
  • 12. Conclusiones  Rest es una técnica arquitectónica para producir entornos web, no es una especificación o un estándar, se basa en ciertos objetivos que se los debe cumplir conjuntamente con las restricciones para que todo salga a la perfección.  La arquitectura de Transferencia de Estado Representacional (REST) es una técnica muy utilizada actualmente en el desarrollo de aplicaciones web, debido a que posee las operaciones del protocolo HTTP, es fácil de utilizar y completa.  La arquitectura por capas permite reducir el riesgo de daño al momento de modificar algún bloque, ya que afecta sólo a la capa en donde modifica  Al aplicar la restricción de Cache, se reduce el tiempo de espera de las interacciones, ya que mejoran la eficiencia y escalabilidad.  En la actualidad esta técnica (REST) para el desarrollo web, posee una gran variedad de Frameworks disponibles para poder utilizarla, los mismos que permiten que la construcción de sistemas web sea fácil, novedoso, y completo.
  • 13. Bibliografía Rusell, Kay (2007). Representational State Transfer (REST). Recuperado el 15/11/2014, de Computerworld. Sitio web: http://www.computerworld.com/article/2552929/networking/representational- state-transfer--rest-.html s.a (s.f). REPRESENTATIONAL STATE TRANSFER: REST. Recuperado el 15/11/2014 desde Internet: http://bibing.us.es/proyectos/abreproy/11247/fichero/Memoria%252F8- Representational+State+Transfer+(REST).pdf Amazon. (2006). REST API. Recuperado el 15/11/2014, de Amazon. Sitio web: http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html Microsoft developer Network. (s.f.). Using the REST Services with .NET. Recuperado el 15/11/2014, de Microsoft. Sitio web: http://msdn.microsoft.com/en-us/library/jj819168.aspx Bloglines. (s.f.). Servicios Bloglines. Recuperado el 15/11/2014, de Bloglines Sitio web: http://www.bloglines.com/services/ Megginson, D. (2005). Grandes, de aplicación REST público: Mayores de Canadá en línea. Recuperado el 15/11/2014, de Quoderat. Sitio web: http://quoderat.megginson.com/2005/03/09/public-rest-application-seniors- canada-online/ Microsoft developer Network. . (s.f.). WCF Data Services 4.5. Recuperado el 15/11/2014, de Microsoft Sitio web: http://msdn.microsoft.com/en- us/library/cc668792.aspx Wikipedia. (2014). Ruby on Rails. Recuperado el 15/11/2014, de Wikipedia Sitio web: http://es.wikipedia.org/wiki/Ruby_on_Rails Restlet. (s.f.). The Leading Web API Platform for Java. Recuperado el 15/11/2014, de Restlet Sitio web: http://restlet.com/ Bullet. (2012). Bullet PHP Micro-Framework. Recuperado el 15/11/2014, de Bullet Sitio web: http://bulletphp.com/ Slim. (2012). Slim. Recuperado el 15/11/2014, de Slimframework Sitio web: http://www.slimframework.com/ Django. (s.f.). Django Rest Framework. Recuperado el 15/11/2014, de Django Rest. Sitio web: http://www.slimframework.com/