SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
REST (Arquitectura basada en Recursos)

                 Universidad Técnica Particular de Loja, Ingeniería en Sistemas Informáticos y
                                                 computación.

                              Christopher Ortega, Victor Samaniego, Juan Sigcho

                  cportega@utpl.edu.ec / vmsamaniego@utpl.edu.ec / jpsigcho@utpl.edu.ec

                                                 20 /Mayo/2010

                                                    Abstract

          Desde la aparición de los servicios Web han surgido diversas críticas debido a las
          limitaciones de éstos, algunas solventadas mediante la nueva generación y otras mediante la
          llamada Web Semántica. REST intenta abordar la resolución de dichos problemas dando un
          enfoque distinto al usado anteriormente. Este artículo pretende dar una visión general sobre
          la arquitectura REST, describiéndola en primer lugar, viendo luego como se relaciona con
          la Web y con estándares como SOAP y WSDL y terminando con un breve análisis práctico
          de la cuestión.

          Index Terms: Servicios Web, recursos, REST, URL, SOAP, URI, transferencia de estado.

                1. INTRODUCCIÓN

REST es el acrónimo de Transferencia de Estado
Representacional, término usado por Roy Fielding
(uno de los creadores de HTTP) para describir un           Éste enfoque no aporta realmente nada nuevo: la
estilo de arquitectura que utilizar como modelo en         mayor parte de la Web sigue este estilo
los sistemas de computación Web. No es un                  arquitectónico. Sin embargo, el autor hace énfasis
estándar, sino un enfoque que muestra cómo                 en las características concretas que han hecho que la
desarrollar y proporcionar servicios en Internet, por      Web triunfe, que van a ser los objetivos buscados
tanto considerado como un estilo arquitectónico            por REST y que son, a su juicio:
para diseño de software a gran escala. El propio               •   Escalabilidad en las interacciones entre
autor lo define de manera concisa en éste párrafo
                                                                   componentes: La red ha ido creciendo de
[1]:
                                                                   manera exponencial y se ha ido comportado
“REST es un intento de mostrar cómo debe
                                                                   de manera satisfactoria.
comportarse una aplicación Web bien diseñada: una
red de páginas Web (una máquina de estados                     •   Generalidad     en    las     interfaces:   Se
virtual) donde el usuario progresará seleccionando                 proporciona acceso con distintos clientes y
enlaces (transiciones de estado) que devuelven la
                                                                   con distintos mecanismos de acceso.
página siguiente (el siguiente estado de la máquina)
que el usuario manejará a su gusto”.
•   Desarrollo independiente de componentes:        luego como muestra la Fig. 2, no es necesario que
       Implementaciones cliente y servidor pueden      ésta sea entendida tanto en el cliente como en el
                                                       servidor.
       ser desarrolladas en distintos momentos.
   •   Existencia de componentes intermediarios
       con los cuales existe compatibilidad (como
       proxys) que permiten encapsulación e
       integración de sistemas no Web dentro de la
       misma.

1.1. Principios de diseño                              Uso de hipermedios para representar el estado de
                                                       una aplicación, permitiendo que el estado de una
Los objetivos citados van a ser conseguidos            aplicación Web particular esté almacenado en uno o
imponiendo una serie de restricciones:                 más documentos de hipertexto que residen bien en
El estado y la funcionalidad de las aplicaciones se    el servidor o en el cliente. Esto permite al servidor
representan por forma de recursos.                     saber el estado de sus recursos sin necesidad de
                                                       almacenar el estado de de los clientes concretos.
La identificación de recursos se realiza de forma
única global mediante Uniform Resource                 Como ya se mencionó, REST se trata de un estilo
Identifiers. Los recursos identificados con URIs son   arquitectónico, no un estándar. Sin embargo hace
los objetos lógicos a los cuales se les mandan los     uso de varios estándares Web:
mensajes.
                                                          •   HTTP [RFC 1945]: HyperText Transfer
Manipulación de recursos a través de                          Protocol.
representaciones, luego no se manejan directamente
                                                          •   URL [RFC 1738] (Uniform Resource
los recursos, sino sus representaciones.
                                                              Locator)     como     el      mecanismo    de
Todos los recursos comparten un interfaz uniforme
                                                              identificación de recursos.
formado por:
                                                          •   XML / HTML / PNG / etc.. como distintos
   •   Un conjunto de operaciones limitado para
                                                              formatos de representación de recursos.
       transferir el estado. Se van a aprovechar las
       operaciones que HTTP define, mostradas en          •   Tipos MIME, como text/xml, text/html,
       la Fig. 1:                                             image/png, etc.

METODO            FUNCION                              2. SOAP vs. REST
GET               Solicitar Recurso
POST              Crear recurso nuevo                  SOAP [W3C-SOAP] [10] y los Servicios Web [8]
PUT               Actualizar o modificar recurso       han revolucionado el panorama de los sistemas
DELETE            Borrar recurso                       distribuidos, usando tecnologías y estándares
    Figura#1: Operaciones que define HTTP
                                                       desarrollados por el W3C [11] (World Wide Web
                                                       Consortium). Los defensores de REST encuentran a
                                                       éste modelo una serie de limitaciones que pueden
