proyecto combinado escritorio - web.

Chema Cortes pych3m4 en gmail.com
Jue Dic 10 20:03:13 CET 2009


El día 10 de diciembre de 2009 16:25, Oswall Verny Arguedas C.
<oswallcr en yahoo.com> escribió:

> --> Sí va a tener concurrencia, varios puntos de ventas por almacén, varios almacenes...  Si lo hiciera al revés sería mejor opción?, realizar la lógica no con turbogears sino con otro framework que no necesariamente sea web pero que pueda incluir los clientes web.

Con ésto que dices, tienes que pensar en otra cosa; lo que necesitas
no es una aplicación web. Olvídate, en un primer momento, de
frameworks web y céntrate en el modelado de datos. Por poner un
ejemplo, el stock debe actualizarse instantáneamente con cada venta
con el fin de evitar que dos vendedores puedan vender el mismo
producto simultáneamente. La forma de asegurar estos extremos es
contando con un buen diseño de base de datos que impida estos casos.
Para ello te aconsejo que tires por postgresql en lugar de mysql.

En cuanto a usar ORMs, no lo veas como una necesidad. Estos mapeadores
facilitan el mantenimiento de la aplicación, pero a costa de
simplificar el uso y diseño de la base de datos. Tal como yo lo veo
(que no tiene porqué ser la única forma) modelaría la base de datos
sin centrarme demasiado en cómo se van a consumir esos datos. Luego
crearía una colección de "vistas activas" unida a una programación de
una capa de negocio propia, y emplearía esta capa de negocio en la
presentación desde una aplicación web o una GUI. (Piensa que muchos
frameworks son modulares, en los que puedes sustituir el ORM que
llevan por otro e, incluso, no usar ningún ORM en absoluto).

De cara a la concurrencia, twisted ayuda bastante gracias con su
orientación a eventos, integrándose muy bien en el bucle de eventos de
una GUI. Para la parte web (o servicio web) podrías usar zope3, aunque
lo tengo tan olvidado que desconozco si todavía vive.

Seguramente, mi visión particular de cómo enfocar el problema sea
demasiado compleja. Pienso más en que se pueda escalar según los
requisitos, que en ajustarse a un presupuesto o uno plazos
determinados.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es