PHP - Datos desconectados

 
Vista:
Imágen de perfil de Superagente 86

Datos desconectados

Publicado por Superagente 86 (3 intervenciones) el 20/02/2017 07:46:33
Hola, amigos del foro.

Mi "problema", más que de programación, se trata de saber cómo hacer algo en particular.

Tengo un cliente que me pidió una aplicación web basada en PHP, MySQL, JS, HTML y CSS que debe estar alojada en la nube para que pueda controlar las distintas sucursales de su negocio desde distintos dispositivos y en donde quiera que esté tanto él como su personal de trabajo. El "problema" es que me pidió que la aplicación siga funcionando incluso si se interrumpe el servicio de internet (por alguna falla en el servicio, por poner un ejemplo). Aquí es en donde surge mi "problema". Sé que la tecnología ADO.NET es la ideal para trabajar con datos desconectados, pero, ¿cómo hacer esto con PHP+MySQL+JS?

Se me ocurren algunas ideas, como que, cuando se intente guardar los datos y se reciba un código de error porque no se pudo conectar con la base de datos (por la interrupción del servicio de internet), estos se almacenen en archivos JSON o de cualquier otro formato de texto plano, y, una vez que se restablezca el servicio de internet, se actualiza la información con lo almacenado en los archivos de texto plano. El punto es que, primero, ¿cómo evitaría conflictos entre lo almacenado de manera desconectada por la sucursal X y la sucursal Y o cualquiera de las otras? ¿Cómo sabrá el sistema en qué momento se restableció el servicio de internet? Para esto último, pienso que tendría que ser el mismo usuario quien se encargue, mediante algún botón que añada a la interfaz de la aplicación, de subir la información desconectada, para lo cual solo tendría que crear un script que lea la información de los archivos de texto plano y la inserte en la base de datos.

¿Es posible hacer esto? ¿Es una manera viable o quizá debo decirle a mi cliente que debe asegurarse de tener una conexión a internet permanente? ¿Puede haber otra solución que no implique cambiar el lenguaje de programación (es un requisito impuesto por el cliente)?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Datos desconectados

Publicado por xve (6935 intervenciones) el 20/02/2017 15:27:07
No te entiendo muy bien... la verdad... el servidor esta en internet, por lo que siempre esta conectado, no??, si los clientes u oficinas no tienen internet, no podrás conectarse con el servidor web, por lo que no podrán trabajar, no? o tienes una web igual en cada oficina?

No entiendo muy bien... si nos puedes comentar con mas detalle...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Superagente 86

Datos desconectados

Publicado por Superagente 86 (3 intervenciones) el 20/02/2017 16:24:01
Hola, xve.

Gracias por responder. Voy a explicar un poco más acerca del tema.

Se trata de una pequeña cadena de tiendas (pequeños market stores) que utilizarán la misma aplicación web pero desde sus respectivas estaciones de trabajo. Todas las tiendas tendrán conexión permanente a internet; sin embargo, la inquietud de mi cliente es; ¿qué sucederá si, en algún momento, se interrumpe el servicio de internet, digamos, si ocurre un problema en el cableado o con la propia empresa proveedora de internet? Ellos necesitarán continuar usando la aplicación para seguir registrando las ventas; y, a la vez, necesitarán seguir teniendo la información del stock actualizada al instante. Pensé en realizar copias del registro de la base de datos cada vez que se realiza una operación destructiva (INSERT, UPDATE, DELETE) y almacenarlas en caché o en almacenamiento local (con la API localStorage de HTML5); pero creo que puede llegar a ser algo poco eficiente, al punto de saturar al servidor con tantas peticiones. Además, como todas las tiendas se abastecen del mismo almacén, si algunas de las tiendas toman productos de dicho lugar (el almacén) cuando se encuentren trabajando de forma desconectada, puede ocurrir algún conflicto en la información cuando se restablezca la conexión a internet y se actualice la base de datos con lo que se guardó de manera desconectada en archivos de texto plano, en caché o en almacenamiento local en cada una de las tiendas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Datos desconectados

Publicado por xve (6935 intervenciones) el 20/02/2017 19:57:19
Es un tanto complicado si todo va por web...
Se me ocurren dos posibilidades...

1.- poner un router en el cual puedan poner una tarjeta 4G para cuando el cable falla.

2.- conectarse desde un portátil compartiendo la conexión 4G de un móvil

Cualquier cosa que hagas sin conexión, podrás tener problemas de sincronización, por lo que puede que vendan productos que no están ya en stock.


Se que no es exactamente lo que buscabas, pero es que no veo otra posibilidad!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Superagente 86

Datos desconectados

Publicado por Superagente 86 (3 intervenciones) el 21/02/2017 07:12:46
Me parece una buena idea la de compartir datos móviles en caso de falla en la conexión del router. Incluso hay otras alternativas que no dependen necesariamente de un smartphone o similar. Se lo sugeriré a mi cliente.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar