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 23, 2011

Push Notifications en Windows Phone 7

Hola la presente de este articulo es para resaltar de manera rápida y sencilla el tema de Push Notification en Windows Phone 7 a través del lenguaje Visual Basic 2010.

Ruta del Articulo:

  1. Requisito.
  2. Introducción a Push Notification.
  3. Desarrollo con Microsoft Push Notification.
  4. Código de Ejemplo.
  5. Resumen.
  6. Link de Interés.

Requisito:

Introducción a Push Notification:

Es un servicio abierto en internet para el procesamiento y envió de mensaje en formato estándar a diferentes destinos móviles como son los teléfonos inteligentes; en los cuales se brindará notificaciones en tiempo real acerca de eventos ocurridos.

Desarrollo con Microsoft Push Notification:

Existe tres modalidades de trabajo con Microsoft Push Notification para Windows Phone 7:

  1. Notificaciones Toast: Es una notificación que se muestra en la parte superior de la pantalla para notificar al usuario de un evento, como una alerta de noticias o el tiempo. Los elementos de una Notificación Toast son: Titulo, Subtitulo y opcionalmente Parámetro.
  2. Notificaciones Tile: Es una notificación que puede ser usada para actualizar información breve sobre un icono mosaico situado en el inicio de Windows Phone 7. Los elementos de una Notificación Tile son: Contador, Imagen de Fondo, Titulo
  3. Notificaciones Raw: Esta notificación ideal para enviar información a su aplicación en ejecución directa con Windows Phone 7. Los elementos de una Notificación Raw puede ser uno o más elementos definido por el usuario.

Para iniciar el desarrollo con Microsoft Push Notification y Windows Phone 7 se necesita de lo siguiente:

  • Microsoft.Phone.Notification.HttpNotificationChannel: Crea un canal de notificación entre el servicio de notificación Push de Microsoft y el cliente  Push como Windows Phone 7. En este canal se establecerá una URI única por instancia de dispositivo con el cual se usará para recibir notificaciones de terceros.
  • System.Uri, System.Net.WebRequest y System.IO.Stream: Son elementos bien conocidos que pueden ser usados a través de un servicio o aplicación, para crear y enviar datos en formato estándar hacia determinado canal establecido entre el servicio de notificación Push de Microsoft y los clientes Windows Phone 7 suscripto.

Pasos claves para trabajar con Push Notification y Windows Phone 7:

En Windows Phone 7:

  1. A nivel del formulario se declara una variable con o sin eventos llamado por ejemplo “myHttpNotificationChannel” del tipo Microsoft.Phone.Notification.HttpNotificationChannel.
  2. Se procede a inicializar dicha variable en un objeto ya sea por una instancia nueva o recreando el objeto con una suscripción existente; todo esto desde un procedimiento el cual deberá ser llamado por el constructor del clase formulario.
  3. Se crea y vincula los diferentes procedimientos de eventos relacionado con el Objeto “myHttpNotificationChannel”, por ejemplo: ChannelUriUpdated, ErrorOccurred, HttpNotificationReceived, ShellToastNotificationReceived.
  4. Ahora en cada procedimiento de evento mencionado, se puede procede a escribir código de interés según sea el caso. Un ejemplo es el caso de ChannelUriUpdated: que se puede usar para informar asíncronamente a través de algún medio, el canal de notificación hacia terceros quienes desea que envié notificaciones.

En Servicio o Aplicación:

  1. Se define uno o más procedimiento de envió de información, por ejemplo: SendToast, SendTile, SendRaw en donde se arma el cuerpo del mensaje en XML para ser enviado por la red.
  2. Se define un procedimiento SendMessage, el cual se va encarga de enviar dicho mensaje a través de un canal de notificación con URI especifica advertido previamente por un cliente Windows Phone 7.

Código de Ejemplo:

Resumen:

Una vez más se encuentra una excelente alternativa de comunicación en tipo real con dispositivos inteligentes que contenga sistemas operativos como Windows Phone 7, para la notificación de datos de interés con usuarios de determinada organización.

Link de Interés:

julio 7, 2009

Windows Mobile 6.5 – Aplicaciones móviles de próxima generación

Filed under: Aplicaciones Moviles — JorgePedraza @ 4:47 pm
Tags: , ,

En la actualidad las soluciones móviles crecen exponecialmente en el mercado,  convertiendose en el centro de evolución de los sistemas de Información. Estos es posible gracias a la gama de sistemas operativos móviles host que han  marcado las diferencias para albergar y gestionar dicha soluciones;  Entre ellos esta Microsoft Windows Mobile.

Windows Mobile: es un sistema operativo compacto, con una suite de aplicaciones básicas para dispositivos móviles basados en la API Win32 de Microsoft. Los dispositivos que llevan Windows Mobile son Pocket PC, Smartphones y Media Center portátil

