9. Основные определения и понятия

Артефакт

В контексте данного руководства под артефактом понимается файл (обычно JAR или ZIP), содержащий исполняемый или другой код, получившийся в результате сборки проекта. Артефакт имеет версию и имя, соответствующее определённым правилам, и может храниться в репозитории артефактов.

Базовые проекты

То же самое что компоненты приложения. Данный термин был принят в предыдущих версиях платформы и документации.

БД

Реляционная база данных.

Браузер сущностей

Экранная форма, на которой размещается таблица со списком сущностей, а также кнопки создания, редактирования, удаления сущности.

Внедрение зависимости

Известно также как принцип Inversion Of Control (IoC). Механизм для получения ссылок на используемые объекты, при котором объект только декларирует, от каких объектов он зависит, а контейнер создает нужные объекты и инжектирует в зависимый объект.

Главный пакет сообщений

См. Главный пакет сообщений.

Жадная загрузка

Загрузка данных подклассов и связанных объектов одновременно с основной запрашиваемой сущностью.

Загрузка по требованию

См. Загрузка по требованию.

Источник данных

См. Источники данных.

Контейнер

Контейнер управляет жизненным циклом и конфигурацией программных объектов. Является базовым компонентом технологии Dependency Injection (или Inversion of Control).

В платформе CUBA используется контейнер Spring Framework. Для получения более подробной информации см. Дополнительные материалы.

Контроллер экрана

Java класс, содержащий логику инициализации и обработки событий экрана. Связан с XML-дескриптором экрана.

Локальный атрибут

Атрибут сущности, не являющийся ссылкой или коллекцией ссылок на другую сущность. Значения всех локальных атрибутов сущности, как правило, хранятся в одной таблице (исключение составляют некоторые стратегии наследования сущностей).

Пакет локализованных сообщений

См. Пакеты сообщений.

Персистентный контекст

Набор экземпляров сущностей, загруженных из базы данных или только что созданных. Персистентный контекст является кэшем данных в рамках текущей транзакции. При коммите транзакции все изменения сущностей в персистентном контексте сохраняются в БД.

Представление

См. Представления.

Репозиторий артефактов

Сервер, осуществляющий хранение артефактов в определенной структуре. В процессе сборки некоторого проекта из репозитория загружаются артефакты, от которых зависит данный проект.

Сущность

Основной элемент модели данных, см. Модель данных.

Application Tiers

См. Уровни и блоки приложения.

Application Properties

Свойства приложения − именованные данные различных типов, определяющие всевозможные аспекты конфигурации и функционирования приложения.

Application Units

См. Уровни и блоки приложения.

Datasource

См. Источники данных.

Eager Fetching

См. Жадная загрузка.

EntityManager

Программный компонент среднего слоя, служащий для работы с персистентными сущностями.

Groovy

Groovy — объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python, Ruby и Smalltalk.

Interceptor

Элемент AOP (Aspect Oriented Programming), позволяющий изменить или расширить обычный вызов метода объекта.

Java EE Web Profile

Упрощенный профиль Java Enterprise Edition, разработанный для веб-приложений, для которых не требуются такие технологии как EJB, JTA и т.д.

JMX

Java Management Extensions − технология, которая предоставляет инструменты для управления приложениями, объектами системы, устройствами. Определяет стандарт для написания JMX-компонентов − MBeans.

Более подробную информацию можно найти по адресу: http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html

JPA

Java Persistence API - стандартная спецификация технологии объектно-реляционного отображения (ORM). В платформе CUBA используется фреймворк EclipseLink, реализующий эту спецификацию.

JPQL

Платформо-независимый объектно-ориентированный язык запросов, определенный как часть спецификации JPA.

Более подробную информацию можно найти по адресу https://en.wikibooks.org/wiki/Java_Persistence/JPQL.

Lazy loading

См. Загрузка по требованию.

Managed Beans

Программные компоненты Middleware, содержащие бизнес-логику приложения.

MBeans

Managed Beans, имеющие JMX-интерфейс. Как правило, имеют внутреннее состояние (например, кэш, конфигурационные данные или статистику), к которому нужно обеспечить доступ через JMX.

Middleware

Средний слой − уровень приложения, содержащий бизнес-логику, работающий с базой данных, и предоставляющий общий интерфейс для верхних (клиентских) уровней приложения.

Optimistic locking

Оптимистичная блокировка - способ управления совместным доступом к данным различными пользователями, при котором предполагается, что возможность одновременного изменения ими одного и того же экземпляра сущности мала. В этом случае блокировка как таковая отсутствует, вместо нее в момент сохранения изменений производится проверка, нет ли в БД более новой версии данных, сохраненной другим пользователем. Если есть, выбрасывается исключение, и текущий пользователь должен снова загрузить данный экземпляр сущности.

ORM

Object-Relational Mapping - объектно-реляционное отображение - технология связывания таблиц реляционной базы данных с объектами языка программирования.

См. Слой ORM.

Services

Сервисы среднего слоя предоставляют интерфейс для вызова бизнес-логики клиентами и образуют границу Middleware. Сервисы могут содержать бизнес-логику внутри себя, либо делегировать выполнение Managed Beans.

Single Sign-On, SSO

Технология, при использовании которой пользователь переходит от одного приложения к другому без повторной аутентификации. Интеграция CUBA-приложения с Active Directory позволяет пользователям Windows входить в приложение без ввода имени и пароля.

Soft deletion

См. Мягкое удаление.

UI

User Interface - пользовательский интерфейс.

View

См. Представления.

XML-дескриптор

Файл в формате XML, содержащий описание источников данных и расположения визуальных компонентов экрана.