SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Introducción a
WS-REST
Ing. Guillermo Roldós
Agosto 2010
INCO - Facultad de Ingeniería – Montevideo, Uruguay 2
Agenda
Descripción general
Arquitectura orientada a recursos (ROA)
Soporte Java y .NET
Calidad de servicio
Casos de estudio
Dominios de aplicación
Integración con otras tecnologías
INCO - Facultad de Ingeniería – Montevideo, Uruguay 3
Descripción General
Por qué surge REST
WS-* es muy completo pero muy complejo
Es un estilo de arquitectura, no es una
especificación ni un estándar
Surge de la tesis de doctorado de Roy
Fielding
Define restricciones para que un sistema sea
REST
Se basa en la Web estática
INCO - Facultad de Ingeniería – Montevideo, Uruguay 4
Descripción General
Principios o Restricciones
Recursos deben ser uniformemente accesibles
(URI única)
Recursos son accedidos y actualizados por
operaciones GET, POST, PUT, DELETE
Metadatos para describir recursos
Comunicación entre cliente y servidor debe ser
stateless
INCO - Facultad de Ingeniería – Montevideo, Uruguay 5
Descripción General
Recursos
Cualquier cosa que
pueda identificar usando
una URI
URI
Dirección universal a un
recurso
Representación
Lo que se envía al
cliente cuando solicita
un recurso
INCO - Facultad de Ingeniería – Montevideo, Uruguay 6
Descripción General
Funcionamiento
Orientado a recursos, no a operaciones
Una invocación REST es un request HTTP
Las operaciones sobre recursos son limitadas
Operación Método HTTP
Create POST
Retrieve GET
Update PUT
Delete DELETE
INCO - Facultad de Ingeniería – Montevideo, Uruguay 7
Descripción General
Ejemplo de invocación REST
URI de la solicitud
Método Formatos
aceptados para la
representación
Formato en que se
envía la respuesta
Código de
respuesta
INCO - Facultad de Ingeniería – Montevideo, Uruguay 8
Descripción General
Que ocurrió en el servidor
INCO - Facultad de Ingeniería – Montevideo, Uruguay 9
Descripción General
Servicios REST híbridos
Servicios que dicen ser REST pero no lo son
totalmente
Ejemplo: servicio Flickr de Yahoo
http://api.flickr.com/services/rest?method=flickr.g
alleries.getList&api_key=1111
http://api.flickr.com/services/rest?method=flickr.g
alleries.create&api_key=1111
Llamada RPC con
apariencia REST
Se crean recursos
usando método GET
INCO - Facultad de Ingeniería – Montevideo, Uruguay 10
Descripción General
REST vs WS-*
REST WS-*
Orientado a recursos Orientado a operaciones
Busca escalabilidad y performance Busca interoperabilidad
Ve la Web como un gran repositorio Ve la Web como medio para
intercambio de mensajes
Conjunto limitado de operaciones Operaciones ilimitadas
Servidor stateless Stateless o stateful
Navegación a través de links Grafo de estados debe conocerse
No hay estándares de seguridad,
transaccionalidad, etc.
Existe stack WS-*
INCO - Facultad de Ingeniería – Montevideo, Uruguay 11
Descripción General
Conclusiones
Ninguno es mejor que el otro a priori
SOAP es mejor para integrar Sistemas
heterogéneos, código legado, etc.
REST es mejor para aplicaciones Web dirigidas a
clientes desconocidos
INCO - Facultad de Ingeniería – Montevideo, Uruguay 12
Arquitectura orientada a
recursos
Es importante formalizar una arquitectura
Basado en axiomas
Los recursos son abstractos y se pueden
representar por al menos una URI
Las representaciones son inmutables
Existe al menos una URI para cada recurso
Cada solicitud al servidor es independiente de
todas las otras
INCO - Facultad de Ingeniería – Montevideo, Uruguay 13
Arquitectura orientada a
recursos
Navegabilidad
Brindada a través de links en las propias
representaciones
Interface única
Usar métodos GET, POST, PUT, DELETE
No usar GET para crear recursos
En lo posible usar operaciones idempotentes
INCO - Facultad de Ingeniería – Montevideo, Uruguay 14
Arquitectura orientada a
recursos
Guía para el diseño de un servicio REST
Identificar los recursos del Sistema
Diseñar las URIs
Definir las operaciones disponibles sobre cada
recurso
Definir tipos de representación que se aceptarán
Definir un esquema de seguridad
INCO - Facultad de Ingeniería – Montevideo, Uruguay 15
Soporte Java
Especificación JAX-RS
Usa annotations sobre clases POJO
Es posible especificar recursos, paths,
operaciones, etc.
@Path("/printers")
public class PrintersResource {
@GET
public WebResourceList getMyResources() { ... }
@GET @Path("/list")
public WebResourceList getListOfPrinters() { ... }
}
INCO - Facultad de Ingeniería – Montevideo, Uruguay 16
Arquitectura orientada a
recursos
Implementaciones de JAX-RS
Jersey es la implementación de referencia
RESTEasy es provista por JBoss
Se integra con otros containers
Permite la integración con EJB y Spring
Incluye un Client Framework para simplificar el
desarrollo de clientes
INCO - Facultad de Ingeniería – Montevideo, Uruguay 17
Soporte .NET
Incluido en Windows Communication
Foundation
A través del WCF REST Programming Model
Se mapean los servicios expuestos y su
implementación
[ServiceContract]
interface ICustomer
{
[OperationContract]
[WebGet( UriTemplate="customers/{id}" )]
Customer GetCustomer( string id ):
[OperationContract]
[WebInvoke( UriTemplate="customers/{id}", Method="PUT" )]
Customer UpdateCustomer( string id, Customer newCustomer );
}
INCO - Facultad de Ingeniería – Montevideo, Uruguay 18
Soporte .NET
WCF REST Starter Kit
A partir de la versión 3.5 SP1 del .NET
Framework
Incluye nuevos templates para Visual Studio
Otras funcionalidades
Página de ayuda autogenerada
Manejo de excepciones
Soporte de cache
Desarrollo de clientes HTTP
INCO - Facultad de Ingeniería – Montevideo, Uruguay 19
Calidad de servicio
Especificaciones REST-*
Buscan emular a WS-*
Muy inmaduras e incompletas
Mucho campo para aportar
INCO - Facultad de Ingeniería – Montevideo, Uruguay 20
Calidad de servicio
Especificaciones REST-* con avances
Mensajería
Transacciones
Especificaciones REST-* sin avances
Workflow y BPM
Caching
Compensaciones
INCO - Facultad de Ingeniería – Montevideo, Uruguay 21
Calidad de servicio
O-Auth
Estándar que
permite compartir
recursos
El dueño no tiene
que compartir
credenciales
INCO - Facultad de Ingeniería – Montevideo, Uruguay 22
Dominios de aplicación
e-Commerce
Todos los sitios proveen interfaces REST
La gran mayoría son híbridas
Principales problemas
Seguridad
Carrito de compras client-side
INCO - Facultad de Ingeniería – Montevideo, Uruguay 23
Dominios de aplicación
eBay Shopping API
Para buscar productos por palabra clave (en este
caso “harry potter”
http://open.api.ebay.com/shopping?callname=FindProducts
&responseencoding=XML
&appid=YourAppIDHere
&siteid=0
&version=525
&QueryKeywords=harry%20potter
&AvailableItemsOnly=true
&MaxEntries=2
Más información en:
http://developer.ebay.com/products/shopping
INCO - Facultad de Ingeniería – Montevideo, Uruguay 24
Dominios de aplicación
Social Networking
Los sitios más importantes proveen interfaces
REST
OpenSocial
API genérica
Permite integrar información de diferentes sitios
sociales
INCO - Facultad de Ingeniería – Montevideo, Uruguay 25
Dominios de aplicación
Facebook
API híbrida
https://api.facebook.com/method/users.getInfo?uids=4
&fields=name
&access_token=...
Twitter
API puramente REST
Para obtener últimos 5 tweets públicos
http://twitter.com/statuses/public_timeline.xml&count=5
INCO - Facultad de Ingeniería – Montevideo, Uruguay 26
Dominios de aplicación
Sistemas de Información Geográfica
Existen formatos de representación específicos
para GIS (ej. KML)
Aplicaciones con interfaces REST
ArcGIS
OpenStreetMap
INCO - Facultad de Ingeniería – Montevideo, Uruguay 27
Dominios de aplicación
ArcGIS
Conjunto de aplicaciones para gestionar
información geográfica
Formato de URL básica
http://<host>/<instance>/rest/services/<folderName>
Ej, para obtener información de un layer
http://<catalog-url>/<serviceName>/MapServer/<layerId>
INCO - Facultad de Ingeniería – Montevideo, Uruguay 28
Dominios de aplicación
OpenStreetMap
Servicio que provee información geográfica a
nivel mundial
Actualizado por los usuarios al estilo Wikipedia
La unidad básica de información es el changeset
Para crear un changeset, enviar PUT a esta URL
http://api.openstreetmap.org/api/0.6/changeset/create
En la respuesta se envía el Id del changeset
creado
INCO - Facultad de Ingeniería – Montevideo, Uruguay 29
Dominios de aplicación
Bases de Datos
OData
Protocolo para acceder y actualizar datos en
diferentes formatos, vía HTTP
Soportado por:
MS Sharepoint 2010
IBM WebSphere
MS SQL Azure
Azure Table Storage
INCO - Facultad de Ingeniería – Montevideo, Uruguay 30
Dominios de aplicación
Formato de URI OData
Service Root
Documento expuesto por el servicio
Resource Path
Path al recurso que se busca
Query options
Opciones de búsqueda
INCO - Facultad de Ingeniería – Montevideo, Uruguay 31
Integración con otras
tecnologías
Mashups
Simplifica la obtención de información de fuentes
heterogéneas
No es necesario definir interfaces particulares
Hay pocas iniciativas en este sentido
INCO - Facultad de Ingeniería – Montevideo, Uruguay 32
Integración con otras
tecnologías
ESB
Es importante que brinden soporte REST para
que más sistemas se puedan comunicar
Hoy lo soportan:
Mule (ESB opensource)
IBM WebSphere ESB
INCO - Facultad de Ingeniería – Montevideo, Uruguay 33
Conclusiones
Surgimiento con fuerza de REST como
alternativa a los Web Services tradicionales
No solo cambia el formato de la
comunicación sino que es una nueva forma
de pensar las interfaces

Más contenido relacionado

Similar a Introducción a WS-REST

10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...Luis Fernando Aguas Bucheli
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxLuisTenorio42
 
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...Luis Fernando Aguas Bucheli
 
13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)
13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)
13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)Luis Fernando Aguas Bucheli
 
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
 
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 vswebservicesmahumadas
 
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
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptxmedina2966
 