Uso de un protocolo cliente/servidor, sin estado y     ser superadas adoptando otro enfoque distinto.
basado en capas. Cada mensaje HTTP contendrá la
información necesaria para comprender la petición,
Como suele pasar en éstos casos, la discusión en         En contraste con las tecnologías basadas en SOAP,
ocasiones toma tintes políticos al unir SOAP con         donde todos los nombres de los métodos y
Microsoft.                                               convenciones necesitan ser conocidas, los clientes
                                                         HTTP pueden comunicarse con servidores sin
                                                         necesidad de realizar ninguna operación de
2.1. Diferencia de enfoque                               configuración. De este modo se logra la
                                                         “generalización de interfaces” ya comentada
Los Servicios Web SOAP están basados en Remote           anteriormente.
Procedure Calling (RPC). En RPC, el énfasis se
pone en la diversidad de operaciones (o verbos). Así     La parte negativa del enfoque consiste en que HTTP
pues, una aplicación puede definir un conjunto de        no proporciona ningún método estándar para
operaciones como las que se muestra en el código 1       descubrir recursos (operaciones del estilo FIND o
[9]                                                      LIST que se corresponderían con las mostradas en
                                                         el ejemplo RPC). Para solucionarlo, las aplicaciones
                                                         REST tratan un conjunto de resultados de búsqueda
                                                         como otro tipo de recurso, requiriendo pues que los
                                                         diseñadores de aplicaciones conozcan direcciones
                                                         adicionales para listar las búsquedas de cada tipo de
Código 1: Operaciones definidas con RPC                  recurso. Así pues, una petición GET sobre la URL
                                                         anterior podría devolver un enlace a una lista de
REST pone el énfasis en la diversidad de recursos
                                                         ficheros en XML con las localizaciones posibles en
(nombres). Para la misma aplicación bastaría con
                                                         Oviedo, mientras que la petición GET a
definir dos tipos de recursos:
                                                         http://www.example.org/users?apellido=Alonso
User {} Location{}                                       devolvería una lista de enlaces a todos los usuarios
                                                         con el apellido “Alonso”.
Código 2: Recursos definidos con REST
                                                         La iniciativa OpenSearch [12] intenta estandarizar
