Haulmont перевела платформу CUBA в Open Source

ПО Цифровизация Системное ПО Открытое ПО Маркет
, Текст: Татьяна Короткова

Российская компания-разработчик Haulmont объявила о переводе платформы CUBA в Open Source. Теперь платформа распространяется по лицензии Apache 2.0 с исходным кодом, доступным на GitHub. Монетизировать её компания планирует за счет продажи инструментов, оптимизирующих разработку, и дополнительных модулей, сообщили CNews в Haulmont.

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

По сути, платформа CUBA представляет собой высокоуровневый фреймворк, объединяющий в единую архитектуру набор популярных Open Source-технологий, что позволяет разработчикам абстрагироваться от отдельных технологий, использующихся для создания бизнес-систем (технологий разработки пользовательского интерфейса, ORM и т.д.) и сконцентрироваться на создании бизнес-логики приложения, пояснили в Haulmont.

Приложения на базе CUBA имеют стандартную трехуровневую архитектуру: уровень БД, средний слой и клиентский уровень. Платформа обладает спектром функциональности, такой как: подсистема контроля уровня доступа пользователей, аудит данных, задачи по расписанию, мультиязыковой интерфейс, консоль разработчика, универсальный REST API, динамические атрибуты и другие, характерные для корпоративных приложений, модули.

С точки зрения разработчика, весь код пишется на Java SE (бизнес-логика приложения), XML (пользовательский интерфейс) и JPQL (работа с данными). Пользовательский интерфейс описывается декларативно в XML, а контроллеры экранов реализуются также на Java SE. Однако возможно создание динамического пользовательского интерфейса непосредственно из кода контроллера. Пользовательский интерфейс включает в себя более 70 визуальных компонентов, в том числе универсальный фильтр данных; при этом существует возможность интегрировать сторонние или свои собственные компоненты, разработанные на JavaScript или GWT, рассказали в Haulmont.

Приложения на CUBA могут развертываться в различных конфигурациях, в том числе в кластере, обеспечивая возможность разрабатывать критичные для бизнеса системы. Поддерживаются базы данных PostgreSQL, Oracle Database, Microsoft SQL Server, MySQL и HSQL (которая, в основном, используется для прототипирования). Приложение может быть развернуто на любом сервере приложений Java EE Web Profile (Jetty, Tomcat, Glassfish, Websphere), в «облаках» CloudFoundry, OpenShift и Jelastic или в Docker-контейнере.

Разработка приложения может вестись в популярных Java IDE (IntelliJ IDEA, Eclipse). Параллельно с IDE возможно использование CUBA Studio. Это специализированная визуальная среда разработки, которая позволяет эффективно использовать функционал фреймворка, отметили в компании.

Так, Studio позволяет в визуальном режиме быстро создавать модель данных, генерировать для нее скрипты создания и обновления БД и стандартные экраны CRUD, которые потом можно модифицировать при помощи дизайнера экранов. Studio синхронизируется c Java IDE, так что разработчик может, к примеру, сгенерировать экран при помощи Studio, а логику его работы описать в предпочитаемой IDE.

CUBA Studio, в отличие от самой платформы, доступна в двух версиях: бесплатной и коммерческой. Бесплатная полностью функциональна, но ограничивает размер модели данных приложения. Впрочем, как подчеркнули в Haulmont, есть возможность создать прототип приложения в бесплатной Studio, а дальнейшую разработку продолжить в IDE.

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

Главная особенность лицензирования платформы по Apache 2.0 — отсутствие ограничений на приложения, созданные с помощью платформы, которые можно свободно использовать и распространять без каких-либо платежей, указали в компании. Таким образом, разработку также можно вести полностью бесплатно, либо приобрести годовую подписку по цене p18 тыс. на разработчика, чтобы получить доступ к CUBA Studio и премиум-дополнениям. В дополнение, компания предлагает варианты техподдержки для команд, работающих над критическими для бизнеса проектами.