Servicios Web II.ppt
Servicios Web II.pptServicios Web II.ppt
Servicios Web II.pptDiegoRomn20
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con RESTAlex Puig
 
Arquitectura de paginas web
Arquitectura de paginas webArquitectura de paginas web
Arquitectura de paginas webAime Rodriguez
 

Similar a Introducción a WS-REST (20)

10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptx
 
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
 
13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)
13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)
13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
 
Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
S4-PD2-REST-REST FULL
S4-PD2-REST-REST FULLS4-PD2-REST-REST FULL
S4-PD2-REST-REST FULL
 
Tsi2 07-web-services
Tsi2 07-web-servicesTsi2 07-web-services
Tsi2 07-web-services
 
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
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
REST
RESTREST
REST
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Rest clase 4 - curso front-end 2014 - open webinars
Rest   clase 4 - curso front-end 2014 - open webinarsRest   clase 4 - curso front-end 2014 - open webinars
Rest clase 4 - curso front-end 2014 - open webinars
 
Paper ieee
Paper ieeePaper ieee
Paper ieee
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
Portales y portlets web
Portales y portlets webPortales y portlets web
Portales y portlets web
 
T final modulo_1
T final modulo_1T final modulo_1
T final modulo_1
 
Servicios Web II.ppt
Servicios Web II.pptServicios Web II.ppt
Servicios Web II.ppt
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
Arquitectura de paginas web
Arquitectura de paginas webArquitectura de paginas web
Arquitectura de paginas web
 

