Upload
juanpi24
View
29
Download
4
Embed Size (px)
ADTG Open Lima
Caso Práctico de Sincronización de BD SQLite con MySQL
Armando Meison Chirinos Paredes
[email protected] @ameison http://abcdroid.net
Hashtag: #gdevperu
ADTGs - Academic Developer Technology Groups |
Sincronización de BD SQLite con MySQL
Objetivos de la sesión:
● Comprender el mecanismo básico del proceso de sincronización.● Diseñar e implementar una solución básica que nos permita
implementar una solución más compleja.
Sincronización de BD SQLite con MySQL
Agenda:
● Caso Práctico: Librería Arco Iris.● Análisis y Diseño● Backend (RESTful Web service con Jersey y Tomcat)
○ Creación de la capa de datos.○ Implementación de RESTful WS, Test
● Frontend (Android)○ Creación de la capa de datos.○ Consumiendo WS, Sincronización.
● Ronda de preguntas.
Librería Arco Iris: Caso Práctico
La librería Arco Iris (Kurmi en Aymara) en el afán de donarlibros a los colegios más necesitados del país, programa una campaña de recolección de libros con una duración 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 inscripción es personal, un grupo de apoyo irá de puerta en puerta invitando al sorteo y en caso la persona acepte la invitación, se le solicitará el numero de DNI para registrarlo previa entrega del libro.
Sincronización de BD SQLite con MySQL
Sincronización de BD SQLite con MySQL
Librería Arco Iris: Caso Práctico
Para lograr el objetivo la librería busca una solución que le permita recibir en su BD central, la relación de libros registrados por día en c/u de las provincias del Perú (Es importante que sea enviado lo mas antes).
Desea que sea lo más ágil posible por lo queconsidera el uso de un cliente en tablet paramanejar el registro de estos libros.
Considera la posibilidad de trabajar sin internet debidoa las caminatas por parte del equipo de invitación al sorteo, por ello debe poder almacenarse en una base dedatos dentro del dispositivo móvil.
Considera la posibilidad de que los dispositivospuedan editar los libros que tiene almacenado por lo que es necesario posea capacidad de sincronización.
Sincronización de BD SQLite con MySQL
Análisis y Diseño :
De la historia descrita anteriormente podemos resaltar:
1. Forma de comunicación, tenemos básicamente 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 librerías.
2. Sincronización, 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 versión para saber en todo momento si se tiene la última versión.
c. idMySQL en SQLite y idSQLite en MySQL para saber donde sincronizar.
Sincronización de BD SQLite con MySQL
Backend : Tabla 'Libros' en MySQL
.
Sincronización de BD SQLite con MySQL
Backend : Estructura de directorios
.
Sincronización 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 de-sarrollo como de producción para java, y esgratuito para proyectos Open Source comoel caso nuestro de la librería Arco Iris (Kurmi).
.
Sincronización de BD SQLite con MySQL
Frontend: Tabla 'Libros' en SQLite
.
Sincronización de BD SQLite con MySQL
Frontend : Estructura de directorios
.
Sincronización de BD SQLite con MySQL
● Frontend : Interfaz de Usuario○ Agregar Libro○ Lista de Libros
.
Sincronización de BD SQLite con MySQL
¿Preguntas?
.
Mi blog : http://abcdroid.net