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:
- Introducción de Sync Framework Toolkit.
- Construcción de Sync Framework Toolkit.
- Uso de Sync Framework Toolkit (Ejemplo propio demodb).
- Solución servicio de sincronización (Ejemplo propio demodb).
- Aplicación cliente Android.
- Código fuentes.
- 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:
- 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.
- 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.
- Abrir el archivo syncfxtoolkit.sln ubicado en la carpeta src.
- 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)
- 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 |
Pasos para usar la utilidad SyncSvcUtilUI:
Parte 1 : | Paso 1 | Paso 2 |
Paso 3 | Paso 4 | |
Paso 4.1 | Paso 4.2 | |
Paso 4.3 | Paso 5 | |
Parte 2 : | Paso 1 | Paso 2 |
Parte 3 : | Paso 1 | Paso 2 |
Paso 3 | ||
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 |
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 |
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. |
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. |
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:
- Se descargar el ejemplo SelvinListSyncSample (Alpha 2).
- Usar la librería ActionBarSherlock vinculado con el ejemplo SelvinListSyncSample
- 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:
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:
- demodbscript.sql (Script SQL demodb)
- demodb.zip (Archivo de Configuración para SyncSvcUtilUI.exe y Código fuente base del servicio ya generado)
- demodbsync.zip (Servicio de Sincronización WCF, Framework 4.0)
- DemodbSync_Android.zip (Aplicación cliente – Android 2.2, API 8)
7. Enlaces de interés:
- Microsoft Sync Framework Toolkit
- SelvinListSyncSample (Ejemplo Oficial Android)
- Android SDK
- MOTODEV Studio for Android