3. Agenda
• Introducción
• Especificación REST
• Definir la necesidad de WS
• Spring Android
• Ejemplo
• Preguntas y Respuestas
4. Introducción
• El tema principal es como consumir recursos vía
Web Service desde un dispositivo Android.
• Se usara la especificación RESfull Web Services
• Alternativas de API’s ó Frameworks:
– RESTLET
– Spring Android
– GSON
– JAXB
5. REST ( Representational State Transfer)
• REST nace como un alternativa a SOAP/WSDL/WS
basado en una arquitectura distribuida.
• REST permite escalabilidad, es un protocolo cliente
servidor
• Usa métodos HTTP:
– POST, GET, PUT, DELETE
• Expone una estructura de URL de forma de
directorio
• Transmite XML, JavaScript Object Notation (JSON).
– Usa xml ó JSON para representar datos de objetos o atributos.
6. Como consumir recursos de un servidor
Remoto.
Problema.
• Android provee clientes HTTP para realizar conexiones y peticiones
HTTP, pero no tiene la característica de soportar REST como cliente.
Solucion Spring Android.
• El objetivo de spring android es proveer un fácil uso y dar la
funcionalidad de un cliente REST, que soporte objetos JSON y XML
• En esta exposición se usara esta alternativa de solución.
7. Spring Android Rest Template
Spring RestTemplate es un robusto y popular cliente REST basado en
Java, y Spring Android provee una versión RestTemplate que trabaja
en entornos Android.
La clase RestTemplate es el corazón del Framework.
• 6 principales métodos HTTP
– DELETE - delete(...)
– GET - getForObject(...)
– HEAD - headForHeaders(...)
– OPTIONS - optionsForAllow(...)
– POST - postForLocation(...)
– PUT - put(...)
– Cualquier operacion HTTP - exchange(...) y execute(...)
8. Spring Android Rest Template
Spring Android también usa otras librerías estándar como parte
complementaria.
• Cliente HTTP
– El HttpComponents HttpClient es un HTTP cliente nativo disponible
en la plataforma Android
– HttpComponentsClientHttpRequestFactory
• Conversores de Mensaje
– JacksonHttpMessageConverter – mapea un objeto a un objeto
JSON
– SimpleXmlHttpMessageConverter – mapea un objeto a un objeto
XML