Creatio development guide
Это документация Creatio версии 7.9.0. Мы рекомендуем использовать новую версию документации.

Зависимости пакетов. Основные пакеты системы

Glossary Item Box

Общие сведения

Разработка приложения bpm'online базируется на основных принципах проектирования программного обеспечения, в частности, принципа отсутствия повторений (DRY). В архитектуре bpm'online этот принцип был применен к механизму пакетов и реализован с помощью зависимостей пакетов друг от друга. Каждый пакет содержит определенную функциональность приложения, которая не должна повторяться в других пакетах. Для того чтобы такую функциональность можно было использовать в любом другом пакете, необходимо пакет, содержащий эту функциональность, добавить в зависимости пакета, в котором она будет использована.

Зависимости и иерархия пакетов

Пакет может иметь несколько зависимостей. Например, в пакете С (Рис. 1) установлены зависимости от пакетов А и D. Таким образом, вся функциональность пакетов А и D доступна в пакете С.

Рис. 1. — Зависимости и иерархия пакетов

Зависимости пакетов формируют иерархические цепочки. Это означает, что в пакете доступна не только функциональность пакета, добавленного в зависимости текущего, но и функциональность всех пакетов, от которых зависит пакет, добавленный в зависимости текущего. Ближайшей аналогией иерархии пакетов является иерархия наследования классов в объектно-ориентированном программировании. Так, например, в пакете Е (Рис. 1) доступна функциональность не только пакета C, от которого он зависит, но и функциональность пакетов А, В и D. А в пакете F доступна функциональность пакетов B и D.

Добавление зависимостей пакета

Зависимости можно добавить только в пользовательский пакет и только после его создания. Для этого необходимо в карточке пакета на детали [Зависит от пакетов] (Рис. 2) нажать на кнопку [Добавить] (1). В появившемся диалоге справочника пакетов необходимо выбрать нужный пакет (2) и нажать на кнопку [OK] (3).

Рис. 2. — Добавление зависимости в пользовательский пакет

После этого выбранный пакет будет отображен в списке зависимостей текущего пакета, а при добавлении новой зависимости он будет скрыт из справочника пакетов (Рис. 3).

Рис. 3. — Добавленный пакет-зависимость

ВАЖНО

После создания пакета его необходимо добавить в зависимости предустановленного пакета [Custom].

Список зависимостей в метаданных

Список зависимостей пакета хранится в его метаданных в свойстве DependsOn объекта, определенного в файле descriptor.json. Свойство DependsOn является массивом объектов, в которых указывается имя пакета, его версия и уникальный идентификатор, по которому можно определить пакет в базе данных приложения. Файл descriptor.json создается приложением для каждой версии пакета. Пример файла descriptor.json:

{
  "Descriptor": {
    "UId": "974305e3-b01c-4020-b511-6fe9ac644d95",
    "PackageVersion": "7.8.0",
    "Name": "UsrDependentPackage",
    "ModifiedOnUtc": "\/Date(1478766323000)\/",
    "Maintainer": "Customer",
    "Description": "Пример пакета, зависящего от других пакетов",
    "DependsOn": [
      {
        "UId": "8bc92579-92ee-4ff2-8d44-1ca61542aa1b",
        "PackageVersion": "7.8.0",
        "Name": "UsrCustomPackage"
      },
      {
        "UId": "0ece3a34-413f-415b-919b-7b29bb31701f",
        "PackageVersion": "7.8.0",
        "Name": "SalesEnterpriseSoftkey_RUS"
      }
    ]
  }
}

Иерархия пакетов приложения

Иерархию и зависимости пакетов приложения удобно исследовать, используя диаграмму зависимостей пакетов. Эта диаграмма расположена на вкладке [Зависимости пакетов] раздела [Конфигурация] (Рис. 4).

Рис. 4. — Фрагмент диаграммы иерархии зависимостей пакетов

Если кликнуть по узловому элементу диаграммы с именем пакета, то с помощью анимированных стрелок отобразятся связи с пакетами, которые зависят от выбранного, и от которых зависит выбранный пакет. Например, для русской версии продукта SalesEnterpise, пакет [SalesEnterpiseSoftkey_RUS] зависит только от пакета [SalesEnterpise] и всех его зависимостей (Рис. 4). Также от него зависят пакеты [Custom] и пользовательский пакет [UsrDependentPackage].

В иерархии пакетов корневым всегда должен быть пакет [Custom], для которого установлены прямые зависимости от всех пакетов системы. Подробно этот пакет рассмотрен в статье "Пакет [Custom]".

Основные пакеты приложения

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

Табл. 1. — Основные пакеты приложения

Название пакета Содержимое
Base Базовые схемы основных объектов, разделов системы и связанных с ними схем объектов, страниц, процессов и др.
Platform Модули и страницы мастера разделов, дизайнеров реестра и итогов и т. п.
Managers Клиентские модули менеджеров схем.
NUI Функциональность, связанная с пользовательским интерфейсом системы.
UIv2 Функциональность, связанная с пользовательским интерфейсом системы.
DesignerTools Схемы дизайнеров и их элементов.
ProcessDesigner Схемы дизайнера процессов.

© Terrasoft 2002-2017.

Был ли данный материал полезен?

Как можно улучшить эту статью?