Blog de Jorge Pedraza

julio 26, 2012

WCF Data Service con Android

Filed under: Servicios — JorgePedraza @ 7:10 pm
Tags:

Hola, este articulo tiene como finalidad resaltar cierto escenario de interoperabilidad de la plataforma . NET con otras plataformas diferentes a él. Para este caso se toma como ejemplo la plataforma Android.

La idea es crear determinado servicio de datos basado en la plataforma .NET y usarlo a través de protocolo Web (Odata) en cualquier entorno heterogéneo.

Requisitos:

  • Microsoft Visual Studio 2010 SP1 o Superior.
  • Experiencia con el Lenguaje Visual Basic o C#.
  • SQL Server 2008 R2 Express o superior.
  • Experiencia con Base de datos.
  • MOTODEV Studio for Android o Eclipse con Android SDK.
  • Experiencia con el Lenguaje Java.

Índice:

  1. Conceptos Claves.
  2. Pasos claves para crear e implementar WCF Data Service.
  3. Consumir WCF Data Service desde Android.
  4. Nota Importante.
  5. Código Fuente.
  6. Enlaces de Interés.

Conceptos Claves:

Termino Descripción
WCF Windows Communication Foundation (WCF) es un marco de trabajo .NET para la creación de aplicaciones orientadas a servicios.
WCF Data Services Es un componente de .NET Framework que permite crear servicios que utilizan Open Data Protocol (OData) para exponer y utilizar datos a través de web o de una intranet utilizando la semántica de transferencia de estado de representación (REST).
OData Es un protocolo Web para consultar y actualizar datos provenientes de algún origen de datos heterogéneo. Esto lo hace basándose y aplicando tecnologías Web como HTTP, Protocolo de publicación Atom (AtomPub) y JSON con el cual se proporcionar acceso a la información desde una variedad de aplicaciones, servicios y almacenes.
Entity Framework Es la ORM de la plataforma .NET la cual permite a los desarrolladores crear aplicaciones de acceso a datos programando con un modelo de aplicaciones conceptuales en lugar de programar directamente con un esquema de almacenamiento relacional.

Pasos claves para crear e implementar WCF Data Service:

1. Crear solución WCF Service Application. 2. Quitar los archivos IService1.vb y Service1.svc 3. Agregar archivo de Base de datos SQL Server Express.
wcfdsPaso1 wcfdsPaso2 wcfdsPaso3
     
4. Crear tabla en la base de datos. 5. Poblar la tabla con datos de ejemplo. 6. Agregar un ADO.NET Entity Data Model.
wcfdsPaso4 wcfdsPaso5 wcfdsPaso6
     
7. Generar Modelo desde Base de datos. 8. Seleccionar Base de datos de la solución para el modelo. 9. Seleccionar tabla de la base de datos y finalizar.
wcfdsPaso7 wcfdsPaso8 wcfdsPaso9
     
10. Agregar elemento WCF Data Service. 11. Establecer código con el ADO.NET Entity Data Model. 12. Probar el servicio en el navegador.
wcfdsPaso10 wcfdsPaso11 wcfdsPaso12
     
13. Establecer modo Autenticación None 14. Adjuntar base de datos en Instancia SQL Server 15. Fijar Cadena conexión final en Web.Config.debug
wcfdsPaso13 wcfdsPaso14 wcfdsPaso15
     
16. Publicar solución en IIS 7.x 17. Establecer parámetros autenticación IIS 7.x 18. Probar el Servicio desde IIS 7.x
wcfdsPaso16 wcfdsPaso17 wcfdsPaso18

Consumir WCF Data Service desde Android:

1. Descargar y fijar determinada biblioteca OData para proyecto Android. 2. Referenciar la biblioteca Odata dentro del proyecto. 3. Establecer determinado código Java para gestionar Odata.
ODataAndroid1 ODataAndroid2 ODataAndroid3
     
4. Probar el aplicación Android contra el WCF Data Service.    
ODataAndroid4    

Nota Importante: Hay algunos puntos en base a este articulo que se pueden tratar posteriormente, como:

  1. El tema de seguridad de WCF Data Service
  2. Entidades relacionadas dentro modelo de datos (ADO.NET Entity Data Model)
  3. Escenario de manipulación de Tabla/entidad de servicio Windows Azure. (Requiere credenciales de Almacenamiento Azure).
  4. Aplicación Android de prueba con validaciones.

Código Fuente:

Enlaces de Interés:

15 comentarios »

  1. […] WCF Data Service con Android […]

    Pingback por Agenda de la Comunidad « MSExpertos — julio 31, 2012 @ 12:35 pm | Responder

  2. Excelente articulo..

    Comentario por Wilder J. Romero Ciccone — agosto 7, 2012 @ 8:16 am | Responder

  3. Muy buen articulo, gracias

    Comentario por henry proaños — agosto 13, 2012 @ 10:03 am | Responder

  4. Hola tengo una duda en el punto 15, estoy empezando a usar web services.
    En el punto 15 la cadena de conexión se genera sola o existe un paso para agregarla? lo e intentado varias veces pero no me funciona. Ademas se puede utilizar una Base dedatos existente de SQL Server o necesariamente hay que crearla en VS?
    Un saludo desde Costa Rica y muy buen Artículo.

    Comentario por Bengi — octubre 9, 2012 @ 3:24 pm | Responder

    • Hola.
      Gracias por tu comentario.
      Con respecto a tu consulta:
      En el punto 15 Si lo genera, pero en el Web.Config.debug, Tu debe agregar manualmente datos ConnectionStrings similar al del Web.Config raíz, tal como se indica en el articulo. y este mismo será procesado cuando implemente la solución Web sobre IIS.
      Para mayor información: Transformación de Web.Config
      Por supuesto que la base de datos final la puedes trabajar en principio bien sea desde Management Studio SQL Server o Visual Studio.

      En este articulo no es necesariamente cumplir el paso a paso, para aquellas personas con previo conocimiento del tema!
      Para mayor detalle revisa el código fuente adjunto al articulo.

      Saludos.

      Comentario por JorgePedraza — octubre 10, 2012 @ 9:43 am | Responder

  5. Excelente Articulo, muy útil

    Comentario por Indira — noviembre 22, 2012 @ 12:14 pm | Responder

  6. ¡No inventes!

    En verdad, muchas gracias por compartir tu conocimiento. No tienes idea de lo difícil que es encontrar información útil y explicada. Un ejemplo de profesionista. Saludos.

    Comentario por León — enero 14, 2013 @ 7:34 pm | Responder

  7. Muchas gracias por el post, está muy bueno, pero tengo una duda. En el paso 12, para probarlo en el explorador debo correr la aplicación cierto?, yo hago esto y me sale un erro que dice :”The given name ‘Personal’ was not found in the entity sets. Parameter name: name” y subraya la línea de código “config.SetEntitySetAccessRule(“Personal”, EntitySetRights.All)”. Podrías ayudarme?

    Comentario por Wilson Laguna — marzo 5, 2013 @ 4:06 pm | Responder

    • Hola.
      Gracias por escribir!
      Te sugiero que concrete todos los pasos relacionado con la creación e implementación de WCF Data Service antes probar la aplicación de Android!

      Cualquier otro duda puedes escribir a pedrazasoft@gmail.com

      Saludos.

      Comentario por JorgePedraza — marzo 5, 2013 @ 4:38 pm | Responder

  8. Excelente post, muchas gracias

    Comentario por Israel Espinosa — octubre 30, 2013 @ 7:45 pm | Responder


RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Blog de WordPress.com.

A %d blogueros les gusta esto: