2010-01-30 22 views
6

Necesito desarrollar un sistema de quiosco. La única opción de pago será una tarjeta de crédito/débito. El quiosco debe conectarse en red con otra PC. Por ejemplo, si un cliente pide algo en el quiosco, debe ser enviado a otra PC donde un empleado de la tienda puede ver lo que se ordenó.Guía de software de kiosco

Aquí están mis siguientes soluciones:

opción de aplicación basada 1) Web

utilizar el flash, ASP.net, o Java para la interfaz de usuario?

Si tomo esta ruta, ¿cómo puedo comunicarme con el lector de tarjetas de crédito/débito? El lector se instalará en el quiosco, pero el software del quiosco estará en la web. ¿Tendría que crear una conexión segura para comunicarme con el lector?

OPCIÓN 2) crear una aplicación en el quiosco

uso Flash, Java, Windows capa de presentación with.net?

¿Cómo puedo comunicarme con los lectores de tarjetas?

¿Cuál es la mejor opción? ¿1 o 2? JAVA, FLASH? WINDOWs .net? ¿Qué hay de Linux? ¿Es fácil desarrollar aps en kiosco?

Gracias por su ayuda.

Respuesta

11

Hablando como alguien que ha implementado una aplicación Flash apuntado para un entorno de quiosco, recomendaría altamente contra el uso de la pena por las siguientes razones:

  1. La gestión de memoria no es lo suficientemente bueno para salir de una aplicación corriendo desatendido por días/semanas a la vez. Perderá memoria y eventualmente tendrá que reiniciarlo. Solo busque Google para 'Flash memory leak' para tener una idea de cuántos problemas hay con eso. Supuestamente han mejorado la administración de memoria en las versiones más recientes, pero para ser honesto, Flash está principalmente dirigido al navegador donde los usuarios cerrarán la pestaña/ventana de Flash después de interactuar con ella durante unos minutos, por lo que no han gastado mucho mucho tiempo optimizando su uso de memoria.

  2. El manejo de errores no es lo suficientemente robusto como para tratar con un entorno de funcionamiento extendido. Si su aplicación arroja un error por algún motivo, el reproductor básicamente se detendrá por completo hasta que lo reinicie. Escribir en los registros de errores también es más difícil de lo debido debido a (3).

  3. Estás en un entorno Flash y no puedes acceder directamente a elementos como lectores de tarjetas u otros dispositivos externos, o escribir en el sistema. El uso de AIR puede ayudarlo a obtener acceso al sistema de archivos, pero no mucho más. Si desea acceder a dispositivos externos, tendrá que escribir un proxy que se encuentre en el cliente y envíe los datos relevantes a Flash a través de un socket. Si decide usar sockets para comunicarse con su cliente Flash, prepárese para despejarse y descifrar las políticas de seguridad de Flash Player.

Básicamente Flash fue creado para un entorno completamente diferente a un quiosco, y por lo tanto no es muy adecuado para la tarea. También recomendaría evitar el uso de una interfaz basada en web, debido a las mismas dificultades asociadas con el acceso a dispositivos de hardware. Ah, y por el amor de Dios, no ejecutes Flash en Linux. El reproductor Flash de Linux está a 234234 millas detrás de la versión de Windows y le dará un gran dolor de cabeza.

En cuanto a la comunicación con el lector de tarjetas, generalmente se conecta con un lector de tarjetas a través de USB, y el lector de tarjetas se puede colocar en modo de "teclado en cuña" o modo HID. En el modo de teclado, el lector de tarjetas leerá un deslizamiento de tarjeta y emitirá una cadena de texto sin formato que contiene el contenido del deslizamiento como si fuera un teclado, y usted necesita analizar esa cadena para obtener los datos que desea. El modo HID es un poco más limpio e interactúa con él leyendo los deslizamientos del dispositivo USB.

De las opciones que enumeró, su mejor opción (por desgracia) es probablemente escribir algún tipo de aplicación Java o .NET que pueda funcionar en un entorno 24/7. Si necesita acceder a impresoras u otros dispositivos de hardware (para imprimir automáticamente un recibo, por ejemplo), Java y .NET tienen un buen soporte para el estándar OPOS, que es la interfaz estándar para comunicarse con las impresoras de recibos. En cuanto a Linux vs Windows, he visto ambos utilizados con éxito.

BTW si su aplicación está procesando datos de la tarjeta de crédito, no olvide el cumplimiento de PCI :).

4

Utilice una aplicación basada en web y escriba la interfaz de usuario en HTML5.

En cuanto al software en el quiosco, recomiendo Webconverger. Descargo de responsabilidad: soy el fundador de este proyecto de código abierto.

Debe obtener un dispositivo de pago independiente y hacer coincidir los recibos manualmente.