Sincronización de datos entre servicio web y base de datos local en aplicación movil

514 views
Skip to first unread message

Gilberto Cuba Ricardo

unread,
Feb 9, 2013, 8:07:08 AM2/9/13
to Desarrolladores Android
Saludos colegas,

Quisiera leer algunas opiniones y/o sugerencias, sobre cómo
sincronizar datos de dos base de datos que tengo; una en la aplicación
movil, y otra en un servicio web que se comunica con la aplicación
movil y que está implementada con php con el envío y recepción de la
información en forma de json. Esta última guarda los datos en un
servidor MySQL con un sitio web que posibilita gestionarlos.

Hasta ahora tengo implementada la aplicación y se sincroniza sin
ningún tipo de problemas, y lo tengo implementado así. Por ejemplo,
existe una tabla trabajadores con 3 campos: id, nombre y apellidos, y
se quiere que cada vez que desde el panel/sitio se actualize algún
dato de esta tabla, se refleje entonces ese cambio en la base de datos
de la aplicación movil. Para ello siempre existe un "identificador de
operación" en el servicio web, que se va incrementando cada vez que se
realiza una modificación, y por el cual la aplicación movil pregunta y
en dependencia de si el número del identificador de operaciones que
tiene es menor que el del servicio web, entonces manda a pedir al
servicio web, que le entregue TODA la tabla que se modificó, para
actualizarse los datos y además igualar el identificador de
operaciones.

Sin embargo, este mecanismo/forma que existe ahora de sincronizar las
tablas, no es el más eficiente en tablas que almacenan muchos datos,
por lo que tendría que enviarse el paquete COMPLETO de la tabla
codificada en json, cuando a veces el cambio es tan sencillo de
cambiar una letra en un lugar. La pregunta es, ¿qué forma un poco más
eficiente me aconsejais para sincronizar los datos de las tablas de
ambas base de datos?

He estado pensando, en almacenar en el panel/servicio web, todas las
consultas que se realizan sobre la base de datos en MySQL, y que eso
sea lo que se le envíe a la aplicación movil, sin embargo, las tablas
que tengo, en mucho casos no son de estructura similar, lo cual me
dificulta más el trabajo.

Quedo dispuesto a sus sugerencias; disculpen lo largo de la lata, y
espero hayan entendido la idea de la pregunta.


--
Saludos,
Gilberto Cuba

---
Excess: un lenguaje para generarlos a todos
http://codexcess.com/

Mario De Frutos

unread,
Feb 11, 2013, 4:52:53 AM2/11/13
to desarrollad...@googlegroups.com
Buenas,

Si te sirve de sugerencia, aunque no lo he probado, existe formas de hacer sincronización usando push.

Jose Gregorio Alvarez Regalado

unread,
Feb 11, 2013, 6:56:16 PM2/11/13
to desarrollad...@googlegroups.com

Y si usas un campo tipo timestamp?
No estoy seguro si MySQL y/o SQLite lo soportan. Yo he utilizado este tipo de datos en msSQL, cada vez que hago un update, el campo se actualiza.

Suerte...

Enviado desde mi HTC Sensation

--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/20KhL
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.


Reply all
Reply to author
Forward
0 new messages