Você está na página 1de 15

ADTG Open Lima

Caso Prctico de Sincronizacin


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).

Sincronizacin de BD SQLite con MySQL

Frontend: Tabla 'Libros' en SQLite


.

Sincronizacin de BD SQLite con MySQL


Frontend : Estructura de directorios
.

Sincronizacin de BD SQLite con MySQL

Frontend : Interfaz de Usuario


Agregar Libro
Lista de Libros

Sincronizacin de BD SQLite con MySQL

Preguntas?

Mi blog : http://abcdroid.net

Você também pode gostar