jueves, 28 de abril de 2011

Conectando RESTful Web Services en Android

Connecting  RESTful Web Services on Android




Antecedentes:
Existen dos filosofías a la hora de escribir servicios web:
  1. REST: utiliza XML, JSON y HTTP. Cada URL representa un objeto sobre el que puedes realizar POST,GET,PUT y DELETE (las operaciones típicas del HTTP).
  2. SOAP: es toda una infraestructura basada en XML. Donde cada objeto puede tener métodos definidos por el programador con los parámetros que sean necesarios.

Ventajas de REST
  1. Ligero: tranferencia de objetos JSON o XML.
  2. Resultados legibles.
  3. Fácil de implementar: no hacen falta herramientas específicas.

Ventajas de SOAP
  1. Fácil de consumir
  2. Rigido: tipado fuerte, sigue un contrato
  3. Herramientas de desarrollo

Android provee clientes HTTP para realizar conexiones y peticiones HTTP, pero no tiene la característica de soportar REST como cliente.

Introduccion:

REST (Representational State Transfer), en esencia, consiste en utilizar la especificación HTTP correctamente, este fue ganando amplia adopción en toda la web como una alternativa más simple a SOAP y a los servicios web basados en el Lenguage de Descripción de Servicios Web (Web Services Descripcion Language - WSDL). Las grandes empresas del Web 2.0 (Yahoo, Google y Facebook, etc), estan usando rest quienes marcaron como obsoletos a sus servicios SOAP y WSDL y pasaron a usar un modelo más facil de usar, orientado a los recursos.