Данные и метаданные

Управление данными в Soarse неразрывно связано с управлением метаданными

Понятия данных и метаданных в общем случае не определены четко и зависят от контекста. Кроме того, формально не существует ограничений на "метавость", или вложенность информационного контекста (мета-мета-....метаданные)

Soarse оперирует понятиями домен, тип, класс, объект

Домен

Все данные системы "принадлежат" отдельным сервисам - модулям-поставщикам, или киперам. Общий объем данных одного кипера образует домен.

Поскольку выделение той или иной функциональности в отдельный сервис чаще всего обосновано определенным ограниченным контекстом (см. Bounded Context), уровень домена - это уровень бизнес-процессов или, если хотите, уровень ответственности.

Домены данных соответствуют своим модулям и обычно физически выделены в отдельную базу данных

Тип

Типы данных призваны разграничить принципиально отличные по содержимому и/или поведению данные в пределах домена - это уровень структуры.

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

Класс

Классы в Soarse являются основным инструментом описания реального мира пользователя. Доступность настройки, гибкость и свобода выбора позволяют при грамотном применении использовать систему для управления практически всей возможной информацией, поэтому классы - это уровень внедрения.

Каждый класс описывается набором схем, затрагивающих следующие аспекты данных класса: