Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Практически любое приложение, разрабатываемое на платформе SimpleOne, предполагает

...

:

  • Информационный обмен между пользователями, сторонними системами и самим приложением.
  • Оперирование данными – информация поступает в приложение

...

  • ,

...

  • обрабатывается и хранится в нем, затем потребляется пользователями и сторонними сервисами.

Поэтому важно взвешенно подходить к проектированию и подготовке структуры данных,

...

которая будет использоваться для хранения и обработки информации, исходя из бизнес-задачи, которую должно решить приложение.

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

...

модель данных.

...

 Модель данных

...

представляет собой абстрактное описание структуры данных,

...

которое определяет взаимосвязи между данными, методы работы с ними, а также то, как

...

данные соотносятся

...

между собой.

Существуют различные модели данных,

...

которые отличаются подходом к описанию

...

структуры данных. Например, иерархическая модель описывает данные в виде древовидной структуры, состоящей из объектов разных уровней. В

...

SimpleOne используется реляционная модель данных, в основе которой лежат отношения и операции над

...

ними. Основными понятиями реляционной модели данных являются отношение, атрибут, кортеж и первичный ключ. В структуре данных SimpleOne этим понятиям соответствуют таблица

...

, колонка

...

, строка таблицы

...

, и уникальный

...

в рамках таблицы идентификатор:

Реляционная модельСтруктура данных SimpleOne
ОтношениеТаблица
АтрибутКолонка
КортежСтрока таблицы
Первичный ключИдентификатор

Таблицы

...


Платформа SimpleOne хранит все данные и настройки бизнес-логики конфигурации в

...

Основными структурными элементами таблицы являются колонка и запись.

Колонки

...

виде записей определенных таблиц.

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

Колонки


Таблицы состоят из колонок, каждая из которых соответствует конкретному атрибуту информационного объекта

...

и определенный тип данных. 

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

Записи


Запись

...

представлена в виде строки реляционной таблицы

...

. Это совокупность логически связанных полей,

...

которая соответствует конкретному экземпляру информационного объекта. Каждая запись в

...

таблице имеет уникальный идентификатор.

Отношение "многие-ко-многим"

При построении структуры данных может возникнуть необходимость описать сложные связи между записями любых двух таблиц, при котором одна из записей в одной таблице может быть соотнесена с несколькими записями в другой таблице, и наоброт. Например, таблицы Пользователь и Группа могут содержать множество записей пользователей и групп соответственно. Пользователь может состоять более чем в одной группе, а группа может включать множество пользователей. В таком случае, эти две таблицы должны быть связаны с использованием отношения "многие-ко-многим". В системе SimpleOne такие отношения представлены в виде специальных таблиц, описывающих, как записи в двух таблицах связаны друг с другом. Такие таблицы используются и в расширенной модели данных: на их основе создаются коллекции атрибутов.  Процесс создания таких таблиц описан в статье Отношение "многие-ко-многим".

Расширение модели данных

...

В данной статье описаны атрибуты записей и операции над ними.

Расширение модели данных


Чтобы не создавать модели данных с нуля, SimpleOne позволяет приспособить "коробочные" структуры данных под нужды бизнес-решения.

В данной статье описаны доступные в SimpleOne способы расширения модели данных, каждый из которых имеет свою область применения, достоинства и недостатки.

...

...

модели данных, вне зависимости от способа, собираются в конфигурационные пакеты

...

Система контроля версий SimpleOne (Version Control System или VCS) – позволяет отслеживать изменения конфигурации экземпляра, выполнять откат (восстановление) предыдущих версий конфигурации и производить сборку пакетов для переноса (импорта) конфигурации на другие экземпляры SimpleOne.

В контексте контроля версий выделяют два класса таблиц:

Транзакционные

Конфигурационные

Принадлежность таблицы к тому или иному классу определяется типом хранимых данных и влиянием данных на конфигурацию экземпляра.

Основные типы данных:

Транзакционные данные – данные, которые образовались в результате выполнения предприятием каких-либо бизнес-транзакций. Например, для сервисного подразделения компании это предоставление услуг, регистрация и обработка обращений, планирование и согласование работ, уведомления конечного пользователя и исполнителя и т.п. Транзакционные системы широко используют мастер-данные при выполнении транзакций. Пример транзакционных таблиц: task, sys_approval, sys_email.

Исторические данные – данные, которые включают в себя исторические транзакционные и мастер-данные. Используются для решения различных аналитических задач и принятия управленческих решений. Пример таблиц исторических данных: sys_history, sys_log, sys_activity_feed_item.
Мастер-данные – базовые данные, которые определяют бизнес-сущности, с которыми имеет дело предприятие. К таким бизнес-сущностям (в зависимости от отраслевой направленности предприятия) относятся клиенты, поставщики, продукция, услуги, договоры, счета, пациенты, граждане и т.п. Кроме информации непосредственно о той или иной мастер-сущности, в мастер-данные входят взаимосвязи между этими сущностями и иерархии. Например, с точки зрения поиска дополнительных возможностей продаж, может быть очень важно выявлять явные и неявные взаимосвязи между физическими лицами. Пример мастер-данных - таблица org_company, user, content_item.

Метаданные – это данные о данных. Они нужны для понимания и определения того, какими данными оперирует предприятие. Метаданные определяют структуры, типы данных, доступы к ним и т.д. Пример таблиц метаданных: sys_db_table, sys_db_column, sys_security_acl.

Референс-данные – данные, которые определяют значения конкретных сущностей, используемых при выполнении операций в рамках всего предприятия. К таким сущностям чаще всего относятся: часовые пояса, страны, языки и т.д. Референс-данные относительно редко меняются. Пример таблиц референс-данных: sys_timezome, cmn_country, sys_language.

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

Принадлежность записи конфигурации к приложению определяется через системную колонку Application [application_id]. Значение в колонке Application указывается автоматически при создании версионируемой записи, в соответствии с текущим приложением пользователя и не может быть изменено после создания.

Записи конфигурации одного приложения не могут быть изменены в рамках другого приложения. Если пользователь с ролью admin находится на записи конфигурации, которую он может редактировать и текущее приложение пользователя не совпадает с приложением конфигурации, пользователь увидит сообщение вида:

Кроме приложения Simple, устанавливаемого на экземпляр по умолчанию, на экземпляр могут быть установлены коробочные бизнес приложения. При выполнении настройки экземпляра разработчики дополняют конфигурацию коробочных решений. В начале разработки при выборе приложения пакета необходимо обращать внимание на приложение таблиц, для которых будет разрабатываться бизнес логика. Например, Вам необходимо выполнить настройку бизнес-правил для таблицы инцидентов Incident [itsm_incident]. Таблица инцидентов поставляется в приложении ITSM, следовательно, создание бизнес правил для нее нужно выполнять в приложении ITSM, т.к. помимо настройки правил может потребоваться изменение коробочной конфигурации приложения ITSM.

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

...

и приложения.

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

Table of Contents