Está en la página 1de 116

La World Wide Web

Representational State Transfer


El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Arquitectura del Software
Tema 6
REST: La Arquitectura de la World Wide Web
Sergio Saugar
sergio.saugar@urjc.es
5
o
Ingeniera Informtica
Univ. Rey Juan Carlos
Curso 2010-2011
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Presentacin
Sergio Saugar
Despacho: Departamental II, Desp. 232
Tutoras: Mircoles 11-13 y 17-21
Correo-e: sergio.saugar@urjc.es
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
REST: La Arquitectura de la World Wide Web
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
REST: La Arquitectura de la World Wide Web
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
REST: La Arquitectura de la World Wide Web
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
REST: La Arquitectura de la World Wide Web
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
REST: La Arquitectura de la World Wide Web
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
REST: La Arquitectura de la World Wide Web
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
REST: La Arquitectura de la World Wide Web
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
REST: La Arquitectura de la World Wide Web
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
ndice
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Qu es la Web?
The World Wide Web (WWW, or simply Web) is an
information space in which the items of interest, referred to as
resources, are identied by global identiers called Uniform
Resource Identiers (URI). (W3C)
Fue creada en 1989 por Tim Berners-Lee y Robert Cailliau
El 30 Abril de 1993, el CERN abre la red
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Tecnologas que la conforman
Cules son las principales tecnologas que conforman la Web?
URI, HTTP, HTML (MIME types)
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Punto de vista actual
Tim Berners Lee (Luminaries look to the future web, BBC
News, 30 April 2008):
15 years will seem to be just the infancy of the web
To look back on the web after 15 years is in fact wrong. We
have to get a foothold on this 15 years and look forward
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Punto de vista actual
Tim Berners Lee (Luminaries look to the future web, BBC
News, 30 April 2008):
Whats exciting is that people are building new social systems,
new systems of review, new systems of governance. My hope is
that those will produce... new ways of working together
eectively and fairly which we can use globally to manage
ourselves as a planet
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Punto de vista actual (cont.)
Leonard Richardson (Canonical Ltd.) y Sam Ruby (IBM -
Emerging Technologies) [Richardson and Ruby(2007)]:
An amazing new technology, it promises to radically change
the way we write distributed systems
Sin embargo:
No es una nueva tecnologa
Desde un punto de vista tcnico es ms bien simple (HTTP,
URI, HTML)
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Punto de vista actual (cont.)
Pero:
Ha cambiado la forma en la que interaccionamos y hacemos
las cosas
Ofrecindonos una plataforma simple, ubcua que puede ser
explotada para construir sistemas distribuidos
De hecho existen 285 millones de sitios web en todo el mundo
(Netcraft - Febrero 2011)
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Declaraciones en WWW2009 (Abril 2009)
Tim Berners Lee (HTML, HTTP, URL):
(...)lo que ms le sorprendi de la criatura fue, sobre todo, la
capacidad de la gente para adoptar esta tecnologa, cuando al
principio era algo muy geek.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Declaraciones en WWW2009 (Abril 2009)
Vinton Cerf (TCP/IP):
La prominencia de los nombres de dominio, que convirti a
Internet en una herramienta publicitaria de primer orden, una
gran e inesperada funcin de la Red
(...) la posibilidad de ordenar e indexar tanta informacin, tal
y como hace Google, que lo hizo bien
(...) la capacidad de dar a la gente la posibilidad de crear y
generar valor
(...) es necesario desarrollar una red ms sencilla, con ms
informacin y aplicaciones y ms accesible a toda la poblacin
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Declaraciones en WWW2009 (Abril 2009)
Robert Cailliau (HTML):
(...) lo que ms me sorprende es que Google pueda seguir
creciendo an, su escalabilidad.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Servicios Web
Porqu aparecieron los servicios Web?
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Servicios Web
Qu es un Servicio Web? W3C
A Web service is a software system designed to support
interoperable machine-to-machine interaction over a network.
It has an interface described in a machine-processable format
(specically WSDL). Other systems interact with the Web
service in a manner prescribed by its description using SOAP
messages, typically conveyed using HTTP with an XML
serialization in conjunction with other Web-related standards.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Servicios Web
Qu es un Servicio Web? Webopedia
The term Web services describes a standardized way of
integrating Web-based applications using the XML, SOAP,
WSDL and UDDI open standards over an Internet protocol
backbone. XML is used to tag the data, SOAP is used to
transfer the data, WSDL is used for describing the services
available and UDDI is used for listing what services are
available. Used primarily as a means for businesses to
communicate with each other and with clients, Web services
allow organizations to communicate data without intimate
knowledge of each others IT systems behind the rewall.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Servicios Web
Qu es un Servicio Web? Webopedia (cont.)
Unlike traditional client/server models, such as a Web
server/Web page system, Web services do not provide the user
with a GUI. Web services instead share business logic, data
and processes through a programmatic interface across a
network. The applications interface, not the users. Developers
can then add the Web service to a GUI (such as a Web page or
an executable program) to oer specic functionality to users.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Servicios Web
Qu es un Servicio Web? Webopedia (cont.)
Web services allow dierent applications from dierent sources
to communicate with each other without time-consuming
custom coding, and because all communication is in XML,
Web services are not tied to any one operating system or
programming language. For example, Java can talk with Perl,
Windows applications can talk with UNIX applications.
Web services do not require the use of browsers or HTML.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Servicios Web: Invocacin de un servicio metereolgico
POST / Weat her For ecas t . asmx HTTP/1. 1
Hos t : www. we bs e r v i c e x . net
ContentType: t e x t /xml ; c ha r s e t=ut f 8
SOAPActi on: " h t t p : //www. we bs e r v i c e x . net /GetWeatherByPl aceName"
<? xml v e r s i o n=" 1. 0 " encodi ng=" ut f 8"?>
<s oap: Enve l ope x ml n s : x s i =" h t t p : //www. w3 . or g /2001/XMLSchemai n s t a n c e "
x ml ns : x s d=" h t t p : //www. w3 . or g /2001/XMLSchema"
xml ns : s oap=" h t t p : // schemas . xml soap . or g / soap / e nve l ope /">
<soap: Head>
<us er I D>010243</ us er I D>
<t r a n s a c t i o n I D>02394800231</ t r a n s a c t i o n I D>
</ soap: Head>
<soap: Body>
<GetWeatherByPl aceName xml ns=" h t t p : //www. we bs e r v i c e x . net ">
<Pl aceName>Las Vegas</Pl aceName>
</GetWeatherByPl aceName>
</ soap: Body>
</ s oap: Enve l ope>
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Integracin de Servicios Web en la Web
El problema surge cuando intentamos ofrecer servicios
(aplicaciones) a travs de la Web:
No utilizamos la web correctamente
La mayora de los servicios web actuales no tienen nada que
ver con la web!
Mientras que la Web se caracteriza por su simplicidad, los
nuevos servicios web tienen una arquitectura (muy pesada)
para el acceso a objetos distribuidos remotos (similar a COM o
CORBA)
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Integracin de Servicios Web en la Web (cont.)
El problema surge cuando intentamos ofrecer servicios
(aplicaciones) a travs de la Web:
Las arquitecturas de servicios web actuales, reinventan o
ignoran las caractersticas que, precisamente, han hecho que la
Web sea un xito[Richardson and Ruby(2007)]
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Integracin de Servicios Web en la Web (cont.)
Debilidades de los Servicios Web actuales: [Pautasso(2007)]:
Complejidad elevada (SOAP, WSDL, UDDI, WS-*) o, por lo
menos, esa es la impresin
Proceso de estandarizacin problemtico:
Luchas internas
Carencia de coherencia arquitectnica
Fragmentacin
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Integracin de Servicios Web en la Web (cont.)
Debilidades de los Servicios Web actuales: [Pautasso(2007)]:
Proceso de estandarizacin problemtico (cont.):
Estandarizacin de los estndares (WS-I, Web Services
Interoperability Organization). Encargado de desarrollar
diversos perles para denir de manera ms exhaustiva estos
estndares.
Falta de implementaciones de referencia
Vuelta otra vez a los errores de CORBA?
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Pila de protocolos WS
Fuente:The Web Services Protocol Stack (Lawrence Wilkes)
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Nueva aproximacin:
Porqu no utilizar la Web tal y como fue concebida. Esas
caractersticas han hecho que la Web sea lo que es
actualmente.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Nueva aproximacin (cont.):
Es decir, las mismas caractersticas que hacen:
Que una web sea fcil de usar por un navegador tambin hacen
que la API de un servicio web sea fcil de usar por un
programador
Que un sitio web pueda escalar hasta lmites increibles
(considerad el motor de bsquedas Google) tambin hacen que
los servicios web puedan ser escalables
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Nueva aproximacin (cont.):
Qu principios sustentan la Web?
Para guiar el diseo y desarrollo de la Web moderna, se utiliz
el estilo arquitectnico REST
REpresentational State Transfer (REST)
Un estilo arquitectnico que dene recursos identicables, y
mtodos para acceder y manipular el estado de dichos
recursos.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Nueva aproximacin (cont.):
Entonces, ajustemos todos los servicios Web de forma que
respeten la arquitectura de la Web y se aprovechen de sus
ventajas
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Conclusiones:
Las debilidades de los servicios Web actuales son relativas y
subjetivas
Por el momento no existe consenso, y por el contrario, hay
mucho debate
Aunque parece que hay movimientos (RESTful Services):
El 85 % de los clientes preeren la API RESTful de Amazon
a
Google dej de atender su API SOAP (03/2009) para centrarse
en su API REST (ms fcil de usar)
Aunque no todo lo que se dene como RESTful API lo es
(ickr, ...)
a
http://www.oreillynet.com/pub/wlg/3005
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Denicin
Vista actual
Despliegue de la Web
Servicios Web
Servicios Web Restful
La World Wide Web
Algunas APIs de servicios:
http://code.google.com/intl/es/apis/gdata/docs/2.0/basics.html
http://www.opensocial.org/Technical-Resources/opensocial-spec-v09/REST-API.html
https://apiwiki.twitter.com/Twitter-API-Documentation
http://developers.facebook.com/docs/reference/rest/
http://delicious.com/help/api
http://developer.ebay.com/developercenter/rest
http://www.flickr.com/services/api/
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
ndice
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer
Denido por Roy Fielding en su tesis doctoral [Fielding(2000)]
REST es un estilo arquitectnico para sistemas hipermedia
distribuidos
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer
Se concebi como un modelo arquitectnico que explicaba
cmo debera funcionar la Web
Framework gua para el desarrollo de los protocolos estndar
de la Web
Identicar problemas existentes, comparar soluciones
alternativas, asegurar que las extensiones de los protocolos no
violan las restricciones que han hecho exitosa la Web.
Captura todos los aspectos que cubren los requisitos de
comportamiento y rendimiento de la Web
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer
Este estilo intenta evocar una imagen de cmo se comporta
una aplicacin hipermedia distribuida bien diseada:
Una red de recursos (estados de una mquina virtual)
El usuario va progresando a travs de la aplicacin
seleccionando enlaces (transiciones de estados)
El resultado de estas transiciones es otro recurso (el siguiente
estado de la aplicacin)
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer
Entidades arquitectnicas
Elementos de datos:
Recurso, identicador de recurso, Representacin
Todos los elementos de datos son accedidos a travs de un
nico interfaz estandarizado
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer
Entidades arquitectnicas
Conectores:
Client, Server, Cache, Resolver, Tunnel
Proveen interfaces genricos para acceder y manipular el
conjunto de valores de un recurso
Todas las llamadas realizadas sobre los conectores deben ser
autocontenidas. Toda la informacin necesaria para entender la
solicitud se encuentra en la misma peticin, no se depende de
peticiones pasadas (stateless).
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer
Entidades arquitectnicas
Componentes:
Origin server, Gateway, Proxy, user agent
Los componentes se comunican transrindose
representaciones de recursos a travs de su interfaz.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Recursos
Recursos
Es la abstraccin clave de sta arquitectura
Se dene como: any information that can be named can be a
resource: a document, an image, a temporal service, a
collection of other resources...)
Cada recurso tiene un identicador nico
Todo los recursos comparten un interfaz homogneo comn
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Recursos
Recursos (cont.)
Un recurso puede tener distintas representaciones
(denominadas variantes)
Un recurso es un mapeado conceptual entre un identicador y
un conjunto de representaciones
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Recursos
Recursos (cont.)
Lo nico que se requiere que sea esttico en un recurso es la
semntica del mapeo, ya que sta semntica es la que
distingue un recurso de otro
Por ejemplo: la ltima versin del software X es un mapeo
que puede ir variando con el tiempo, sin embargo, la versin
1.5 de dicho software es un mapeo esttico. Ambos son
recursos distintos aunque en un momento dado, pueden
apuntar al mismo sitio.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Recursos
Recursos (cont.)
Los recursos estn desvinculados de las implementaciones
concretas de los recursos:
Los clientes solo tratan con representaciones
Cambios en las implementaciones no afectan a los clientes
Las variantes de las representaciones de un recurso se negocian
en las peticiones sobre el mismo
Los clientes pueden elegir la representacin ms adecuada
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Representaciones
Manejando Representaciones
Una respuesta exitosa contiene la representacin actual del
estado del recurso identicado
Algunas representaciones contienen enlaces a los siguientes
estados potenciales de la aplicacin
HTML, XML, RDF, ...: Los formatos normalmente utilizados
para describir las representaciones son los descritos por MIME
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Principios Bsicos
Principios Bsicos
El estilo arquitectnico REST se rige por los siguientes
principios bsicos:
Un recurso es cualquier cosa que tenga identidad y debe estar
identicado mediante algn mecanismo
El identicador de un recurso no expone detalles acerca de su
implementacin
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Principios Bsicos
Principios Bsicos
Todos los recursos deben compartir la misma interfaz
uniforme. Los mtodos denidos en esta interfaz debe ser
utilizados acorde a la semntica que se les impuso al crearlos.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Principios Bsicos
Principios Bsicos
El formato de las representaciones debe estar documentado y
ser estndar.
Las representaciones deben incluir enlaces a otros recursos
relacionados (hypermedia as the engine of application state
HATEOAS!!)
La comunicacin debe ser autocontenida (stateless)
Estos principios permiten, entre otras cosas, denir un sistema
por capas
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Caractersticas
Las caractersticas provistas por una arquitectura REST son:
Sencillez
Escalabilidad: estado en el cliente...
Rendimiento: sistema por capas...
Evolucionabilidad: interfaz inmutable, hateoas...
Visibilidad: URI
Bajo acoplamiento: entre cliente/servidor (interfaz)...
Caractersticas que por otra parte, tambin son deseables para
cualquier middleware distribudo
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Representational State Transfer Caractersticas
Rest hace nfasis en:
Escalabilidad en las interacciones entre componentes (cantidad
de clientes y servidores)
Generalidad en las interfaces (cualquier cliente HTTP puede
hablar con cualquier servidor sin conguracin previa)
Despliegue independiente de componentes (clientes y
servidores de cualquier tiempo interactan)
Componentes intermedios para: reducir la latencia de la
interaccin (cach), reforzar la seguridad (rewalls), permitir la
adaptacin entre diferentes tecnologas (gateways)...
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Introduccin
Recursos
Principios Bsicos y Caractersticas
Estilo Arquitectnico REST
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
ndice
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Breve Repaso
HTTP es un protocolo cliente-servidor
Un cliente enva un mensaje de peticin a un servidor, el cul,
despus de realizar algn tipo de procesamiento, devuelve un
mensaje de respuesta que contiene un codigo de estado y el
resultado de la peticin (o informacin acerca del cdigo de
estado)
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Breve Repaso
El mensaje de peticin contiene:
una lnea de peticin,
cero o ms lneas con cabeceras,
y, opcionalmente, el cuerpo del mensaje
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Lnea de Peticin
Consta de tres partes separadas por espacios:
el nombre del mtodo,
la ruta local del recurso solicitado (Request-URI),
y la versin de HTTP utilizada.
METHOD /path/to/resource HTTP/1.1
Header: value ...
Message-Body
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Mtodos HTTP
La semntica de la peticin recae en el mtodo HTTP elegido:
GET: Obtiene la representacin de un recurso identicado en
la Request-URI. Puede ser parametrizado para restringir la
representacin solicitada
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Mtodos HTTP (cont.)
POST: Este mtodo es utilizado para crear nuevos recursos y
para aadir datos a un recurso ya creado.
Cuando el mtodo es utilizado para crear recursos, el cuerpo
del mensaje de peticin contiene la entidad a crear. sta
entidad ser creada por el recurso identicado en la
Request-URI y la decisin acerca de la nueva URL del nuevo
recurso se deja al servidor
Si el mtodo es utilizado para aadir nueva informacin, el
cuerpo de la peticin contiene los datos que deben ser aadidos
o procesados por el recurso identicado por la Request-URI
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Mtodos HTTP (cont.)
PUT: ste mtodo es utilizado para crear un nuevo recurso o
para actualizar un recurso existente. El cuerpo del mensaje
codica la entidad que va a ser publicada. Si la Request-URI
apunta a una entidad existente, entonces el cuerpo del
mensaje encapsula una actualizacin del mismo (completa o
parcial). En caso contrario, se crea un recurso cuya URL ser
la Request-URI.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Mtodos HTTP (cont.)
DELETE: ste mtodo desvincula un recurso de la
Request-URI especicada. Notad que ste mtodo no implica
el borrado de los datos actuales mantenidos por el recurso o el
componente software que lo represente.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Cabeceras
HTTP dene 47 cabeceras
stas cabeceras aaden meta-informacin adicional acerca del
cuerpo del mensaje o, si ste no est presente, acerca del
recurso identicado en la peticin.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Cabeceras (cont.)
Algunas cabeceras relevantes:
Authorization: contiene credenciales de autorizacin que el
cliente ha codicado mediante algn esquema acordado. El
servidor decodica las credenciales y decide si debe llevar a
cabo la peticin (o no)
Host: El host objetivo de la peticin
Location: Dene la localizacin de un recurso creado
recientemente
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Cabeceras (cont.)
Referer: Cuando se solicita una URI, esta cabecera identica la
URL del recurso que ha referenciado esta peticin a esta URI.
WWW-Authenticate: Esta cabecera se utiliza cuando el
servidor requiere del cliente algn tipo de autenticacin. Esta
cabecera debe contener al menos un desao de autenticacin
que pueda ser aplicable a la solicitud realizada.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
GET /private/resource HTTP/1.0
Host: localhost
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
HTTP/1.0 401 Authorization Required
Server: Apache...
Date: Sat, 27 Nov 2004 10:18:15 GMT
WWW-Authenticate: Basic realm="Secure Area"
Content-Type: text/html
Content-Length: ...
Message Body
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
GET /private/resource HTTP/1.0
Host: localhost
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Mensaje de Respuesta
Los mensajes de respuesta a peticiones HTTP se componen un
cdigo de estado (Status-Code), algunas cabeceras y un
cuerpo del mensaje.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Cdigos de Estado
El cdigo de estado est compuesto por 3 dgitos
Representa el resultado del intento realizado por el servidor
para entender y satisfacer la peticin del cliente.
El primer dgito del cdigo de estado dene el tipo de
respuesta
1xx informational,
2xx success,
3xx redirection,
4xx client error,
5xx server error
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Cdigos de Estado
Algunos Cdigos de Estado:
200 (OK): Todo ha ido bien.
201 (Created): El servidor envia este cdigo cuando cre un
nuevo recurso como consecuencia de una peticin del cliente.
La cabecera Location se suele utilizar junto con este cdigo de
estado para identicar la URI del nuevo recurso.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Cdigos de Estado (cont.)
202 (Accepted): La solicitud es aceptada pero no puede ser
atendida en tiempo real. Ser procesada ms tarde. La
cabecera Location se utiliza junto con ste cdigo de error
para proveer la URI de un recurso monitor.
204 (No Content): La solicitud fue procesada correctamente
pero el servidor declina enviar cualquier mensaje acerca del
estado o cualquier representacin.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Cdigos de Estado (cont.)
400 (Bad Request): Este es el cdigo genrico de error en el
cliente. Normalmente, se utiliza cuando la peticin no ha
podido ser procesada incluso estando bien formada.
401 (Unauthorized): El cliente no tiene las credenciales de
autenticacin adecuadas para utilizar el recurso. La cabecera
WWW-Authenticate utilizada junto con esta respuesta,
contiene al menos un desafo de autenticacin que se aplica al
recurso solicitado.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Cdigos de Estado (cont.)
403 (Forbidden): La solicitud del cliente est bien formada
pero el servidor rechaza procesarla. La razn est relacionada
no con credenciales de autenticacin sino con la lgica de la
aplicacin. Debera incluir una explicacin de la razn del
rechazo.
405 (Method Not Allowed): El mtodo no es soportado por
el recurso. La respuesta debe incluir una cabecera Allow que
contenga los mtodos vlidos para el recurso solicitado.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
El Protocolo HTTP
Cdigos de Estado (cont.)
406 (Not Acceptable): El cliente ha solicitado solicitado una
representacin no disponible.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Breve Repaso
Cuerpo del mensaje
El cuerpo de los mensajes de respuesta puede contener una
pequea descripcin textual del cdigo de estado devuelto.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Ventajas
Fallos Comunes al Denir Sistemas RESTful
ndice
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Ventajas
Fallos Comunes al Denir Sistemas RESTful
Aplicando REST a la Web
Identicadores de Recursos
URI: identicadores para todos los recursos
Direccionamiento universal
Fcil enlazado entre recursos
La semntica del mapeo URI-Recurso no debera cambiar,
aunque la representacin del recurso pueda hacerlo:
Se suele dar importancia al uso de URIs tiles:
http://maps.google.com/maps?f=q&hl=es
&geocode=&q=madrid&ie=UTF8&ll=40.453217,-3.703766
&spn=0.462925,1.2854&z=10&iwloc=addr
http://maps.google.com/europe/spain/madrid
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Ventajas
Fallos Comunes al Denir Sistemas RESTful
Aplicando REST a la Web
HTTP como interfaz homogneo
Utilizacin de los mtodos HTTP para denir operaciones
sobre recursos:
Interfaz simple y homogneo para todos los recursos:
POST: Crea un nuevo recurso
GET: Recupera la representacin de un recurso (idempotente)
PUT: Actualiza un recurso (o crea uno nuevo en la URI
indicada)
DELETE: Elimina un recurso
Se asocian con CRUD (Create, Retrieve, Update and Delete)
Recordad, todas las interacciones debe ser stateless
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Ventajas
Fallos Comunes al Denir Sistemas RESTful
Aplicando REST a la Web
Ventajas:
[Pautasso(2007)]
Sencillez
El interfaz uniforme es inmutable (evitando que los clientes
fallen)
HTTP/POX es ubcuo
Interacciones stateless/sincronas
Escalabilidad Demostrada
caching, estructura por capas (redirecciones, ltering...),
granjas de servidores (clusters)...
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Ventajas
Fallos Comunes al Denir Sistemas RESTful
Aplicando REST a la Web
Ventajas (cont.)
Se percibe como fcil de adoptar (dada su ligera
infraestructura)
Unica los sitios Web y los servicios Web en aplicaciones Web
consistentes
Mejora el rendimiento de casi todas las aplicaciones Web 2.0
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Ventajas
Fallos Comunes al Denir Sistemas RESTful
Aplicando REST a la Web
Fallos comunes:
[Prescod(2002)]
Pensar que HTTP no es suciente
Sobrecargar POST (en vez de utilizar DELETE, GET o PUT)
Hacer que las URIs reejen la estructura interna de la
aplicacin (en vez de vnculos semnticos)
Colocar acciones en las URIs
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Ventajas
Fallos Comunes al Denir Sistemas RESTful
Aplicando REST a la Web
Fallos Comunes (cont.)
Uso de sesiones en el servidor
Inventarse identicadores propios para los recursos
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
ndice
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Diseo de Aplicaciones RESTful
Identicar Recursos
Cules son las entidades de mi sistema?
Qu identicador (URI) van a tener?
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Diseo de Aplicaciones RESTful
Seleccionar Representaciones
Qu representaciones van a proveer mis recursos?
Cmo voy a ofrecer enlaces a otros recursos dentro de ellas?
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Diseo de Aplicaciones RESTful
Denir Interfaz: Mtodos, Cdigos de estado
Qu operaciones soportan mis recursos?
Qu cdigos de estado devolvern dichas operaciones?
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
ndice
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Cmo funciona?Cmo funciona algn webmail que
conozcis?
Facebook arma tener una API REST...
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Algunas URIs reales de Facebook
Usuario: http://www.facebook.com/home.php?
Amigos:
http://www.facebook.com/home.php?#/friends/?ref=tn
URIs amigos:
http://www.facebook.com/profile.php?id=15611341243
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Algunas URIs reales
Mailbox:
http://www.facebook.com/home.php?#/inbox/?ref=mb
Email: http://www.facebook.com/inbox/readmessage.
php?t=11331121389745&mbox_pos=0
Marcar como no ledo:
http://www.facebook.com/inbox/readmessage.php?t=
1133123424489745&f=0&mbox_pos=0&mu
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Cmo creis que debera funciona?
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Identicando los recursos
Recordad: las aplicaciones deben dividirse en recurso
(nombres), no en servicios (verbos)
Como entidades podramos tener: usuarios, mailbox de un
usuario, folders de correo y mensajes
Folders del sistema: recibidos, enviados, borrador
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Asignando las URIs
Una posible alternativa:
http://www.facebook.com/users/{userId}/mail/{folderId}/{mailId}
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Seleccionando la Representacin
Por ejemplo: XHTML y XML
XHTML para browsers (quiz junto con JSON...)
XML para otras aplicaciones
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Deniendo la Interfaz
Pensad cmo:
Crear un mensaje en un folder del usuario?
Borrar un mensaje de cualquier folder?
Enviar un nuevo mail a otro usuario?
Modicar un mensaje como borrador?
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Diagrama de estados de la aplicacin (incompleto)
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Representacin Mi Correo
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Representacin Borrador
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Tambin hay que pensar en las las respuestas los mtodos:
Utilizando los cdigos de estado y las cabeceras auxiliares
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Mailbox
http://www.facebook.com/users/{userId}/mail/
Metodo Contenido Repres. Accin Codigo
GET Lista de folders XML, HTML Devuelve una lis-
ta de los folders
denidos por el
usuario {userId}
200 - OK, 406 -
Not Acceptable
POST Representacin del Folder XML, HTML Crea un folder de
correo con nom-
bre determinado
201 - Created +
Location, 403 -
Forbidden
PUT n/a 405 - Method Not
Allowed
DELETE n/a 405 - Method Not
Allowed
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
Folder
http://www.facebook.com/users/{userId}/mail/{folderId}/
Metodo Contenido Repres. Accin Codigo
GET Lista mensajes XML, HTML Devuelve una lista de
los mensajes conteni-
dos en el folder {folde-
rId}
200 - OK, 406 - Not
Acceptable
POST Mensaje XML, HTML Si {folderId} es Envia-
dos se enva el mensaje
al usuario indicado en el
campo destinatario. Se
crea mensaje en envia-
dos
201 - Created + Loca-
tion, 403 - Forbidden
PUT n/a 405 - Method Not Allo-
wed
DELETE Elimina el folder {fol-
derId} del usuario {use-
rId} slo si fue creado
por el usuario y no tie-
ne mensajes.
200 - OK, 403 - Forbid-
den
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Identicando los recursos
Seleccionando la Representacin
Deniendo la Interfaz
Ejemplo: Correo Interno de Facebook
eMail
http://www.facebook.com/users/{userId}/mail/{folderId}/{mailId}
Metodo Contenido Repres. Accin Codigo
GET Representacion del correo XML, HTML Devuelve una re-
presentacin del
correo {mailId}
200 - OK, 406 -
Not Acceptable
POST n/a 405 - Method Not
Allowed
PUT Representacion del correo XML,HTML Actualiza el co-
rreo, slo si es bo-
rrador
200 - OK, 400 -
Bad Request
DELETE Elimina el correo
{mailId} de la
carpeta {folde-
rId} del usuario
{userId}
200 - OK, 403 -
Forbidden
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Resumen
El estado y la funcionalidad de la aplicacin est dividida entre
los recursos
Cada recurso es identicado globalmente utilizando una
sintaxis universal para enlaces hipermedia
Todos los recursos comparten un interfaz comn para la
transferencia de estado entre los clientes y los recursos. Esta
interfaz est formada por :
Un conjunto restringido de operaciones bien denidas (HTTP)
Un conjunto restringido de tipos de contenido (MIME)
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Resumen
En denitiva una arquitectura:
Basada en cliente/servidor
Stateless
Cacheable
Layered
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
ndice
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Reinventing Email using REST
http://prescod.net/rest/restmail/
RESTify Day Trader
http://bitworking.org/news/201/RESTify-DayTrader
A RESTful Web Service, an example (Delicious API)
http:
//www.peej.co.uk/articles/restfully-delicious.html
How to GET a Cup of Coe
http://www.infoq.com/articles/webber-rest-workflow
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Putting the Web into Web Services
http://steve.vinoski.net/pdf/IEEE-Web_Services_
Interaction_Models_Part_2.pdf
RESTful Web Services Development Checklist
http://steve.vinoski.net/pdf/IEEE-RESTful_Web_
Services_Development_Checklist.pdf
Roots of the REST/SOAP Debate
http://www.prescod.net/rest/rest_vs_soap_overview
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
ndice
1
La World Wide Web
2
Representational State Transfer
3
El Protocolo HTTP
4
Aplicando REST a la Web
5
Diseo de Aplicaciones RESTful
6
Ejemplo: Correo Interno de Facebook
7
Lecturas recomendadas
8
Enlaces Recomendados
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Untangled, musings of Roy T. Fielding
http://roy.gbiv.com/untangled/
Steve Vinoskis Blog Internet Computing Columns
http://steve.vinoski.net/blog/
internet-computing-columns/
InfoQ: Tracking change and innovation in the enterprise
software development community
http://www.infoq.com/
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
PREGUNTAS ??
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
R. T. Fielding.
Architectural styles and the design of network-based software
architectures.
PhD thesis, University of California, 2000.
C. Pautasso.
Soap vs. rest - bringing the web back into web services.
http://www.iks.inf.ethz.ch/education/ss07/ws_soa/
slides/SOAPvsREST_ETH.pdf, 2007.
(link revised on February 2011).
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
P. Prescod.
Common rest mistakes.
http://www.prescod.net/rest/mistakes/, 2002.
(link revised on February 2011).
L. Richardson and S. Ruby.
RESTful Web Services.
OReilly, May 2007.
ISBN 0596529260.
Sergio Saugar Arquitectura del Software
La World Wide Web
Representational State Transfer
El Protocolo HTTP
Aplicando REST a la Web
Diseo de Aplicaciones RESTful
Ejemplo: Correo Interno de Facebook
Resumen
Lecturas recomendadas
Enlaces Recomendados
Preguntas
Bibliografa
Arquitectura del Software
Tema 6
REST: La Arquitectura de la World Wide Web
Sergio Saugar
sergio.saugar@urjc.es
5
o
Ingeniera Informtica
Univ. Rey Juan Carlos
Curso 2010-2011
Sergio Saugar Arquitectura del Software

También podría gustarte