Мы внезапно обнаружили, что пролетел год с анонса новой версии и пришло время выпускать 6-ю версию в свет. До официального релиза осталось совсем немного.
К сожалению, мы не успели сделать все, что планировали, но решили не откладывать выпуск релиза. А недостающую функциональность мы добавим в следующих крупных обновлениях. И уже сейчас идет работа над версией 6.1, которая заполнит пробел недостающих возможностей.
На сегодняшний день мы уже заморозили добавление новых возможностей в ветке «релиз», занимаемся исправление недочетов и полируем внешний вид. Но несмотря на то, что мы не реализовали часть возможностей, которые есть в 5-й версии, нам есть чем гордиться.
Нам потребуется еще пара недель, чтобы подготовить 6-ю версию к релизу, а пока начнем рассказывать о ее главных изменениях. Сегодня ТОП-3 важных новшества.
С нуля разработанная архитектура
Начнем с основного. 6-я версия — это полностью новое, написанное с нуля приложение. Конечно, мы использовали некоторые наработки предыдущей версии, но архитектура была пересмотрена и 99% кода написаны заново.
Все это позволит в будущем быстрее и с минимальными усилиями улучшать программу. Ведь мы не планируем остановиться на достигнутом.
Конечно, с нуля написанный код может (и будет) содержать и новые ошибки, которые еще предстоит найти и исправить. Но не ошибается лишь тот, кто ничего не делает. И мы просим отнестись к возможным ошибкам с понимаем, даже несмотря на то, что мы приложили максимум усилий, чтобы минимизировать их.
Полноценная сетевая БД
5 лет назад, когда шла работа над 5-й версией программы, казалось, что на тот момент выбранная СУБД (система управления базой данных) была правильным решением. Но пришлось столкнуться с суровой реальностью — требования пользователей выше наших ожиданий. И, конечно, это хорошо — это движущая сила для всех нас.
В новой версии — новая СУБД — Firebird. Это проверенная временем система, которая должна покрыть те требования, и оправдать ожидания, как наши, так и пользователей нашей программы.
Firebird решает основную проблему работы по схеме «сервер+клиент», которая в 5-й версии была неполноценной. Теперь каждый компьютер, фактически, является клиентом, но не имеет никаких ограничений в функциональности.
Т. е. если в торговой точке 3 компьютера: 2 кассы и 1 у администратора, то на каждом из них можно будет выполнять все доступные в программе действия. Конечно, в рамках прав доступа, которые есть у текущего пользователя.
Интеграция с эквайрингом
Интеграция с терминалами для эквайринга напрямую казалась сложной задачей. Мы так и не решились сделать это в 5-й версии. Но сложные задачи нас не пугают. И в 6-й версии мы решили это реализовать.
Задача, конечно, оказалась действительно сложной, но и интересной. Вся суть сложности оказалась в том, что у каждого банка или модели может быть свой протокол обмена. Возьмем, к примеру, терминалы Verifone. У производителя этих терминалов есть свой протокол (порядок) обмена. Но у Сбербанка свои правила — для любых моделей у них свой протокол. У Приват-Банка (Украина) — свой. А, например, банк Александровский использует протокол производителя.
Мы решили пойти путем меньшего сопротивления, чтобы реализовать минимально работающую конфигурацию. Для начала была реализована связь с терминалами через сторонний модуль — ККМ-сервер, который сам по себе умеет работать с многими терминалами для эквайринга. Но есть одно «но» — он платный (для конечного пользователя).
Когда мы набрались немного опыта работы с терминалами, решили продолжить работу в этом направлении и реализовали работу со Сбербанком, как самым популярным банком-эквайером. И связка со Сбербанком будет доступна уже в релизе.
В версии 6.1 мы планируем добавить еще несколько интеграций, чтобы расширить парк поддерживаемых моделей и банков.