sincronizacion de bd sqlite con mysql.pdf

15

Upload: juanpi24

Post on 10-Dec-2015

24 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: sincronizacion de bd sqlite con mysql.pdf
Page 2: sincronizacion de bd sqlite con mysql.pdf

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 |

Page 3: sincronizacion de bd sqlite con mysql.pdf

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.

Page 4: sincronizacion de bd sqlite con mysql.pdf

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.

Page 5: sincronizacion de bd sqlite con mysql.pdf

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

Page 6: sincronizacion de bd sqlite con mysql.pdf

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.

Page 7: sincronizacion de bd sqlite con mysql.pdf

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.

Page 8: sincronizacion de bd sqlite con mysql.pdf

Sincronización de BD SQLite con MySQL

Backend : Tabla 'Libros' en MySQL

.

Page 9: sincronizacion de bd sqlite con mysql.pdf

Sincronización de BD SQLite con MySQL

Backend : Estructura de directorios

.

Page 10: sincronizacion de bd sqlite con mysql.pdf

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

.

Page 11: sincronizacion de bd sqlite con mysql.pdf

Sincronización de BD SQLite con MySQL

Frontend: Tabla 'Libros' en SQLite

.

Page 12: sincronizacion de bd sqlite con mysql.pdf

Sincronización de BD SQLite con MySQL

Frontend : Estructura de directorios

.

Page 13: sincronizacion de bd sqlite con mysql.pdf

Sincronización de BD SQLite con MySQL

● Frontend : Interfaz de Usuario○ Agregar Libro○ Lista de Libros

.

Page 14: sincronizacion de bd sqlite con mysql.pdf

Sincronización de BD SQLite con MySQL

¿Preguntas?

.

Page 15: sincronizacion de bd sqlite con mysql.pdf

Mi blog : http://abcdroid.net