В этом разделе описывается, каким образом ХС обеспечивает свои абстрактные услуги. Рассматривается обеспечение портов поиска, косвенного-предоставления и административного.
15.1 Обеспечение абстрактных-услуг порта поиска
В этом подразделе рассматривается обеспечение абстрактных-операций суммирования, перечисления, извлечения, регистрации-ХС и предупреждения. Абстрактная-служба ХС обеспечивает абстрактные-услуги порта поиска в предположении, что между поставщиком порта поиска (ХС) и пользователем порта поиска (АП) существует абстрактная-ассоциация. Абстрактные-операции выполняются последовательно, параллельной обработки не происходит. Описываются не все ошибочные ситуации.
15.1.1 Выполнение абстрактной-операции "суммирование"
Когда ХС привлекает от АП абстрактную-операцию "суммирование", оно выполняет следующие шаги:
1) определяет, какая информационная-база адресуется абстрактной-операцией "суммирование";
2) проверяет наличие каких-либо элементов в информационной-базе. Если она пустая, выдает результат суммирования нулевой длины и никакие последующие шаги не выполняются;
3) проверяет действительность аргумента "общие атрибуты" и любых специфичных-для-содержимого атрибутов, распознанных ХС, для данной абстрактной-операции. Подробная информация содержится в 8.2.1;
4) накапливает счет в соответствии с обеспечиваемым аргументом "общие атрибуты" и всеми специфичными-для-содержимого атрибутами, распознанными ХС;
5) выдает АП результат суммирования. Подробная информация содержится в 8.2.2;
6) если действует политика-защиты, то, чтобы убедиться в отсутствии ее нарушений во время абстрактной-операции суммирования, ХС проверяет соответствие классификации метки защиты контексту-защиты. Если суммирование заблокировано политикой-защиты, выполнение абстрактной-операции "суммирование" должно быть прекращено и должна быть указана ошибка защиты.
15.1.2 Выполнение абстрактной-операции "перечисление"
Когда ХС привлекает от АП абстрактную-операцию "перечисление", оно выполняет следующие шаги:
1) определяет, какая информационная-база адресуется абстрактной-операцией "перечисление";
2) проверяет действительность обеспечиваемого аргумента "общие атрибуты" и любых специфичных-для-содержимого атрибутов, распознанных ХС, для данной абстрактной-операции. Подробная информация содержится в 8.3.1;
3) идентифицирует от нуля до нескольких элементов в соответствии с запросом аргумента данной абстрактной-операции, вплоть до обеспечиваемого предельного количества. Порожденные-элементы для порождающего-элемента исключаются, если только они явно не выбраны данным аргументом;
4) если набор запрошенных общих-атрибутов был определен в виде аргументов данной абстрактной-операции, то эти общие-атрибуты выдаются (при их наличии) АП для каждого выбранного элемента. Если никаких запросов не было выдано, то выдаются значения пo-умолчанию абстрактной-операции "перечисление" (при их наличии) в соответствии с их определением предыдущей абстрактной-операцией "регистрация-ХС". Более подробная информация содержится в 8.3.2. Состояние-элемента каждого выбранного сообщения устанавливается в значение "перечисленное";
5) если действует политика-защиты, то, чтобы убедиться в отсутствии ее нарушений во время абстрактной-операции "перечисление", ХС проверяет соответствие метки-защиты-сообщения контексту-защиты. Если перечисление заблокировано политикой-защиты или временными ограничениями защиты, выполнение абстрактной-операции "перечисление" должно быть прекращено и должна быть указана ошибка-защиты.
15.1.3 Выполнение абстрактной-операции "извлечение"
Когда ХС привлекает от АП абстрактную-операцию "извлечение", оно выполняет следующие шаги:
1) определяет, какая информационная-база адресуется абстрактной-операцией "извлечение";
2) проверяет действительность обеспечиваемого аргумента "общие-атрибуты" и любых специфичных-для-содержимого атрибутов, распознанных ХС, для данной абстрактной-операции. Подробная информация содержится в 8.2.1;
3) идентифицирует от нуля до нескольких элементов в соответствии с запросом в аргументе данной абстрактной-операции, вплоть до обеспечиваемого предельного количества. Порожденные-элементы для порождающего-элемента исключаются, если только они явно не выбраны данным аргументом;
4) если набор запрошенных общих-атрибутов был определен в виде аргументов данной абстрактной-операции, то эти общие-атрибуты выдаются (при их наличии) АП для первого выбранного элемента. Если никаких запросов не было выдано, то выдаются значения пo-умолчанию абстрактной-операции "извлечение" (при их наличии) в соответствии с их определением предыдущей абстрактной-операцией "регистрация-ХС". Если обнаружено несколько элементов, удовлетворяющих критерию поиска, выдаются порядковые-номера второго и последующих элементов в возрастающем порядке. Если число элементов, удовлетворяющих критерию, превышает установленный предел, выдаются также порядковые-номера элементов, выходящих за этот предел. Более подробная информация содержится в 8.4.2;
5) если действует политика-защиты, то, чтобы убедиться в отсутствии ее нарушений во время абстрактной-операции "извлечение", ХС проверяет соответствие метки-защиты-сообщения контексту-защиты. Если абстрактная-операция "извлечение" заблокирована политикой-защиты или временными ограничениями защиты, ее выполнение должно быть прекращено и должна быть указана ошибка-защиты.
15.1.4 Выполнение абстрактной-операции "удаление"
Когда ХС привлекает от АП абстрактную-операцию "удаление", оно выполняет следующие шаги:
1) определяет, какая информационная-база адресуется абстрактной-операцией "удаление";