信息亭软件指南 [英] Kiosk software guidance

查看:120
本文介绍了信息亭软件指南的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要开发一个信息亭系统.唯一的付款方式是信用卡/借记卡.信息亭需要与另一台PC联网.例如,如果客户在信息亭上订购商品,则需要将其发送到另一台PC,商店员工可以在此查看订购的商品.

I need to develop a kiosk system. The only payment option will be a credit card/debit card. The kiosk need to be networked with another PC. For example, if a customer orders something on the kiosk, it needs to be sent to a another pc where a store employee can see what was ordered.

以下是我的解决方案:

选项1)基于Web的应用程序

OPTION 1) web based application

使用FLASH,ASP.net或JAVA作为用户界面吗?

Use FLASH, ASP.net, or JAVA for user interface?

如果我走这条路线,该如何与信用卡/借记卡读卡器通信?阅读器将安装在信息亭上,但信息亭软件将在网络上.我是否需要创建一个安全的连接才能与阅读器通信?

If I take this route, how can I communicate with the credit/debit card reader? The reader will be installed on the kiosk, but the kiosk software will be on the web. Would I have to create a secure connection to communicate with the reader?

选项2)在信息亭上创建一个应用程序

OPTION 2) create an application on the kiosk

通过.net使用FLASH,JAVA,Windows演示层吗?

Use FLASH, JAVA, Windows presentation layer with.net?

如何与读卡器通信?

哪个选项是最好的? 1或2? JAVA,FLASH? WINDOWs.net? linux呢?在其中开发信息亭aps容易吗?

Which option is the best? 1 or 2? JAVA, FLASH? WINDOWs .net? What about linux? Is it easy to develop kiosk aps in?

谢谢您的帮助.

推荐答案

以实际实现了面向信息亭环境的Flash应用程序的人的名义,出于以下原因,我强烈建议您不要使用它:

Speaking as someone who has actually implemented a Flash application targeted for a kiosk environment, I would highly recommend against using it for the following reasons:

  1. 内存管理不够好,无法使应用程序一次连续运行几天/几周.它将泄漏内存,您最终将不得不重新启动它.只是Google针对闪存泄漏"一事,了解了其中有多少问题.据称,它们在最新版本中改进了内存管理,但是老实说,Flash主要针对浏览器,用户在与之交互几分钟后将关闭Flash标签/窗口,因此他们并没有花费太多时间.很多时间优化其内存使用情况.

  1. The memory management is not good enough to leave an application running unattended for days/weeks at a time. It will leak memory and you will eventually have to restart it. Just Google for 'Flash memory leak' to get an idea of how many issues there are with it. They've supposedly improved memory management in the most recent versions, but to be honest, Flash is mostly targeted at the browser where users will close the Flash tab/window after interacting with it for a few minutes, so they haven't spent very much time optimizing its memory usage.

错误处理的鲁棒性不足以应对扩展的运行环境.如果您的应用因任何原因引发错误,则播放器基本上会完全停止,直到您重新启动它为止.由于(3),写入错误日志也比应有的困难.

The error handling isn't robust enough to deal with an extended running environment. If your app throws an error for any reason, the player will basically stop completely until you restart it. Writing to error logs is also more difficult than it should be due to (3).

您在Flash环境中处于沙箱状态,无法直接访问读卡器或其他外部设备之类的东西,也无法写入系统.使用AIR可能会帮助您访问文件系统,但除此之外没有太多帮助.如果要访问外部设备,则必须编写一个位于客户端的代理,然后通过套接字将相关数据发送到Flash.如果您确实决定使用套接字与Flash客户端进行通信,请做好准备,以破译Flash播放器的安全策略.

You are sandboxed in a Flash environment and can't directly access things like card readers or other external devices, or write to the system. Using AIR might help you get access to the file system, but not much beyond that. If you want to access external devices you'll have to write a proxy that sits on the client and sends the relevant data to Flash via a socket. If you do decide to use sockets to communicate with your Flash client, be prepared to pull your hair out deciphering Flash player's security policies.

基本上,Flash是为与信息亭完全不同的环境而构建的,因此不太适合该任务.我也建议避免使用基于Web的界面,因为与访问硬件设备相关的相同困难.哦,为了上帝的爱,不要在Linux上运行Flash. Linux Flash播放器比Windows版本落后234234英里,这会让您头疼.

Basically Flash was built for an entirely different environment than a kiosk, and therefore is not very well suited to the task. I would also recommend avoiding using a web based interface, because of the same difficulties associated with accessing hardware devices. Oh and for the love of god don't run Flash on Linux. The Linux Flash player is 234234 miles behind the Windows version and will give you a massive headache.

就与读卡器进行通信而言,通常可以通过USB与读卡器进行接口,并且可以将读卡器设置为键盘楔"模式或HID模式.在键盘模式下,读卡器将读取刷卡并输出包含刷卡内容的纯文本字符串,就好像它是键盘一样,您需要解析该字符串以获取所需的数据. HID模式更简洁一些,您可以通过读取USB设备上的滑动来与它进行交互.

As far as communicating with the card reader, generally you interface with a card reader over USB, and the card reader can be placed into 'keyboard wedge' mode or HID mode. In keyboard mode the card reader will read a card swipe and output a plain text string containing the swipe contents as if it were a keyboard, and you need to parse that string to get the data out you want. HID mode is a little cleaner and you interact with it by reading swipes off of the USB device.

在列出的选项中,最好的选择(不幸的是)可能是编写某种可以在24/7环境中运行的Java或.NET应用程序.如果需要访问打印机或其他硬件设备(例如,以自动打印收据),则Java和.NET对OPOS标准(这是用于与收据打印机进行通信的标准接口)具有很好的支持.就Linux与Windows而言,我已经看到两者都成功使用了.

Of the options you listed, your best option (unfortunately) is probably writing some kind of Java or .NET app that can stand to run in a 24/7 environment. If you need to access printers or other hardware devices (to automatically print a receipt for example), then Java and .NET have very good support for the OPOS standard, which is the standard interface for talking to receipt printers. As far as Linux vs Windows, I've seen both used successfully.

顺便说一句,如果您的应用程序正在处理信用卡数据,请不要忘记PCI合规性:).

BTW if your application is processing credit card data, don't forget about PCI compliance :).

这篇关于信息亭软件指南的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