Actualizando una base de datos local desde un servidor remoto - Parte II

Escenario completo



Vamos a analizar el escenario de esta aplicación:

  • El desarrollador, empresa o responsable del ranking de restaurantes crea la base de datos 
  • La base de datos es desplegada en un servidor Web desde donde va a ser descargada
  • Los usuarios descargan la base de datos en sus terminales para poder consumir la información
Teniendo claro como vamos a desplegar y desde donde vamos a descargar nuestra base de datos local, nos queda crear un mecanismo de actualización que permita actualizar la base de datos local sobre escribiéndola con una copia remota que el desarrollador ha actualizado o copiado en el servidor Web.

Mecanismo de actualización

El mecanismo de actualización está basado en un archivo de configuración que contiene la fecha de la última vez que se desplegó la base de datos en el servidor. Este archivo es desplegado en el servidor remoto y también es copiado en una carpeta local de datos de nuestra aplicación.



Cuando se ejecuta la aplicación en el terminal, un evento lanza la actualización de la base de datos. Esta actualización consiste en comparar la fecha del archivo de configuración remoto con la del archivo de configuración local. Si la fecha local es menor que la fecha remota, es porque la base de datos remota es una nueva versión.

En este caso, se descarga la base de datos remota y se actualiza el archivo de configuración local con la fecha remota una vez concluida la descarga.

Si el archivo de configuración no existe, es porque la aplicación nunca ha descargado la base de datos. En este caso se procede directamente a la descarga de la base de datos remota y del archivo de configuración.

De esta manera es posible actualizar periódicamente nuestra base de datos local a partir de la base de datos desplegada en un servidor Web remoto.

¿Por qué tiene que ser un servidor Web donde alojemos la base de datos?

La respuesta es muy simple: la mayoría de los frameworks de desarrollo de aplicaciones móviles soportan llamadas HTTP o la creación de clientes HTTP. La base de datos para una llamada HTTP tiene el mismo tratamiento que si descargáramos cualquier otro recurso de nuestra aplicación como un vídeo, una imagen, etc.

El servidor Web es un programa que se ejecuta de manera continua en un ordenador conectado a Internet, manteniéndose a la espera de peticiones de ejecución realizadas por los usuarios. Con comandos GET es posible descargar desde el servidor el archivo de configuración y la base de datos.

El servidor Web se encarga de responder a las peticiones GET de manera adecuada, entregando la información que solicitamos y de manera automática y desatendida, por lo que podemos hacer la actualización de la base de datos en cualquier momento.

0 comentarios:

Publicar un comentario

Entrada más reciente Entrada antigua Inicio