de BD SQLite con MySQL Armando Meison Chirinos Paredes mason.xp@gmail.com @ameison http://abcdroid.net Hashtag: #gdevperu ADTGs - Academic Developer Technology Groups |
Sincronizacin de BD SQLite con MySQL
Objetivos de la sesin:
Comprender el mecanismo bsico del proceso de sincronizacin.
Disear e implementar una solucin bsica que nos permita implementar una solucin ms compleja.
Sincronizacin de BD SQLite con MySQL
Agenda:
Caso Prctico: Librera Arco Iris.
Anlisis y Diseo Backend (RESTful Web service con Jersey y Tomcat) Creacin de la capa de datos. Implementacin de RESTful WS, Test Frontend (Android) Creacin de la capa de datos. Consumiendo WS, Sincronizacin. Ronda de preguntas.
Sincronizacin de BD SQLite con MySQL
Librera Arco Iris: Caso Prctico
La librera Arco Iris (Kurmi en Aymara) en el afn de donar libros a los colegios ms necesitados del pas, programa una campaa de recoleccin de libros con una duracin de 2 semanas usando como medio el sorteo de un Auto.
En este sorteo participa todo el Per y el nico requisito para poder
participar es donar un libro. La forma de inscripcin es personal, un grupo de apoyo ir de puerta en puerta invitando al sorteo y en caso la persona acepte la invitacin, se le solicitar el numero de DNI para registrarlo previa entrega del libro.
Sincronizacin de BD SQLite con MySQL
Librera Arco Iris: Caso Prctico
Para lograr el objetivo la librera busca una solucin que le permita recibir en su BD central, la relacin de libros registrados por da en c/u de las provincias del Per (Es importante que sea enviado lo mas antes). Desea que sea lo ms gil posible por lo que considera el uso de un cliente en tablet para manejar el registro de estos libros. Considera la posibilidad de trabajar sin internet debido a las caminatas por parte del equipo de invitacin al sorteo, por ello debe poder almacenarse en una base de datos dentro del dispositivo mvil. Considera la posibilidad de que los dispositivos puedan editar los libros que tiene almacenado por lo que es necesario posea capacidad de sincronizacin.
Sincronizacin de BD SQLite con MySQL
Anlisis y Diseo : De la historia descrita anteriormente podemos resaltar: 1.
2.
Forma de comunicacin, tenemos bsicamente 2 opciones a seguir:
Soap o Rest, para nuestro caso elegiremos Rest por : a. Su sencillez. b. Para el cliente en android no ser necesario el uso de libreras. Sincronizacin, para mantener sincronizada la tabla, agregaremos los siguientes campos extras : a. idDevice : Que representa el identificador nico del dispositivo, con esto sabremos que Tablet cre el registro. b. idversion: Como si se tratar de un SCV, cada registro mantendr un identificador de versin para saber en todo momento si se tiene la ltima versin. c. idMySQL en SQLite y idSQLite en MySQL para saber donde sincronizar.
Sincronizacin de BD SQLite con MySQL
Backend : Tabla 'Libros' en MySQL
.
Sincronizacin de BD SQLite con MySQL
Backend : Estructura de directorios
.
Sincronizacin de BD SQLite con MySQL
Backend : Deploy ! Para deployar nuestra app me he apoyado en CloudBees : http://www.cloudbees.com/
CloudBees es una plataforma como servicio
(Paas) que abarca tanto los servicios de desarrollo como de produccin para java, y es gratuito para proyectos Open Source como el caso nuestro de la librera Arco Iris (Kurmi).