Descripción


El provisionamiento seguro es un método del XOneLive que se invoca desde el XOneManager.
Mediante esta fórmula, la provisión de la base de datos no se realiza de forma inmediata, sino que es el cliente del XOneLive el que verá que hay una provisión segura para el dispositivo y se asegurará de que el dispositivo replica toda la información que tiene pendiente de enviar al servidor, antes de solicitar la provisión de base de datos.



Lógica de la provisión segura


1. En el XOneManager, alguien usa la provisión segura.
2. El XOneLive cliente comprueba actualizaciones y al ver que hay una provisión segura, notifica al framework de dos formas:

a.	Bloquea la réplica
b.	Bloquea el framework para que no se pueda abrir la aplicación.


3. En el caso que la aplicación estuviese cerrada:

a.	Replica todas las operaciones de salida en un último ciclo de réplica especial.
b.	Notifica al live para que éste le diga al server que ya puede generar la BD.
c.	El live descarga la base de datos nueva, borra la antigua y copia la nueva.


4. En el caso que la aplicación estuviese abierta:

a.	Si está definido el nodo <sys-message> en la colección "Empresas".

En este caso, el programador es responsable de todo, limpiar la cola de réplica y cerrar la aplicación.

Se ejecuta el sys-message con los parámetros:

1. code: 1003.
2. message: Mensaje del live.
3. liveResponse: Objeto de datos que debe usarse luego.

El programador debería avisar al usuario. Cuando termine de guardar lo que le haga falta, debe ejecutar:

replica.processReplicatorQueue(liveResponse);

Tras la ejecución de dicho método, cerrar la aplicación.
Este método notifica al live al finalizar para que genere la BD nueva.


b.	No está definido el nodo <sys-message>.

- Se postea una notificación con un temporizador de 30 segundos para guardar datos y cerrar la aplicación. Pasado este tiempo, el framework se cierra solo.

- Replica todas las operaciones de salida en un último ciclo de réplica especial.

- Notifica al live para que éste le diga al server que ya puede generar la BD.

- El live descarga la base de datos nueva, borra la antigua y copia la nueva.


Nodo sys-message


El cliente de XOneLive es capaz de comunicarse con el framework, enviando unos códigos para que el framework sepa que el XOneLive está recibiendo actualizaciones. Estos eventos, podemos capturarlos y actuar en consecuencia dentro del framework, por ejemplo para mostrar mensajes por pantalla al usuario e informarle de que el XOneLive está haciendo cambios en segundo plano.

La forma de capturar los eventos del XOneLive, es mediante el nodo <sys-message> de la colección de empresas, donde preguntaremos por el código que nos llega nos envía el XOneLive y realizaremos las acciones que creamos oportunas.

Más información del evento <sys-message> aquí