2011-09-09 5 views
8

Estoy construyendo un servicio web para mi sitio web ASP.NET MVC 3. Idealmente, me gustaría que todos los clientes (mis páginas web, aplicación iphone, aplicación Android, aplicación Windows Phone 7, etc.) usen la misma capa de servicio para cargar y guardar datos.Recomendaciones para .NET Web Service Format/Protocol para Android, iPhone, etc. integration

Soy nuevo en el desarrollo de dispositivos móviles y me preguntaba si existe un mecanismo preferido, SOAP/JSON/etc, para usar una configuración de dispositivo móvil heterogénea. Específicamente, me pregunto si Android e iOS tienen mejores bibliotecas/soporte para un protocolo sobre otro o si las principales plataformas móviles tienen un fuerte soporte para todos los protocolos. También me pregunto si todo es incluso cuando se trata de asegurar dichos servicios.

Cualquier consejo sería apreciado mucho

Gracias

JP

Respuesta

14

que sugeriría un servicio REST (ful) con JSON.

Tanto Android como iOS tienen bibliotecas que admiten el análisis de XML y JSON; sin embargo, las bibliotecas JSON son un poco más fáciles de usar y un poco más rápidas.

Con un poco más de esfuerzo podría permitir que su servicio proporcione/consuma XML y JSON.

Sería preferible evitar SOAP, ya que es más detallado y no tan adecuado para los dispositivos móviles más sensibles al ancho de banda/batería.

1

Tengo casi la misma situación y lo que estoy haciendo es, estoy haciendo servicios de WCFrest para Android y iPhone.

En términos de seguridad, estoy usando un proveedor de membresía basado en roles. Así que he creado un usuario para los clientes móviles con el rol de 'Clientes móviles' y le doy la identificación del usuario (guid) como una 'clave api' para el desarrollador de Android y iPhone.

El desarrollador de iphone y android tiene que enviar la 'clave de la API' en el encabezado de la solicitud.

así que antes de ejecutar cualquier método en mi wcf, estoy revisando la clave de la API y también comprobando si la solicitud es de un dispositivo Android o iPhone.

espero que esto le ayudará un poco a planificar su desarrollo .. :)

2

Esto sería una gran oportunidad para que usted pueda probar WCF Data services, junto con Entity Framework. Puede compilarlo muy rápido y expone su modelo de información utilizando el estándar internacional OData en formato XML y JSON. La interfaz es accesible a través de REST. No hay problemas para interactuar con cualquier tecnología de front-end, clientes gordos, web o móviles.

Y tiene todas las ventajas de volver a utilizar su conocimiento de C# .NET, su estudio visual y sus conjuntos creados para hacer una integración más estrecha con las aplicaciones de Windows si es necesario. ¡Ciertamente hizo el truco para mí!

Así:

  1. Crear su modelo de aplicación utilizando Entity Framework. Primero la base de datos si ya tiene un modelo de datos físico, o el modelo primero está empezando desde cero.
  2. Exponer el modelo creado utilizando la información DataServices WCF (5 líneas de código)

puede encontrar un tutorial en: http://msdn.microsoft.com/en-us/magazine/ee336128.aspx

feliz de codificación!

0

Pruebe usar ksoap2 y haga que sus servicios WCF utilicen el enlace basicHTTP.

Si solo tiene los tipos primitivos como parámetros, esto debería ser muy fácil. Con algo de trabajo también puede usarlo para tipos más complejos.

Cuestiones relacionadas