El día 10 de mayo de 2010 20:13, Erich Córdoba <[email protected]> escribió:
> Que tal, antes que todo un saludo.
> Estoy desarrollando una aplicación de punto de venta para un tienda con
> varias sucursales. La idea es que desde cada tienda se pueda consultar el
> inventario de las demas sucursales. Estoy pensando en concentrar la
> informacion de todas las tiendas en un servidor con MySQL donde ya tengo
> desarrollada (en parte) una aplicacion en Django para las consultas.
> Mi duda es, ¿cual creen que seria la mejor opción para realizar las
> consultas al servidor? ¿y en qué formato transmitir los datos? Pensaba en
> usar GIO para realizar las consultas, pero no lo he probado, sólo he visto
> ejemplos. Y la información no sé si generarla en XML o en otro formato.

Según lo que cuentas, la idea es centralizar la información para ser
consultada por las sucursales. Este tipo de estrategia es apropiada
para análisis de datos y toma de decisiones; pero no lo es tanto para
un sistema de control de stocks, que es lo que parece que estás
montando.

Si has descartado la centralización de datos en favor de mantenerlos
distribuídos entre las delegaciones, entonces estamos hablando de
montar un "motor de integración" que haga las consultas a cada
servidor y muestre la información de ése instante. Es complejo, pero
resultaría bastante escalable por si alguna vez quieres dar el salto
al control de stocks en tiempo real. También tendrías un punto de
entrada/salida apropiado por donde integrar esta aplicación con otro
tipo de módulos ERP, si viniera al caso.

Todo depende de cuál sea la proyección futura del sistema que quieres
montar. Usar XML no es tanto una obligación, como una facilidad para
poder interconectarse a otros sistemas. Con un esquema XSD bien
definido, resulta casi trivial montar un conector para que tu sistema
hable con otros sistemas ERP.


Yendo a lo concreto, y visto que te has decidido por articular todo
como servicio web, con django puedes montar bastante bien la
generación del flujo de datos (en xml o lo que quieras) así como el
control de acceso. Lo que no me queda claro es si también usas django
para el interface gráfico o si cada tienda tiene su propia aplicación.
En el primer caso, no sería necesario montar ningún servicio web. Si
vas a montar un servicio web, lo normal es que cada aplicación cliente
acceda a través de XMLRPC, SOAP o REST. Obviamente, las posibilidades
se ampliarían si controlas cliente y servidor.

Sin conocer la infraestructura que usas, hay también una opción que no
descartaría tan pronto: tunelizar conexiones mysql a través de ssh, de
modo que cada cliente hable directamente con el servidor mysql
central, con una aplicación django para visualizar cuadros de mandos
para la gestión central.
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a