Blog de Jorge Pedraza

octubre 22, 2012

Sync Framework Toolkit con Android

Hola, el presente articulo tiene como finalidad tratar de resaltar de forma rápida y directa el uso de Microsoft Sync Framework Toolkit, en la construcción de servicios de sincronización de datos, y su uso desde cualquier plataforma cliente, tal es el caso de Android. La idea principal es intentar mapear determinado ejemplo (demodb) que se expone en este articulo, y así obtener mejor entendimiento acerca del tema.

Requisitos:

  • Microsoft Visual Studio 2010 SP1 o Superior.
  • Microsoft SQL Server 2008 R2 o Superior.
  • Microsoft Sync Framework ToolKit.
  • Microsoft IIS 7.x o superior.
  • Conocimiento en Base de datos.
  • Experiencia con el Lenguaje C#
  • MOTODEV Studio for Android o Eclipse con Android SDK.
  • Experiencia con el Lenguaje Java.
  • Experiencia con desarrollo de aplicaciones base de datos en Android.

Índices:

  1. Introducción de Sync Framework Toolkit.
  2. Construcción de Sync Framework Toolkit.
  3. Uso de Sync Framework Toolkit (Ejemplo propio demodb).
  4. Solución servicio de sincronización (Ejemplo propio demodb).
  5. Aplicación cliente Android.
  6. Código fuentes.
  7. Enlaces de interés.

 

1. Introducción de Sync Framework Toolkit:

Es un conjunto de herramientas y códigos de ejemplos, que permite construir y optimizar aplicaciones desconectadas para la sincronización de datos que se ejecutan en cualquier plataforma cliente como Microsoft (Windows, Silverlight, Windows Phone 7 y Windows Mobile) y No Microsoft (iPhone, Android y Blackberry y asi como HTML). Note que clientes basado en Windows requieren Sync Framework 2.1.

2. Construcción de Sync Framework Toolkit:

  1. Descargar Microsoft Sync Framework Toolkit y descomprimir Microsoft Sync Framework Toolkit.zip en una carpeta syncopensrc en disco y dentro de esa carpeta debe renombrar una carpeta llamada C# en src.
  2. Por razones que el paquete Sync Framework Toolkit esta comprendido inicialmente por una solución de múltiples proyectos, es necesario Instalar Windows Phone Developer Tools 7.0 y Silverlight 4 Tools for Visual Studio 2010.
  3. Abrir el archivo syncfxtoolkit.sln ubicado en la carpeta src.
  4. Construir la solución, el cual generará los siguientes archivos:
    • syncopensrc\bin\SyncSvcUtil.exe (Utilidad versión Consola)
    • syncopensrc\bin\SyncSvcUtilUI.exe (Utilidad versión aplicación Windows)
    • syncopensrc\server\Microsoft.Synchronization.Services.dll (Ensamblado para construir servicio Web de Sincronización)
    • syncopensrc\Client\WP7\Microsoft.Synchronization.ClientServices.dll (Ensamblado cliente WP7 de Sincronización)
    • syncopensrcClient\Silverlight\Microsoft.Synchronization.ClientServices.dll (Ensamblado cliente Silverlight de Sincronización)
  5. Mover la carpeta "Samples" de "\syncopensrc\src\Samples" a "\syncopensrc\Samples.

Ahora estás listo para seguir la documentación (\syncopensrc\src\Sync Framework Toolkit.chm) y comenzar a escribir su servicio de sincronización y aplicaciones sin conexión utilizando el código fuente.

3. Uso de Sync Framework Toolkit (Ejemplo propio demodb):

Con fines de agilizar el aprendizaje de Sync Framework Toolkit se va exponer una vista rápida basado en el ejemplo principal de Sync Framework Toolkit, de como implementar base de datos y servicios propio para la sincronización de datos con cualquier cliente desconectado. Para esta demostración se utiliza Visual Studio 2012 Edición profesional y SQL Server 2012 Edición Web. Además se usa Autenticación SQL Server, el cual es imprescindible tener configurada un cuenta valida SQL server, por ejemplo Login: sa y Password: 123.

