5.1.3. Компоненты приложения
Функциональность платформы разделена на несколько компонентов приложения (ранее называемых базовыми проектами):
-
cuba – основной компонент, содержит всю функциональность, описанную в данном руководстве.
-
reports – подсистема генерации отчетов.
-
fts – подсистема полнотекстового поиска.
-
charts – подсистема вывода диаграмм.
-
bpm – механизм исполнения бизнес-процессов по стандарту BPMN 2.0.
Проект приложения всегда зависит от одного или нескольких компонентов. Это означает, что приложение использует компоненты как библиотеки и включает их функциональность.
Любое CUBA-приложение зависит от компонента cuba. Остальные компоненты платформы являются опциональными и могут быть включены в приложение при необходимости. Все опциональные компоненты зависят от cuba и могут также иметь зависимости между собой.
Ниже приведена диаграмма зависимостей между компонентами платформы. Сплошными линиями изображены обязательные зависимости, пунктирными − опциональные.
Любое CUBA-приложение может в свою очередь быть использовано как компонент другого приложения. Это позволяет декомпозировать большие проекты в наборы функциональных модулей, которые могут разрабатываться независимо. Можно также создать в организации набор собственных компонентов использовать их в различных проектах, тем самым создав собственную платформу более высокого уровня на основе CUBA. Ниже приведена диаграмма возможной структуры зависимостей компонентов приложения.
Для того чтобы приложение можно было использовать в качестве компонента, оно должно содержать дескриптор app-component.xml и специальный элемент в манифесте JAR модуля global. CUBA Studio позволяет автоматически сгенерировать дескриптор и манифест для текущего проекта.
Практическое руководство по работе с собственным компонентом приложения приведено в разделе Пример создания и использования компонента.