proyecto combinado escritorio - web.

Oswall Verny Arguedas C. oswallcr en yahoo.com
Jue Dic 10 19:01:58 CET 2009


Utilizo Qt, si es posible PyQt.

Se incrusta la página web dentro de una ventana tipo WebKit, de manera que navegue en el sistema como si estuviera en internet explorer o firefox, y mediante el QWebView puedo manipular las impresoras de tickets y otros dispositivos.

En sí la misma interface para los clientes web sería para el punto de ventas, únicamente que está empotrado en una ventana Qt con un plugin (por así decirlo) que tiene acceso a dispositivos de la PC.


--- El jue 10-dic-09, Javier Santana <qualopec en gmail.com> escribió:

> De: Javier Santana <qualopec en gmail.com>
> Asunto: Re: [Python-es] proyecto combinado escritorio - web.
> A: "Lista de discusión sobre python en castellano" <python-es en aditel.org>
> Fecha: jueves, 10 diciembre, 2009, 9:36 am
> Yo también tenía el problema de los
> interfaces y la comunicación 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ón web normal, esto es, aplicación en
> django/turbogears/loquequieras y cliente web tradicional
> (IE, firefox,
> chrome...).
> 
> Sin embargo si tienes dispositivos de cobro por ejemplo,
> que
> lógicamente 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ón es fácil exportar
> funcionalidad
> hacia el lado web, esto es, puedes llamar a los métodos de
> esa clase
> que gestiona los dispositivos desde javascript, de forma
> que tienes un
> navegador web normal (webkit se lo traga todo) pero además
> con un API
> tuya de acceso a dispositivos.
> 
> Yo lo he usado en C++, pero me ha funcionado a la
> perfección.
> 
> Un saludo.
> 
> 
> 
> 2009/12/10 Oswall Verny Arguedas C. <oswallcr en yahoo.com>:
> > --- El jue 10-dic-09, Chema Cortes <pych3m4 en gmail.com>
> escribió:
> >
> > De: Chema Cortes <pych3m4 en gmail.com>
> > Asunto: Re: [Python-es] proyecto combinado escritorio
> - web.
> > A: "Lista de discusión sobre python en castellano"
> <python-es en aditel.org>
> > Fecha: jueves, 10 diciembre, 2009, 5:11 am
> >
> > El día 10 de diciembre de 2009 04:14, Oswall Verny
> Arguedas C.
> > <oswallcr en yahoo.com>
> escribió:
> >> Sería primero realizar el modelo de datos con
> turbogears y luego comunicar con los módulos desktop?
> >
> > Por lo que das a entender, el acceso a los datos
> sería a través de la
> > aplicación web. Hablando con propiedad, quieres una
> arquitectura
> > multicapa, donde Modelo estaría implementado con un
> ORM (sqlalchemy),
> > la lógica de negocio se haría con  turbogears y la
> presentación está
> > enfocada a navegador y escritorio (wx).
> >
> > --> Si, sería una aplicación multicapa. La haría
> totalmente en web, sin embargo, tengo problemas con
> dispositivos de Punto de Ventas, como las impresoras de
> tickets y otros que son leídos y comandados desde los
> puertos serial, paralelo y usb, por eso pienso es mejor
> hacer también clientes en escritorio (wx).
> >
> > --> Sobre el ORM pienso sería el SqlAlchemy porque
> por defecto lo usa turbogears y parece ser también el más
> apropiado, aunque eventualmente no usara turbogears.
> >
> > --> Para la lógica del negocio yo pienso con
> turbogears, sin embargo no se si será la mejor opción,
> porque un requerimiento que es muy importante, es que los
> puntos de venta esten conectados, sincronizados y
> "perfectos" (uds. me comprenden), no pueden fallar.  La
> parte web es más para administración y oficina, pero la
> parte escritorio es para movimientos diarios "en el
> mostrador".   Por esto no se si lo mejor es turbogears
> (web) para la lógica y comunicación con webservices para
> los POS (puntos de ventas) u otra opción.   Qué opinan?
> >
> > No voy a liarte con las alternativas posibles, pero lo
> que mejor puede
> > funcionar sería crear una serie de servicios webs
> ofreciendo las
> > funcionalidades básicas hecho con el framework web
> que quieras. A
> > partir de ahí, la capa de presentación podría ser
> la que quieras. Lo
> > bueno de este diseño es que desacoplas la lógica de
> negocio de la
> > presentación de los datos; lo malo es que los
> servicios web son
> > asíncronos, algo que no encaja bien con cierto tipo
> de aplicaciones de
> > escritorio (en "concurrencia").
> >
> > --> 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.
> >
> > Si la sincronización de los accesos es importante,
> una alternativa que
> > sí te recomiendo es twisted (usado también por
> Zope3) con "reactores"
> > especializados para varios GUIs.
> >
> >   http://twistedmatrix.com/
> >
> > Separando las funcionalidades básicas en servicios
> webs también te da
> > la libertad de elegir el framework que quieras para 
> 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ógica del negocio y utilizar las interfaces
> con los clientes cómo las necesite.
> >
> > Las posibilidades son innumerables, sin ningún
> framework llegue a
> > integrar todo de modo sencillo, que es lo que
> preguntabas. Siento no
> > poder ser más concreto.
> >
> > --> Sí hay muchas posibilidades, por eso les hago
> la consulta a uds que tienen experiencia en Python.
>  gracias de antemano.
> >
> > _______________________________________________
> > Lista de correo Python-es
> > http://listas.aditel.org/listinfo/python-es
> > FAQ: http://listas.aditel.org/faqpyes
> >
> >
> >
> >    
>  ____________________________________________________________________________________
> > ¡Obtén la mejor experiencia en la web!
> > Descarga gratis el nuevo Internet Explorer 8.
> > http://downloads.yahoo.com/ieak8/?l=e1
> > _______________________________________________
> > 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
> 


      ____________________________________________________________________________________
¡Obtén la mejor experiencia en la web!
Descarga gratis el nuevo Internet Explorer 8. 
http://downloads.yahoo.com/ieak8/?l=e1
_______________________________________________
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