1. Crear base de datos llamada demodb en SQL Server y luego aplicar estructura de datos demodbscript.sql 2. Ejecuta la utilidad auxiliar versión aplicación Windows: syncopensrc\bin\SyncSvcUtilUI.exe
esquemadb SSUtility
   

Pasos para usar la utilidad SyncSvcUtilUI:

Parte 1 : Paso 1 Paso 2
SSUtilityOption1 SSUtilityOption1Step1 SSUtilityOption1Step2
     
  Paso 3 Paso 4
  SSUtilityOption1Step3 SSUtilityOption1Step4
     
  Paso 4.1 Paso 4.2
  SSUtilityOption1Step4_1 SSUtilityOption1Step4_2
  Paso 4.3 Paso 5
  SSUtilityOption1Step4_3 SSUtilityOption1Step5
     
Parte 2 : Paso 1 Paso 2
SSUtilityOption2 SSUtilityOption2Step1 SSUtilityOption2Step2
     
Parte 3 : Paso 1 Paso 2
SSUtilityOption3 SSUtilityOption3Step1 SSUtilityOption3Step2
  Paso 3  
  SSUtilityOption3Step3  

4. Solución servicio de sincronización (Ejemplo propio demodb):

1. Crear proyecto WCF Service Application llamado demodbsync 2. Seleccionar archivos por defectos y eliminarlos
demodbsyncstep1 demodbsyncstep2
   
3. Agregar archivos fuentes generado en la parte 3 de SyncSvcUtilUI y además un archivo Web.Config nuevo 4. Agregar referencia de ensamblado Microsoft.Synchronization.Services.dll
demodbsyncstep3 demodbsyncstep4
5. Agregar en Web.Config sesión connectionStrings con cadena de conexión relacionada. 6. Modificar el código en DefaultScopeSyncService.svc según el código de ejemplo demodbsync adjunto a este articulo.
demodbsyncstep5 demodbsyncstep6
7. Agregar los siguientes archivos (login.ashx y login.ashx.cs) existentes en el código de ejemplo demodbsync de este articulo 8. Finalmente construir e implementar en IIS.
demodbsyncstep7 demodbsyncstep8

En teoría el servicio de sincronización debe estar funcional desde IIS, si puede cerciórese previamente que este funcionado antes de continuar con el desarrollo y prueba del cliente desconectado, en este caso Android.

5. Aplicación cliente Android:

El desarrollo de la aplicación desconectada, cliente Android se basa inicialmente en el código (SelvinListSyncSample) adaptado al ejemplo oficial de Microsoft Sync Framework Toolkit, el cual se trata de los siguientes:

  1. Se descargar el ejemplo SelvinListSyncSample (Alpha 2).
  2. Usar la librería ActionBarSherlock vinculado con el ejemplo SelvinListSyncSample
  3. Revisar la documentación propia para su funcionamiento.

Ahora con relación al ejemplo propio demodb, su aplicación cliente Android DemodbSync. se plantea los siguientes:

1. Gestión de proyecto Android 2.2 propio (Unificado) 2. Parametrizar datos de sincronización de la aplicación Android con el servicio WCF
DemodbSyncAndroid1 DemodbSyncAndroid2
   
3. Construir y ejecutar proyecto dentro de la maquina virtual con conectividad a una red valida de prueba. 4. Realizar prueba manipulando uno o más registros, en la base de datos local de la aplicación Android y posteriormente sincronizar. Luego verificar que los datos se hayan escrito en SQL Server.
DemodbSyncAndroid3 DemodbSyncAndroid4

Es Importante resaltar lo siguiente: Esta aplicación Android de ejemplo es un versión literalmente básica y sencilla, cuya intensión es demostrar su funcionamiento con Sync Framework, sin tomar en cuenta tópicos internos relacionado con Android como (componentes de terceros, validaciones, Multithreading, etc.).

6. Código fuentes:

7. Enlaces de interés:

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:

Crea un blog o un sitio web gratuitos con WordPress.com.