7

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

以下是我的以下解决方案:

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

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

如果我走这条路线,我如何与信用卡/借记卡读卡器通信?阅读器将安装在信息亭上,但信息亭软件将在网络上。我是否必须创建安全连接才能与阅读器进行通信?

选项 2) 在自助服务终端上创建应用程序

使用.net 的FLASH、JAVA、Windows 表示层?

如何与读卡器通信?

哪个选项是最好的?1 还是 2?JAVA,闪存?Windows .net?linux呢?开发自助服务终端应用程序容易吗?

谢谢您的帮助。

4

2 回答 2

11

作为一个实际实现了针对 kiosk 环境的 Flash 应用程序的人,我强烈建议不要使用它,原因如下:

  1. 内存管理不足以让应用程序一次运行数天/数周无人看管。它会泄漏内存,您最终将不得不重新启动它。只需 Google 搜索“闪存泄漏”就可以了解它存在多少问题。据说他们在最新版本中改进了内存管理,但老实说,Flash 主要针对浏览器,用户在与 Flash 选项卡/窗口交互几分钟后会关闭它,所以他们并没有花费太多很多时间优化它的内存使用。

  2. 错误处理不够健壮,无法处理扩展的运行环境。如果您的应用由于任何原因抛出错误,播放器基本上会完全停止,直到您重新启动它。由于(3),写入错误日志也比应有的困难。

  3. 您在 Flash 环境中处于沙盒状态,无法直接访问读卡器或其他外部设备等内容,也无法写入系统。使用 AIR 可能会帮助您访问文件系统,但仅此而已。如果您想访问外部设备,您必须编写一个代理,该代理位于客户端并通过套接字将相关数据发送到 Flash。如果您确实决定使用套接字与您的 Flash 客户端进行通信,请准备好大惊小怪地解读 Flash 播放器的安全策略。

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

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

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

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

于 2010-01-30T06:58:42.127 回答
4

使用基于 Web 的应用程序并用 HTML5 编写 UI。

至于 kiosk 上的软件,我推荐Webconverger。免责声明:我是这个开源项目的创始人。

您应该获得一个独立的支付设备并手动匹配收据。

于 2010-02-04T14:34:30.460 回答