puedo - ¿Cuál es la mejor manera de sincronizar en un sentido desde una base de datos del servidor al iPhone?
no puedo sincronizar mi iphone con itunes (3)
Tengo una base de datos en mi servidor que es de aproximadamente 3mb. Me gustaría enviarlo con mi aplicación de iPhone.
Lo más importante es que me gustaría promover cambios en la base de datos (insertar, actualizar, eliminar) en el iphone. ¿Cuál es la mejor manera de hacerlo? Quiero decir - lo que es necesario en - el servidor - el cliente (= iphone) - entre; cómo transferir estos datos?
Soy bastante libre en el uso de tecnologías en el servidor; ahora mismo, tengo una base de datos sqlite en el servidor llena de los datos que me gustaría sincronizar con los iphones.
¿Con qué frecuencia necesita que se actualice la base de datos y cuán urgentes son los cambios?
Si las actualizaciones de la base de datos son poco frecuentes y no urgentes, solicito a la aplicación que compruebe si hay una nueva versión de la base de datos al inicio, y si ha cambiado, descargue el archivo completo.
La aplicación siempre descargará un pequeño archivo de metadatos de una URL conocida al inicio. El archivo de metadatos contiene un identificador de versión para la última versión y una ubicación donde se puede descargar esa versión de la base de datos. Si el identificador de la versión ha cambiado desde la versión que la aplicación ya tiene, se descargará la nueva versión. Si el identificador de versión no ha cambiado, o si no puede verificar, la aplicación puede seguir usando la versión que tiene.
Sugerencia: si desea mostrar una barra de progreso para la descarga, incluya el tamaño de la base de datos en el archivo de metadatos. Las redes celulares a menudo tienen proxies transparentes que eliminan el encabezado Content-Length de las respuestas HTTP.
Intenta usar ganchos web.
El concepto de un WebHook es simple. Un WebHook es una devolución de llamada HTTP: un HTTP POST que ocurre cuando sucede algo; una simple notificación de evento a través de HTTP POST.
Una aplicación web que implemente WebHooks PUBLICARÁ un mensaje a una URL cuando sucedan ciertas cosas. Cuando una aplicación web permite a los usuarios registrar sus propias URL, los usuarios pueden ampliar, personalizar e integrar esa aplicación con sus propias extensiones personalizadas o incluso con otras aplicaciones en la web. Para el usuario, los WebHooks son una forma de recibir información valiosa cuando sucede, en lugar de sondear continuamente esos datos y no recibir nada valioso la mayor parte del tiempo. ¡Los WebHooks tienen un enorme potencial y solo están limitados por tu imaginación! (No, no puede lavar los platos. Sin embargo).
Puede encontrar más información en Webhooks aquí: http://www.webhooks.org/ y http://webhooks.pbworks.com/
Me pregunto si ha considerado usar Sync Framework para administrar la sincronización. Si eso le interesa, puede echarle un vistazo al proyecto de código abierto, el servicio Sync de OpenMobster. Puede hacer las siguientes operaciones de sincronización
- bidireccional
- cliente unidireccional
- dispositivo unidireccional
- arrancar
Además de eso, todas las modificaciones se rastrean automáticamente y se sincronizan con la nube. Puede desconectar su aplicación cuando la conexión de red no funciona. Seguirá cualquier cambio y automáticamente en el fondo lo sincronizará con la nube cuando la conexión regrese. También proporciona sincronización como iCloud en múltiples dispositivos
Además, las modificaciones en la nube se sincronizan utilizando notificaciones Push, por lo que los datos siempre están actualizados incluso si se almacenan localmente.
Aquí hay un enlace al proyecto de código abierto: http://openmobster.googlecode.com
Aquí hay un enlace a iPhone App Sync: http://code.google.com/p/openmobster/wiki/iPhoneSyncApp