ГОСТ Р ИСО/МЭК 40220-2015. Национальный стандарт Российской Федерации. Информационные технологии. W3C SOAP. Версия 1.2. Часть 2. Дополнения (вторая редакция)
7. Соглашение для описания функций и привязок
В данном разделе определяется соглашение, описывающее функции (включая шаблоны обмена сообщениями (ШОС)) и привязки в терминах свойств и значений свойств. Соглашения достаточно для описания распределенных состояний спецификаций функций и привязок, как требует спецификация инфраструктуры привязок [ИСО/МЭК 40210, раздел 7]. Оно также используется для описания ШОС "запрос-ответ" (см. 8.2), ШОС "ответ SOAP" (см. 8.3), функции SOAP "Веб-метод" (см. 8.4) и привязки SOAP к HTTP (см. раздел 9) всюду в настоящем стандарте. Помимо самого соглашения, в данном разделе определена неформальная модель, описывающая процесс передачи свойства через систему SOAP. Отметим, что данная модель только иллюстративна и не включает в себя каких-либо ограничений на структуру или иерархическое представление любой конкретной реализации SOAP.
7.1. Модель и свойства
В целом, сообщение SOAP - это информация, которой один узел SOAP хочет обменяться с другим узлом SOAP согласно определенным соглашениям, включая шаблоны обмена сообщениями. Кроме того, может присутствовать информация, важная для обмена сообщениями, но не являющаяся частью самих сообщений. Такую информацию иногда называют метаданными сообщения. В модели сообщения любые метаданные сообщения и различные информационные объекты, определяющие функции, представляются как абстракции, называемые свойствами.
7.1.1. Свойства
В соответствии с соглашением свойства представляются следующим образом:
- свойства именуются посредством URI;
- где это уместно, спецификации, вводящей свойство, СЛЕДУЕТ определить тип значения свойства в соответствии со спецификацией XML Schema (см. [XML Schema Part 1], [XML Schema Part 2]).
7.1.2. Область применения свойства
Свойства в узле SOAP различаются по области применения и по источникам их значений. Как показано ниже на рисунке 1, свойства делятся на две группы: свойства для обмена сообщениями и свойства с более широкой областью применения, относящиеся к различным контейнерам. Эти группы называются "контекст обмена сообщениями" и "контекст окружения", соответственно. Все свойства, независимо от областей их применения, совместно используются узлом SOAP и определенной привязкой.
Рисунок 1 - Модель, описывающая свойства, совместно
используемые SOAP и привязкой
7.1.2.1. Контекст обмена сообщениями
Контекст обмена сообщениями - это набор свойств, область применения которых ограничена экземпляром данного шаблона обмена сообщениями. Пример свойства контекста обмена сообщениями - идентификатор используемого шаблона обмена сообщениями.
7.1.2.2. Контекст окружения
Контекст окружения - это набор свойств, область применения которых выходит за рамки экземпляра данного шаблона обмена сообщениями. Примеры свойств контекста окружения - IP-адрес узла SOAP или текущие дата и время.
Значения свойств в контексте окружения могут зависеть от локальных условий (на рисунке 1 это показано стрелкой, исходящей из контейнера "контекст окружения"). В частности, на свойства в примере может повлиять идентификатор пользователя операционной системы, от имени которого выполняется обмен сообщениями. Отображение информации конкретной реализацией в такие свойства выходит за рамки инфраструктуры привязки, хотя она включает в себя абстрактное представление такой информации как свойства.
7.1.3. Свойства и функции
Функция может использовать сразу несколько свойств, и, наоборот, одно свойство может участвовать в нескольких функциях. Например, свойства "идентификатор пользователя" и "пароль" могут определять функцию "аутентификация". Еще пример: одно свойство "идентификатор сообщения" может использоваться и в функции "транзакция", и в функции "корреляция сообщений".
