2010-01-30 2 views
6

Мне нужно разработать систему киосков. Единственный способ оплаты - это кредитная карта/дебетовая карта. Киоск должен быть подключен к сети с другим ПК. Например, если клиент заказывает что-то в киоске, его нужно отправить на другой компьютер, где сотрудник магазина может видеть, что было заказано.Руководство по программированию киоска

Вот мои следующие решения:

Вариант 1) веб-приложения на основе

Использование FLASH, ASP.net, или JAVA для пользовательского интерфейса?

Если я использую этот маршрут, как я могу связаться с устройством для чтения кредитных карт/дебетовых карт? Читатель будет установлен в киоске, но программное обеспечение киоска будет в сети. Должен ли я создать безопасное соединение для общения с читателем?

ВАРИАНТ 2) создать приложение на киоске

Использование FLASH, JAVA, Windows презентации слой с .NET?

Как я могу связаться с считывателями карт?

Какой вариант является лучшим? 1 или 2? JAVA, FLASH? WINDOWS .net? Что относительно linux? Легко ли разрабатывать киоски?

Благодарим за помощь.

ответ

11

Говоря как человек, который на самом деле реализуется приложением флэша целенаправленного для среды киоска, я настоятельно рекомендую использовать его по следующим причинам:

  1. Управления памяти не достаточно хорошо, чтобы оставить заявку работая без присмотра за дни/недели за раз. Это приведет к утечке памяти, и вам в конечном итоге придется перезапустить ее. Просто Google для «утечки флэш-памяти», чтобы понять, сколько проблем существует с ним. Они предположительно улучшили управление памятью в самых последних версиях, но, честно говоря, Flash в основном ориентирован на браузер, где пользователи закрывают вкладку/окно Flash после взаимодействия с ним в течение нескольких минут, поэтому они не потратили много времени, оптимизируя использование памяти.

  2. Обработка ошибок не является достаточно надежной, чтобы иметь дело с расширенной рабочей средой. Если ваше приложение выдает ошибку по какой-либо причине, игрок будет полностью останавливаться до тех пор, пока вы не перезапустите его. Запись в журнал ошибок также сложнее, чем из-за (3).

  3. Вы изолированы в среде Flash и не можете напрямую обращаться к устройствам считывания карт или другим внешним устройствам или писать в систему. Использование AIR может помочь вам получить доступ к файловой системе, но не намного дальше. Если вы хотите получить доступ к внешним устройствам, вам придется написать прокси-сервер, который находится на клиенте и отправит соответствующие данные в Flash через сокет. Если вы решите использовать сокеты для связи с вашим клиентом Flash, будьте готовы вытащить ваши волосы, расшифровывая политики безопасности Flash-плеера.

В основном вспышка была построена для совершенно иной среды, чем киоск, и поэтому не очень хорошо подходит для этой задачи. Я также рекомендую избегать использования веб-интерфейса из-за тех же трудностей, связанных с доступом к аппаратным устройствам. О, и для любви бога не запускайте Flash на Linux. Linux Flash Player находится на 234234 километрах позади версии Windows и даст вам массивную головную боль.

Что касается связи с кард-ридером, как правило, вы используете интерфейс с кард-ридером через USB, а устройство чтения карт можно поместить в режим «клавиатуры» или режим HID. В режиме клавиатуры считыватель карт будет считывать прокрутку карты и выводить текстовую строку, содержащую содержимое салфетки, как если бы это была клавиатура, и вам нужно проанализировать эту строку, чтобы получить нужные данные. Режим HID немного чище, и вы взаимодействуете с ним, читая swipes с USB-устройства.

Из перечисленных вами опций ваш лучший вариант (к сожалению), вероятно, заключается в написании своего рода Java или .NET-приложения, которое может работать в среде 24/7. Если вам нужно получить доступ к принтерам или другим аппаратным устройствам (например, для автоматической печати квитанции), то Java и .NET имеют очень хорошую поддержку стандарта OPOS, который является стандартным интерфейсом для разговора с принтерами приема. Что касается Linux и Windows, я видел, что оба они успешно используются.

BTW, если ваше приложение обрабатывает данные кредитной карты, не забывайте о соблюдении PCI :).

4

Используйте веб-приложение и напишите интерфейс в HTML5.

Что касается программного обеспечения на киоске, я рекомендую Webconverger. Отказ от ответственности: я являюсь основателем этого проекта с открытым исходным кодом.

Вы должны получить независимое платежное устройство и сопоставить квитанции вручную.

Смежные вопросы