CUBA.platform – высокоуровневая Java-платформа с открытым кодом

платформа интеграция информационная система приложение технология

Описание

Иллюстрации

Спецификация

Платформа CUBA.platform – это высокоуровневый фреймворк, включающий средства разработки для покрытия большинства задач любого типового проекта.

В платформы входят специализированная среда разработки CUBA Studio и дополнительный плагин для обеспечения интеграции с другими Java IDE.

CUBA Studio доступна в виде бесплатной версии и по коммерческой подписке. Бесплатная версия Studio полностью функциональна, но ограничивает размер модели данных приложения десятью сущностями. Это идеальный вариант для начала проекта и изучения возможностей платформы. Дальнейшую разработку можно продолжить в любой другой удобной Java IDE, например Eclipse или IntelliJ IDEA Community Edition, либо приобрести коммерческую лицензию Studio, которая также включает доступ к премиум-дополнениям.

Платформа CUBA.platform – это высокоуровневый фреймворк, включающий средства разработки для покрытия большинства задач любого типового проекта.

В платформы входят специализированная среда разработки CUBA Studio и дополнительный плагин для обеспечения интеграции с другими Java IDE.

CUBA Studio доступна в виде бесплатной версии и по коммерческой подписке. Бесплатная версия Studio полностью функциональна, но ограничивает размер модели данных приложения десятью сущностями. Это идеальный вариант для начала проекта и изучения возможностей платформы. Дальнейшую разработку можно продолжить в любой другой удобной Java IDE, например Eclipse или IntelliJ IDEA Community Edition, либо приобрести коммерческую лицензию Studio, которая также включает доступ к премиум-дополнениям.

Плагин для IDE платформы CUBA обеспечивает следующие возможности:

·       навигация между описателем экрана, контроллером и элементами модели данных;

·       инжектирование, включая компоненты экранов, обработчики событий, сервисы, источники данных, а также инфраструктурные бины и сервисы платформы;

·       генерация кода и рефакторинг, специфичные для платформы;

·       hot deploy отдельных файлов;

·       создание и выбор локализованных сообщений для компонентов.

Использование премиум-дополнений включено в подписку при использовании коммерческой лицензии.

Генератор отчетов позволяет создавать шаблоны в привычных и доступных всем средах (Microsoft Office и Libre/Open Office) и описывать источники данных в интерфейсе приложения используя модель данных приложения, SQL, JPQL или исполняемые скрипты. Дополнение позволяет:

·       Быстро создавать шаблоны отчетов непосредственно из приложения с помощью пошагового визарда;

·       Формировать отчеты в DOC, DOCX, ODT, XLS, XLSX, HTML и произвольных текстовых форматах;

·       Создавать XLS(X) отчеты сложной структуры – многоуровневые, с агрегацией данных или перекрестными таблицами;

·       Использовать графики и формулы в XLS(X) отчетах;

·       Конвертировать отчеты из офисных форматов или HTML в PDF.

Подсистема BPM для управления бизнес-процессами основана на популярном фреймворке с открытым кодом Activiti и имеет следующие возможности:

·       Встроенный дизайнер процессов;

·       Интегрированная модель данных – модель данных Activiti обернута в сущности CUBA, что позволяет использовать ее в интерфейсе и логике приложения;

·       Процессные формы – удобный способ отображать действия и назначения пользователю при исполнении процесса;

·       UI для управления моделями процессов, активными процессами и назначениями;

·       Подмодели – созданные ранее модели процессов можно использовать в составе других моделей;

·       Локализация.

Модуль Диаграммы поддерживает более 20 интерактивных диаграмм, как стандартные диаграммы (круговая диаграмма, гистограмма, график, воронка и т.д.), так и сложные – биржевая диаграмма и диаграмма Гантта. В возможности модуля входят:

·       Поддержка модели и источников данных CUBA;

·       Полный доступ к API диаграмм из XML и серверного Java кода;

·       Частичное обновление данных диаграмм без полной перерисовки.

Модуль Карта является специальным визуальным компонентом, оборачивающим Google Maps, который обеспечивает:

·       Простое встраивание карт в интерфейс приложения;

·       Поддержку маркеров, линий, полигонов, окружностей и тепловых карт;

·       Создание и редактирование слоев.

Также в возможности платформы входит полнотекстовый поиск, обеспечивающий:

·       Подключение возможности полнотекстового поиска к проекту;

·       Поиск как в базе данных, так и в загруженных файлах;

·       Интеграция с универсальным фильтром для расширения возможностей поиска в рамках отдельного списка сущностей;

·       Применение настроек контроля доступа к результатам.


Опыт применения технологии

Приложения, созданные с использованием CUBA.platform, были успешно внедрены и в России, и за рубежом. Например:

·       Компания The Keyholding Company (Великобритания) использовала платформу при разработке прототипа системы CHASE для управления мобильным персоналом (ссылка).

·       Компания Stonehaven Technology (Великобритания) разработала систему управления рисками Guardian, также используя в качестве основного средства разработки CUBA.platform (ссылка).

·       Компания Altarix (Россия) создала на основе платформы систему обработки электронных сообщений граждан Правительства Москвы (ссылка).

Платформа CUBA.platform используется для разработки собственных продукты компании Haulmont, таких как: система электронного документооборота ТЕЗИС (ссылка) и система для автоматизации бизнеса такси Sherlock (ссылка).

Преимущества

  • Вся разработка ведется на Java Standard Edition, интерфейс описывается декларативно в XML. При этом не требуются глубокие знания в области HTML, CSS или JavaScript
  • CUBA Studio позволяет автоматизировать рутинные операции с возможностью программирования логики в удобной для разработчика IDE
  • Доступ к низкоуровневым механизмам, прозрачная структура базы данных, широкое использование Open Inheritance и уникальный механизм расширений гарантируют возможность адаптации платформы под нужды любого проекта
  • Использование широкого набора готовых компонентов: универсального фильтра данных, отчетов, графиков, BPM, контроля доступа, полнотекстового поиска и т.д.
  • Автоматизация разработки и применение изменений без остановки сервера
  • Масштабируемость, поддержка популярных СУБД и серверов приложений, возможность развертывания в облаке и использование универсального REST API

Документация