Introducción a WS-REST

  • 2. INCO - Facultad de Ingeniería – Montevideo, Uruguay 2 Agenda Descripción general Arquitectura orientada a recursos (ROA) Soporte Java y .NET Calidad de servicio Casos de estudio Dominios de aplicación Integración con otras tecnologías
  • 3. INCO - Facultad de Ingeniería – Montevideo, Uruguay 3 Descripción General Por qué surge REST WS-* es muy completo pero muy complejo Es un estilo de arquitectura, no es una especificación ni un estándar Surge de la tesis de doctorado de Roy Fielding Define restricciones para que un sistema sea REST Se basa en la Web estática
  • 4. INCO - Facultad de Ingeniería – Montevideo, Uruguay 4 Descripción General Principios o Restricciones Recursos deben ser uniformemente accesibles (URI única) Recursos son accedidos y actualizados por operaciones GET, POST, PUT, DELETE Metadatos para describir recursos Comunicación entre cliente y servidor debe ser stateless
  • 5. INCO - Facultad de Ingeniería – Montevideo, Uruguay 5 Descripción General Recursos Cualquier cosa que pueda identificar usando una URI URI Dirección universal a un recurso Representación Lo que se envía al cliente cuando solicita un recurso
  • 6. INCO - Facultad de Ingeniería – Montevideo, Uruguay 6 Descripción General Funcionamiento Orientado a recursos, no a operaciones Una invocación REST es un request HTTP Las operaciones sobre recursos son limitadas Operación Método HTTP Create POST Retrieve GET Update PUT Delete DELETE
  • 7. INCO - Facultad de Ingeniería – Montevideo, Uruguay 7 Descripción General Ejemplo de invocación REST URI de la solicitud Método Formatos aceptados para la representación Formato en que se envía la respuesta Código de respuesta
  • 8. INCO - Facultad de Ingeniería – Montevideo, Uruguay 8 Descripción General Que ocurrió en el servidor
  • 9. INCO - Facultad de Ingeniería – Montevideo, Uruguay 9 Descripción General Servicios REST híbridos Servicios que dicen ser REST pero no lo son totalmente Ejemplo: servicio Flickr de Yahoo http://api.flickr.com/services/rest?method=flickr.g alleries.getList&api_key=1111 http://api.flickr.com/services/rest?method=flickr.g alleries.create&api_key=1111 Llamada RPC con apariencia REST Se crean recursos usando método GET
  • 10. INCO - Facultad de Ingeniería – Montevideo, Uruguay 10 Descripción General REST vs WS-* REST WS-* Orientado a recursos Orientado a operaciones Busca escalabilidad y performance Busca interoperabilidad Ve la Web como un gran repositorio Ve la Web como medio para intercambio de mensajes Conjunto limitado de operaciones Operaciones ilimitadas Servidor stateless Stateless o stateful Navegación a través de links Grafo de estados debe conocerse No hay estándares de seguridad, transaccionalidad, etc. Existe stack WS-*
  • 11. INCO - Facultad de Ingeniería – Montevideo, Uruguay 11 Descripción General Conclusiones Ninguno es mejor que el otro a priori SOAP es mejor para integrar Sistemas heterogéneos, código legado, etc. REST es mejor para aplicaciones Web dirigidas a clientes desconocidos
  • 12. INCO - Facultad de Ingeniería – Montevideo, Uruguay 12 Arquitectura orientada a recursos Es importante formalizar una arquitectura Basado en axiomas Los recursos son abstractos y se pueden representar por al menos una URI Las representaciones son inmutables Existe al menos una URI para cada recurso Cada solicitud al servidor es independiente de todas las otras
  • 13. INCO - Facultad de Ingeniería – Montevideo, Uruguay 13 Arquitectura orientada a recursos Navegabilidad Brindada a través de links en las propias representaciones Interface única Usar métodos GET, POST, PUT, DELETE No usar GET para crear recursos En lo posible usar operaciones idempotentes
  • 14. INCO - Facultad de Ingeniería – Montevideo, Uruguay 14 Arquitectura orientada a recursos Guía para el diseño de un servicio REST Identificar los recursos del Sistema Diseñar las URIs Definir las operaciones disponibles sobre cada recurso Definir tipos de representación que se aceptarán Definir un esquema de seguridad
  • 15. INCO - Facultad de Ingeniería – Montevideo, Uruguay 15 Soporte Java Especificación JAX-RS Usa annotations sobre clases POJO Es posible especificar recursos, paths, operaciones, etc. @Path("/printers") public class PrintersResource { @GET public WebResourceList getMyResources() { ... } @GET @Path("/list") public WebResourceList getListOfPrinters() { ... } }
  • 16. INCO - Facultad de Ingeniería – Montevideo, Uruguay 16 Arquitectura orientada a recursos Implementaciones de JAX-RS Jersey es la implementación de referencia RESTEasy es provista por JBoss Se integra con otros containers Permite la integración con EJB y Spring Incluye un Client Framework para simplificar el desarrollo de clientes
  • 17. INCO - Facultad de Ingeniería – Montevideo, Uruguay 17 Soporte .NET Incluido en Windows Communication Foundation A través del WCF REST Programming Model Se mapean los servicios expuestos y su implementación [ServiceContract] interface ICustomer { [OperationContract] [WebGet( UriTemplate="customers/{id}" )] Customer GetCustomer( string id ): [OperationContract] [WebInvoke( UriTemplate="customers/{id}", Method="PUT" )] Customer UpdateCustomer( string id, Customer newCustomer ); }
  • 18. INCO - Facultad de Ingeniería – Montevideo, Uruguay 18 Soporte .NET WCF REST Starter Kit A partir de la versión 3.5 SP1 del .NET Framework Incluye nuevos templates para Visual Studio Otras funcionalidades Página de ayuda autogenerada Manejo de excepciones Soporte de cache Desarrollo de clientes HTTP
  • 19. INCO - Facultad de Ingeniería – Montevideo, Uruguay 19 Calidad de servicio Especificaciones REST-* Buscan emular a WS-* Muy inmaduras e incompletas Mucho campo para aportar
  • 20. INCO - Facultad de Ingeniería – Montevideo, Uruguay 20 Calidad de servicio Especificaciones REST-* con avances Mensajería Transacciones Especificaciones REST-* sin avances Workflow y BPM Caching Compensaciones
  • 21. INCO - Facultad de Ingeniería – Montevideo, Uruguay 21 Calidad de servicio O-Auth Estándar que permite compartir recursos El dueño no tiene que compartir credenciales
  • 22. INCO - Facultad de Ingeniería – Montevideo, Uruguay 22 Dominios de aplicación e-Commerce Todos los sitios proveen interfaces REST La gran mayoría son híbridas Principales problemas Seguridad Carrito de compras client-side
  • 23. INCO - Facultad de Ingeniería – Montevideo, Uruguay 23 Dominios de aplicación eBay Shopping API Para buscar productos por palabra clave (en este caso “harry potter” http://open.api.ebay.com/shopping?callname=FindProducts &responseencoding=XML &appid=YourAppIDHere &siteid=0 &version=525 &QueryKeywords=harry%20potter &AvailableItemsOnly=true &MaxEntries=2 Más información en: http://developer.ebay.com/products/shopping
  • 24. INCO - Facultad de Ingeniería – Montevideo, Uruguay 24 Dominios de aplicación Social Networking Los sitios más importantes proveen interfaces REST OpenSocial API genérica Permite integrar información de diferentes sitios sociales
  • 25. INCO - Facultad de Ingeniería – Montevideo, Uruguay 25 Dominios de aplicación Facebook API híbrida https://api.facebook.com/method/users.getInfo?uids=4 &fields=name &access_token=... Twitter API puramente REST Para obtener últimos 5 tweets públicos http://twitter.com/statuses/public_timeline.xml&count=5
  • 26. INCO - Facultad de Ingeniería – Montevideo, Uruguay 26 Dominios de aplicación Sistemas de Información Geográfica Existen formatos de representación específicos para GIS (ej. KML) Aplicaciones con interfaces REST ArcGIS OpenStreetMap
  • 27. INCO - Facultad de Ingeniería – Montevideo, Uruguay 27 Dominios de aplicación ArcGIS Conjunto de aplicaciones para gestionar información geográfica Formato de URL básica http://<host>/<instance>/rest/services/<folderName> Ej, para obtener información de un layer http://<catalog-url>/<serviceName>/MapServer/<layerId>
  • 28. INCO - Facultad de Ingeniería – Montevideo, Uruguay 28 Dominios de aplicación OpenStreetMap Servicio que provee información geográfica a nivel mundial Actualizado por los usuarios al estilo Wikipedia La unidad básica de información es el changeset Para crear un changeset, enviar PUT a esta URL http://api.openstreetmap.org/api/0.6/changeset/create En la respuesta se envía el Id del changeset creado
  • 29. INCO - Facultad de Ingeniería – Montevideo, Uruguay 29 Dominios de aplicación Bases de Datos OData Protocolo para acceder y actualizar datos en diferentes formatos, vía HTTP Soportado por: MS Sharepoint 2010 IBM WebSphere MS SQL Azure Azure Table Storage
  • 30. INCO - Facultad de Ingeniería – Montevideo, Uruguay 30 Dominios de aplicación Formato de URI OData Service Root Documento expuesto por el servicio Resource Path Path al recurso que se busca Query options Opciones de búsqueda
  • 31. INCO - Facultad de Ingeniería – Montevideo, Uruguay 31 Integración con otras tecnologías Mashups Simplifica la obtención de información de fuentes heterogéneas No es necesario definir interfaces particulares Hay pocas iniciativas en este sentido
  • 32. INCO - Facultad de Ingeniería – Montevideo, Uruguay 32 Integración con otras tecnologías ESB Es importante que brinden soporte REST para que más sistemas se puedan comunicar Hoy lo soportan: Mule (ESB opensource) IBM WebSphere ESB
  • 33. INCO - Facultad de Ingeniería – Montevideo, Uruguay 33 Conclusiones Surgimiento con fuerza de REST como alternativa a los Web Services tradicionales No solo cambia el formato de la comunicación sino que es una nueva forma de pensar las interfaces