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