Программное обеспечение для касс самообслуживания: делаем сами

Логотип компании
Программное обеспечение для касс самообслуживания: делаем сами
Стоимость разработки и внедрения собственного программного обеспечения КСО будет в несколько раз ниже, чем стандартные «коробочные» аналоги. Самостоятельная разработка ПО для КСО дает возможность значительно сократить срок окупаемости проекта и внедрять эту технологию в магазины более высокими темпами.

В настоящее время всё больше торговых сетей внедряют кассы самообслуживания собственной разработки, так как это в несколько раз дешевле, чем использование готовых решений импортного производства. Также своё программное обеспечение даёт возможность его глубокой интеграции с существующими информационными системами компании, что позволяет оперативно получать обновление каталога товаров и цены, актуальную информацию по акциям и скидкам, оперативно вносить изменения в существующие программы лояльности.

Разработка программного обеспечения для касс самообслуживания очень похожа на создание приложений для обычных персональных компьютеров, но есть дополнительные требования, такие как высокая отказоустойчивость, низкие требования к производительности процессора и объёму оперативной памяти.

Рассмотрим подробнее, какие технологии можно использовать для реализации программной части касс самообслуживания.

1. Операционная система

В первую очередь нужно выбрать, на какой операционной системе будет работать ПО. Я рекомендую использовать ОС Debian семейства Linux. Она является одной из самых стабильных и надежных среди Linux-систем согласно многочисленным независимым тестам, также размер установленной ОС занимает немного более 1 Гб, что в разы меньше по сравнению с Windows. Debian имеет низкие требования к скорости процессора и может полноценно функционировать даже с 4 Гб оперативной памяти. Также Debian содержит большое количество драйверов устройств и хорошо поддерживает современное оборудование. Несомненным плюсом является тот факт, что она абсолютно бесплатная.

2. Фронтенд-технологии

Следующим шагом предстоит определиться, какие технологии будут использоваться непосредственно в ПО КСО. На этом этапе я предлагаю рассмотреть доступные фронтенд-технологии или, другими словами, какие технологии можно использовать для создания пользовательского интерфейса.

Есть технологии от Microsoft, такие как WinForms и WPF, но они работают только в Windows и в нашем случае они не подходят, так как встроенная в них библиотека компонентов довольно скудная, и их тяжело дорабатывать и расширять для достижения нужной функциональности.

Есть фреймворк QT для кросс-платформенной разработки, в целом, хороший выбор, но он платный и довольно сложный. Если в компании нет специалистов по QT, то придется долго ждать готового решения.

Есть UI технологии в языке программирования Java, такие как Swing и JavaFX. Но они больше подходят для разработки настольных бизнес-приложений, их компоненты тяжело кастомизировать и сложно добиться нужного вида интерфейса.

Есть широко известные HTML и CSS. Эти технологии хороши тем, что существуют давно и их знают все фронтенд-разработчики. Раньше эти технологии использовались только для веб-сайтов, но в 2016 году появился фреймворк Electron, позволяющий превращать веб-приложения в десктопные решения. Electron имеет версии для разных операционных систем, таких, как Linux, MacOS, Windows и для разных архитектур процессоров. Это позволяет создавать кросс-платформенные приложения и не накладывает ограничения на использование разработчиками конкретной операционной системы.

Я рекомендую использовать именно веб-технологии HTML, CSS, JavaScript, так как с их помощью можно создать интерфейс приложения любой сложности, они знакомы большому количеству специалистов. Также для разработки фронтенд-части приложения можно использовать такие популярные фреймворки, как React и Angular, это позволит значительно ускорить процесс разработки и облегчит тестирование приложения.

3. Бэкенд-технологии

Далее нужно определиться с бэкенд-частью ПО. Для того, чтобы веб-приложение в Electron могло полноценно функционировать, ему нужен REST сервис. Можно применить одно из двух типовых решений: единый сервер, установленный в дата-центре компании, или локальный сервер, установленный прямо на устройстве.

Опыт показывает, что для обеспечения максимальной работоспособности КСО имеет смысл разработать REST сервис и установить его на само устройство. Это спасёт от многочисленных проблем в случае сбоев в работе интернета и сетевого оборудования. Такое техническое решение предполагает, что данные, накопленные непосредственно в кассе, будут периодически (например, ежедневно) синхронизироваться с основными серверами торговой сети. Таким же образом следует обновлять каталог товаров, цены, информацию об акциях и скидках. Использование локального сервера позволит обеспечить необходимый баланс между автономностью работы и доступом КСО к актуальным данным, необходимым для осуществления продаж. Для реализации бэкенд-части ПО для КСО подойдут Python, Node.js, Java, в качестве базы данных можно использовать PostgreSQL, MySQL, MariaDB.

При выборе технологий для реализации бэкенд-части ПО рекомендую остановиться на тех технологических решениях, которые в состоянии реализовать специалисты внутри компании. Это позволит значительно ускорить процесс разработки ПО и облегчит дальнейшую поддержку и доработку. Не стоит забывать и про отказоустойчивость ПО, так как перебои в работе сетевого оборудования и интернета, а также отключения электричества — не редкость. При тестировании ПО следует имитировать все возможные неполадки, и закладывать в программный код логику обработки нештатных ситуаций. Этот этап очень важен, т.к. необходимо максимально минимизировать, а лучше и вовсе исключить время простоя, после различных сбоев в работе оборудования.

Отдельное внимание стоит уделить процессу обновления ПО на КСО. Эта задача становится нетривиальной, когда речь идет о сотнях и тысячах касс самообслуживания. В ручном режиме это реализовать невозможно, поэтому следует разработать механизмы по автоматическому обновлению ПО.

Это самые основные этапы разработки программного обеспечения кассы самообслуживания. Безусловно, этот путь непрост, но его вполне возможно реализовать. Расчеты показывают, что стоимость разработки и внедрения собственного программного обеспечения КСО будет в несколько раз ниже, чем стандартные «коробочные» аналоги. Самостоятельная разработка ПО для касс самообслуживания дает возможность значительно сократить срок окупаемости проекта и внедрять эту технологию в магазины более высокими темпами.

Опубликовано 03.06.2020

Похожие статьи