Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение В
(обязательное)
Определение шаблонов
В.1 Введение
После того как актуальная структура взаимодействия определена, потребуется файл схемы взаимодействия, содержащий правила для фактической коммуникации. Правила, которые не зависят от фактической коммуникации, включены в файл шаблонов. В этом приложении дано определение шаблонов в формате языка EXPRESS. Кроме того, приведены описания типов элементов, атрибутов, элементов и ссылок.
В.2 Определение шаблонов 1)
------------------------------
1)В настоящем стандарте приводится определение шаблонов, представленное в ИСО 29481-2.
------------------------------
SCHEMA ISO 29481_Part_2B;
ENTITY GroupTemplate;
name: STRING;
description: STRING;
creationDate: DATETIME;
startDate: DATETIME;
endDate: DATETIME;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
versionNo: STRING;
transaction: TransactionTemplate;
END_ENTITY;
ENTITY AppendixGroup;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
group: GroupTemplate;
END_ENTITY;
ENTITY AppendixTemplate;
name: STRING;
fileLocation: STRING;
fileType: STRING;
fileVersion: STRING;
documentIdentification: STRING;
documentVersion: STRING;
documentReference: STRING;
objectCode: OPTIONAL STRING;
startDate: DATETIME;
endDate: DATETIME;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
language: OPTIONAL STRING;
message: MessageTemplate;
appendixGroup: AppendixGroup;
template: ComplexElementTemplate;
END_ENTITY;
ENTITY MessageTemplate;
identification: STRING;
dateSend: DATETIME;
dateRead: DATETIME;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
initiatingTransactionMessageID: OPTIONAL STRING;
initiatorToExecutor: BOOLEAN;
messageInTransaction: MessageInTransactionTemplate;
transaction: TransactionTemplate;
template: ComplexElementTemplate;
END_ENTITY;
ENTITY MessageInTransactionTemplate;
identification: STRING;
dateSend: DATETIME;
dateRead: DATETIME;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
END_ENTITY;
ENTITY TransactionTemplate;
number: INTEGER;
name: STRING;
description: STRING;
startDate: DATETIME;
endDate: DATETIME;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
result: OPTIONAL STRING;
initiator: PersonInRole;
executor: PersonInRole;
project: ProjectTypeInstance;
END_ENTITY;
ENTITY TransactionPhaseTemplate;
name: STRING;
description: STRING;
dateReached: DATETIME;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
transaction: TransactionTemplate;
END_ENTITY;
ENTITY PersonTemplate;
userName: STRING;
name: STRING;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
template: ComplexElementTemplate;
END_ENTITY;
ENTITY OrganisationTemplate;
name: STRING;
abbreviation: STRING;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
contactPerson: PersonTemplate;
template: ComplexElementTemplate;
END_ENTITY;
ENTITY PersonInRole;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
successor: OPTIONAL PersonInRole;
substituting: OPTIONAL PersonInRole;
contactPerson: PersonTemplate;
organization: OrganisationTemplate;
role: RoleTemplate;
END_ENTITY;
ENTITY RoleTemplate;
name: STRING;
description: STRING;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
category: OPTIONAL STRING;
END_ENTITY;
ENTITY ProjectTypeInstance;
name: STRING;
description: STRING;
startDate: DATETIME;
endDate: DATETIME;
state: STRING;
dateLaMu: DATETIME;
userLaMu: STRING;
template: ComplexElementTemplate;
END_ENTITY;
ENTITY ComplexElementTemplate;
template: SimpleElementVirtual;
END_ENTITY;
END_SCHEMA;
В.3 Шаблоны
В.3.1 AppendixGroup
Атрибуты: id
Элементы: state, dateLaMu, userLaMu
Ссылки: group
Таблица отображения для отношений n:m между дополнениями и группами
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
B.3.2 AppendixTemplate
Атрибуты: id
Элементы: name, fileLocation, fileType, fileVersion, documentIdentification, documentVersion, documentReference, objectCode, startDate, endDate, state, dateLaMu, userLaMu, language
Ссылки: appendixGroup, message
Регистрация присоединенных файлов.
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
В.3.3 ComplexElementTemplate
Атрибуты: id
В.3.4 GroupTemplate
Атрибуты: id
Элементы: name, description, creationDate, startDate, endDate, state, dateLaMu, userLaMu, versionNo
Ссылки: transaction
Группирование дополнений сообщения для восстановления ассоциированных документов.
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
B.3.5 MessageInTransactionTemplate
Атрибуты: id
Элементы: identification, dateSend, dateRead, state, dateLaMu, userLaMu, initiatorToExecutor
Содержит фактическое значение MessageInTransactionType в сообщении для извлечения состояния рабочего процесса транзакции.
В.3.6 MessageTemplate
Атрибуты: id
Элементы: identification, dateSend, dateRead, state, dateLaMu, userLaMu, initiatingTransactionMessageID, initiatorToExecutor
Ссылки: transaction, messageInTransaction, template
Экземпляр типа MessageType. Эта сущность осуществляет фактический обмен информацией между объектами OrganisationTemplate (организациями).
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
B.3.7 OrganisationTemplate
Атрибуты: id
Элементы: name, abbreviation, state, dateLaMu, userLaMu
Ссылки: contactPerson, template
Организация, участвующая в проекте по инициализации или исполнению TransactionTemplate (транзакции).
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
B.3.8 PersonInRole
Атрибуты: id
Элементы: state, dateLaMu, userLaMu
Ссылки: organization, contactPerson, role, substituting, successor
Пользователь, выполняющий определенную роль для некоторой организации.
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
В.3.9 PersonTemplate
Атрибуты: id
Элементы: userName, name, state, dateLaMu, userLaMu
Лицо, участвующее в проекте путем выполнения некоторой роли или как контактное лицо в конкретной организации.
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
B.3.10 ProjectTemplate
Атрибуты: id
Элементы: name, description, startDate, endDate, state, dateLaMu, userLaMu Проект, который должен соответствовать этой структуре.
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
B.3.11 RoleTemplate
Атрибуты: id
Элементы: name, description, state, dateLaMu, userLaMu, category
Роль, выполняемая от имени организации пользователем PersonTemplate (лицом).
Пример - на уровне сообщения.
Ассоциированная часть структуры взаимодействия:
B.3.12 TransactionPhaseTemplate
Атрибуты: id
Элементы: name, description, dateReached, state, dateLaMu, userLaMu
Ссылки: transaction
Фактическая фаза транзакции.
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
B.3.13 TransactionTemplate
Атрибуты: id
Элементы: number, name, description, startDate, endDate, state, dateLaMu, userLaMu, result
Ссылки: initiator, executor
Транзакция, активирующая MessageTemplates (сообщения), которые должны участвовать в обмене для выполнения некоторых задач.
Пример - на уровне сообщения:
Ассоциированная часть структуры взаимодействия:
B.4 Атрибуты
B.4.1 Id
Идентификатор. Уникальный код для идентификации экземпляра объекта в сообщении.
Примечание - Значение идентификатора должно быть уникальным в XML-документе. Поэтому простой серийный номер уже будет удовлетворять этому условию. Следовательно, не существует убедительных причин для ограничения значений идентификаторов только глобальными уникальными идентификаторами (GUID) (хотя в большинстве реализаций действительно применяются глобальные уникальные идентификаторы). Стандарт XML (http:/www.w3.org/XML/) требует, чтобы идентификатор начинался с буквы или с символа '_'.
В.5 Элементы
В.5.1 Abbreviation
Сокращенное названия организации. Этот элемент будет использоваться в качестве префикса номера транзакции для идентификации транзакции.
Примечание - Элемент abbreviation (сокращение). Элемент abbreviation содержит краткое название организации. Одно из его применений - пометить транзакции (в сочетании с порядковым номером), запущенные данной организацией, чтобы облегчить неформальную коммуникацию между пользователями-участниками.
В.5.2 category
Категория, позволяющая классифицировать данный экземпляр объекта.
Пример - на уровне сообщения:
В.5.3 creationDate
Дата создания конкретного экземпляра объекта в данном сообщении.
Пример - на уровне сообщения:
В.5.4 dateLaMu
Дата последнего изменения.
Пример - на уровне сообщения:
В.5.5 dateReached
Дата "dateReached" - это атрибут даты/времени элемента "TransactionPhaseTemplate". Он представляет собой дату/время достижения конкретной фазы.
Пример - на уровне сообщения:
В.5.6 dateRead
Дата чтения данного сообщения.
Пример - на уровне сообщения:
В.5.7 dateSend
Дата отправки данного сообщения.
Пример - на уровне сообщения:
В.5.8 description
Описание данного экземпляра объекта.
Пример - на уровне сообщения:
B.5.9 documentIdentification
Уникальный номер документа или ссылка на документ или файл для идентификации документа.
Примечание - Настоящий стандарт предоставляет свободу в установлении различий между версиями документа и версиями файла (см. раздел В.5.13).
B.5.10 documentReference
Ссылка для идентификации файла или документа.
В.5.11 documentVersion
Версия документа или файла.
В.5.12 endDate
Дата истечения срока действия конкретного экземпляра объекта в данном сообщении.
Пример - на уровне сообщения:
В.5.13 fileLocation
Местоположение файла, предпочтительно адрес в Интернете или путь к серверу общего доступа.
Пример - на уровне сообщения:
Примечание - Настоящий стандарт предоставляет свободу в установлении различий между версиями документа и версиями файла (см. раздел В.5.9).
B.5.14 fileType
Тип файла, предпочтительно тип MIME (Multipurpose Internet Mail Extensions).
Пример - на уровне сообщения:
В.5.15 fileVersion
Версия файла - возрастающее целое число или дата.
Пример - на уровне сообщения:
В.5.16 identification
Ориентированная на пользователя идентификация данного сообщения.
Пример - на уровне сообщения:
B.5.17 initiatingTransactionMessageID
Ссылка на сообщение, принадлежащее к подчиненной транзакции, которая инициировала это сообщение.
В.5.18 initiatorToExecutor
Направление коммуникации данного конкретного сообщения.
Пример - на уровне сообщения:
В данном примере ExampleMessage будет передаваться от В (исполнитель) к А (инициатор).
В.5.19 language
Язык содержимого дополнения.
Пример - на уровне сообщения:
В.5.20 name
Наименование (STRING)
В.5.21 number
Номер транзакции.
Примечание - Элемент number. Порядковый номер транзакции (см. также предыдущий элемент).
В.5.22 objectCode
Возможность связи с внешним индексом. Например, структура декомпозиции работ, пакеты работ или спецификации зданий.
В.5.23 result
Результат данной транзакции.
В.5.24 startDate
Начальная дата для конкретного экземпляра объекта в данном сообщении.
Пример - на уровне сообщения:
В.5.25 state
Текущее состояние данного экземпляра объекта.
Пример - на уровне сообщения:
В.5.26 userLaMu
Пользователь, выполнивший последнее изменение
Примечание - Это не ссылка на создание экземпляра PersonTypeInstance.
Пример - на уровне сообщения:
B.5.27 userName
Инициалы пользователя, например, триграмма (комбинация из трех символов).
Пример - на уровне сообщения:
В.5.28 versionNo
Номер версии экземпляра объекта, подключенного к данному проекту; после изменения данного экземпляра объекта это поле должно быть также обновлено.
Пример - на уровне сообщения:
В.6 Ссылки
В.6.1 AppendixGroup
Подраздел для идентификации некоторого дополнения.
Пример - на уровне сообщения:
Считается, что в ассоциированной структуре определен тип AppendixType, имеющий значение Appendix.
В.6.2 contactPerson
Лицо, связанное с объектом PersonInRole или связанное с конкретной организацией.
Пример - на уровне сообщения:
Считается, что в ассоциированной структуре определен тип OrganisationType, имеющий значение Organization, и тип PersonType, имеющий значение Person.
В.6.3 Executor
Объект PersonInRole, который будет действовать как исполнитель в этой транзакции.
В.6.4 Group
Общая группа для сборки набора дополнений.
Пример - на уровне сообщения:
Считается, что в ассоциированной структуре определен тип GroupType, имеющий значение Group.
В.6.5 Initiator
Объект PersonInRole, который будет действовать как инициатор в этой транзакции.
В.6.6 Message
Сообщение, содержащее конкретное дополнение.
Пример - на уровне сообщения:
Считается, что в ассоциированной структуре определен тип AppendixType, имеющий значение Appendix, и тип MessageType, имеющий значение Message.
В.6.7 messageInTransaction
Ссылка на положение этого сообщения в потоке транзакции.
В.6.8 Organization
Организация, принадлежащая объекту PersonInRole.
Пример - на уровне сообщения:
Считается, что в ассоциированной структуре определен тип OrganisationType, имеющий значение Organization.
В.6.9 Role
Ссылка на роль, выполняемую от имени организации пользователем PersonTemplate (лицом).
В.6.10 Substituting
Объект PersonInRole, авторизованный для отправки сообщений от имени данного лица.
Примечание - Ссылка substituting. Ссылка на формальный объект PersonInRole для данной транзакции, позволяющая действовать другому лицу в отсутствие лица, реализующего формальный объект PersonInRole. Оба лица должны ссылаться на один и тот же тип роли.
В.6.11 Successor
Преемник другого лица в некоторой роли.
В.6.12 Transaction
Транзакция, содержащая конкретную группу, фазу транзакции или конкретное сообщение.
Пример - на уровне сообщения:
Считается, что в ассоциированной структуре определен тип MessageType, имеющий значение Message, и тип TransactionType, имеющий значение Transaction.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.