Cada recurso va a tener su propia localización,          las búsquedas que usan REST estableciendo
identificada por un URL (consideremos en éste caso       especificaciones recursos, así como un formato
http://www.example.org/locations/spain/oviedo).          genérico para los sistemas basados en REST.
Un registro del recurso usuario podría tener el
siguiente aspecto:                                       2.2. Uso de la Web y URLs.

                                                         Según los propios creadores de la Web [6], el
                                                         principal objetivo de ésta es crear un espacio para
                                                         compartir la información. Los sistemas pueden
                                                         participar publicando objetos y servicios en el
                                                         mismo. Ésta idea se refleja en la visión del W3C
                                                         acerca del futuro arquitectónico de la Web:

Los recursos pueden ser, copiados o marcados. Las
operaciones que los clientes pueden realizar
vendrán determinadas por las operaciones HTTP
estándar, luego un cliente podría solicitar un recurso
(como el registro XML anterior) con una petición
GET, posteriormente modificarlo y subirlo de
nuevo usando una petición PUT.
Una vez creado el sitio web, para tener acceso a este
                                                        invocamos al puerto 8080 seguido del nombre de la
                                                        carpeta que contiene el servidor web (aplicación,
                                                        imágenes, llamadas a métodos por parte del
                                                        servidor) para que el cliente pueda acceder.

                                                        Para que el cliente acceda al sitio web tiene que
                                                        ingresar a la siguiente dirección:

                                                        http://localhost 8080/vhmotors

                                                        La aplicación web se encuentra disponible con un
La terminología usada es muy distinta de la usada       dominio propio y un hosting propulsado por la
con los Servicios Web basados en SOAP, donde es         empresa Patio tuerca.
común hablar de la Web como un “transporte” para
                                                        El objetivo principal de la aplicación web es
mensajes que esencialmente son interpretados por
                                                        publicación y venta de vehículos ingresados en el
sistemas externos. En éste caso, la Web es
                                                        sitio web. Los vehículos se encuentran clasificados
simplemente un medio de transporte para los
                                                        por marca y por tipo, para que la búsqueda sea más
sistemas. Éste enfoque es destructivo a la larga,
                                                        rápida.
porque dos aplicaciones que se comunican de éste
modo no han establecido un diálogo común con las        Para acceder a la aplicación en la web ingresamos a
otras dos.                                              la dirección: http://vhmotors.com/
Estos sistemas tampoco han adoptado el modelo
Web para el uso de URIs, pues cada aplicación
puede establecer su propio espacio de nombres
desde cero, en lugar de usar URIs como un
mecanismo de direccionamiento. Los estándares no
han sido diseñados para usar URIs como
identificadores de recursos (cada WSDL describe
sólo un recurso Web, siendo imposible describir
enlaces a otros recursos).

Las WSDL nos permiten acceder al servicio web
basado en REST. Al momento de crear nuestro sitio
web accedemos al puerto 8080, seguido del nombre
del servidor, finalmente todo esto se almacena en la
WSDL que sería el método de invocación al
servidor HTTP por parte de la arquitectura REST.

Para la transmisión de datos en la aplicación web
utilizamos objetos de tipo XML y JSON que su
funcionalidad es la misma, a diferencia de que en       Como podemos observar en el sitio web, la
JSON vamos a crear un método para cada modulo           información se encuentra ordenada y clasificada
de operación. En el caso del proyecto se ha utilizado   para que un usuario pueda elegir la marca o el tipo
objetos JSON para las operaciones de publicación        de vehículo publicado.
de vehículos en el sitio web.
El fondo de la página web, diseño y las imágenes     2.4. Escenarios aplicables
cumplen con los estándares y normas fijadas por la
ingeniería web, a fin de que el sitio sea bastante   Las principales ventajas aportadas por REST son:
agradable al usuario.                                [5]

Las imágenes que posee la página web tienen un          •   Mejores tiempos de respuesta y disminución
formato JPEG a fin de que no sean muy pesadas y             de carga en servidor.
la página pueda ser rápida al momento de elegir un      •   Mayor escalabilidad al no requerir
vehículo.                                                   mantenimiento de estado.
                                                        •   Facilita desarrollo de clientes.
                                                        •   Mayor estabilidad frente a futuros cambios.
2.3 Implementaciones públicas                           •   Permite creación independiente de los tipos
                                                            de documentos, sin afectar a los anteriores.
Dado que la definición de REST es muy amplia, es
posible afirmar que existe un enorme número de       Dichas ventajas aconsejan su uso en una serie de
aplicaciones REST en la red (prácticamente           escenarios localizados:
cualquier cosa accesible mediante una petición          •   Cuando los recursos van a estar disponibles
HTTP GET). De forma más restrictiva, y si lo                para un grupo de usuarios desconocidos
valoramos en contraposición a los Servicios Web y           potencialmente grande.
el RPC, REST puede encontrarse en distintas áreas       •   Cuando el propósito de la aplicación es
de la Web:
                                                            mandar información.
La mayor parte de los blogs están basados en REST,      •   Cuando está previsto que la aplicación
dado que implica descarga de ficheros XML (en               crezca continuamente.
formato RSS o Atom) que contienen listas de             •   Cuando el uso de recursos hardware (CPU,
enlaces a otros recursos.                                   memoria, ancho de banda…) no es
                                                            determinante.
   •   Amazon.com [13] ofrece su interfaz para          •   Cuando la gestión del estado de la
       desarrolladores tanto en formato REST                aplicación es simple.
       como en formato SOAP (siendo la versión
       REST la que recibe mayor tráfico). Pionera    Existen sin embargo una serie de situaciones en las
       en el uso de REST, ofrece una base de datos   cuales no nos será útil:
       con todos los productos que vende.
                                                        •   Situaciones donde la seguridad de los datos
                                                            es determinante.
   •   Ebay [14] ofrece un interfaz REST para
                                                        •   Cuando el propósito principal de la
       desarrolladores, permitiendo la consulta de
                                                            aplicación es recibir y procesar grandes
       productos     a    través    del    método
                                                            cantidades de información.
       GetSearchResults().
                                                        •   Cuando el uso de los recursos hardware es
                                                            determinante.
   •   YoutTube [16], Yahoo [15] , Flickr [17] u
                                                        •   Cuando la gestión del estado de la
       otros también ofrecen un conjunto de
                                                            aplicación no es trivial.
       interfaces “REST” (algunos de estos
       sistemas no respetan las restricciones
       estructurales dadas por REST de manera
       intencionada, mientras que otros las
       cumplen de manera accidental).
3. Conclusiones                                        http://www.ics.uci.edu/~fielding/pubs/dissertation/t
                                                       op.htm
El análisis realizado nos permite ver las siguientes
carencias en la arquitectura:                          [2] Przybilski, Michael. “REST: Representational
                                                       State Transfer”. Universidad de Helsinki, 2006
   •   Hoy por hoy, el monopolio de los servicios      www.cs.helsinki.fi/u/chande/courses/cs/MWS/repor
       Web es mantenido por SOAP.                      ts/MichaelPrzybilski_REST.pdf
   •   Existe una carencia de documentación
       REST bastante importante (sufrida al tratar     [3] Prescod, Paul. “REST and the Real World”
       de encontrar documentación para éste
                                                       http://www.xml.com/pub/a/2002/02/20/rest.html
       artículo, pues las fuentes son bastante
       reducidas).                                     [4] Prescod, Paul. “SOAP, REST and
   •   Existen escasas implementaciones de             Interoperability”
       referencia y ejemplos prácticos que             http://www.prescod.net/rest/standardization.html
       acerquen la arquitectura al programador
       común.                                          [5] CuboVelázquez, Alberto. “Representational
   •   La arquitectura de software basada en REST      State Transfer (REST). Un estilo de arquitectura
       nos permite realizar bastantes aplicaciones     para Servicios Web. Panorámica y estado del arte.”
       comerciales, blogs, comercio electrónico,       http://trajano.us.es/~antonio/proyecto-
       entre otras.                                    REST.doc#_Toc139162493
   •   Varios desarrolladores no conocen todavía
       el uso de la arquitectura de software REST,     [6] Tim Berners-Lee. The world wide web: Past,
       ya que es bastante nueva y disponible en las    present               and              future.
       versiones de NET-BEANS 6.5 y 8.0                http://www.w3.org/People/Berners-
       utilizando Java.                                Lee/1996/ppf.html.
   •   La tecnología REST de java, al igual que
                                                       4.2. Wikipedia
       AJAX propuesto por Visual Studio 2005 y
       2008 nos sirven para realizar páginas web       [7] http://es.wikipedia.org/wiki/URI
       más dinámicas.
   •   Para crear un servicio web en REST              [8] http://es.wikipedia.org/wiki/Servicio_Web
       debemos importar la base de datos MYSQL         [9]http://en.wikipedia.org/wiki/Representational_St
       en NET-BEANS 8.0 y luego crear el               ate_Transfer
       servicio web REST de manera sencilla sin
       implementar código, ya que este es oculto y     [10] http://en.wikipedia.org/wiki/SOAP
       crea automáticamente los métodos HTTP
                                                       4.3. Recursos Web:
       que son: GET, PUT, POST y DELETE.
                                                       [11] Consorcio W3C. http://www.w3c.org

                                                       [12] OpenSearch: http://opensearch.a9.com/
4.- Referencias
                                                       [13]Amazon:
4.1. Artículos
                                                       http://www.amazon.com/gp/aws/landing.html
[1] Fielding, Roy T. “Architectural Styles and the
                                                       [14]Ebay: site: http://developer.ebay.com/rest/
Design of Networkbased Software Architectures.”
Tesis Doctoral, Universidad de California, 2000.       [15]Yahoo: site http://developer.yahoo.com/
[16]YouTube: http://www.youtube.com/dev_rest

[17]Flickr: site http://www.flickr.com/services/api/

4.4. Especificaciones

[RFC1738],URL:
http://www.faqs.org/rfcs/rfc1738.html

[RFC2396],URI:
http://www.faqs.org/rfcs/rfc2396.html

[RFC1945],HTTP:
http://www.faqs.org/rfcs/rfc1945.html

[W3C-SOAP],SOAP:
http://www.w3.org/TR/2002/WD-soap12-part0-
20020626/

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

23444719 monografia-de-web-services
23444719 monografia-de-web-services23444719 monografia-de-web-services
23444719 monografia-de-web-services
 
SOAP y Web Services
SOAP y Web ServicesSOAP y Web Services
SOAP y Web Services
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Servicios web
Servicios webServicios web
Servicios web
 
Arquitectura REST
Arquitectura RESTArquitectura REST
Arquitectura REST
 
Servicios web
Servicios webServicios web
Servicios web
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
 
web 2.0
web 2.0web 2.0
web 2.0
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Web services en sistemas distribuidos
Web services en sistemas distribuidosWeb services en sistemas distribuidos
Web services en sistemas distribuidos
 
Ugmmontoya
UgmmontoyaUgmmontoya
Ugmmontoya
 
Diapositivas servicios web
Diapositivas servicios webDiapositivas servicios web
Diapositivas servicios web
 
Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?
 
Java Web Services - REST
Java Web Services - RESTJava Web Services - REST
Java Web Services - REST
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAP
 
Java Web Services - Introduccion
Java Web Services - IntroduccionJava Web Services - Introduccion
Java Web Services - Introduccion
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 
Soap eduardo cano
Soap  eduardo canoSoap  eduardo cano
Soap eduardo cano
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Web 2
Web 2Web 2
Web 2
 

Destacado

Candidiasis oral
Candidiasis oralCandidiasis oral
Candidiasis oral3419212
 
Candidiasis Oral - Patología
Candidiasis Oral - PatologíaCandidiasis Oral - Patología
Candidiasis Oral - Patologíacrisppg
 
Hongos de interes oral, Microbiologia Oral
Hongos de interes oral, Microbiologia Oral Hongos de interes oral, Microbiologia Oral
Hongos de interes oral, Microbiologia Oral jose salcedo
 

Destacado (7)

Candidiasis oral
Candidiasis oralCandidiasis oral
Candidiasis oral
 
Candidiasis Oral - Patología
Candidiasis Oral - PatologíaCandidiasis Oral - Patología
Candidiasis Oral - Patología
 
INFECCIONES MICOTICAS ORALES
INFECCIONES MICOTICAS ORALESINFECCIONES MICOTICAS ORALES
INFECCIONES MICOTICAS ORALES
 
Hongos de interes oral, Microbiologia Oral
Hongos de interes oral, Microbiologia Oral Hongos de interes oral, Microbiologia Oral
Hongos de interes oral, Microbiologia Oral
 
Que es un paper
Que es un paperQue es un paper
Que es un paper
 
Candidiasis
CandidiasisCandidiasis
Candidiasis
 
Como hacer un abstract
Como hacer un abstractComo hacer un abstract
Como hacer un abstract
 

Similar a Paper ieee

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.pptxXavierNavia
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservicesmahumadas
 
Web 2 pamela sanchez
Web 2 pamela sanchezWeb 2 pamela sanchez
Web 2 pamela sanchezPame28san
 
Taller 3 conexion
Taller 3 conexionTaller 3 conexion
Taller 3 conexionolgasarasa
 
Servicios web
Servicios webServicios web
Servicios webUTPL
 
Servicios web
Servicios webServicios web
Servicios webUTPL
 
Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.JosdeJessQuintanaDaz
 
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 webinarsOpenWebinars.net
 
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 ServicesLuis Fernando Aguas Bucheli
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservicesJuan Cortes
 
Tp Tics Hypertexto
Tp Tics HypertextoTp Tics Hypertexto
Tp Tics Hypertextosrfish
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1rocemo44
 

Similar a Paper ieee (20)

REST
RESTREST
REST
 
T final modulo_1
T final modulo_1T final modulo_1
T final modulo_1
 
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
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Web 2 pamela sanchez
Web 2 pamela sanchezWeb 2 pamela sanchez
Web 2 pamela sanchez
 
Web Services
Web ServicesWeb Services
Web Services
 
Taller 3 conexion
Taller 3 conexionTaller 3 conexion
Taller 3 conexion
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Scom5 Ws Ii
Scom5 Ws IiScom5 Ws Ii
Scom5 Ws Ii
 
Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.
 
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
 
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
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Presentac[2]..
Presentac[2]..Presentac[2]..
Presentac[2]..
 
Herramientas web
Herramientas webHerramientas web
Herramientas web
 
Herramientas web
Herramientas webHerramientas web
Herramientas web
 
Tp Tics Hypertexto
Tp Tics HypertextoTp Tics Hypertexto
Tp Tics Hypertexto
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 

Más de Victor Samaniego

Ventajas Sobre (Gestion Del Conocimiento)
Ventajas Sobre (Gestion Del Conocimiento)Ventajas Sobre (Gestion Del Conocimiento)
Ventajas Sobre (Gestion Del Conocimiento)Victor Samaniego
 
BD: Cuestiones de Repaso del Capitulo 15.
BD: Cuestiones de Repaso del Capitulo 15.BD: Cuestiones de Repaso del Capitulo 15.
BD: Cuestiones de Repaso del Capitulo 15.Victor Samaniego
 
BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.Victor Samaniego
 
BD: Cuestiones de Repaso del Capitulo 16
BD: Cuestiones de Repaso del Capitulo 16BD: Cuestiones de Repaso del Capitulo 16
BD: Cuestiones de Repaso del Capitulo 16Victor Samaniego
 
Cuestiones de Repaso del capitulo 19
Cuestiones de Repaso del capitulo 19Cuestiones de Repaso del capitulo 19
Cuestiones de Repaso del capitulo 19Victor Samaniego
 
Cuestiones de repaso del capitulo 18
Cuestiones de repaso del capitulo 18Cuestiones de repaso del capitulo 18
Cuestiones de repaso del capitulo 18Victor Samaniego
 
Cuestiones De Reapaso Cp. 17 Por. Victor Samaniego.
Cuestiones De Reapaso Cp. 17 Por. Victor Samaniego.Cuestiones De Reapaso Cp. 17 Por. Victor Samaniego.
Cuestiones De Reapaso Cp. 17 Por. Victor Samaniego.Victor Samaniego
 

Más de Victor Samaniego (9)

Ventajas Sobre (Gestion Del Conocimiento)
Ventajas Sobre (Gestion Del Conocimiento)Ventajas Sobre (Gestion Del Conocimiento)
Ventajas Sobre (Gestion Del Conocimiento)
 
Open Innovation
Open InnovationOpen Innovation
Open Innovation
 
BD: Cuestiones de Repaso del Capitulo 15.
BD: Cuestiones de Repaso del Capitulo 15.BD: Cuestiones de Repaso del Capitulo 15.
BD: Cuestiones de Repaso del Capitulo 15.
 
BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.
 
BD: Cuestiones de Repaso del Capitulo 16
BD: Cuestiones de Repaso del Capitulo 16BD: Cuestiones de Repaso del Capitulo 16
BD: Cuestiones de Repaso del Capitulo 16
 
Cuestiones de Repaso del capitulo 19
Cuestiones de Repaso del capitulo 19Cuestiones de Repaso del capitulo 19
Cuestiones de Repaso del capitulo 19
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Cuestiones de repaso del capitulo 18
Cuestiones de repaso del capitulo 18Cuestiones de repaso del capitulo 18
Cuestiones de repaso del capitulo 18
 
Cuestiones De Reapaso Cp. 17 Por. Victor Samaniego.
Cuestiones De Reapaso Cp. 17 Por. Victor Samaniego.Cuestiones De Reapaso Cp. 17 Por. Victor Samaniego.
Cuestiones De Reapaso Cp. 17 Por. Victor Samaniego.
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Último (13)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

Paper ieee

  • 1. REST (Arquitectura basada en Recursos) Universidad Técnica Particular de Loja, Ingeniería en Sistemas Informáticos y computación. Christopher Ortega, Victor Samaniego, Juan Sigcho cportega@utpl.edu.ec / vmsamaniego@utpl.edu.ec / jpsigcho@utpl.edu.ec 20 /Mayo/2010 Abstract Desde la aparición de los servicios Web han surgido diversas críticas debido a las limitaciones de éstos, algunas solventadas mediante la nueva generación y otras mediante la llamada Web Semántica. REST intenta abordar la resolución de dichos problemas dando un enfoque distinto al usado anteriormente. Este artículo pretende dar una visión general sobre la arquitectura REST, describiéndola en primer lugar, viendo luego como se relaciona con la Web y con estándares como SOAP y WSDL y terminando con un breve análisis práctico de la cuestión. Index Terms: Servicios Web, recursos, REST, URL, SOAP, URI, transferencia de estado. 1. INTRODUCCIÓN REST es el acrónimo de Transferencia de Estado Representacional, término usado por Roy Fielding (uno de los creadores de HTTP) para describir un Éste enfoque no aporta realmente nada nuevo: la estilo de arquitectura que utilizar como modelo en mayor parte de la Web sigue este estilo los sistemas de computación Web. No es un arquitectónico. Sin embargo, el autor hace énfasis estándar, sino un enfoque que muestra cómo en las características concretas que han hecho que la desarrollar y proporcionar servicios en Internet, por Web triunfe, que van a ser los objetivos buscados tanto considerado como un estilo arquitectónico por REST y que son, a su juicio: para diseño de software a gran escala. El propio • Escalabilidad en las interacciones entre autor lo define de manera concisa en éste párrafo componentes: La red ha ido creciendo de [1]: manera exponencial y se ha ido comportado “REST es un intento de mostrar cómo debe de manera satisfactoria. comportarse una aplicación Web bien diseñada: una red de páginas Web (una máquina de estados • Generalidad en las interfaces: Se virtual) donde el usuario progresará seleccionando proporciona acceso con distintos clientes y enlaces (transiciones de estado) que devuelven la con distintos mecanismos de acceso. página siguiente (el siguiente estado de la máquina) que el usuario manejará a su gusto”.
  • 2. Desarrollo independiente de componentes: luego como muestra la Fig. 2, no es necesario que Implementaciones cliente y servidor pueden ésta sea entendida tanto en el cliente como en el servidor. ser desarrolladas en distintos momentos. • Existencia de componentes intermediarios con los cuales existe compatibilidad (como proxys) que permiten encapsulación e integración de sistemas no Web dentro de la misma. 1.1. Principios de diseño Uso de hipermedios para representar el estado de una aplicación, permitiendo que el estado de una Los objetivos citados van a ser conseguidos aplicación Web particular esté almacenado en uno o imponiendo una serie de restricciones: más documentos de hipertexto que residen bien en El estado y la funcionalidad de las aplicaciones se el servidor o en el cliente. Esto permite al servidor representan por forma de recursos. saber el estado de sus recursos sin necesidad de almacenar el estado de de los clientes concretos. La identificación de recursos se realiza de forma única global mediante Uniform Resource Como ya se mencionó, REST se trata de un estilo Identifiers. Los recursos identificados con URIs son arquitectónico, no un estándar. Sin embargo hace los objetos lógicos a los cuales se les mandan los uso de varios estándares Web: mensajes. • HTTP [RFC 1945]: HyperText Transfer Manipulación de recursos a través de Protocol. representaciones, luego no se manejan directamente • URL [RFC 1738] (Uniform Resource los recursos, sino sus representaciones. Locator) como el mecanismo de Todos los recursos comparten un interfaz uniforme identificación de recursos. formado por: • XML / HTML / PNG / etc.. como distintos • Un conjunto de operaciones limitado para formatos de representación de recursos. transferir el estado. Se van a aprovechar las operaciones que HTTP define, mostradas en • Tipos MIME, como text/xml, text/html, la Fig. 1: image/png, etc. METODO FUNCION 2. SOAP vs. REST GET Solicitar Recurso POST Crear recurso nuevo SOAP [W3C-SOAP] [10] y los Servicios Web [8] PUT Actualizar o modificar recurso han revolucionado el panorama de los sistemas DELETE Borrar recurso distribuidos, usando tecnologías y estándares Figura#1: Operaciones que define HTTP desarrollados por el W3C [11] (World Wide Web Consortium). Los defensores de REST encuentran a éste modelo una serie de limitaciones que pueden Uso de un protocolo cliente/servidor, sin estado y ser superadas adoptando otro enfoque distinto. basado en capas. Cada mensaje HTTP contendrá la información necesaria para comprender la petición,
  • 3. Como suele pasar en éstos casos, la discusión en En contraste con las tecnologías basadas en SOAP, ocasiones toma tintes políticos al unir SOAP con donde todos los nombres de los métodos y Microsoft. convenciones necesitan ser conocidas, los clientes HTTP pueden comunicarse con servidores sin necesidad de realizar ninguna operación de 2.1. Diferencia de enfoque configuración. De este modo se logra la “generalización de interfaces” ya comentada Los Servicios Web SOAP están basados en Remote anteriormente. Procedure Calling (RPC). En RPC, el énfasis se pone en la diversidad de operaciones (o verbos). Así La parte negativa del enfoque consiste en que HTTP pues, una aplicación puede definir un conjunto de no proporciona ningún método estándar para operaciones como las que se muestra en el código 1 descubrir recursos (operaciones del estilo FIND o [9] LIST que se corresponderían con las mostradas en el ejemplo RPC). Para solucionarlo, las aplicaciones REST tratan un conjunto de resultados de búsqueda como otro tipo de recurso, requiriendo pues que los diseñadores de aplicaciones conozcan direcciones adicionales para listar las búsquedas de cada tipo de Código 1: Operaciones definidas con RPC recurso. Así pues, una petición GET sobre la URL anterior podría devolver un enlace a una lista de REST pone el énfasis en la diversidad de recursos ficheros en XML con las localizaciones posibles en (nombres). Para la misma aplicación bastaría con Oviedo, mientras que la petición GET a definir dos tipos de recursos: http://www.example.org/users?apellido=Alonso User {} Location{} devolvería una lista de enlaces a todos los usuarios con el apellido “Alonso”. Código 2: Recursos definidos con REST La iniciativa OpenSearch [12] intenta estandarizar Cada recurso va a tener su propia localización, las búsquedas que usan REST estableciendo identificada por un URL (consideremos en éste caso especificaciones recursos, así como un formato http://www.example.org/locations/spain/oviedo). genérico para los sistemas basados en REST. Un registro del recurso usuario podría tener el siguiente aspecto: 2.2. Uso de la Web y URLs. Según los propios creadores de la Web [6], el principal objetivo de ésta es crear un espacio para compartir la información. Los sistemas pueden participar publicando objetos y servicios en el mismo. Ésta idea se refleja en la visión del W3C acerca del futuro arquitectónico de la Web: Los recursos pueden ser, copiados o marcados. Las operaciones que los clientes pueden realizar vendrán determinadas por las operaciones HTTP estándar, luego un cliente podría solicitar un recurso (como el registro XML anterior) con una petición GET, posteriormente modificarlo y subirlo de nuevo usando una petición PUT.
  • 4. Una vez creado el sitio web, para tener acceso a este invocamos al puerto 8080 seguido del nombre de la carpeta que contiene el servidor web (aplicación, imágenes, llamadas a métodos por parte del servidor) para que el cliente pueda acceder. Para que el cliente acceda al sitio web tiene que ingresar a la siguiente dirección: http://localhost 8080/vhmotors La aplicación web se encuentra disponible con un La terminología usada es muy distinta de la usada dominio propio y un hosting propulsado por la con los Servicios Web basados en SOAP, donde es empresa Patio tuerca. común hablar de la Web como un “transporte” para El objetivo principal de la aplicación web es mensajes que esencialmente son interpretados por publicación y venta de vehículos ingresados en el sistemas externos. En éste caso, la Web es sitio web. Los vehículos se encuentran clasificados simplemente un medio de transporte para los por marca y por tipo, para que la búsqueda sea más sistemas. Éste enfoque es destructivo a la larga, rápida. porque dos aplicaciones que se comunican de éste modo no han establecido un diálogo común con las Para acceder a la aplicación en la web ingresamos a otras dos. la dirección: http://vhmotors.com/ Estos sistemas tampoco han adoptado el modelo Web para el uso de URIs, pues cada aplicación puede establecer su propio espacio de nombres desde cero, en lugar de usar URIs como un mecanismo de direccionamiento. Los estándares no han sido diseñados para usar URIs como identificadores de recursos (cada WSDL describe sólo un recurso Web, siendo imposible describir enlaces a otros recursos). Las WSDL nos permiten acceder al servicio web basado en REST. Al momento de crear nuestro sitio web accedemos al puerto 8080, seguido del nombre del servidor, finalmente todo esto se almacena en la WSDL que sería el método de invocación al servidor HTTP por parte de la arquitectura REST. Para la transmisión de datos en la aplicación web utilizamos objetos de tipo XML y JSON que su funcionalidad es la misma, a diferencia de que en Como podemos observar en el sitio web, la JSON vamos a crear un método para cada modulo información se encuentra ordenada y clasificada de operación. En el caso del proyecto se ha utilizado para que un usuario pueda elegir la marca o el tipo objetos JSON para las operaciones de publicación de vehículo publicado. de vehículos en el sitio web.
  • 5. El fondo de la página web, diseño y las imágenes 2.4. Escenarios aplicables cumplen con los estándares y normas fijadas por la ingeniería web, a fin de que el sitio sea bastante Las principales ventajas aportadas por REST son: agradable al usuario. [5] Las imágenes que posee la página web tienen un • Mejores tiempos de respuesta y disminución formato JPEG a fin de que no sean muy pesadas y de carga en servidor. la página pueda ser rápida al momento de elegir un • Mayor escalabilidad al no requerir vehículo. mantenimiento de estado. • Facilita desarrollo de clientes. • Mayor estabilidad frente a futuros cambios. 2.3 Implementaciones públicas • Permite creación independiente de los tipos de documentos, sin afectar a los anteriores. Dado que la definición de REST es muy amplia, es posible afirmar que existe un enorme número de Dichas ventajas aconsejan su uso en una serie de aplicaciones REST en la red (prácticamente escenarios localizados: cualquier cosa accesible mediante una petición • Cuando los recursos van a estar disponibles HTTP GET). De forma más restrictiva, y si lo para un grupo de usuarios desconocidos valoramos en contraposición a los Servicios Web y potencialmente grande. el RPC, REST puede encontrarse en distintas áreas • Cuando el propósito de la aplicación es de la Web: mandar información. La mayor parte de los blogs están basados en REST, • Cuando está previsto que la aplicación dado que implica descarga de ficheros XML (en crezca continuamente. formato RSS o Atom) que contienen listas de • Cuando el uso de recursos hardware (CPU, enlaces a otros recursos. memoria, ancho de banda…) no es determinante. • Amazon.com [13] ofrece su interfaz para • Cuando la gestión del estado de la desarrolladores tanto en formato REST aplicación es simple. como en formato SOAP (siendo la versión REST la que recibe mayor tráfico). Pionera Existen sin embargo una serie de situaciones en las en el uso de REST, ofrece una base de datos cuales no nos será útil: con todos los productos que vende. • Situaciones donde la seguridad de los datos es determinante. • Ebay [14] ofrece un interfaz REST para • Cuando el propósito principal de la desarrolladores, permitiendo la consulta de aplicación es recibir y procesar grandes productos a través del método cantidades de información. GetSearchResults(). • Cuando el uso de los recursos hardware es determinante. • YoutTube [16], Yahoo [15] , Flickr [17] u • Cuando la gestión del estado de la otros también ofrecen un conjunto de aplicación no es trivial. interfaces “REST” (algunos de estos sistemas no respetan las restricciones estructurales dadas por REST de manera intencionada, mientras que otros las cumplen de manera accidental).
  • 6. 3. Conclusiones http://www.ics.uci.edu/~fielding/pubs/dissertation/t op.htm El análisis realizado nos permite ver las siguientes carencias en la arquitectura: [2] Przybilski, Michael. “REST: Representational State Transfer”. Universidad de Helsinki, 2006 • Hoy por hoy, el monopolio de los servicios www.cs.helsinki.fi/u/chande/courses/cs/MWS/repor Web es mantenido por SOAP. ts/MichaelPrzybilski_REST.pdf • Existe una carencia de documentación REST bastante importante (sufrida al tratar [3] Prescod, Paul. “REST and the Real World” de encontrar documentación para éste http://www.xml.com/pub/a/2002/02/20/rest.html artículo, pues las fuentes son bastante reducidas). [4] Prescod, Paul. “SOAP, REST and • Existen escasas implementaciones de Interoperability” referencia y ejemplos prácticos que http://www.prescod.net/rest/standardization.html acerquen la arquitectura al programador común. [5] CuboVelázquez, Alberto. “Representational • La arquitectura de software basada en REST State Transfer (REST). Un estilo de arquitectura nos permite realizar bastantes aplicaciones para Servicios Web. Panorámica y estado del arte.” comerciales, blogs, comercio electrónico, http://trajano.us.es/~antonio/proyecto- entre otras. REST.doc#_Toc139162493 • Varios desarrolladores no conocen todavía el uso de la arquitectura de software REST, [6] Tim Berners-Lee. The world wide web: Past, ya que es bastante nueva y disponible en las present and future. versiones de NET-BEANS 6.5 y 8.0 http://www.w3.org/People/Berners- utilizando Java. Lee/1996/ppf.html. • La tecnología REST de java, al igual que 4.2. Wikipedia AJAX propuesto por Visual Studio 2005 y 2008 nos sirven para realizar páginas web [7] http://es.wikipedia.org/wiki/URI más dinámicas. • Para crear un servicio web en REST [8] http://es.wikipedia.org/wiki/Servicio_Web debemos importar la base de datos MYSQL [9]http://en.wikipedia.org/wiki/Representational_St en NET-BEANS 8.0 y luego crear el ate_Transfer servicio web REST de manera sencilla sin implementar código, ya que este es oculto y [10] http://en.wikipedia.org/wiki/SOAP crea automáticamente los métodos HTTP 4.3. Recursos Web: que son: GET, PUT, POST y DELETE. [11] Consorcio W3C. http://www.w3c.org [12] OpenSearch: http://opensearch.a9.com/ 4.- Referencias [13]Amazon: 4.1. Artículos http://www.amazon.com/gp/aws/landing.html [1] Fielding, Roy T. “Architectural Styles and the [14]Ebay: site: http://developer.ebay.com/rest/ Design of Networkbased Software Architectures.” Tesis Doctoral, Universidad de California, 2000. [15]Yahoo: site http://developer.yahoo.com/
  • 7. [16]YouTube: http://www.youtube.com/dev_rest [17]Flickr: site http://www.flickr.com/services/api/ 4.4. Especificaciones [RFC1738],URL: http://www.faqs.org/rfcs/rfc1738.html [RFC2396],URI: http://www.faqs.org/rfcs/rfc2396.html [RFC1945],HTTP: http://www.faqs.org/rfcs/rfc1945.html [W3C-SOAP],SOAP: http://www.w3.org/TR/2002/WD-soap12-part0- 20020626/