Su evolución más actual:

  • Windows Mobile 2003,
  • Windows Mobile 5.0 ,
  • Windows Mobile 6.0,
  • Windows Mobile 6.1
  • Finalmente Windows Mobile 6.5

En Windows Mobile 6.5  incorpora extraordinaria caracteristicas generales de interes como:

  1. El menu en forma de panal del boton de inicio para tener mejor accesibilidad a las opciones propia del sistema.
  2. Mayor resolución de botones para adaptarse mejor al funcionamiento tactil.
  3. Interfaz grafica más rica y Robusta.
  4. Mejor interfaz  de la Calculadora.
  5. Integración con MyPhone.
  6. Windows Media 10.
  7. Windows live Mobile 10.
  8. Internet Mobile Explore 6 Mejorado.
  9. Microsoft Office Mobile 6.1.
  10. Administrador de Tarea Similar al de Microsoft Windows.

Otra Caracteristica que resalta  Windows Mobile 6.5 es la compatibilidad e integración con la plataforma .net ( .NET compact Framework), así como nuevas  API Win32 y Opciones Misceláneos propia del sistema operativo.

En particular .NET Compact Framework respresenta la plataforma de desarrollo central para despligue y ejecucion de aplicaciones móviles y los podemos encontrar integrado por defecto en sistemas operativos móviles:

  • .NET Compact Framework 2.0  (Windows Mobile 6.0)
  • .NET Compact Framework 3.5  (Windows Mobile 6.1 o Superior)

Efectivamente cada version de .Net Compact framework puede ser instalado en cualquier versión Windows Mobile que no lo incorpore.

Referente al desarrollo de apliciones Windows Mobile como tal, se puede citar el  Kit de herramientas del desarrollador de Windows Mobile 6.5 que Agregan documentación, codigo de ejemplo, archivos de biblioteca, Imagenes de emulador y herramientas  para Visual Studio que permite construir aplicaciones para Windows Mobile 6.5. Al momento de usar cualquier especificación de API o codigo de ejemplo se debe tener instalado previamente el SDK de Windows Mobile 6.0. Para mayor información:

Ademas en el  kit de herramientas del desarrollador de Windows Mobile 6.5 posee algunas caracteristicas:

  • Emulador Cuadrado Windows Mobile 6.5 Profesional
  • Emulador QVGA Windows Mobile 6.5 Profesional
  • Emulador WQVGA Windows Mobile 6.5 Profesional
  • Emulador VGA Windows Mobile 6.5 Profesional
  • Emulador WVGA Windows Mobile 6.5 Profesional

Así como la Introdución de nuevos conjuntos de APIs que permite a desarrolladores de aplicaciones hacer tareas avanzadas con el nuevo marco de trabajo de gesto de toque de Windows Mobile 6.5.  La APIs permite que cualquier aplicación maneje la entrada de gesto de toque y provee una experiencia consistente visualmente con el resto de las Interfaz de usuario del Dispositivo.
La APIs son definida en los siguientes archivos de Encabezado:

<Gesture.h>
<GesturePhysicsEngine.h>
<WindowsAutoGesture.h>

Nota las APIs Gesto están disponible solo en SKUs Windows Mobile Clásico y profesional. La Bibliotecas y Encabezados son instalados en Windows Mobile SDK\Pocket PC\Carpeta. Ejemplo: Para hacer uso de esta APIs se instalan dentro del Kit de herramientas de Windows Mobile 6.5\Ejemplos\Carpeta.

Finalmente para desarrollar aplicaciones en Windows Mobile 6.5 de forma rapida y segura, se puede basar por defecto en herramientas de desarrollos como Visual Studio 2005 Profesional o Superior a traves del SDK de Windows Mobile 6.0 en unión con el DTK Windows Mobile 6.5. Un Ejemplo clásico para realizar los primeros pasos de desarrollo:

  1. Abrir Visual Studio 2005 Professional o Superior.
  2. Crear nuevo proyecto de dispositivo Inteligente del tipo Windows Mobile 6, tomada la opción Aplicación de Dispositvio.
  3. Luego una vez cargado la fuente base se procede en la barra de herramientas de dispositivos; cambiar la emulación de Windows Mobile 6.0 a 6.5
  4. Se realiza cualquier rutina sencilla con el formulario
  5. Se pulsa F5 y posteriormente la aplicación es compilada y desplegada en la Plataforma Windows 6.5

En Resumen Windows Mobile 6.5 es uno de los sistemas operativos móviles actuales más difundido en la gama de dispositivos inteligentes de tecnologías de punta, que sirve como host de aplicaciones móviles actuales y futuras. Siendo posible esto a través de un conjunto de recursos de desarrollos y herramientas  relacionadas con Visual Studio 2005 Profesional o Superior. Así como la obtención de un mayor nivel de productividad en diferentes escenarios empresariales.

Blog de WordPress.com.