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