Entorno del problema: Para que se pueda utilizar el aplicativo en mobile, aun estando sin conexión a internet, se tomó la decisión de diseño de contratar un aplicativo que se encargue de manejar el sincronismo entre la BBDD del Móvil y la BBDD del servidor. El aplicativo seleccionado fue Zumero que tiene un costo anual.
Problema: Durante el desarrollo detectamos varias fallas operativas en Zumero, alguna de las cuales fueron arregladas por el proveedor, pero otras no, por ejemplo:
- ante ciertos errores de sincronismo solo se puedo optar por ignorar o rechazar todo el sincronismo.
- no loguea los errores de sincronismo, solo avisa que fallo
- al sincronizar más de una base (horas, rrhh, etc) no podemos recibir el resultado de todas las sincronizaciones.
- tiene un error 19 que en la documentación de Zumero dice que suele darse muy ocasionalmente y que no tiene un origen detectado.
Enfoque de Solución: Encargarnos nosotros del sincronismo, poniendo solo algo de lógica para detectar los cambios realizados y disparar los servicios Web como sincronismo, para esto tenemos el siguiente primer borrador de tareas:
- Crear base e invocar un primer Sincronismo (4hs)
- El Aplicativo actual deberá loguear cada acción realizada con la clave del registro (1hs)
- Ante invocación Manual o por periodicidad, disparar el sincronismo (1hs)
- El sincronismo deberá:
- Tratar cada log que no tengan la marca de procesado
- Determinar una acción por clave en base al log (1hs)
- Alta + Modif + Baja = no manda nada
- Alta + modif + modif = Alta con los datos actuales
- Alta = Alta
- Modif + modif + baja = baja
- Modif + Modif = Modif con los datos actuales
- Modif = Modif
- Baja = Baja
- por cada id deberá:
- Llamar al servicio backend con la acción (2hs)
- Loggear el resultado obtenido (1hs)
- Marcar como procesados a todos los registros de log del id tratado.
- una vez procesados todos los registros del log, deberá pisar la BBDD del móvil con los datos del servidor aplicando los filtros definidos (6,5hs)
Estimación:
Codificación | 16,5 hs |
Testing (prueba y corrección de errores) | 10 hs |
Depuración Zumero | 5 hs |
Ambientes | 2 hs |
Implementación | 2hs |
Gestión | 3 hs |
TOTAL | de 36,5 hs a 45 hs (38,5) |
Detalle de la estimación: Cambios sincronizacion mobile