[pyar] [Django] Accesibilidad a Sistema Web Offline

Ariel Gerardo Ríos arielgerardorios en gmail.com
Mar Ago 7 17:07:42 -03 2018


Emiliano:

    Tu enunciado es la definición de un sistema distribuido. Tanto tu
sistema local como el remoto tienen que ser considerados como partes
independientes, porque de otra manera vas a tener mucho acoplamiento entre
los componentes y te puede traer dolor de cabeza en el futuro; mejor
separados y que evolucionen individualmente.

* Si tenés la libertad de tomar decisiones de arquitectura: yo pondría una
API del lado remoto y localmente usaría un storage (una bd o una cola) para
procesar los datos pendientes de envío de forma asincrónica y que reintente
hasta que tengas un OK. Para implementar un esquema de workers asincrónicos
se suele usar Celery <http://www.celeryproject.org/> con Django.

* Si no: también separaría la lógica que guarda localmente y la que hace el
guardado remoto, así tenés una separación de responsabilidades y es más
fácil de probar; usaría una db o una cola de mensajes.

[  web local ]  ------guarda localmente -------> [ DB local o cola ]
<-------- [ worker lee y guarda en la DB remota ] ----------> [ DB remota ]

Saludos!

El mar., 7 de ago. de 2018 a la(s) 16:54, Matías Bellone (
matiasbellone en gmail.com) escribió:

> Si es algo web, probablemente te convenga revisar Progressive Web Apps que
> usan Service Workers para proveer funcionalidad offline al conectarte a una
> web.
>
> https://developers.google.com/web/fundamentals/codelabs/offline/
>
> Saludos,
> Toote
>
> On Tue, Aug 7, 2018 at 4:34 PM Emiliano Cugno <emi.cugno en gmail.com> wrote:
>
>> Hola lista, mi nombre es Emiliano. Me surgió un problema de
>> requerimientos en un proyecto el cual, cuando se corta internet, debe
>> seguir operando la app de pagos. El sistema debe ser web por el 90% de los
>> otros requerimientos, y acceder mediante navegador.
>>
>> Para solucionar el problema, mi idea es correr en local la web. Si hay
>> internet, funcionar normalmente. Si no lo hay, entrar al sistema de manera
>> local, y persistir en local dichos pagos. Cuando vuelva internet, pegarle
>> al sitio web con todos los pagos efectuados y procesarlos. Estuve viendo
>> que lo podría implementar mediante un esquema de tenants, aunque sería una
>> solución muy rústica la cual quiero evitar a toda costa.
>>
>> ¿Que les parece? ¿Se les ocurre algo mejor? Hace muy poquito que estoy
>> desarrollando y sinceramente no consigo encontrar una solución que me
>> convenza.
>>
>> Desde ya, muchas gracias!
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



-- 
Ariel Gerardo Ríos
linkedin <http://www.linkedin.com/pub/ariel-gerardo-rios/33/158/227> | *blog
<http://www.ariel17.com.ar>*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180807/374983b2/attachment.html>


Más información sobre la lista de distribución pyar