Компания FIT – разработчик и интегратор комплексных решений для ритейла, представит на Russian Retail Show инновационный продукт для автоматизации торговли в России, построенный на открытых бесплатных технологиях – lsFusion ERP 4R.
Начиная с 2022 года крупные мировые поставщики бизнес-приложений, такие как SAP, Microsoft или Oracle, ушли с российского рынка. Тем не менее, благодаря накопленной экспертизе по доработке и поддержке популярных приложений как внутри компаний, так и у ИТ-интеграторов, многие решения продолжают использоваться, что сопряжено с определенными рисками в будущем.
Одним из решений в сложившейся ситуации является использование платформ для быстрой разработки приложений (RAD), т.к. разработка новых решений «с нуля» с использованием классических языков программирования занимает много времени и человеческих ресурсов.
В этой статье сделан краткий обзор современной открытой и бесплатной платформы lsFusion, которая подходит для решения вышеописанных задач. Платформа базируется на ИТ из Единого реестра российского ПО (Astra Linux, Liberica JDK, Postgres Pro). При этом лицензия платформы позволяет создавать собственные решения на ее основе и вносить их в реестр.
О платформе
Платформа lsFusion предназначена для быстрой разработки бизнес-приложений. Распространяется под лицензией LGPL v3. Исходный код платформы доступен на Github.
Лучше всего lsFusion подходит для создания сложных систем с большим количеством разнообразных объектов, документов и форм, в которых требуется ввод и обработка значительных массивов данных.
При создании платформы были использованы наиболее стандартизированные и распространенные в своей области открытые Java-технологии.
В lsFusion применяется декларативный подход к программированию: большинство логики задается в виде спецификации решения задачи, т.е. описывается ожидаемый результат, а не способ его получения, как в классическом императивном программировании.
Поскольку парадигма платформы значительно отличается от классических подходов, для задания логики был создан специализированный язык. Для снижения порога входа в разработку был выбран SQL-подобный синтаксис с ключевыми словами вместо символов.
Как это работает
Разработка приложения на lsFusion ведется при помощи специального плагина к IntelliJ IDEA Community Edition. Плагин подсвечивает синтаксис и ошибки, поддерживает навигацию и рефакторинг исходного кода. Логика приложения задается в виде плоских текстовых файлов, которые называются модулями и содержат исходный код на внутреннем языке. Между модулями можно указывать зависимости. Благодаря этому при разработке можно использовать Git, Maven, а также подключать внешние Java классы и библиотеки для решения узкоспециализированных задач.
Разработанные на платформе приложения имеют классическую трехзвенную архитектуру.
В качестве системы хранения данных используется реляционная СУБД PostgreSQL.
Отличительной особенностью платформы lsFusion является то, что создаваемые приложения обладают высокой производительностью. Платформа обеспечивает оптимальный баланс нагрузки между серверами приложений и БД, поддерживает материализацию любых вычисляемых данных, использует встроенные оптимистичные блокировки СУБД и адаптивные оптимизаторы сложных запросов.
Возможности
Владение
Сама платформа lsFusion является open source продуктом, однако в соответствии с лицензией LGPL v3, под которой она распространяется, решения на базе платформы могут быть как с открытым кодом, так и проприетарными. В этом случае все права на приложение принадлежат либо разработчику/компании-разработчику, его создавшему, либо компании, для которой создано приложение.
Декларативность платформы и языка, полнофункциональная IDE на базе IntelliJ IDEA, наличие актуальной документации обеспечивают низкий порог вхождения в разработку. Благодаря этому платформа подходит для собственных разработок компаний, а также обеспечивает возможность быстрой организации внутренней службы поддержки коммерческих решений на базе lsFusion.
Кроссплатформенность
Приложения на lsFusion работают под управлением любых операционных систем, для которых существуют реализации JVM (Java Virtual Machine). Наиболее часто используются ОС семейств Microsoft Windows, Linux и MacOS, а также Android и iOS для мобильной версии веб-клиента.
Одновременно поддерживаются и десктоп, и веб-клиенты. Так как пользовательский интерфейс не разрабатывается отдельно, а генерируется автоматически при запуске сервера приложений на основе описанных форм, то функциональность десктоп и веб-клиентов идентична. Веб-клиент автоматически адаптируется под мобильные устройства. Таким образом работать с приложениями на lsFusion можно с любых устройств.
Модульность
Бизнес-логика приложения на lsFusion задается в виде отдельных компактных не связанных друг с другом правил/элементов (модулей), которые платформа при запуске этого приложения сама собирает в единый большой механизм.
Соответственно, большинство решений на lsFusion — это набор модулей, из которых можно выбирать любые подмножества, которые необходимы в конкретном проекте. Причем разрезы можно делать как вертикально (скажем включать в проект модуль Продаж, и не включать модуль Розничной торговли), так и горизонтально (то есть взять только базовую логику из каждого модуля и не включать в проект сложный узкоспециализированный функционал).
Производительность
Механизмы платформы обеспечивают высокую производительность построенных на ней приложений. Объем данных и количество одновременных пользователей приложения на lsFusion ограничивается только техническими характеристиками серверов приложений и БД, требования к которым невысокие. Как правило, для работы нескольких десятков одновременных пользователей для сервера приложений и БД совокупно будет достаточно 4-х ядерного процессора, 16Гб оперативной памяти и SSD диска.
Интегрируемость
Платформа поддерживает отправку и прием запросов по HTTP-протоколу. В совокупности со встроенным механизмом по экспорту и импорту файлов в формате JSON/XML можно легко организовать взаимодействие с любыми внешними системами.
Администрирование и интерфейс
Платформа предоставляет «из коробки» целый набор инструментов для администрирования работающего приложения, которые позволяют отслеживать текущие процессы и производительность системы, выполнять обслуживание БД, выполнять действия в заданное время автоматически, вести необходимые журналы и логи (подключений, ошибок и т.п.).
Для управления правами пользователей используется готовая модель распределения прав доступа по ролям.
Платформа предоставляет пользователю механизм управляемых форм с возможностью их самостоятельной настройки и последующим сохранением. В пользовательском интерфейсе предусмотрены различные методы отбора и сортировки данных, возможность изменения не только одиночных записей, но и целых массивов данных с помощью групповой корректировки. Кроме того, поддерживается вставка данных в табличные формы из буфера обмена. Например, фрагмент таблицы MS Excel. Платформа позволяет организовывать отображение данных не только в виде одиночных объектов и списков, но и в виде деревьев, в календаре, на карте, в системе 3D координат.
Печатные формы
Генерация печатных форм осуществляется при помощи библиотеки JasperReports. Платформа может автоматически генерировать сложную структуру отчетов и подотчетов, а разработчику остается только визуально настроить расположение элементов при помощи JasperSoft Studio.
Заключение
Платформа lsFusion разрабатывается уже 12 лет. За это время было реализовано большое количество приложений: от самых простых на несколько форм, до сложных ERP-систем с тысячами пользователей и процессов. Разработка платформы финансируется за счет компаний, создающих собственные коммерческие решения на ее основе.
В частности, на платформе разработаны и успешно внедряются в компаниях России, Беларуси и Узбекистана следующие коммерческие продукты:
– lsFusion ERP. Решение для управления предприятиями розничной торговли с отраслевыми конфигурациями и поддержкой законодательства и особенностей бизнес-процессов России, Беларуси и Узбекистана
– lsFusion ERP 4R – специализированная конфигурация для российского рынка будет представлена в деловой программе Russian Retail Show. Также с возможностями решения можно будет подробно ознакомится на выставочном стенде выставки Retail TECH
– lsFusion WMS. Система управления складскими комплексами для любого бизнеса
– MyCompany – полностью бесплатное базовое решение, которое реализует основные бизнес-процессы малого бизнеса. Выпускается под лицензией Apache.