Основные понятия
- Конфигурация - набор объектов (Сущностей), описывающих данные для решения конкретной Прикладной задачи.
Конфигурация состоит из иерархически связанных *Сущностей (Типов), их Свойств и Экземпляров*. Конфигурация включает в себя Сущности (например, "Справочник"), каждая из которых описывается набором Свойств (Имя Таблицы, Базовый Класс, Список Реквизитов, Список Закладок и т. д.) Иерархичность Сущностей состоит в том, что для описания свойств любой из них могут использоваться другие Сущности или Списки Сущностей (Коллекция Экземпляров). Например, свойством Справочника является Список его Реквизитов - другая Сущность, имеющая свои свойства.
- Экземпляры Сущностей наряду со Значениями Сущностей и образуют Конфигурацию, которая путем генерации исходных кодов (сборок) и файлов хранилищ (XML-файлы) составляет Прикладное решение FabiusNet.
Конфигурации могут решать различные Прикладные задачи. Различные Конфигурации хранятся в общем хранилище и имеют структуру Наследования. В основе всего многообразия Конфигураций лежит Базовая Конфигурация (включает в себя свойственные всем другим Конфигурациям элементы). От Базовой Конфигурации её элементы наследуют Конфигурации следующего слоя (например, по отраслевому принципу - Торговля, Производство, Бюджетная Сфера). В свою очередь от этих Конфигураций можно создавать своих наследников (например, Производство может иметь потомков - Хлебопекарная, Молочная отрасль, Торговля - Розничная и Оптовая). Далее можно создавать Конфигурации (дополняя или переопределяя элементы Родительских Конфигураций) для конкретных предприятий (например, от Хлебопекарной Конфигурации можно наследовать Конфигурации - Хлебозавод №1, Хлебозавод №2. Перечень Конфигураций и их структура наследования содержится в таблице Конфигурации:
- Уровень - Разработка Конфигураций может вестись разными командами разработчиков: от Системных(фирма разработчик FabiusNet) до Конечных (представители Организации-пользователя FabiusNet). Чтобы избежать неоднозначности в определении применения любого элемента Конфигурации каждый из них имеет свойство - Уровень. Это свойство отражает приоритет использования любого элемента: у Системного Уровня самый низкий приоритет, а у Прикладного - самый высокий. То есть, если в Конфигурации один и тот же элемент существует с разными Уровнями, то в итоге будет работать элемент с самым высоким Уровнем - переопределенный у Конечных пользователей.
Таким образом, создавать индивидуальные Конфигурации для конечных пользователей можно как на стороне фирмы разработчика (наследую индивидуальные Конфигурации от общих), так и на стороне конечных клиентов (вводя новые элементы с Уровнем Конечного пользователя). Список различных Уровней содержится в таблице Уровней:
- Хронология Версий - список релизов Конфигураций в ходе жизненного цикла проекта FabiusNet (поддерживается на основе системs управления версиями - GIT [1])
- Бизнес-сущность - информационная единица конфигурации, тип (класс) объекта, которыми оперирует система документооборота.
Например, справочник, или документ. Биз-нес-сущности могут быть как простыми, так и сложными, состоящими из других бизнес-сущностей. Например, «Справочник» состоит из «Реквизитов» и т.п.
- Экземпляр бизнес сущности (или просто «сущность») – конкретный объект указанного типа бизнес-сущности.
Например, конкретным экземпляром (объектом) справочника (ти-па) – может быть справочник контрагентов, содержащий перечень юридических лиц.
- Дерево конфигурации – визуальное иерархическое (в виде дерева) представление конфигурации,
отображающее комбинацию бизнес-сущностей (типов) и их экземпляров (объектов) с отображением взаимосвязей между ними.
- Хранилище конфигурации – папка хранения всех файлов конфигурации.
В «Конфигураторе» - типом хранения данных выбраны файлы xml, поэтому конфигурация обычно представляет собой набор файлов и папок, хранящих типы и объекты сущностей конфигурации в определенной папке на диске. Хранилище бывает локальным и удаленным. Общим и частным. Для сравнения и версионирования хранилищ предполагается использовать системы контроля версий – типа “Git”.
- Сборка (assembly) - (в Конфигураторе описана такая сущность) библиотека классов объединенных по типам, или по моделям пове-дения в одну сборку, сгенерированная на основе сущностей конфигурации и скомпилированная в файл *.dll
- Поставка – (в Конфигураторе описана такая сущность) совокупность из нескольких сборок и xml-файлов входящих в состав целого прикладного решения. (папка с несколькими файлами *.dll и *.xml)