Re: proyecto combinado escritorio - web.
Javier Santana <[email protected]> Thu, 10 Dec 2009 16:36:18 +0100
| Newsgroups | gmane.comp.python.general.castellano |
|---|---|
| Message-ID | <[email protected]> |
Yo tambi=E9n ten=EDa el problema de los interfaces y la comunicaci=F3n con dispositivos externos (billeteros, impresoras, etc) y lo he resuelto usando Qt, me explico. Si tienes un cliente normal, sin dispositivos externos, puedes usar el sistema de aplicaci=F3n web normal, esto es, aplicaci=F3n en django/turbogears/loquequieras y cliente web tradicional (IE, firefox, chrome...). Sin embargo si tienes dispositivos de cobro por ejemplo, que l=F3gicamente tienen que ser controlados en el lado cliente (puerto serie, USB), puedes tener un cliente web "especial", esto es, una clase que herede QWebView y que gestione los dipositivos de cobro. Gracias a la maravillosa integraci=F3n es f=E1cil exportar funcionalidad hacia el lado web, esto es, puedes llamar a los m=E9todos de esa clase que gestiona los dispositivos desde javascript, de forma que tienes un navegador web normal (webkit se lo traga todo) pero adem=E1s con un API tuya de acceso a dispositivos. Yo lo he usado en C++, pero me ha funcionado a la perfecci=F3n. Un saludo. 2009/12/10 Oswall Verny Arguedas C. <[email protected]>: > --- El jue 10-dic-09, Chema Cortes <[email protected]> escribi=F3: > > De: Chema Cortes <[email protected]> > Asunto: Re: [Python-es] proyecto combinado escritorio - web. > A: "Lista de discusi=F3n sobre python en castellano" <[email protected]= g> > Fecha: jueves, 10 diciembre, 2009, 5:11 am > > El d=EDa 10 de diciembre de 2009 04:14, Oswall Verny Arguedas C. > <[email protected]> escribi=F3: >> Ser=EDa primero realizar el modelo de datos con turbogears y luego comun= icar con los m=F3dulos desktop? > > Por lo que das a entender, el acceso a los datos ser=EDa a trav=E9s de la > aplicaci=F3n web. Hablando con propiedad, quieres una arquitectura > multicapa, donde Modelo estar=EDa implementado con un ORM (sqlalchemy), > la l=F3gica de negocio se har=EDa con=A0 turbogears y la presentaci=F3n e= st=E1 > enfocada a navegador y escritorio (wx). > > --> Si, ser=EDa una aplicaci=F3n multicapa. La har=EDa totalmente en web,= sin embargo, tengo problemas con dispositivos de Punto de Ventas, como las= impresoras de tickets y otros que son le=EDdos y comandados desde los puer= tos serial, paralelo y usb, por eso pienso es mejor hacer tambi=E9n cliente= s en escritorio (wx). > > --> Sobre el ORM pienso ser=EDa el SqlAlchemy porque por defecto lo usa t= urbogears y parece ser tambi=E9n el m=E1s apropiado, aunque eventualmente n= o usara turbogears. > > --> Para la l=F3gica del negocio yo pienso con turbogears, sin embargo no= se si ser=E1 la mejor opci=F3n, porque un requerimiento que es muy importa= nte, es que los puntos de venta esten conectados, sincronizados y "perfecto= s" (uds. me comprenden), no pueden fallar. =A0La parte web es m=E1s para ad= ministraci=F3n y oficina, pero la parte escritorio es para movimientos diar= ios "en el mostrador". =A0 Por esto no se si lo mejor es turbogears (web) p= ara la l=F3gica y comunicaci=F3n con webservices para los POS (puntos de ve= ntas) u otra opci=F3n. =A0 Qu=E9 opinan? > > No voy a liarte con las alternativas posibles, pero lo que mejor puede > funcionar ser=EDa crear una serie de servicios webs ofreciendo las > funcionalidades b=E1sicas hecho con el framework web que quieras. A > partir de ah=ED, la capa de presentaci=F3n podr=EDa ser la que quieras. L= o > bueno de este dise=F1o es que desacoplas la l=F3gica de negocio de la > presentaci=F3n de los datos; lo malo es que los servicios web son > as=EDncronos, algo que no encaja bien con cierto tipo de aplicaciones de > escritorio (en "concurrencia"). > > --> S=ED va a tener concurrencia, varios puntos de ventas por almac=E9n, = varios almacenes... =A0Si lo hiciera al rev=E9s ser=EDa mejor opci=F3n?, re= alizar la l=F3gica no con turbogears sino con otro framework que no necesar= iamente sea web pero que pueda incluir los clientes web. > > Si la sincronizaci=F3n de los accesos es importante, una alternativa que > s=ED te recomiendo es twisted (usado tambi=E9n por Zope3) con "reactores" > especializados para varios GUIs. > > =A0 http://twistedmatrix.com/ > > Separando las funcionalidades b=E1sicas en servicios webs tambi=E9n te da > la libertad de elegir el framework que quieras para=A0 cada uno, incluso > usando distintos lenguajes, algo que parece estar tan de moda con el > "cloud computing". > > --> Voy a estudiar el twisted, me interesa mucho desacoplar la l=F3gica d= el negocio y utilizar las interfaces con los clientes c=F3mo las necesite. > > Las posibilidades son innumerables, sin ning=FAn framework llegue a > integrar todo de modo sencillo, que es lo que preguntabas. Siento no > poder ser m=E1s concreto. > > --> S=ED hay muchas posibilidades, por eso les hago la consulta a uds que= tienen experiencia en Python. =A0gracias de antemano. > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > > > =A0 =A0 =A0______________________________________________________________= ______________________ > =A1Obt=E9n la mejor experiencia en la web! > Descarga gratis el nuevo Internet Explorer 8. > http://downloads.yahoo.com/ieak8/?l=3De1 > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes