Escribir service web SOAP vs RESTFUL para usar en aplicaciones para iPhone, Android y Windows Phone

Tengo un website que se ejecuta en PHP y necesito desarrollar aplicaciones para el mismo en plataforms Android, iOS y Windows Phone. Creo que necesito crear web services para search datos del website, pero no estoy muy familiarizado con él.

¿Cuál de estos enfoques será el mejor desde el punto de vista de compatibilidad y facilidad de uso que se puede usar en todas las plataforms:

1) Servicio web basado en reposo 2) Servicio web basado en SOAP 3) Cualquier otro enfoque

Además, cuál será el mejor formatting de respuesta que se puede consumir fácilmente en todas las plataforms y que count con el soporte SDK integrado para analizarlos: XML / JSON / SOAP

Si alguien se encuentra con estos escenarios por favor sugiera. Aprecie cualquier respuesta ya que tengo que comenzar a implementar el mismo ASAP.

Gracias MG

El trabajo y la experiencia actuales que involucran múltiples plataforms y para facilitar el desarrollo es simplemente usar JSON a través de HTTP firmado con OAUTH.

HTTP porque está disponible en todas las plataforms compatibles con un browser web (y aquellas que no lo hacen mediante el uso de libCURL) y también le permite usar SSL si es necesario y viene con una infraestructura de services muy conocida para la escalabilidad.

JSON porque sigue la notación de object progtwigble que le permite transferir estructuras decodificables en el cuerpo de request HTTP y el cuerpo de respuesta. Existen muchas bibliotecas, especialmente para las plataforms que está experimentando. Esto hace que sea más rápido empujar y extraer objects fuera del flujo de datos y entre lenguajes (server PHP / cliente C ++).

OAUTH, ya que es un protocolo de authentication simple pero sorprendentemente bueno que utiliza HTTP que funciona bien para identificar su aplicación y su usuario, todo sin transferir la contraseña (token) en text plano sobre un enlace inseguro.

Obviamente, sin embargo, una cosa que recordar siempre con security, ya que está entregando su aplicación a un dispositivo cliente, no puede garantizar que el cliente que usa su service web sea el cliente que creó. Si escribe un producto exitoso, encontrará que su cliente es pirateado, sus comunicaciones están desglosadas y el service web utilizado por otros pseudo-clientes, por supuesto todo depende de lo que el producto haga y de lo que sea capaz. Desafortunadamente, el mundo de las aplicaciones mobilees está plagado de clientes hackeados en dispositivos con jaulas. Sin embargo, si por casualidad puede aprovechar estos clientes también, ¡el service es aún mejor! (Ejemplo, un juego gratuito con compras premium que se almacena y valida en un server que usted controla). Para esta nota también, no puede asumir que su aplicación OAUTH puede garantizar que los tokens sean seguros, OAUTH no se trata de garantizar la identidad del usuario (ya que sus tokens pueden ser robados), sin embargo, lo hace bien para networkingucir la capacidad de falsificar authentication de usuarios sin haber accedido previamente a esa count de usuario.

¡Buena suerte!