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
[…] Sync Framework Toolkit con Android […]
Pingback por Agenda de la Comunidad « MSExpertos — octubre 22, 2012 @ 7:47 pm |
Estupendo Post Jorge, Muchas gracias por el aporte.
saludos desde Perú.
Comentarios por Julver — enero 11, 2013 @ 6:20 pm |
Hola.
Gracias por el comentario. 😉
Saludos desde Venezuela.
Comentarios por JorgePedraza — enero 12, 2013 @ 7:09 am |
Realmente te ha funcionado el ejemplo de Selvin? Lo intentaste o solo te refieres a el dando por sentado que si funciona. Yo lo bajé y además de que la documentación es una porquería, esa cosa no funciona,
Comentarios por Mauricio Ramirez — octubre 22, 2013 @ 11:28 pm |
Hola.
Gracias por tu comentario.
Realmente si funciona incluso en este articulo se anexa un ejemplo simplificado y funcional, pero no té recomiendo ni el ejemplo ni la tecnología de sincronización tales como Sync framework o Oracle Database Mobile Server entre otras para un escenario real, por muchas razones.
Según mi experiencia con desarrollo en dispositivo móviles, existe alternativas más liviana, simple y optima para escenario de transferencia de datos por lote!
formulas serían:
1. ADO.NET + Servicio Web de ASP.NET (ASMX,WCF, ojo No RestFul).
2. Comunicación nativa con la base de datos del servidor desde el dispositivo móvil.
Eso es todo por lo momento.
Saludos.
Comentarios por JorgePedraza — octubre 23, 2013 @ 3:33 pm |