allgosts.ru35.100 Взаимосвязь открытых систем35 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

ГОСТ Р ИСО/МЭК 10166-1-2001 Информационная технология. Текстовые и учрежденческие системы. Сохранение и получение документов (СПД). Часть 1. Определение абстрактных услуг и процедур

Обозначение:
ГОСТ Р ИСО/МЭК 10166-1-2001
Наименование:
Информационная технология. Текстовые и учрежденческие системы. Сохранение и получение документов (СПД). Часть 1. Определение абстрактных услуг и процедур
Статус:
Действует
Дата введения:
01.01.2003
Дата отмены:
-
Заменен на:
-
Код ОКС:
35.100.70, 35.240.20

Текст ГОСТ Р ИСО/МЭК 10166-1-2001 Информационная технология. Текстовые и учрежденческие системы. Сохранение и получение документов (СПД). Часть 1. Определение абстрактных услуг и процедур


ГОСТ Р ИСО/МЭК 10166-1-2001

Группа П85


ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ



Информационная технология


ТЕКСТОВЫЕ И УЧРЕЖДЕНЧЕСКИЕ СИСТЕМЫ
СОХРАНЕНИЕ И ПОЛУЧЕНИЕ ДОКУМЕНТОВ (СПД)


Часть 1
Определение абстрактных услуг и процедур


Information technology. Text and office systems. Document Filing and Retrieval (DFR).
Part 1. Abstract service definition and procedures



ОКС 35.100.70
35.240.20
ОКСТУ 4002

Дата введения 2003-01-01

Предисловие

1 РАЗРАБОТАН Государственным научно-исследовательским и конструкторско-технологическим институтом "ТЕСТ" Министерства Российской Федерации по связи и информатизации

ВНЕСЕН Министерством Российской Федерации по связи и информатизации

2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 20 ноября 2001 г., N 466-ст

3 Настоящий стандарт содержит полный аутентичный текст международного стандарта ИСО/МЭК 10166-1:1991 "Информационная технология. Текстовые и учрежденческие системы. Сохранение и получение документов (СПД). Часть 1. Определение абстрактных услуг и процедур", с учетом Дополнений N 1 (1995 г.), N 2 (1996 г.) и Изменений N 1 (1994 г.), N 2 (1994 г.), N 3 (1994 г.), N 4 (1998 г.)

4 ВВЕДЕН ВПЕРВЫЕ

Часть 1. Общие положения

Часть 1. Общие положения

1 Область применения


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

В настоящем стандарте специфицированы:

- модель типа клиент-сервер в соответствии с моделью распределенного учрежденческого приложения (ГОСТ Р ИСО/МЭК 10031-1);

- функции и услуги, предоставляемые серверами сохранения и получения документов;

- специфическая модель сохранения и получения документов для управления документами и группами документов;

- специфические абстрактные услуги сохранения и получения документов, использующие принципы, установленные соглашениями об определениях абстрактных услуг (ГОСТ Р ИСО/МЭК 10021-3);

- использование других услуг.

Настоящий стандарт поддерживает следующие важные области приложений:

- широкие возможности хранения документов для использования несколькими пользователями в распределенной системе;

- упорядоченное сохранение и многоключевой поиск документов;

- структурированную организацию групп документов;

- хранение неограниченного числа различных типов документов;

- ссылки на документы и группы документов;

- сохранение и указание документов вне хранилища документов (например, на неэлектронные жесткие копии документов);

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

- хранение, получение и удаление документов хранилища с любым содержанием;

- поиск, упорядочивание, получение и удаление документов и групп документов, используя атрибуты документов;

- управление различными версиями документа, включая такие понятия, как "предыдущая версия", "следующая версия" и "последняя версия";

- защиту от неавторизованного хранения и получения документов;

- управление конкурирующим доступом к объектам DFR.

2 Нормативные ссылки


В настоящем стандарте использованы ссылки на следующие нормативные документы:

ГОСТ 34.981-91 (ИСО 8649-88) Информационная технология. Взаимосвязь открытых систем. Определение услуг сервисного элемента управления ассоциацией

ГОСТ 28906-91 (ИСО 7498-84, ИСО 7498.1-84 Доп.1-84) Системы обработки информации. Взаимосвязь открытых систем. Базовая эталонная модель

ГОСТ Р ИСО/МЭК 7498-2-99* Информационная технология. Взаимосвязь открытых систем. Базовая эталонная модель. Часть 2. Архитектура защиты информации
____________
* Вероятно ошибка оригинала. Следует читать ГОСТ Р ИСО 7498-2-99 Информационная технология. Взаимосвязь открытых систем. Базовая эталонная модель. Часть 2. Архитектура защиты информации. - Примечание "КОДЕКС".

ГОСТ Р ИСО/МЭК 8824-93 Информационная технология. Взаимосвязь открытых систем. Спецификация абстрактно-синтаксической нотации версии один (АСН.1)

ГОСТ Р ИСО/МЭК 9066-1-93 Системы обработки информации. Передача текста. Надежная передача. Часть 1. Модель и определение услуг

ГОСТ Р ИСО/МЭК 9072-1-93 Системы обработки информации. Передача текста. Удаленные операции. Часть 1. Модель, нотация и определение услуг

ГОСТ Р ИСО/МЭК 9594-1-98 Информационная технология. Взаимосвязь открытых систем. Справочник. Часть 1. Общее описание принципов, моделей и услуг

ГОСТ Р ИСО/МЭК 9594-3-98 Информационная технология. Взаимосвязь открытых систем. Справочник. Часть 3. Определение абстрактных услуг

ГОСТ Р ИСО/МЭК 10021-3-98 Информационная технология. Передача текста. Системы обмена текстами, ориентированные на сообщения (MOTIS) Часть 3. Соглашения по определению абстрактных услуг

ГОСТ Р ИСО/МЭК 10031-1-2000 Информационная технология. Текстовые и учрежденческие системы. Часть 1. Общая модель

ГОСТ Р ИСО/МЭК 10031-2-2000 Информационная технология. Текстовые и учрежденческие системы. Часть 2. Модель приложений распределенного учреждения

ГОСТ Р ИСО/МЭК 10166-2-2001 Информационная технология. Текстовые и учрежденческие системы. Сохранение и получение документов (СПД). Часть 2. Спецификация протокола

ИСО/МЭК 8613-4-94* Информационная технология. Архитектура открытого документа и формат обмена. Часть 4. Профиль документа
___________________
* Оригиналы и проекты стандартов ИСО/МЭК - во ВНИИКИ Госстандарта России.

ИСО/МЭК 8613-5-89* Информационная технология. Архитектура открытого документа и формат обмена. Часть 5. Учрежденческие документы закрытого формата
___________________
* Оригиналы и проекты стандартов ИСО/МЭК - во ВНИИКИ Госстандарта России.

ИСО/МЭК 9594-2-95* Информационная технология. Взаимосвязь открытых систем Справочник. Часть 2. Модели
___________________
* Оригиналы и проекты стандартов ИСО/МЭК - во ВНИИКИ Госстандарта России.

Рекомендация МСЭ-Т Т.435 Передача и управление документами (ПУД). Услуги и протоколы. Определения абстрактных услуг и процедур для обработки документов

3 Определения

3.1 Общая терминология

3.1.1 В настоящем стандарте используются следующие термины, определенные в ГОСТ 28906:

- прикладной уровень;

- прикладная категория;

- уровень представления;

- протокол;

- определение услуги.

3.1.2 В настоящем стандарте используются следующие термины, определенные в ГОСТ Р ИСО/МЭК 7498-2:

- управление доступом;

- аутентификация;

- авторизация;

- полномочия;

- политика безопасности.

3.1.3 В настоящем стандарте используют следующий термин, определенный в ГОСТ Р ИСО/МЭК 8824: макро.

3.1.4 В настоящем стандарте используются следующие термины, определенные в ГОСТ 34.981:

- прикладной контекст;

- сервисный элемент управления ассоциацией (СЭУА).

3.1.5 В настоящем стандарте используют следующий термин, определенный в ГОСТ Р ИСО/МЭК 9066-1: сервисный элемент надежной передачи (СЭНП).

3.1.6 В настоящем стандарте используются следующие термины, определенные в ГОСТ Р ИСО/МЭК 9072-1:

- удаленные операции: операция связывания, операция развязывания, операция;

- сервисный элемент удаленных операций (СЭУО).

3.1.7 В настоящем стандарте используются следующие термины, определенные в ГОСТ Р ИСО/МЭК 10031-1:

- исполнитель;

- соучастник;

- операция потребления;

- распределенное учрежденческое приложение;

- значение объекта данных;

- отличающая объект ссылка (ООС);

- документ;

- операция создания;

- атрибуты привилегий;

- ссылочный доступ к объекту (СДО);

- операция СДО;

- протокол СДО;

- атрибуты безопасности;

- объект безопасности;

- субъект безопасности;

- пользователь.

3.1.8 В настоящем стандарте используются следующие термины, определенные в Рекомендации МСЭ-Т Т.435:

- протокол ПУД-УД;

- порт ПУД-УД;

- сервер ПУД-УД.

3.2 Специфическая терминология

В настоящем стандарте используются следующие определения:

3.2.1 предок: Родитель объекта СПД и, рекурсивно, любой предок последнего, включая корневую группу СПД.

3.2.2 тип атрибута: Компонент атрибута, который указывает тип информации, предоставляемой значением атрибута.

3.2.3 значение атрибута: Конкретный экземпляр класса информации, указанный типом атрибута.

3.2.4 утверждение значения атрибута: Утверждение, которое может быть истинным, ложным или неопределенным в зависимости от значений атрибутов СПД в записи СПД.

3.2.5 концептуальный документ: Множество документов СПД, рассматриваемых как "различные версии одного и того же документа".

3.2.6 пакет атрибутов управления: Совокупность атрибутов, используемых для управления доступом к объекту СПД.

3.2.7 потомок: Для данной группы СПД, любой член группы СПД и, рекурсивно, любой его потомок.

3.2.8 атрибут СПД: Элемент данных, который идентифицирует объект СПД, описывает его содержимое, помогает управлять доступом к нему или каким-либо иным образом связанный с объектом СПД.

3.2.9 базовый набор атрибутов СПД: Набор атрибутов СПД, которые обязательно должны поддерживаться любым сервером СПД.

3.2.10 содержимое СПД: Основное информационное содержимое объекта СПД. Характер содержимого СПД зависит от класса этого объекта СПД.

3.2.11 документ СПД: Структурированная порция информации, которая может быть сохранена, получена и передана, состоящая из содержимого документа СПД и связанных с ним атрибутов СПД.

3.2.12 содержимое документа СПД: Основное тело информации, фактически содержащейся в документе, например в учрежденческом документе, и не интерпретируемая СПД.

3.2.13 хранилище документов СПД: Поименованная совокупность объектов СПД, которая логически упорядочена в иерархическую структуру.

3.2.14 сервер СПД/ПУД-УД: Часть определенного в настоящем стандарте приложения, которая поддерживает совместное использование СПД и ПУД-УД.

3.2.15 пользователь СПД/ПУД-УД: Потребитель услуг, предоставляемых сервером СПД/ПУД-УД. В каждый момент времени он действует в интересах субъекта безопасности и принимает его привилегии.

3.2.16 запись СПД: Объект СПД вместе с дополнительными атрибутами СПД, описывающими его место в иерархии хранилища документов СПД.

3.2.17 расширение набора атрибутов СПД: Набор атрибутов СПД (помимо базового набора атрибутов СПД), которые факультативно поддерживаются некоторым сервером СПД.

3.2.18 группа СПД: Совокупность объектов СПД в хранилище документов СПД, которые называются членами группы СПД. Группа СПД состоит из атрибутов СПД, которые связаны с группой СПД в целом, и из содержимого группы СПД.

3.2.19 содержимое группы СПД: Последовательность УНИ, идентифицирующая всех членов группы СПД.

3.2.20 член группы СПД: Объект СПД, который идентифицирован в содержимом СПД группы СПД его родителя.

3.2.21 критерий членства СПД: Атрибут СПД группы СПД, устанавливающий ограничения на членство в группе СПД на основе значений атрибутов.

3.2.22 объект СПД: Один из наборов информационных категорий управляемых сервером СПД. Определены следующие объекты СПД: документы, группы, ссылки и списки результатов поиска СПД.

3.2.23 класс объектов СПД: Атрибут СПД, указывающий класс объекта СПД (документ, группу, ссылку или список результатов поиска СПД).

3.2.24 дерево объектов СПД: Дерево объектов СПД группы СПД является деревом, образованным этой группой СПД и всеми ее потомками.

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

3.2.26 собственная группа СПД: Любая группа СПД, отличная от корневой группы СПД.

3.2.27 ссылка СПД: Объект СПД, действующий как связь с другим объектом СПД, который называется указанием ссылки СПД.

3.2.28 содержимое ссылки СПД: Информация, хранящаяся в ссылке СПД для целей идентификации указания.

3.2.29 корневая группа СПД: Выделенная группа СПД в хранилище документов СПД, не имеющая родителя, дерево объектов СПД которой охватывает все объекты СПД в хранилище объектов СПД.

3.2.30 критерий поиска СПД: Фильтр.

3.2.31 список результатов поиска СПД: Объект СПД, который содержит информацию о наборе объектов СПД, удовлетворяющих заданному критерию поиска.

3.2.32 содержимое списка результатов поиска СПД: Информация о результате абстрактной операции СПД Искать.

3.2.33 сервер СПД: Часть приложения СПД, которая поддерживает услуги сохранения и получения документов.

3.2.34 уникальный неизменный идентификатор СПД (УНИ): Атрибут СПД, присваиваемый каждому объекту СПД сервером СПД для недвусмысленной идентификации объекта СПД в хранилище документов СПД.

3.2.35 пользователь СПД: Потребитель услуг, предоставляемых сервером СПД. В каждый момент времени он работает на субъект безопасности, от которого получает привилегии.

3.2.36 фильтр: Конструкция, задающая утверждения о наличии или значении атрибутов СПД; то же самое, что и в справочнике (ГОСТ Р ИСО/МЭК 9594-1).

3.2.37 член: См. член группы СПД (3.2.20).

3.2.38 владелец: Субъект безопасности, владеющий правами доступа к конкретному объекту СПД.

3.2.39 родитель: Каждый объект СПД, за исключением корневой группы СПД, являющийся членом группы СПД, которая называется его родителем.

3.2.40 сертификат атрибутов привилегий: Сертифицированный набор привилегий доступа, который может быть представлен пользователем СПД для установления прав доступа.

3.2.41 указание: Объект СПД, на который указывает ссылка СПД.

3.2.42 версия: Документ СПД, заданный пользователем как производная от одного или нескольких других документов СПД с помощью конкретных атрибутов СПД.

4 Сокращения


В настоящем стандарте использованы следующие сокращения:

АСН.1 - абстрактная синтаксическая нотация версии 1

ВОС - взаимосвязь открытых систем

КУ - качество услуги

ООС - отличающая объект ссылка

ПАУ - пакет атрибутов управления

ПУД - передача и управление документами

ПУД-УД - передача и управление документами - управление документами

САП - сертификат атрибутов привилегий

СДО - ссылочный доступ к объекту

СПД - сохранение и получение документов

СЭНП - сервисный элемент надежной передачи

СЭУА - сервисный элемент управления ассоциацией

СЭУО - сервисный элемент удаленных операций

УНИ - уникальный неизменный идентификатор СПД

ХД - хранилище документов СПД

ЭУСПД - элемент услуг сохранения и получения документов ОDA

5 Соглашения


В настоящем стандарте использованы соглашения, перечисленные в последующих подразделах.

5.1 Соглашения для абстрактных услуг

В настоящем стандарте использованы следующие основанные на АСН.1 соглашения в указанных целях:

а) сама АСН.1 - для спецификации абстрактного синтаксиса информационных объектов и их компонентов, общих типов данных и переменных состояния;

б) макро АСН.1 OBJECT и PORT и соответствующие соглашения определений абстрактных услуг по ГОСТ Р ИСО/МЭК 10021-3 - для спецификации порта СПД;

в) макро АСН.1 ABSTRACT-BIND, ABSTRACT-UNBIND, ABSTRACT-OPERATION и ABSTRACT-ERROR по ГОСТ Р ИСО/МЭК 10021-3 - для спецификации абстрактных услуг СПД;

г) макро АСН.1 ATTRIBUTE MACRO и ATTRIBUTE SYNTAX MACRO по ГОСТ Р ИСО/МЭК 9594-2 - для спецификации атрибутов и синтаксисов атрибутов.

Примечание - В настоящем стандарте спецификации АСН.1 используют все характеристики ГОСТ Р ИСО/МЭК 8824, особенно такие синтаксические конструкции, как "WITH COMPONENTS" (создание подтипов последовательностей, множеств и выборов). Все спецификации написаны с использованием соглашения "IMPLICIT TAGS", которое означает систематическое опускание во время кодирования АСН.1 всех необязательных "вложенных" тегов особенно тех, которые "переопределены" специфическими для контекста тегами.


СПД, как основанный на СЭУО стандарт, не использует средства уровня представления для копирования с различием между локальными кодированиями и синтаксисами открытых систем (см. использование EXTERNAL в 6.3.2.1).

5.2 Общие соглашения

- В настоящем стандарте используются следующие обозначения для указания, что параметр, атрибут или другой элемент описан как:

- О (обязательный) - элемент должен присутствовать в любом случае (и должен поддерживаться СПД);

- Ф (факультативный) - элемент может присутствовать в зависимости от записи СПД;

- У (условный) - элемент может присутствовать при обстоятельствах, определенных в настоящем стандарте.

Часть 2. Определение абстрактных услуг СПД

6 Абстрактная модель СПД


В данном разделе представлена абстрактная функциональная модель сохранения и получения документов. Описание понятия абстрактных услуг и соглашения по их определению приведены в ГОСТ Р ИСО/МЭК 10021-3.

Среда сохранения и получения документов заключает в себе два неделимых объекта: сервер сохранения и получения документов (сервер СПД) и пользователя сохранения и получения документов (пользователя СПД). Сервер СПД представляется как неделимый объект, который действует как поставщик услуг пользователю СПД. Сервер СПД описывается с использованием абстрактной модели для того, чтобы определить услуги, предоставляемые сервером СПД - абстрактные услуги сохранения и получения документов. Модель СПД показана на рисунке 1.

Рисунок 1 - Абстрактные услуги сохранения и получения документов


Рисунок 1 - Абстрактные услуги сохранения и получения документов


Среда СПД/ПУД-УД заключает в себе два неделимых объекта: сервер СПД/ПУД-УД и пользователя СПД/ПУД-УД. Сервер СПД/ПУД-УД действует как поставщик услуг пользователю СПД/ПУД-УД. Сервер СПД/ПУД-УД описывается с использованием абстрактной модели для того, чтобы определить услуги, предоставляемые сервером СПД/ПУД-УД - абстрактные услуги СПД/ПУД-УД. Модель СПД/ПУД-УД показана на рисунке 1.1.

Рисунок 1.1 - Абстрактные услуги СПД/ПУД-УД


Рисунок 1.1 - Абстрактные услуги СПД/ПУД-УД

6.1 Объекты в среде СПД

Сервер СПД моделируется как неделимый объект. Он поддерживает порт абстрактных услуг СПД для пользователя СПД.

Формальное определение объекта "сервер СПД" следующее:

dfr-server OBJECT

PORTS { dfr-port [5] }

: : = id-dfr-server


Пользователь СПД моделируется как отдельный объект. Пользователь СПД потребляет абстрактные услуги порта СПД, предоставляемые сервером СПД. Формальное определение пользователя СПД:

dfr-user OBJECT

PORTS { dfr-port [С] }

: : = id-dfr-user


В настоящем стандарте порт СПД рассматривается для операций над объектами СПД.

Сервер СПД/ПУД-УД моделируется как неделимый объект. Он поддерживает порт абстрактных услуг СПД и порт абстрактных услуг СПД/ПУД-УД для пользователя СПД/ПУД-УД. Формальное определение сервера СПД/ПУД-УД:

dfr-dtam-dm-server OBJECT

PORTS {dfr-port [S], dtam-dm-port [S]}

: : = id-dfr-dtam-dm-server


Пользователь СПД/ПУД-УД моделируется как отдельный объект. Пользователь СПД/ПУД-УД потребляет абстрактные услуги порта СПД и порта СПД/ПУД-УД, предоставляемые сервером СПД/ПУД-УД. Формальное определение пользователя СПД/ПУД-УД:

dfr-dtam-dm-user OBJECT

PORTS {dfr-port [С], dtam-dm-port [С]}

: : = id-dfr-dtam-dm-user

6.2 Порт СПД

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

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

Этот асимметричный абстрактный порт определен для любого пользователя СПД (в роли потребителя) и для любого сервера СПД (в роли поставщика). Такая пара абстрактных портов дает возможность любому пользователю СПД связаться с сервером СПД для использования обычных операций СПД. Все эти операции также являются асимметричными. Каждая из них вызывается потребителем (пользователем СПД) и выполняется поставщиком (сервером СПД).

Порт СПД определяется следующим образом:

Dfr PORT

CONSUMER INVOKES{

Create,

Delete,

Copy,

Move,

Read,

Modify,

List,

Search,

Reserve,

Abandon }


SUPPLIER INVOKES {}

: : = id-pt-dfr

Пользователь СПД/ПУД-УД соединяется и взаимодействует с сервером СПД/ПУД-УД с помощью как порта СПД, так и СПД/ПУД-УД. Совокупность возможностей, предоставляемых этими портами, образует абстрактные услуги сервера СПД/ПУД-УД. Эти возможности включают в себя, например, получение информации о документах, вручение и удаление документов, управление всеми или отдельными частями документов, расположенных на сервере СПД/ПУД-УД.

С помощью операции связывания и развязывания устанавливается и завершается прикладная ассоциация между сервером СПД/ПУД-УД и клиентом СПД/ПУД-УД. Порт dtam-dm-port определен в Рекомендации МСЭ-Т Т.435.

6.3 Информационная модель

Сервер СПД предоставляет пользователям операции над объектами СПД в своем хранилище документов СПД. Классами объектов СПД являются: документы, группы, ссылки и списки результатов поиска СПД. Группа СПД является либо корневой группой СПД, либо собственной группой СПД. Это приводит к следующей спецификации классов объектов СПД:

DfrObjectClass : : = ENUMERATED {

dfr-document

(0),

dfr-root-group

(1),

dfr-proper-group

(2),

dfr-reference

(3),

dfr-search-result-list

(4) }


Доступ к хранилищу документов СПД осуществляется через сервер СПД. Хранилище документов СПД связано только с одним сервером СПД. Сервер СПД управляет только одним хранилищем документов СПД. Хранилище документов СПД является поименованной совокупностью объектов СПД, которые логически упорядочены в иерархическую структуру. Пример того, как различные объекты СПД связаны друг с другом в хранилище документов СПД, показан на рисунке 2. Членство в группе изображено на рисунке сплошными линиями. Объект СПД является членом ровно одной группы СПД (родительской группы); исключение составляет корневая группа СПД, которая не имеет родительской группы. Косвенно объект СПД может иметь отношение к нескольким группам СПД с помощью ссылок СПД. Ссылка СПД указывает ровно на один объект. Ссылка на ссылку СПД не допускается. Объект СПД может указываться несколькими ссылками СПД. Группа СПД может рассматриваться как корень дерева объектов СПД, состоящего из всех потомков этой группы СПД. Список результатов поиска СПД содержит информацию о множестве объектов СПД, удовлетворяющих некоторому критерию поиска.

Рисунок 2 - Пример структуры хранилища документов СПД


Рисунок 2 - Пример структуры хранилища документов СПД


Объект СПД состоит из атрибутов и содержимого СПД. Объект СПД заносится в ХД путем создания записи СПД для него. Запись СПД образуется объектом СПД вместе с дополнительными атрибутами СПД, описывающими его место в иерархии хранилища документов СПД. Непосредственно содержащая группа СПД является родителем этого объекта СПД, а объект СПД является членом этой группы СПД.

DfrEntry : : = SEQUENCE {

attributes

[0]

DfrEntryAttributes,

content

[1]

DfrObjectContent }


Атрибутами записи СПД являются атрибуты, соответствующие объекту СПД плюс два дополнительных атрибута: идентификация родителя СПД и имя пути СПД.

Атрибуты, образующие атрибуты записи СПД DfrEntryAttributes, определены либо в настоящем стандарте, либо могут быть определены внешним образом. Это моделируется базовым набором атрибутов и расширениями набора атрибутов. В настоящем стандарте определены обязательный базовый набор атрибутов СПД и одно факультативное расширение набора атрибутов СПД, полученное из профиля документа ODA. Другие факультативные расширения набора атрибутов, например содержащие атрибуты безопасности, могут быть определены в других документах. Базовый набор атрибутов СПД содержится в абстрактном синтаксисе протокола доступа СПД. Каждое расширение набора атрибутов требует по крайней мере один дополнительный абстрактный синтаксис. Абстрактный синтаксис расширения набора атрибутов СПД определен в приложении Е.

Примечание 1 - Согласование расширений набора атрибутов осуществляется с помощью соответствующих абстрактных синтаксисов при операции связывания.

DfrEntryAttributes : : = SET OF Attribute

Содержимое объекта СПД DfrObjectContent является фактической информацией, хранящейся с объектов СПД. Характер этой информации определяется классом объектов СПД DfrObjectClass. Содержимое СПД группы СПД является последовательностью УНИ всех ее членов. Содержимое СПД документа СПД является основным телом информации, например учрежденским документом. Содержимое СПД ссылки СПД является указателем на некоторый другой объект СПД (группу СПД, документ СПД или список результатов поиска СПД), называемый указанием.

DfrObjectContent : : = CHOICE {

document-content

[0]

DfrDocumentContent,

root-group-content

[1]

DfrGroupContent,

proper-group-content

[2]

DfrGroupContent,

reference-content

[3]

DfrReferenceContent,

search-result-list-content

[4]

DfrSearchResultListContent }


Каждый объект СПД имеет однозначную идентификацию в хранилище документов СПД. Эта идентификация дается уникальным неизменным идентификатором СПД (УНИ) DfrUniquePermanentldentifier. УНИ присваивается каждому объекту СПД сервером СПД. Будучи присвоенным сервером СПД, значение каждого УНИ не изменяется в течение жизни объекта СПД. Кроме того, это значение УНИ отличается от УНИ всех других объектов СПД, когда-либо существовавших на том же самом сервере СПД (включая все существующие и удаленные объекты СПД).

DfrUniquePermanentIdentifier : : = OCTET STRING

Примечание 2 - УНИ также моделируются как атрибуты СПД, см. 9.2.1.

6.3.1 Xpaнилище документов СПД

Хранилище документов СПД (ХД) является совокупностью объектов СПД, логически упорядоченных в иерархическую структуру.

Все объекты СПД в хранилище документов СПД доступны через сервер СПД.

Любой объект СПД в ХД доступен через его УНИ или через имя пути СПД. Когда объект сохраняется в хранилище документов СПД, УНИ присваивается объекту СПД сервером СПД с целью недвусмысленной идентификации объекта СПД. Имя пути СПД образуется последовательностью значений атрибутов заголовков СПД всех предков того объекта СПД, который должен быть идентифицирован, с заголовком СПД этого объекта в качестве последнего члена этой последовательности. Так как атрибут заголовка СПД является уникальным, если только такое ограничение определено для хранилища документов СПД, то доступ через имя пути СПД может оказаться неудачным.

6.3.2 Документы СПД

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

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

6.3.2.1 Содержимое документа СПД

Содержимое документа СПД DfrDocumentContent является основным телом информации, которая была предоставлена серверу СПД с целью сохранения.

DfrDocumentContent : : = EXTERNAL (WITH COMPONENTS {...,

direct-reference PRESENT,

indirect-reference ABSENT,

encoding (WITH COMPONENTS {..., arbitrary ABSENT})})


Компонент непосредственной ссылки direct-reference является идентификатором объекта OBJECT IDENTIFIER, значение которого то же самое, что и значение атрибута тип документа СПД этого документа СПД (см. 9.2.3).

По запросу сервер СПД передает содержимое документа СПД пользователю СПД. Сервер СПД никогда не интерпретирует содержимое хранящихся в нем документов.

Примечание - Совместное действие СПД и протокола доступа к содержимому документа может стать предметом последующей стандартизации.

6.3.2.2 Атрибуты документов СПД

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

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

6.3.3 Ссылки СПД

Ссылки СПД позволяют объекту СПД участвовать в нескольких группах СПД без создания различных копий этого объекта СПД. Ссылка СПД состоит из содержимого СПД, содержащего "указатель" на объект СПД (указание) и атрибуты СПД (см. 6.3.3.2).

Указание может быть документом СПД, группой СПД или списком результатов поиска СПД; оно не может быть другой ссылкой СПД. Класс объектов СПД указания отмечается в содержимом ссылки СПД.

Ссылка СПД указывает либо на объект СПД в том же хранилище документов СПД, либо на объект СПД в другом хранилище документов СПД.

Пользователь СПД с разрешением доступа для чтения (см. 6.3.8.3) ссылки СПД также может получить доступ к указанию, используя ООС, хранящуюся в содержимом ссылки СПД. В случае локального доступа к указанию (т.е. ссылка СПД и указание находятся в одном и том же ХД), только те пользователи СПД, которые отмечены в атрибуте "список доступа СПД", имеют доступ к указанию. В случае удаленного доступа к указанию (т.е. ссылка СПД и указание находятся в разных ХД), разрешение доступа может быть проверено только по факультативным признакам в ООС (см. ГОСТ Р ИСО/МЭК 10031-1).

Если в некоторый момент времени сервер СПД выявит, что указание было удалено, то он не удаляет ссылку СПД, а устанавливает равным "истинно" атрибут "удаленная ссылка СПД" в ссылке СПД.

Содержимое ссылки СПД структурировано, как отличающая объект ссылка (см. ГОСТ Р ИСО/МЭК 10031-2) для упрощения ее использования в операциях СДО (см. ГОСТ Р ИСО/МЭК 10031-1). Отличающая объект ссылка (ООС) используется СПД двумя разными способами:

а) как содержимое ссылки СПД - ООС на весь объект СПД может быть создана сервером СПД по запросу пользователя СПД. Эта ООС может быть сохранена в содержимом ссылки СПД по запросу пользователя СПД. Эта ссылка СПД может позднее использоваться в операциях СДО. Пользователь СПД может также позднее прочитать содержимое этой ссылки СПД и передать другому приложению для последующего доступа этого приложения к указанному объекту СПД.

ООС может быть сохранена в ссылке СПД того же самого хранилища документов СПД, которое содержит указываемый объект СПД, или в другом хранилище документов СПД. В первом случае содержимое ссылки СПД является ООС, ae-identifier, и подкомпоненты приложения указывают на сервер СПД, управляющий как указанием, так и ссылкой;

б) для непосредственной передачи - ООС на весь объект СПД, атрибуты объекта СПД или содержимое объекта СПД может быть создана по запросу пользователя СПД сервером СПД указания для использования при непосредственной передаче указываемого значения объекта данных некоторому другому серверу СПД или другому приложению. Если некоторое значение объекта данных СПД должно быть передано операцией СДО другому приложению, то необходимо, чтобы последнее было способно интерпретировать это значение данных СПД (например, приложение печать может получать только содержимое документа СПД).

6.3.3.1 Содержимое ссылки СПД

ООС, хранящаяся в содержимом ссылки СПД, содержит, кроме всего прочего, указатель на указание (local-reference) и идентификатор (data-object-type) указания (чтобы отметить, является ли указание документом СПД, группой СПД или списком результата поиска СПД).

Спецификация АСН.1 содержимого ссылки СПД:

DfrReferenceContent : : = DOR

(WITH COMPONENTS {

ae-identifier,

local-reference,

data-object-type (DfrObjectClassID(

id-dfr-document |

id-dfr-root-group |

id-dfr-proper-group |

id-dfr-search-result-list)),

quality-of-service,

token ABSENT })

DfrObjectClassID : : = OBJECT IDENTIFIER (

id-dfr-document |

id-dfr-root-group |

id-dfr-proper-group |

id-dfr-search-result-list)


Семантика различных компонентов содержимого ссылки СПД (ООС) определена в ГОСТ Р ИСО/МЭК 10031-2.

6.3.3.2 Атрибуты ссылки СПД

Атрибуты ссылки СПД являются элементами данных, связанными со ссылкой СПД.

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

Определенные атрибуты имеют конкретный смысл для сервера СПД и влияют на его поведение, тогда как другие определяются и управляются пользователем.

6.3.3.3 Поддержка СПД модели СДО

В данном разделе описана поддержка СПД функциональной модели ссылочного доступа к объектам (модели СДО). Модель СДО описана в ГОСТ Р ИСО/МЭК 10031-1. СПД использует ООС, определенную в ГОСТ Р ИСО/МЭК 10031-2.

6.3.3.3.1 Роль СПД в модели СДО

Сервер СПД должен исполнять в модели СДО роль как соучастника, так и исполнителя:

1) как исполнитель сервер СПД выполняет следующие роли, определенные в модели СДО:

а) принимает операции создания;

б) принимает некоторые операции СДО.

2) Как посредник сервер СПД исполняет следующие роли, определенные в модели СДО:

а) принимает операции потребления;

б) может посылать некоторые операции СДО.

6.3.3.3.2 Операции создания в СПД

Абстрактная операция СПД называется операцией создания, как определено в ГОСТ Р ИСО/МЭК 10031-1, если пользователь СПД запрашивает в этой операции передачу ссылки на значение объекта данных так, что сервер СПД возвращает ООС, а не значение объекта данных.

Пользователь СПД может запросить ООС в качестве результата следующих абстрактных операций СПД:

- создать,

- копировать,

- переместить,

- читать,

- изменить.

Во время операции создания пользователь может запросить требуемое качество услуги (КУ) через параметр требуемый-уровень-КУ. Сервер СПД определяет доступное ему КУ и устанавливает соответствующие значения в результирующей ООС.

Примечание - Вне области действия настоящего стандарта находится определение того, поддерживается ли возможность изменения КУ, связанного с ООС.

6.3.3.3.3 Операции потребления в СПД

Абстрактная операция СПД называется операцией потребления, как определено в ГОСТ Р ИСО/МЭК 10031-1, если пользователь СПД предоставляет серверу СПД либо ООС вместо значения объекта данных, либо идентификатор (DfrEntryName) ООС, уже хранящейся (в ссылке СПД) на сервере СПД.

ООС может быть включена в следующие абстрактные операции СПД:

- создать,

- копировать,

- переместить,

- читать,

- изменить.

После получения операции потребления сервер СПД выполняет роль соучастника операции СДО, посылая соответствующую абстрактную операцию протокола СДО, принимаемую исполнителем. Как сервер СПД определяет соответствующий протокол и операцию СДО, которые должны использоваться при доступе к исполнителю, находится вне области применения настоящего стандарта. После получения результата операции СДО сервер СПД осуществляет первоначально затребованную операцию потребления так, как если бы значение объекта данных было бы включено в исходную абстрактную операцию.

6.3.4 Группы СПД

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

Группа СПД может быть либо корневой, либо собственной группой СПД. Собственная группа СПД сама всегда является членом некоторой другой группы СПД (родителя). Корневая группа СПД не является членом никакой другой группы СПД; каждое хранилище документов СПД содержит ровно одну корневую группу СПД. Любой объект СПД из данного ХД может быть достигнут из корневой группы этого ХД. Создание (удаление) корневой группы СПД не может быть осуществлено пользователем порта записи и получения документов.

Примечание - Создание и удаление корневой группы СПД включает в себя, прежде всего, регистрацию владельца(ев) и других субъектов безопасности в списке доступа СПД (см. 6.3.8), осуществляемую некоторым административным уполномоченным. Административный уполномоченный не определяется в настоящем стандарте, а зависит от реализации.

6.3.4.1 Содержимое группы СПД

Содержимое группы СПД является последовательностью УНИ всех членов группы СПД.

Членами группы СПД могут быть документы, группы и ссылки СПД, а также списки результатов поиска СПД.

Порядок членов группы СПД определяется в соответствии с атрибутом "упорядочение СПД" (см. 9.2.9) группы СПД.

DfrGroupContent : : = SEQUENCE OF DfrUniquePermanentIdentifier

Группе СПД может быть присвоен атрибут "критерий членства в группе СПД". Критерий членства управляет членством в группе; требуется, чтобы новые члены удовлетворяли этому критерию до того, как они будут добавлены к группе. Атрибуты нового члена проверяются относительно критерия членства и добавление к группе отклоняется, если проверка неудачна. Группа, не имеющая специфицированного критерия членства, допускает прямое включение любых новых членов.

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

Критерий членства применяется только к членам. Это означает, что если членом данной группы СПД является ссылка СПД, то только атрибуты этой ссылки проверяются относительно критерия членства в этой группе; для членства ссылки в группе не имеет значения, что атрибуты соответствующего указания были изменены и не удовлетворяют более критерию членства.

Члены группы СПД могут быть перечислены, а их атрибуты - просмотрены с помощью абстрактной операции "перечислить". При перечислении группы возвращаются атрибуты ее членов, но не указаний.

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

6.3.4.2 Атрибуты группы СПД

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

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

6.3.5 Список результатов поиска СПД

Список результатов поиска СПД является объектом СПД, предназначенным исключительно для хранения результатов абстрактной операции "искать".

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

6.3.5.1 Содержимое списка результатов поиска СПД

Содержимое списка результатов поиска СПД хранит последовательность атрибутов СПД УНИ и классы объектов СПД всех объектов, удовлетворяющих выражению поиска, заданному в фильтре абстрактной операции "искать". Оно также содержит дополнительную информацию, относящуюся к области и критериям поиска, время и условия выполнения самой последней абстрактной операции "искать".

DfrSearchResultListContent : : = CHOICE { empty NULL,

produced SEQUENCE {

start-date-and-time

[0]

GeneralizedTime,

end-date-and-time

[1]

GeneralizedTime,

object-list

[2]

DfrEntryList,

ordering

[3]

OrderingRule OPTIONAL,

search-domain

[4]

SearchDomain,

search-criteria

[5]

SearchCriteria}}


Cодержимое DfrSearchResultListContent может быть выражено "produced" только в результате абстрактной операции "искать"; в момент создания списка результатов поиска СПД оно есть "empty". Нет иной возможности изменить содержимое списка результатов поиска СПД, кроме повторного выполнения абстрактной операции "искать" таким образом, чтобы заменить или дополнить существующее содержимое. Содержимое DfrSearchResultListContent всегда должно помещаться в существующий список результатов поиска СПД (созданный предшествующей абстрактной операцией "создать"), который либо пуст, т.е. никогда ранее не использовался, либо не пуст, т.е. использовался предшествующей абстрактной операцией "искать". В последнем случае критерий и область поиска, хранящиеся в DfrSearchResultListContent, могут быть использованы повторно (например, для продолжения поиска) или переопределены критерием и областью поиска, использованными в абстрактной операции "искать".

Типы АСН.1 отдельных компонентов DfrSearchResultListContent формально определены в 8.1.6.

6.3.5.2 Атрибуты списка результатов поиска СПД

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

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

6.3.6 Управление версией СПД

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

Документ СПД может иметь несколько версий, одновременно находящихся в хранилище документов СПД. Фактически каждая "версия документа" сама является отдельным документом СПД (отдельной записью в хранилище документов СПД). Множество всех документов СПД, рассматриваемых как "различные версии одного и того же документа", определяет концептуальный документ. Различные документы СПД, являющиеся версиями одного и того же концептуального документа, связаны с помощью двух управляемых сервером СПД атрибутов: следующие и предыдущие версии СПД. Множество всех документов СПД, являющихся версиями одного концептуального документа, структурировано в виде направленного графа относительно этих двух атрибутов СПД. Взаимосвязи между различными версиями концептуального документа не зависят от структуры групп хранилища документов СПД.

Все версии одного и того же концептуального документа отличаются от всех других документов СПД с помощью специального управляющего атрибута сервера СПД - корня, версий СПД. Значением этого атрибута является УНИ (исторически) первой версии концептуального документа; данное значение остается в силе и не изменяется, даже если эта версия в последующем будет удалена (так как в данном контексте это значение уже не рассматривается как УНИ первой версии, а идентифицирует весь концептуальный документ). Версии одного и того же документа могут иметь другие общие значения атрибутов, но это не обязательно и не проверяется сервером СПД.

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

Когда пользователь СПД создает ссылку СПД на документ с несколькими версиями, эта ссылка СПД всегда указывает на конкретную версию (т.е. на один конкретный документ СПД в хранилище документов СПД).

В простейшем случае все версии одного итого же документа упорядочены линейно: каждая версия, за исключением первой, имеет только одну предшествующую версию, и каждая версия, за исключением последней, имеет только одну следующую версию. В этом случае последняя версия концептуального документа может быть достигнута путем навигации с использованием атрибута "следующие версии СПД".

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

Всегда требуется действие пользователя СПД для определения некоторого существующего или вновь создаваемого документа СПД как новой версии некоторого(ых) другого(их) документа(ов) СПД; последний(ие) явно специфицируется(ются) пользователем как предыдущая(ие) версия(ии). Пользователь СПД должен иметь, по крайней мере, право доступа для чтения к документу(ам) СПД, задаваемому(мым) как предыдущая(ие) версия(ии). Связи от новой версии ко всем ее предшественникам (т.е. их УНИ) являются значениями атрибута "предыдущая версия СПД".

Одновременно создаются связи в противоположном направлении: всякий раз, как создается новая версия в качестве последующей для уже существующей, атрибут "следующие версии СПД" последней содержит связь с последующей версией.

При "отбрасывании" существующей версии все связи к ней от ее последователей перенаправляются к каждому из ее предшественников, а все связи к ней от ее предшественников перенаправляются к ее последователям. Существующая версия может быть "отброшена" путем удаления либо всего документа СПД, либо атрибута "предыдущие версии СПД", в случае чего сервер СПД удаляет также и атрибуты "следующие версии СПД", и "корень версии СПД".

Управление версией применяется только к документам СПД; версии групп СПД, ссылок СПД и списков результатов поиска СПД не определены.

6.3.7 Атрибуты и фильтры

СПД использует Attribute, ATTRIBUTE MACRO, ATTRIBUTE-SYNTAX MACRO, Filter и Filterltem, определенные в ГОСТ Р ИСО/МЭК 9594-1.

Каждый объект СПД состоит из двух частей: набора атрибутов и категории "содержимое". Атрибуты СПД управляются независимо от содержимого. Атрибуты могут быть прочитаны и изменены. Если атрибуты изменяются, то содержимое этого объекта остается неизменным. Атрибуты характеризуют объект, т.е. каждый атрибут предоставляет порцию информации об объекте, которому он соответствует. Атрибуты влияют на хранение и получение объекта и на управление доступом к нему.

Для удобства читателей краткое описание атрибутов и фильтров приведено в приложении F. Полное определение дано в ГОСТ Р ИСО/МЭК 9594-1.

Обзор атрибутов СПД приведен в разделе 9.

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

6.3.8 Безопасность в СПД

Здесь рассмотрены два конкретных метода обеспечения безопасности: аутентификация и авторизация доступа.

6.3.8.1 Аутентификация

Во время связывания субъект безопасности, представленный пользователем СПД, аутентифицируется либо путем использования пароля(ей), либо, в случае пользователя, который был где-либо предварительно аутентифицирован, путем проверки подтвержденной идентичности. Метод аутентификации проверяет полномочия пользователя СПД, запросившего доступ к хранилищу документов СПД. Он, однако, не квалифицирует доступ пользователя СПД ко всем объектам СПД, находящимся в хранилище документов. Подтвержденная идентичность может быть в последующем представлена операции связывания в качестве аргумента отдельной абстрактной операции. Это позволяет совместно использовать связь несколькими субъектами безопасности, пользователями СПД, представляющими разных субъектов безопасности для каждой рассматриваемой абстрактной операции. Не допускается одновременно несколько связей пользователя СПД с одним и тем же сервером СПД.

6.3.8.2 Авторизация доступа

Авторизация доступа управляется атрибутами безопасности, которые все вместе называются пакетом атрибутов управления (ПАУ).

ПАУ является совокупностью атрибутов, относящихся к безопасности, присваиваемой объектам СПД. Для того чтобы обеспечить свободу проектирования, необходимую серверам СПД для работы в широком диапазоне политики безопасности, реализаторы СПД должны быть свободны в выборе типов управляющих атрибутов, подходящих для режимов, на которые нацелена разработка. В конечном итоге стандарты определят правила авторизации доступа и типы управляющих атрибутов, среди которых реализаторы могут делать свой выбор. Конкретными примерами таких атрибутов могут быть классификация безопасности объектов СПД, уровень целостности или другие категории групп доступа. В настоящее время таких стандартов не существует, и в настоящем стандарте определен один управляющий атрибут - "список доступа СПД".

Если запрашивающий доступ пользователь СПД представил сертификат атрибутов привилегий (САП), содержащий атрибуты привилегий для объекта СПД, то для определения имеющегося доступа должны использоваться атрибуты привилегий, когда нужно - совместно с атрибутами ПАУ. Атрибуты привилегий факультативно представляются либо во время абстрактной операции связывания через аргумент полномочий САП (см. 7.1.1), либо явно во время запрошенной абстрактной операции в аргументе привилегий (см. 8.1.3.5), либо и тем, и другим способом. Пользователь СПД может также задать САП своего доверенного в запросе конкретной абстрактной операции. Этот САП используется сервером СПД для доступа к другому серверу в интересах запроса пользователя СПД (см. 8.1.3.5).

Каждая конкретная реализация СПД должна использовать либо атрибут "список доступа СПД", либо другие атрибуты ПАУ в соответствии с некоторым определенным методом согласования.

6.3.8.3 Политика безопасности СПД

Любой объект СПД в хранилище документов СПД имеет одного или нескольких владельцев. Владелец является субъектом безопасности, который задает привилегии относительно своего объекта СПД.

Каждый владелец объекта СПД отмечен в атрибуте "список доступа СПД" в САП этого объекта. Владелец объекта СПД может добавлять других владельцев или удалять существующих. Попытка удалить последнего владельца приводит к ошибке.

Атрибут "список доступа СПД" определяет список субъектов безопасности, которым позволен доступ к конкретному объекту СПД, и их права доступа. Субъекту безопасности, зарегистрированному в списке доступа СПД (в ПАУ) объекта СПД разрешен, в соответствии с зарегистрированными правами доступа, доступ к этому объекту СПД. Объект СПД не будет видимым для пользователя, если ему владельцем данного объекта СПД не предоставлены, по меньшей мере, права доступа для чтения. Например, если объект СПД удовлетворяет условию фильтра, заданного в абстрактной операции "искать", то этот объект не будет виден для пользователя СПД, которому не разрешен доступ для чтения к данному объекту СПД. Список доступа СПД является атрибутом объекта СПД. Содержимое атрибута "список доступа СПД" может быть изменено только владельцем объекта. Пользователь СПД, имеющий только право доступа для чтения к объекту СПД, может прочитать только свои собственные права доступа к этому объекту. Список доступа СПД состоит из одного или нескольких элементов. Каждый элемент состоит из двух частей:

DfrAccessListElement : : = SEQUENCE {

access-id

Accessld,

access-rights

AccessRights }


Accessld : : = DistinguishedName

Примечание - В случае пользователя СПД, имеющего только доступ для чтения к объекту СПД, возвращаемый ему список доступа СПД отличен от присвоенного объекту СПД, так как содержит только Accessld и AccessRights этого пользователя.


AccessRights : : = ENUMERATED {

read

(0),

extended-read

(1),

read-modify

(2),

read-modify-delete

(3),

owner

(4) }


Доступ read к объекту СПД разрешает пользователю СПД доступ к этому объекту с использованием абстрактных операций "читать", "копировать", "искать" и "перечислить". Эти абстрактные операции допустимы как для содержимого, так и для атрибутов объекта СПД, за исключением тех частей атрибута "список доступа СПД", которые не относятся к данному пользователю, и атрибутов "СПД создан", "СПД атрибуты модифицированы", "СПД содержимое модифицировано", "СПД зарезервирован". При попытке прочитать атрибут "список доступа СПД" возвращаются только права доступа пользователя, инициировавшего операцию. Даже если объект удовлетворяет критерию поиска, заданному в абстрактной операции "искать", этот объект СПД не будет приведен в результирующем списке результатов поиска СПД, если инициировавший пользователь не имеет разрешения на доступ для чтения к данному объекту. Объект СПД должен быть указан в результате абстрактной операции "перечислить", только если инициирующий субъект безопасности задан в атрибуте "список доступа СПД" этого объекта.

Доступ extended-read к объекту СПД включает в себя все привилегии доступа для чтения, а также разрешает пользователю СПД читать весь атрибут "список доступа СПД" и все другие атрибуты.

Доступ read-modify к объекту СПД разрешает пользователю СПД применять нефиксированное резервирование или освобождение этого объекта и модифицировать его содержимое и/или атрибуты, за исключением атрибута "список доступа СПД". Изменение содержимого группы СПД означает возможность включения новых членов в группу; операции над существующими членами группы СПД зависят от прав, указанных в их атрибутах "список доступа СПД". Доступ для чтения-изменения включает в себя и доступ для расширенного чтения.

Доступ read-modify-delete к объекту СПД разрешает пользователю СПД удалять или перемещать этот объект. В случае группы СПД пользователь СПД с правом доступа к этой группе для чтения-изменения-удаления может переместить все дерево объектов СПД этой группы независимо от прав доступа в списках доступа СПД ее потомков, но он может удалить все дерево объектов СПД этой группы или любого ее потомка, только если этот пользователь СПД имеет разрешение на доступ для чтения-изменения-удаления в списке доступа СПД всех потомков, когда должно быть удалено все дерево объектов СПД этой группы, или в списке доступа СПД потомка, когда должен быть удален этот конкретный потомок. Доступ для чтения-изменения-удаления включает в себя и доступ для чтения-изменения.

Доступ owner к объекту СПД разрешает пользователю СПД изменять атрибут "список доступа СПД" этого объекта и применять к этому объекту фиксированное резервирование. Доступ владельца включает в себя доступ для чтения-изменения-удаления. Пользователь СПД, создающий объект СПД (с помощью абстрактной операции "создать" или "копировать"), автоматически включается в атрибут "список доступа СПД" нового объекта как владелец.

Если пользователь СПД не имеет разрешения на доступ к группе СПД, по крайней мере, для чтения, то этот пользователь не может достичь ее потомков через эту группу. Прямой доступ к потомку через УНИ объекта СПД зависит от атрибута "список доступа СПД" этого объекта. Операции, включающие доступ к нескольким объектам СПД, требуют соответствующих прав доступа для каждого из этих объектов.

Примечание - Ограничения, касающиеся доступа к указанию с использованием ООС, указаны в 6.3.3.

7 Параметры абстрактного связывания и развязывания

7.1 Параметры абстрактного связывания

В данном разделе описаны параметры операции связывания для порта СПД.

DfrBind : : = ABSTRACT-BIND

ТО {dfr-port [S]}

BIND

ARGUMENT

DfrBindArgument

RESULT

DfrBindResult

BIND-ERROR

DfrBindError

7.1.1 Пapaмeтры аргумента связывания

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

Определение:

DfrBindArgument : : = SEQUENCE {

initiator-name

[0]

DistinguishedName,

credentials

[1]

Credentials,

retrieve-restrictions

[2]

Restrictions OPTIONAL,

- - по умолчанию ограничений нет - -

dfr-configuration-request

[3]

BOOLEAN DEFAULT FALSE,

bind-security

[4]

BindSecurity OPTIONAL,

priority

[5]

Priority DEFAULT medium,

dor-for-produce-operations

[6]

BOOLEAN DEFAULT TRUE,

dor-for-consume-operations

[7]

BOOLEAN DEFAULT TRUE,

protocol-version

[8]

INTEGER {

version-1 (1),

version-2 (2)} DEFAULT {1},

bilateralInformation

[9]

SEQUENCE OF

BilateralInformationEntry OPTIONAL,

dTAM-manipuIation-capabilities

[10]

ManipulationCapabilities OPTIONAL,

dTAM-protocol-version

[11]

BITSTRING {version-1 (0)}, DEFAULT {0}},

dfr-profile-selection

[12]

OBJECT IDENTIFIER OPTIONAL,

application-requirements

[13]

ApplicationRequirement OPTIONAL}

a) initiator-name (0) - этот аргумент содержит отличающее имя инициатора ассоциации и предоставляется пользователем СПД.

б) credentials (0) - полномочия также могут быть переданы между пользователем СПД и сервером СПД. Представляет или нет пользователь СПД конкретного конечного пользователя, не интересует сервер СПД. С точки зрения сервера СПД идентичность запрашивающего доступ субъекта и привилегии доступа получаются из переданных полномочий. Полномочия служат для идентификации и аутентификации пользователя или для подтверждения идентичности пользователя, аутентифицированного ранее внешним образом. В последнем случае, также могут быть переданы привилегии управления доступом, связанные с пользователем. Полный синтаксис и семантика полномочий для целей аутентификации находятся вне области применения настоящего стандарта (это - общие вопросы для всех операций связывания). Использование подтверждающих атрибутов безопасности описано кратко ниже. Однако семантические подробности остаются неопределенными, так как зависят от фактически объявленной политики безопасности и реализуются организацией, эксплуатирующей приложение СПД.

Аутентификация пользователя может осуществляться внешним для сервера СПД образом; получившиеся в результате атрибуты управления доступом должны быть в дальнейшем переданы в операции связывания для того, чтобы позволить серверу СПД принять последующие решения по управлению доступом. Это - функция конструкции САП. Либо пользователь, либо сервер СПД могут оборвать операцию связывания, если параметры аутентификации не допускают успешного завершения этой операции.

Полномочия, переданные в операции связывания, могут быть изменены параметром Privileges конкретной абстрактной операции СПД (см. 8.1.3.5).

Credentials : : = СНОIСЕ {

simple [0] Creds,

- - используется для начальной аутентификации - -

certified [1] PrivilegeAttributeCertificate}

- - используется, когда начальная аутентификация - -

- - уже была осуществлена внешним для сервера СПД образом - -


Creds содержит паспорт, связанный с пользователем СПД:

Creds : : = OCTET STRING

PrivilegeAttributeCertificate содержит связанные с пользователем СПД атрибуты, такие как имя пользователя, название работы или степень безопасности. Они могут быть использованы при принятии решений об управлении доступом (см. 6.3.8).

PrivilegeAttributeCertificate : : = EXTERNAL

Примечание - Подробный синтаксис PrivilegeAttributeCertificate в настоящее время находится в стадии исследования. Права доступа, необходимые для установления связи, могут, при некоторой политике безопасности, отличаться от установленных для самой связи; возможность использования двух САП: одного для установления связи, второго - для применения при доступе к объектам СПД в контексте связи, также изучается в настоящее время.

в) retrieve-restrictions (Ф) - здесь содержатся ограничения на объекты, которые должны быть возвращены в результате абстрактной операции СПД. Ограничения сохраняются до тех пор, пока не будет использована операция развязывания.

При отсутствии этого аргумента по умолчанию ограничений нет.

Данный аргумент состоит из следующих компонентов:

Restrictions : : = SET {

allowed-document-types

[0] SET OF OBJECT IDENTIFIER OPTIONAL,

- - по умолчанию ограничений нет - -

maximum-length

[1] INTEGER OPTIONAL}

- - по умолчанию ограничений нет - -

1) allowed-document-types (У) - типы документов, которые пользователь СПД готов принять в результате абстрактной операции. Никакие документы типов, отличных от заданных в этом компоненте, возвращаться не будут, а приведут к ошибке.

При отсутствии данного компонента по умолчанию не существует ограничений на возвращаемые типы документов.

2) maximum-length (У) - максимальная длина, которую пользователь СПД готов предоставить для аргумента или принять в результате абстрактной операции. Любой результат, подготовленный сервером СПД, превышающий заданную максимальную длину, не будет возвращен, а приведет к сообщению об ошибке.

При отсутствии этого компонента по умолчанию не существует ограничений на длину результата.

г) dfr-configuration-request (У) - задается для получения информации, относящейся к тому, какие факультативные расширения наборов атрибутов и ограничения поддерживает сервер СПД.

При отсутствии этого компонента значением по умолчанию является FALSE, указывающее, что такой запрос не делался.

д) bind-security (Ф) - задает услуги безопасности ВОС, затребованные в операции связывания, например парную аутентификацию категорий задействованного программного обеспечения, конфиденциальность или защиту целостности.

BindSecurity : : = EXTERNAL

е) priority (У) - приоритет, запрошенный для данного пользователя СПД на время ассоциации. Если в абстрактной операции не задан другой приоритет (см. 8.1.3.4), то будет использован этот. По умолчанию применяется средний приоритет.

ж) dor-for-produce-operations (Ф) - параметр, если оставлен равным TRUE, указывает, что сервер СПД должен, если запрошено, предоставлять ООС в результате абстрактной операции. Может ли сервер СПД удовлетворить этот запрос, сообщается в параметре DfrBindResult.

и) dor-for-consume-operations (Ф) - параметр, если оставлен равным TRUE, указывает, что сервер СПД должен, если запрошено, принимать ООС в аргументах абстрактной операции. Может ли сервер СПД удовлетворить этот запрос, сообщается в параметре DfrBindResult.

к) protocol-version (Ф) - параметр указывает версию протокола СПД, которую запросил пользователь СПД. Если сервер СПД может удовлетворить этот запрос, то абстрактная операция связывания продолжается нормально. В противном случае сервер СПД генерирует ошибку.

1) version-1 - определена в ИСО/МЭК 10166-1:1991.

2) version-2 - определена в настоящем стандарте (т.е. в ИСО/МЭК 10661-1:1991 и ИСО/МЭК 10661-1:1991 (Дополнения N 1 и 2).

Примечание - Так как сервер, которому известна только версия 1 протокола СПД, не принимает запроса версий, то такой запрос должен привести к (зависящей от реализации) ошибке. Сервер, которому известна версия 2 протокола СПД, может принять связывание от клиента версии 1 или может вернуть ошибку unclassified-server-error.

л) bilaterallnformation (Ф) - параметр содержит двустороннюю информацию сервера и пользователя СПД. Формально эта информация представляет собой следующее:

BilateralInformationEntry : : = SEQUENCE {

serverName

[0]

ServerName,

information

[1]

EXTERNAL}

ServerName : : = DistinguishedName

м) ManipulationCapabilities (У) - параметр указывает возможности ПУД-УД, которые клиент ПУД-УД хочет использовать во время ассоциации. Возможности согласуются с сервером ПУД-УД. Если сервер ПУД-УД не может поддерживать запрошенные возможности, то такой запрос приведет к ошибке. Данный параметр является условным и должен присутствовать в среде СПД/ПУД-УД. ManipulationCapabilities определен в Рекомендации МСЭ-Т Т.435.

н) dTAM-protocol-version (Ф) - параметр указывает версию протокола ПУД-ПУ, которую запросил клиент СПД/ПУД-УД. Это - битовая строка переменной длины, каждый бит которой, равный единице, указывает запрошенную версию протокола ПУД-УД. Несколько бит могут быть равны единице, что указывает несколько версий протокола. Завершающий бит не должен быть старше, чем сама старшая версия, поддерживаемая клиентом. Таким образом, последний бит должен быть равен единице. При отсутствии этого параметра по умолчанию применяется значение version-1. Если сервер СПД/ПУД-УД поддерживает запрошенную версию протокола, то абстрактная операция связывания ПУД-УД продолжается нормально. В противном случае сервер ПУД-УД генерирует сообщение об ошибке.

Версия 1 определена в Рекомендации МСЭ-Т Т.436:1994. Этот параметр может быть использован только в среде СПД/ПУД-УД.

о) dfr-profile-selection (Ф) - параметр указывает профиль СПД, который пользователь СПД хочет использовать во время ассоциации. Профиль СПД согласуется с сервером СПД. Если сервер СПД может обеспечить этот профиль, то операция связывания продолжается нормально. Если сервер СПД не может обеспечить этот профиль, то такой запрос приводит к ошибке и возврату сообщения profile-mismatch. Если этот параметр опущен, то сервер СПД перечисляет поддерживаемые им профили в параметре profile-supported в результате DfrBindResult.

п) application-requirements (Ф) - параметр указывает дополнительные прикладные требования, которые согласуются между сервером СПД и пользователем СПД. Если сервер СПД может обеспечить эти требования, то операция связывания продолжается нормально. В противном случае такой запрос приводит к ошибке и возврату сообщения application-requirement-mismatch.

ApplicationRequirement : : = CHOICE {

[0]

OCTET STRING,

[1]

OBJECT IDENTIFIER }

7.1.2 Параметры результата связывания

Параметр DfrBindResult возвращает все необходимые атрибуты аутентификации.

Формальное определение:

DfrBindResult : : = SET {

authentication-attributes

[0]

SET OF AuthenticationAttribute,

constraints-supported

[1]

SET OF ConstraintsType OPTIONAL,

Dfr-document-types-supported

[2]

SET OF TypeAndAttribute OPTIONAL,

function-set-supported

[3]

FunctionSetType OPTIONAL,

maximum-length-supported

[4]

INTEGER OPTIONAL,

dor-for-produce-operations

[5]

BOOLEAN DEFAULT TRUE,

dor-for-consume-operations

[6]

BOOLEAN DEFAULT TRUE,

rOA-protocols-accessee

[7]

ROAProtocols OPTIONAL,

rOA-protocols-accessor

[8]

ROAProtocols OPTIONAL,

bilaterallnformation

[9]

SEQUENCE OF BilateralInformationEntry OPTIONAL,

server-selected-protocol-version

[10]

INTEGER {

version-1 (1),

version-2, (2) } OPTIONAL,

server-selected-dTAM-capabilities

[11]

SEQUENCE OF OdaApplicationCapabilities,

server-selected-dTAM-protocol-version

[12]

BITSTRING { version-1 (1) } OPTIONAL }

а) authentication-attributes (О) - любая информация, требуемая для подтверждения проверки аутентификации. Эта информация не ограничивается настоящим стандартом.

AuthenticationAttribute : : = EXTERNAL

б) constraints-supported (У) - задает все ограничения, определенные для хранилища документов СПД. Присутствует, только если использовался аргумент dfr-configuration-request.

ConstraintsType : : = SEQUENCE {

name-constraint

[0]

NameConstraint,

version-constraint [1] VersionConstraint,

profile-supported [2] SEQUENCE OF OBJECT IDENTIFIER OPTIONAL}

NameConstraint : : = ENUMERATED {

no-name-constraint (0),

local-unambiguity (1),

global-unambiguity (2) }

VersionConstraint : : = ENUMERATED {

no-version-constraint (0),

version-unambiguity (1),

version-not-supported (2) }


Для хранилища документов СПД могут быть заданы следующие ограничения:

1) NameConstraint специфицирует неоднозначность заголовка СПД:

i) нет ограничений для заголовков СПД (но неоднозначность заголовков СПД не обязательна);

ii) глобально недвусмысленные заголовки СПД (каждая запись СПД имеет заголовок СПД, уникальный в пределах ХД);

iii) локально недвусмысленные заголовки СПД (каждая запись СПД имеет заголовок СПД, уникальный в пределах родительской группы).

2) VersionConstraint специфицирует неоднозначность атрибута VersionName:

i) нет ограничений для VersionName (но неоднозначность VersionName не обязательна);

ii) версия недвусмысленна (каждая версия концептуального документа однозначно идентифицируется своим атрибутом VersionName в пределах концептуального документа);

iii) версии не поддерживаются (не поддерживается концептуальный документ).

3) profile-supported задает подмножество функций (например, профили функций), которое поддерживается сервером СПД.

в) dfr-document-types-supported (У) - является списком типов документов, поддерживаемых сервером СПД, в котором перечислены все расширения атрибутов, поддерживаемых для документа каждого типа. Присутствует, только если использовался аргумент dfr-configuration-request.

TypeAndAttribute : : = SEQUENCE {

document-tupes

[0]

OBJECT IDENTIFIER,

attributes

[1]

SET OF AttributeType}

r) function-set-supported (У) - задает, какой поддерживается набор функции из дерева определенных наборов (набор плоского хранилища, набор предопределенной структуры хранилища, полный набор - см. 8.4). Присутствует, только если использовался аргумент dfr-configuration-request.

FunctionSetType : : = ENUMERATED {

flat-store

(1),

pre-defined-store

(2),

full-set

(3) }

д) maximum-length-supported (У) - задает максимальную длину, поддерживаемую сервером. Это значение должно быть меньше или равно максимальной длине, заданной пользователем в аргументе retrieve-restrictions операции связывания. Присутствует, только если максимальная длина была задана в аргументах связывания.

е) dor-for-produce-operations (Ф) - параметр, если оставлен равным TRUE, указывает, что сервер СПД может возвращать ООС в результате абстрактных операций.

ж) dor-for-consume-operations (Ф) - параметр, если оставлен равным TRUE, указывает, что сервер СПД может принимать ООС в аргументах абстрактных операций.

и) гОА-protocols-accessee (Ф) - СПД факультативно возвращает информацию о том, какие им, как исполнителем, поддерживаются прикладные контексты протокола СДО для передачи объектов, соответствующих ООС.

ROAProtocols : : = SEQUENCE OF OBJECT IDENTIFIER

к) rOA-protocols-accessor (Ф) - СПД факультативно возвращает информацию о том, какие им, как соучастником, поддерживаются прикладные контексты протокола СДО для передачи объектов, соответствующих ООС.

л) bilaterallnformation (Ф) - параметр содержит двустороннюю информацию сервера и пользователя СПД.

м) server-selected-protocol-version (Ф) - параметр указывает версию протокола СПД, которую выбрал сервер СПД. Этот параметр присутствует, только если задан аргумент protocol-version в операции связывания. Если сервер СПД поддерживает версию протокола СПД, заданную пользователем, то сервер включает в этот параметр значение, соответствующее заданной версии протокола СПД. Если сервер СПД не поддерживает версию протокола СПД, заданную пользователем, то сервер включает в этот параметр значение, соответствующее одной из поддерживаемых им версий протокола СПД.

н) server-selected-dTAM-capabilities (У) - параметр задает характеристики ODA (прикладной профиль документа и факультативно неосновные характеристики документа) как воспринимаемые возможности сервера СПД/ПУД-УД. Продолжение обработки услуги гарантируется только в том случае, если клиент СПД/ПУД-УД действует в пределах воспринимаемых сервером СПД/ПУД-УД возможностей. Параметр является условным и должен присутствовать в среде СПД/ПУД-УД. Определение OdaApplicationCapabilities см. в Рекомендации МСЭ-Т Т.435.

о) server-selected-dTAM-protocol-version (Ф) - параметр указывает версию протокола ПУД-УД, которую выбрал сервер СПД/ПУД-УД. Этот параметр присутствует только в среде СПД/ПУД-УД, и только если задан аргумент dTAM-protocol-version, в операции связывания. Если сервер СПД/ПУД-УД поддерживает версию протокола ПУД-УД, заданную пользователем СПД/ПУД-УД, то сервер включает в этот параметр значение, соответствующее заданной версии протокола ПУД-УД. Если сервер СПД/ПУД-УД не поддерживает версию протокола ПУД-УД, заданную пользователем СПД/ПУД-УД, то сервер включает в этот параметр значение, соответствующее одной из поддерживаемых им версий протокола ПУД-УД.

7.4.3 Параметры ошибки связывания

Порт СПД может сообщить о любой из двух ошибок: SecurityProblem или ServiceProblem. SecurityProblem указывает, что параметр полномочий не соответствует получению доступа к серверу СПД. ServiceProblem означает, что сервер СПД не может установить ассоциацию по каким-то операционным причинам. Те же самые ошибки могут встретиться и для абстрактных операций СПД (см. 8.3).

Ошибка ManipulationProblem означает, что сервер СПД/ПУД-УД не поддерживает запрошенные возможности ПУД-УД. В этом параметре указываются возможности, поддерживаемые сервером СПД/ПУД-УД.

DfrBindError : : = CHOICE {

service-error

[0]

ServiceProblem,

security-error

[1]

SecurityProblem,

dtam-dm-error

[2]

ManipulationProblem

ManipulationProblem : : = SEQUENCE OF ManipulationCapabilities

7.2 Параметры операции развязывания

Операция развязывания закрывает порт СПД. Запрос операции развязывания приводит к удалению всех ограничений retrieve-restrictions, заданных в аргументе операции связывания. Эта операция не имеет аргументов и ошибок.

DfrUnbind : : = ABSTRACT-UNBIND

FROM {dfr-ports [S]}

8 Абстрактные операции


Все абстрактные операции вызываются потребителями (пользователями СПД) и возвращают сообщения либо об успешном завершении, либо об ошибке.

8.1 Общие типы данных, используемых в абстрактных операциях

8.1.1 Типы данных, используемые для спецификации объекта СПД

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

Некоторые из этих типов данных уже были определены в разделе 6 настоящего стандарта. Они используются для спецификации различных объектов СПД, содержащихся в хранилище документов СПД. Это следующие типы данных:

DfrObjectClass (см. 6.3),

DfrEntry (см. 6.3),

DfrEntryAttributes (см. 6.3),

DfrObjectContent (см. 6.3),

DfrUniquePermanentIdentifier (см. 6.3),

DfrDocumentContent (см. 6.3.2.1),

DfrReferenceContent (cм. 6.3.3.1),

DfrObjectClassID (см. 6.3.3.1),

DfrGroupContent (см. 6.3.4.1).

DfrSearchResultListContent (см. 6.3.5.1). .

8.1.2 Импортированные типы данных

Некоторые типы данных, использованные в разделе 6 и в настоящем разделе, фактически определены в других стандартах. Такими импортированными типами данных являются:

Из справочника ВОС (ИСО/МЭК 9594-2):

Attribute,

AttributeType,

AttributeValue,

AttributeValueAssertion,

DistinguishedName.

Из справочника ВОС (ГОСТ Р ИСО/МЭК 9594-3):

Filter,

Filterltem.

Из МРУП (ГОСТ Р ИСО/МЭК 10031-1):

DOR,

Requested-Qos-level.

8.1.3 Типы данных, общие для большинства абстрактных операций СПД

Аргумент любой абстрактной операции СПД является последовательностью "параметров" (или "аргументов"), некоторые из которых являются обязательными для данного типа абстрактной операции, а другие - факультативными. Каждый отдельный параметр имеет свой собственный контекстно-зависящий тег. Параметры, используемые в большинстве абстрактных операций СПД, имеют теги из конца целочисленного диапазона [0, 30], а более специфические - из начала этого диапазона. Общие параметры задаются следующим образом:

CommonArguments : : = SEQUENCE {

task-id

[26]

TaskId OPTIONAL,

reservation

[27]

Reservation OPTIONAL,

error-handling

[28]

ErrorHandlingMode DEFAULT all-or-nothing,

priority

[29]

Priority DEFAULT medium,

privileges

[30]

Privileges OPTIONAL }

8.1.3.1 Идентификатор задачи

TaskId : : = OCTET STRING

TaskId является факультативным идентификатором абстрактной операции. Пользователь СПД может включить этот параметр в абстрактную операцию в целях идентификации, если она будет прервана или продолжена. Параметр TaskId может либо быть задан пользователем СПД, либо быть ранее предоставленным сервером СПД как параметр продолжения в результате абстрактной операции List или Search, если такая операция была прервана из-за превышения лимитов (см. 8.1.6).

Пользователь СПД не должен повторно использовать значение TaskId в других абстрактных операциях до тех пор, пока соответствующая абстрактная операция не будет завершена (возможно после продолжения) или прервана.

8.1.3.2 Резервирование

Семантика этого параметра, когда он задан в абстрактной операции, такая же, как определена для абстрактной операции Reserve (см. 8.2.9). Опускание этого параметра означает, что нет изменений в уровне резервирования рассматриваемого объекта СПД. Для каждой абстрактной операции СПД объект СПД, к которому применяется резервирование, задается в описании этой абстрактной операции. Резервирование определяется параметрами reservation-duration, reservation-level, reservation-status и reservation-referent.

Параметр reservation-duration факультативно задает время, в течение которого должно существовать резервирование. Если параметр не задан, то объект СПД остается зарезервированным неопределенно долго.

Параметр reservation-level задает, какой уровень резервирования должен применяться. Уровень unreserved является наинизшим, уровень read-only2 -наивысшим. Если запрошено изменение до более низкого уровня от существующего высокого уровня в случае нефиксированного резервирования, то оно всегда осуществляется на последнем шаге выполнения абстрактной операции. Если запрошено изменение до более высокого уровня от более низкого или от нефиксированного до фиксированного резервирования, то оно всегда осуществляется в качестве первого шага выполнения абстрактной операции.

Параметр reservation-status определяет качество резервирования. Статус резервирования "committed" (фиксированное) применяется только владельцем объекта СПД. Фиксированность означает, что резервирование будет поддерживаться до истечения времени резервирования. После того как фиксированное резервирование будет задано владельцем, оно не может быть отменено, т.е. уровень резервирования может быть только повышен и/или время завершения резервирования может быть установлено только на более позднюю дату или опущено, в случае чего резервирование будет продолжаться неопределенно долго. Не допускается также переустанавливать статус резервирования с фиксированного на нефиксированное.

После того как объект СПД зарезервирован некоторым пользователем, запросы на резервирование от других пользователей будут отвергнуты. Зарезервированный объект может стать доступным для резервирования другим пользователем, если он будет сделан незарезервированным тем пользователем, который его зарезервировал (в случае нефиксированного резервирования), или по истечении времени резервирования. Атрибут DFR-Reserved-By используется для указания пользователя СПД, зарезервировавшего данный объект.

Reservation : : =SEQUENCE {

reservation-duration

[0]

GeneralizedTime OPTIONAL,

reservation-level

[1]

ReservationLevel,

reservation-status

[2]

ReservationStatus DEFAULT uncommitted,

reservation-referent

[3]

BOOLEAN DEFAULT FALSE }

ReservationLevel : : = ENUMERATED {

unreserved

(0),

exclusive-write

(1)

exclusive-access

(2),

read-only1

(3),

read-only2

(4) }

ReservationStatus : : = ENUMERATED {

uncommitted

(0),

committed

(1) }


Резервирование объектов СПД обрабатывается в соответствии со следующими правилами:

а) unreserved

Пользователи СПД имеют неограниченный доступ к объекту СПД, используя абстрактные операции, определенные в настоящем стандарте.

б) exclusive-write

1) Если зарезервированный объект СПД является документом, ссылкой или списком результатов поиска СПД и уровнем резервирования является exclusive-write, то другие пользователи не могут:

i) ни удалить, ни изменить этот объект СПД (ни его атрибуты, ни содержимое);

ii) переместить объект СПД, если абстрактная операция Move применяется непосредственно к зарезервированному объекту СПД, но объект СПД может быть перемещен неявно, если абстрактная операция Move применяется к предку этого объекта СПД;

iii) использовать зарезервированный список результатов поиска СПД в абстрактной операции Search.

2) Если зарезервированный объект СПД является группой СПД и уровнем резервирования является exclusive-write, то:

i) другие пользователи не могут ни удалить, ни изменить эту группу СПД (ни ее атрибуты, ни содержимое);

ii) другие пользователи не могут переместить группу СПД, если абстрактная операция Move применяется непосредственно к зарезервированной группе СПД; но группа СПД может быть перемещена неявно, если абстрактная операция Move применяется к предку этой группы СПД;

iii) другие пользователи не могут удалять или перемещать из этой группы СПД ее членов, копировать или перемещать в эту группу СПД какие-либо объекты СПД, вставлять новых членов в группу СПД с помощью операции Create;

iv) если член зарезервированной группы СПД сам является группой СПД, то потомки этого члена группы СПД не являются зарезервированными.

в) exclusive-access

1) Если зарезервированный объект СПД является документом, ссылкой или списком результатов поиска СПД и уровнем резервирования является exclusive-access, то другие пользователи не могут:

i) ни удалить, ни изменить этот объект СПД (ни его атрибуты, ни содержимое);

ii) переместить объект СПД, если абстрактная операция Move применяется непосредственно к зарезервированному объекту СПД; но объект СПД может быть перемещен неявно, если абстрактная операция Move применяется к предку этого объекта СПД;

iii) читать или копировать содержимое объекта СПД;

iv) использовать зарезервированный список результатов поиска СПД в абстрактной операции Search;

v) использовать операцию List для элементов списка результатов поиска СПД.

2) Если зарезервированный объект СПД является группой СПД и уровнем резервирования является exclusive-access, то:

i) другие пользователи не могут ни удалить, ни изменить эту группу СПД (ни ее атрибуты, ни содержимое);

ii) другие пользователи не могут переместить группу СПД, если абстрактная операция Move применяется непосредственно к зарезервированной группе СПД; но группа СПД может быть перемещена неявно, если абстрактная операция Move применяется к предку этой группы СПД;

iii) другие пользователи не могут:

- удалять или перемещать из этой группы СПД ее членов,

- вставлять новых членов в группу СПД с помощью операции Create,

- изменять члена группы СПД (ни его атрибуты, ни содержимое), если он является документом, ссылкой или списком результатов поиска СПД,

- изменять атрибуты члена группы СПД, если этот член группы сам является группой СПД,

- использовать операцию List для членов зарезервированной группы СПД,

- читать или копировать содержимое члена этой группы, если он является документом, ссылкой или списком результатов поиска СПД,

- использовать операцию List для записей СПД, отмеченных в элементах списка результатов поиска СПД, который является членом зарезервированной группы СПД,

- использовать список результатов поиска СПД, который является членом зарезервированной группы СПД, в абстрактной операции Search;

iv) если член зарезервированной группы СПД сам является группой СПД, то потомки этого члена группы СПД не являются зарезервированными.

г) read-only1

Ограничения этого уровня резервирования такие же, как и для уровня резервирования exclusive-write. Но на данном уровне ограничения, действующие для других пользователей, распространяются и на пользователя, зарезервировавшего объект СПД.

д) read-only2

Ограничения этого уровня резервирования для других пользователей такие же, как и для уровня резервирования exclusive-access. Но на данном уровне доступ ограничен и для пользователя, зарезервировавшего объект СПД, а именно для него действуют те же ограничения, что и для других пользователей на уровне резервирования exclusive-write.

8.1.3.3 Режим обработки ошибок

ErrorHandlingMode : : = CHOICE {

all-or-nothing

[0]

NULL,

until-first-warning

[1]

NULL,

report-all-warnings

[2]

NULL,

report-n-warnings

[3]

INTEGER}

- - Этот параметр применим только во - -

- - множественных абстрактных операциях, - -

- - а именно, List или Copy для группы - -

Warning : : = SEQUENCE { - - предупреждение никогда не должно возвращаться, - -

- - если пользователь СПД не имеет права доступа для чтения - -

entry

[0]

DfrEntryName,

access1

[1]

AccessProblem OPTIONAL,

- - cм. 8.3.3 - -

access2

[2]

ReferentAccessProblem OPTIONAL}

- - cм. 8.3.5 - -


Когда при выполнении абстрактных операции СПД List и Copy необходим доступ к нескольким записям СПД, могут возникнуть следующие ситуации:

а) ни одна из участвующих в операции записей СПД не может быть фактически доступна;

б) все участвующие в операции записи СПД доступны;

в) некоторые из участвующих в операции записей СПД доступны, а другие - нет.

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

Режим обработки ошибок all-or-nothing означает, что абстрактная операция будет выполняться вплоть до завершения, если не будут выявлены ошибки или предупреждения, в случае которых абстрактная операция не будет как-либо влиять на хранилище документов СПД.

Режим обработки ошибок until-first-warning означает, что абстрактная операция будет выполняться до тех пор, пока не будет обнаружен недоступный член группы, после чего операция будет остановлена. Перечислены или скопированы будут только записи, достигнутые до этого момента, а о записи, вызвавшей прерывание операции, будет выдано предупреждение. Результат абстрактной операции в этом случае зависит от реализации сервера СПД.

Режим обработки ошибок report-all-warnings означает, что абстрактная операция будет выполняться до ее завершения независимо от выявления недоступных членов группы. О недоступных членах группы, если они обнаружены, будут выданы предупреждения в результате абстрактной операции. Все доступные члены будут скопированы или перечислены.

Режим обработки ошибок report-n-warnings означает, что абстрактная операция будет выполняться до ее завершения независимо от выявления недоступных членов группы. О недоступных членах группы, если они обнаружены, будут выданы предупреждения в результате абстрактной операции, но в количестве, не превышающем заданного числа. Все доступные члены будут скопированы или перечислены независимо от заданного для числа предупреждений ограничения. Если в качестве ограничения числа предупреждений задан нуль, то абстрактная операция будет выполняться до завершения без каких-либо предупреждений.

Определение услуги СПД оставляет на усмотрение пользователя СПД спецификацию желательного режима обработки ошибок.

Парой для этого общего аргумента является общий результат "warnings". Он имеет вид последовательности сообщений об ошибках типа доступа (по одному на каждую участвующую, но недоступную запись СПД) и может появляться в результате абстрактной операции при условии, что абстрактная операция имеет аргумент ErrorHandlingMode, заданный равным until-first-warning, report-all-warnings или report-n-warnings.

Все проблемы, связанные с изменениями параметров (см. 8.1.5.5), всегда обрабатываются как в режиме all-or-nothing.

8.1.3.4 Приоритет

Priority : : = ENUMERATED {

low

(0),

medium

(1),

high

(2) }


Этот общий параметр должен быть задан для любой абстрактной операции СПД. Он полезен в контексте сильно загруженного сервера СПД для обеспечения лучших услуг некоторым привилегированным запросам в соответствии с применяемой политикой приоритетов. Умолчание для Priority уже было установлено в момент связывания (см. 7.1.1); запрошенный здесь приоритет Priority будет перекрывать приоритет Priority, заданный в момент связывания.

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

Сервер не обязательно предоставляет абстрактную операцию с запрошенным приоритетом. Любая численная характеристика приведенных выше трех уровней приоритетов определяется сервером.

8.1.3.5 Привилегии

Privileges : : = SEQUENCE {

operation-рас

[0]

PrivilegeAttributeCertificate OPTIONAL,

proxy-рас

[1]

PrivilegeAttributeCertificate OPTIONAL}


Параметр Privileges позволяет непосредственно связать PrivilegeAttributeCertificate с запросом абстрактной операции, изменяя привилегии, доступные из операции связывания, в пределах которой сделан запрос. Способ, которым operation-рас изменяет САП времени связывания, зависит от используемой политики безопасности. Получающиеся привилегии применимы только для данной абстрактной операции.

Определение PrivilegeAttributeCertificate см. в 7.1.1.

Параметр operation-рас может потребоваться по одной из двух причин:

а) когда привилегии доступа, установленные пользователем во время связывания, недостаточны для удовлетворения запрашиваемой абстрактной операции;

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

Параметр proxy-рас может потребоваться, если серверу необходимо осуществить доступ к другому приложению в интересах пользователя, но сам он не имеет на это достаточных прав, если не будет использовать proxy-рас. Сервер СПД, который получает proxy-рас, затем сам использует его как operation-рас для другого приложения.

8.1.4 Имена доступа для записей СПД

DfrEntryName : := CHOICE {

upi

[0]

DfrUniquePermanentIdentifier,

path-name

[1]

DfrPathName,

relative-path-name

[2]

SEQUENCE {

base

[0]

DfrUniquePermanentIdentifier,

path

[1]

DfrPathName }}

DfrPathName : : = SEQUENCE OF DfrTitle

DfrTitle : : = CharacterData

CharacterData : := CHOICE {

GraphicString, T61String, PrintableString, GeneralString}


Запись СПД (и, следовательно, представленный ею в ХД объект СПД) всегда может быть достигнута с помощью атрибута объекта "уникальный неизменный идентификатор СПД" (DfrUniquePermanentIdentifier) при условии, что пользователь СПД имеет достаточные права доступа. Это основной метод идентификации объектов СПД. Предоставляется и другая возможность, которая является более "семантической", но менее универсальной в том смысле, что иногда они могут и не привести к одной и той же записи СПД.

Примечание - Для строк CharacterData заголовков СПД, которые образуют DfrPathName, также применяется caseIgnoreStringSyntax, как определено в 9.4.1.1.


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

Параметр relative-path-name есть путь DfrPathName, начинающийся не с корневой группы СПД в ХД, а с некоторой заданной промежуточной группы СПД. Он может быть полезен для идентификации некоторых потомков этой группы СПД, которая задает некоторую "рабочую область".

8.1.5 Типы данных, общие для абстрактных операций над единичными записями

CommonUpdateArguments : : = SEQUENCE {

object-class

[0]

DfrObjectClass OPTIONAL,

entry

[1]

CHOICE {local [1] DfrEntryName,

external [2] DOR } OPTIONAL,

destination

[2]

DfrEntryName OPTIONAL,

- - родительской группы - -

position

[3]

GroupMemberPosition OPTIONAL,

- - в родительской группе - -

modifications

[4]

SEQUENCE OF EntryModification OPTIONAL,

selection

[5]

EntryInformationSelection OPTIONAL,

reference-qos

[6]

Requested-QoS-level OPTIONAL }


CommonUpdateResult : : = SEQUENCE {

upi

[0]

DfrUniquePermanentIdentifier,

entry-information

[1]

Entrylnformation OPTIONAL,

warnings

[2]

SEQUENCE OF Warning DEFAULT {},

continuation

[3]

TaskId OPTIONAL,

reference-qos

[4]

Quality-of-Service OPTIONAL,

- - импортируется из ООС - -

referent-altered

[5]

ReferentStatus OPTIONAL }

ReferentStatus : : = ENUMERATED {

not-changed-since-produce (0),

changed-since-produce (1) }


Рассматриваемыми абстрактными операциями СПД являются: Create, Copy, Move, Read и Modify. He все из параметров аргумента CommonUpdateArguments могут быть заданы в любой из указанных операций. Ниже описаны все эти параметры, а в 8.2 - отдельные абстрактные операции.

8.1.5.1 Параметр object-class

Задает атрибут DfrObjectClass объекта СПД, рассматриваемого в абстрактной операции. Он должен обязательно присутствовать в абстрактной операции Create для задания атрибута DfrObjectClass создаваемого объекта СПД; во всех других случаях он является факультативным и, если задан, используется только в целях подтверждения.

8.1.5.2 Параметр entry

Задает атрибут DfrEntryName (или ОOC на него) объекта СПД, который должен быть скопирован, перемещен, прочитан или изменен. Во всех этих случаях он обязателен и отсутствует для абстрактной операции Create.

8.1.5.3 Параметр destination

Задает атрибут DfrEntryName группы СПД, в которую нужно поместить заданный объект (в случае абстрактных операций Create или Move) или его копию (в случае абстрактной операции Copy). Он является обязательным для этих трех абстрактных операций и отсутствует для операций Read и Modify.

8.1.5.4 Параметр position

GroupMemberPosition : : = CHOICE {

last

[0]

NULL,

first

[1]

NULL,

after

[2]

DfrEntryName,

before

[3]

DfrEntryName}


Этот факультативный параметр может быть задан только в том случае, когда задан параметр назначения destination (т.е. в абстрактных операциях Create, Copy и Move). Он задает место в родительской группе СПД, на которое должна быть помещена создаваемая запись СПД. Он может быть задан, если для родительской группы СПД специфицирован атрибут упорядочения (в этом случае сервер СПД автоматически помещает новую запись в нужном месте в соответствии с правилом упорядочения). Этот параметр может задавать абсолютное (last, first) или относительное (after, before) положение.

8.1.5.5 Параметр modifications

EntryModification : : = CHOICE {

put-attribute

[0]

Attribute,

remove-attribute

[1]

AttributeType,

copy-attributes-from

[2]

SEQUENCE {

source

[0]

SourceEntry,

attribute-selection

[1]

SET OF AttributeType OPTIONAL},

- - по умолчанию, все копируемые атрибуты - -

add-values

[3]

Attribute,

remove-values

[4]

Attribute,

add-values-from

[5]

SEQUENCE {

source

[0]

SourceEntry,

attribute-selection

[1]

SET OF AttributeType OPTIONAL},

- - по умолчанию, все многозначные атрибуты - -

put-content

[6]

DfrObjectContent,

remove-content

[7]

NULL,

copy-content-from

[8]

SourceEntry }


Параметр modification задает обновления записи СПД в виде последовательности изменений EntryModification, которые должны применяться в том порядке, как они стоят. Он задает изменения только в абстрактной операции Modify (где является обязательным) или в абстрактных операциях Copy и Move (где является факультативным). Для абстрактной операции Create имеются два метода задания элементов вновь создаваемой записи СПД: либо через параметры EntryModification, либо путем непосредственного задания элементов в абстрактной операции.

Изменение EntryModification может применяться к атрибуту указанного типа или ко всему содержимому СПД обновляемой записи СПД. Атрибут может быть целиком установлен (put-attribute - возможно, удаляя все предшествующие значения атрибута), удален (remove-attribute - удаляются все значения и атрибут становится отсутствующим) или скопирован (copy-attributes-from) из другой записи СПД (SourceEntry).

Отдельные значения многозначного атрибута могут быть добавлены к существующим значениям или удалены из списка существующих значений. В последнем случае удаляемые значения должны быть заданы в абстрактной операции явно или неявно (add-values-from) путем задания другой записи SourceEntry, а типы атрибутов будут взяты из нее.

Содержимое СПД записи СПД может быть целиком установлено (put-content - значение задается непосредственно в абстрактной операции), удалено (remove-content) или скопировано (copy-content-from) из другой записи СПД (SourceEntry). В последнем случае некоторые атрибуты исходной записи СПД, тесно связанные с содержимым, автоматически копируются сервером СПД (см. таблицу 3). Содержимое СПД списка результатов поиска СПД не может быть модифицировано - оно может быть изменено только непосредственным использованием абстрактной операции Search.

При копировании содержимого из другой записи СПД классы исходного и принимающего объектов СПД должны быть одинаковыми.

8.1.5.5.1 Параметр SourceEntry

SourceEntry : : = CHOICE {

parent

[0]

NULL,

referent

[1]

NULL,

- - только для ссылки СПД - -

previous-version

[2]

NULL,

- - только для единственной предшествующей версии - -

specified-entry

[3]

DfrEntryName,

dor

[4]

DOR }


Параметр SourceEntry, используемый в некоторых случаях "модификаций" в качестве исходного атрибута и/или содержимого создаваемого/обновляемого объекта СПД, может быть родительской группой СПД этого объекта, его указанием (только для ссылок СПД; это может потребовать передачу атрибутов от удаленно хранящегося указания к ссылке СПД с использованием ООС, хранящейся в содержимом ссылки СПД), его предшествующей версией (только в случае, когда объект СПД имеет единственную предшествующую версию), некоторой явно заданной исходной записью СПД или записью, заданной ООС (это может быть использовано для передачи атрибутов и/или содержимого, заданных ООС).

8.1.5.6 Параметр selection

EntryInformationSelection : : = SEQUENCE {

read-selector [0] ENUMERATED {

attributes-only

(0),

attributes-and-content

(1),

content-only

(2),

dor-to-attr-only

(3).

attr-and-dor-to-content

(4),

dor-to-content-only

(5).

dor-to-entire-object

(6),

attr-and-dor-to-entire-object

(7),

attributes-and-part-of-content

(8),

part-of-content-only

(9)}

DEFAULT attributes-only,

attribute-selection [1]

AttributeSelection OPTIONAL,

content-selection [2]

SEQUENCE {

content-server-id

DistinguishedName,

content-selection-parameter EXTERNAL } OPTIONAL }


Для параметра EntryInformationSelection используются следующие правила: по умолчанию все атрибуты являются обязательными, если read-selector равен 0, 1, 4 или 7. Для других значений read-selector не задается attribute-selection. Пустой выбор задается как {}.

AttributeSelection : : = CHOICE {

all

[0]

NULL,

none

[1]

NULL,

unordered

[2]

SET OF AttributeType,

- - когда порядок передачи несущественен - -

ordered

[3]

SEQUENCE OF AttributeType,

- - для задания не только необходимых атрибутов, - -

- - но и порядка, в котором они должны быть переданы - -

minimum

[4]

NULL }

- -неявный выбор атрибутов УНИ и класс объекта СПД - -


Entrylnformation : : = CHOICE {

attributes-only

[0]

DfrEntryAttributes,

attributes-and-content

[1]

DfrEntery,

content-only

[2]

DfrObjectContent,

dor-to-attr-only

[3]

DOR,

attr-and-dor-to-content

[4]

SEQUENCE {

attributes

[0]

DfrEntryAttributes,

dor-to-content

[1]

DOR },

dor-to-content-only

[5]

DOR,

dor-to-entire-object

[6]

DOR,

attr-and-dor-to-entire-object

[7]

SEQUENCE {

attributes

[0]

DfrEntryAttributes,

dor-to-entire-object

[1]

DOR },

attributes-and-part-of-content

[8]

DfrObject,

- - Сервер СПД извлекает часть содержимого СПД в соответствии с - -

- - content-selection, а затем создает DfrObject, содержащий только - -

- - выбранную часть содержимого. - -

part-of-content-only

[9]

DfrObjectContent

- - Сервер СПД извлекает часть содержимого СПД в соответствии с - -

- - content-selection, а затем создает DfrObjectContent, содержащий только - -

- - выбранную часть содержимого. - -


В любой из пяти рассматриваемых абстрактных операций (а именно, Create, Copy, Move, Read и Modify) может быть задано, какие элементы из участвующей в операции записи СПД должны быть прочитаны, т.е. возвращены сервером СПД в результате абстрактной операции. Для этой цели предназначена операция Read. Однако эту возможность могут использовать четыре другие операции для контрольного чтения, когда некоторые модифицируемые элементы копируются из других записей, а не задаются явно. Таким образом, параметр selection является обязательным для абстрактной операции Read и факультативным - для остальных.

Компонент Entrylnformation результата абстрактной операции присутствует только в том случае, когда параметр selection был задан в аргументе абстрактной операции. Он содержит в точности те элементы, которые были запрошены в параметре selection и присутствуют в читаемой записи СПД.

Типом данных EntryInformationSelection является последовательность пар компонентов: read-selector и attribute-selection. Компонент read-selector задает, требуется ли ООС или некоторые значения и должны ли ООС и значения относиться ко всему объекту, его содержимому или атрибутам. Тем самым задается ряд комбинаций, которые явно называются по их идентификаторам АСН.1. Когда используется, компонент attribute-selection факультативно указывает, какие атрибуты записи СПД должны быть возвращены.

ООС, создаваемая сервером СПД, предназначена для различных целей, в соответствии с тем, относится ли она ко всему объекту СПД, его атрибутам или содержимому (последнее возможно только для документа СПД). Подробнее см. 6.3.3.

Компонент content-selection факультативно задает, что запрашивается только часть документа СПД. Когда содержимое выбирается с помощью ПУД, content-selection-parameter равен ManipulationObject, определенному в Рекомендации МСЭ-Т Т.435.

Примечание - Эта функция предназначена для некоторых старых приложений с ограниченными возможностями, которые не поддерживают совместного использования СПД и ПУД.

8.1.5.7 Параметр reference-qos

Факультативно задает запрашиваемое качество услуги, когда должна быть создана ООС.

8.1.6 Типы данных, общие для абстрактных операций над несколькими записями

Используются в операциях List и Search. Они связаны с типом данных DfrSearchResultListContent, определенным в 6.3.5.1.

CommonListSearchArguments : : = SEQUENCE {

continue

[1]

BOOLEAN DEFAULT FALSE,

limits

[2]

Limits OPTIONAL,

selection

[3]

AttributesSelection OPTIONAL,

ordering

[4]

OrderingRule OPTIONAL }


CommonListSearchResult : : = SEQUENCE {

number-of-entries

[0]

INTEGER,

limit-encountered

[1]

LimitEncountered OPTIONAL,

entry-list

[2]

DfrEntryList,

warnings

[3]

SEQUENCE OF Warning DEFAULT {},

continuation

[4]

TaskId OPTIONAL }

8.1.6.1 Параметры continue и limits

Limits : : = SEQUENCE {

time-limit

[0]

INTEGER OPTIONAL,

count-limit

[1]

INTEGER OPTIONAL }

LimitEncountered : : = ENUMERATED {

time-limit

(0),

count-limit

(1),

length-exceeded (2) } - - превышена максимальная длина, заданная при связывании - -


При запуске абстрактных операций List и Search пользователь СПД может задать максимальное число записей, которые должны быть возвращены, максимальное время выполнения (только для абстрактной операции Search) или то и другое. Результат, возвращаемый в этом случае, содержит соответствующее указание, если достигнуты пределы по времени и количеству или будет превышена максимальная длина, заданная при связывании. В случае, когда абстрактная операция успешно завершается без превышения какого-либо лимита, параметр LimitEncountered в результате абстрактной операции отсутствует. Если предел будет достигнут, сервер СПД передаст пользователю СПД параметр продолжения (TaskId - см. 8.1.3.1, 8.1.5 и 8.1.6), Этот параметр может быть предоставлен серверу СПД в аргументе CommonArguments при возвращении к той же самой операции (немедленно или позже) как указание серверу СПД начинать абстрактную операцию не с начала, а продолжить с того места, где она была ранее прервана.

8.1.6.2 Параметр selection

DfrEntryList : : = SEQUENCE OF SEQUENCE {

upi

[0]

DfrUniquePermanentIdentifier,

class

[1]

DfrObjectClass,

ordering-attribute

[2]

SEQUENCE OF Attribute OPTIONAL,

- -упорядочить, как задано в OrderingRule - -

other-attributes

[3]

SEQUENCE OF Attribute OPTIONAL}

Эта информация о найденных или перечисленных записях СПД. Могут быть возвращены только атрибуты записей, а выбор возвращаемых атрибутов для каждой рассматриваемой записи задается параметром аргумента selection. (Тип данных AttributeSelection определен в 8.1.5.6).

Для каждой перечисленной записи СПД всегда возвращается УНИ, независимо от Attribute-Selection, заданного в абстрактной операции. То же самое справедливо и для класса объекта СПД. Атрибуты упорядочения возвращаются факультативно (см. 8.1.6.3). Все другие атрибуты возвращаются, только если их типы были заданы в AttributeSelection аргумента абстрактной операции. Другие атрибуты никогда не хранятся в содержимом списка результатов поиска.

8.1.6.3 Параметр ordering

OrderingRule : : = SET {

list-attributes

[0]

BOOLEAN DEFAULT FALSE,

ordering-attributes

[1]

OrderingAttributes }

OrderingAttributes : : = SEQUENCE OF SEQUENCE {

attribute

[0]

AttributeType,

direction

[1]

Direction }

Direction : : = ENUMERATED {

ascending

(0),

descending

(1) }


Пользователь может задать в аргументе абстрактной операции List или Search (в параметре ordering) порядок, в котором должны быть перечислены записи. Компонент OrderingRule задает атрибуты, которые должны использоваться как ключи для упорядочения, и направление упорядочения (возрастающее или убывающее). Если такое правило упорядочения было задано, то каждая рассматриваемая запись будет перечисляться с атрибутами упорядочения; однако, если правило не задано явно, то атрибуты упорядочения отсутствуют в результате абстрактной операции. Компонент OrderingRule возвращается вместе со списком DrfSearchResultList, если в абстрактной операции запрошено поместить в него результаты. Компонент OrderingRule может применяться только для типов атрибутов, имеющих в определении раздел MATCHES FOR ORDERING.

Примечание - В случае атрибута, значением которого является символьный тип, упорядочение (больше-или-равно, меньше-или-равно) определяется лексикографическим порядком, основанным на некоторой последовательности. Настоящим стандартом не определяется как и когда устанавливается эта последовательность.

8.1.6.4 Параметр search-domain

SearchDomain : : = SEQUENCE OF CHOICE {

previous-result [0] DfrEntryName,

- - задается как запись класса "DER-Search-Result-List" - -

scope [1] SEQUENCE {

root [0] DfrEntryName,

descent-depth [1] INTEGER OPTIONAL,

- - умолчание обозначает все дерево - -

dereferencing-depth [2] INTEGER DEFAULT {0} } }

- - умолчание обозначает отсутствие переадресации - -


Параметр SearchDomain задается в абстрактной операции Search, а затем может быть сохранен в соответствующем содержимом списка результатов поиска СПД, откуда может быть прочитан сервером СПД для продолжения "той же самой" абстрактной операции. Область поиска задается как последовательность "подобластей", каждая из которых является либо списком результатов поиска СПД (содержащим результаты некоторой предыдущей абстрактной операции Search), либо группой СПД, обозначающей начальную точку для абстрактной операции Search. В последнем случае глубина вложенности потомков для поиска может быть ограничена (параметром descent-depth) так же, как и глубина переадресации. Глубина переадресации означает число раз, которое сервер может неявно перейти от ссылки СПД к ее указанию при выполнении поиска. Например, начиная с ссылки СПД, сервер СПД может перейти к ее указанию, которое является группой СПД (первый шаг); далее один из членов этой группы оказывается ссылкой СПД и сервер переходит к ее указанию (второй шаг) и т.д.

8.1.6.5 Параметр search-criteria

SearchCriteria : : = Filter

Параметр SearchCriteria задается в абстрактной операции Search, а затем может быть сохранен в соответствующем содержимом списка результатов поиска СПД (с той же целью, что и параметр, SearchDomain). Данный параметр задается как фильтр Filter; он применяется ко всем записям в заданной области SearchDomain. В случае, когда применение фильтра к такой записи СПД дает результат TRUE, запись рассматривается как подходящая для включения в результат CommonListSearchResult, DfrSearchResultList или в оба результата.

8.2 Определения операций порта сохранения и получения документов

Приведенные ниже абстрактные операции доступны через порт сохранения и получения документов. Абстрактные операции осуществляются с хранилищем документов СПД.

В таблице 1 приведена сводка, к каким записям СПД относятся абстрактные операции.


Таблица 1 - Сводка применимости абстрактных операций СПД к классам объектов СПД

Операции относятся
к

Группа СПД

Документ СПД

Ссылка СПД

Список результатов поиска СПД

Атрибуты

Содер-
жимое

Атрибуты

Содер-
жимое

Атрибуты

Содер-
жимое

Атрибуты

Содер-
жимое

Create

Х

Х

Х

Х

Х

Х

Delete

Х

Х

Х

Х

Х

Х

Х

Х

Copy

Х

Х

Х

Х

Х

Х

Х

Х

Move

Х

Х

Х

Х

Х

Х

Х

Х

Read

Х

Х

Х

Х

Х

Х

Modify

Х

Х

Х

Х

Х

Х

List

Х

Х

Search

Х

Х

Х

Х

Х

Reserve

Х

Х

Х

Х

Х

Х

Х

Х

Abandon

Примечание - Знак "X" означает присутствие абстрактной операции СПД.



Для осуществления абстрактной операции пользователь СПД должен иметь достаточные права доступа ко всем записям СПД, участвующим в абстрактной операции. Сводка этого требования приведена в таблице 2.


Таблица 2 - Сводка прав доступа к записям СПД, требуемых от пользователя СПД для осуществления абстрактной операции СПД

Операции относятся к

Целевая запись СПД

Исходная запись СПД

Родитель целевой записи СПД

Родитель исходной записи СПД

Источники изменений

Create

В

Н

ЧИ

Н

Ч

Delete

ЧИУ*

Н

Н

Н

Н

Copy

В

Ч

ЧИ

Н

Ч

Move

Н

ЧИУ*

ЧИ

ЧИ

Ч

Read

Ч

Н

Н

Н

Н

Modify

ЧИ

Н

Н

Н

Ч

List

Ч

Ч

Н

Н

Н

Search

ЧИ

Ч

Н

Н

Н

Reserve

ЧИ

Н

Н

Н

Н

Abandon

Н

Н

Н

Н

Н

Условные обозначения:

В - права доступа владельца; они автоматически предоставляются пользователю СПД, создающему этот объект с помощью абстрактной операции Create или Copy.

Ч - права доступа для чтения;

ЧИ - права доступа для чтения-изменения;

ЧИУ - права доступа для чтения-изменения-удаления;

Н - не используется.

Целевая запись СПД: целевая запись СПД, заданная в абстрактной операции. Для абстрактной операции List это - группа СПД, которая должна быть перечислена; для абстрактной операции Search это - список результатов поиска СПД, в который должны быть помещены результаты.

Исходная запись СПД: исходная запись СПД, заданная в абстрактной операции. Для абстрактной операции List это - все члены группы СПД, которые должны быть перечислены; для абстрактной операции Search это - все записи СПД, удовлетворяющие критерию поиска.

Родитель целевой записи СПД: запись СПД, заданная в абстрактной операции, являющейся родителем целевой записи СПД или записи СПД, которая должна быть создана.

Родитель исходной записи СПД: запись СПД, являющаяся родителем исходной записи СПД.

Источники изменений: заданные в абстрактной операции записи СПД, из которых должны быть скопированы атрибуты или содержимое.

__________________
* Можно перемещать запись СПД, к которой запрашивающий имеет права доступа для чтения-изменения-удаления, к соучастнику, независимо от его прав доступа к перемещаемой записи СПД.

8.2.1 Операция Create

Абстрактная операция Create помещает новый объект СПД в группу СПД. Она создает новую запись СПД для этого объекта СПД. Класс нового объекта СПД определяется аргументом object-class. При создании группы СПД для будущих членов может быть определен атрибут "критерий членства СПД". Проводятся необходимые изменения атрибутов СПД родителя. Содержимое СПД нового объекта предоставляется в этой операции факультативно - в случае документа СПД, обязательно - в случае ссылки СПД, и не допускается - в случаях группы СПД и списка результатов поиска СПД. Если вновь создаваемый документ СПД объявлен как новая версия (применен атрибут "предшествующие версии СПД"), то проводятся необходимые изменения атрибутов "следующие версии СПД" каждого из документов СПД, указанного в качестве предшествующей версии.

Независимо от используемой политики безопасности (см. 6.3.8), атрибут "список доступа СПД" для вновь создаваемого объекта СПД задается создающим пользователем СПД или принимается по умолчанию. Значение по умолчанию содержит только создающего пользователя как владельца. Если список доступа СПД задан явно, но не содержит владельца, то сервер СПД добавляет к нему создающего пользователя СПД в качестве единственного владельца.

Create : : = ABSTRACT-OPERATION

ARGUMENT CreateArgument

RESULT CreateResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

InterServerAccessError,

NameError,

ReferentAccessError,

SecurityError,

ServiceError,

UpdateError,

VersionManagementError}

8.2.1.1 Аргумент CreateArgument

CreateArgument : = SEQUENCE {...,

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS {...,

object-class PRESENT, entry ABSENT,

destination PRESENT, reference-qos ABSENT}),

attributes

[7]

SET OF Attributes OPTIONAL,

content

[8]

DfrObjectContent OPTIONAL,


COMPONENTS OF CommonArguments (WITH COMPONENTS {..., error-handling ABSENT})}

Компоненты CreateArgument имеют следующий смысл:

а) Общие аргументы обновления:

- object-class задает атрибут DrfObjectClass создаваемой записи СПД;

- destination задаeт DfrEntryName родительской группы СПД, в которую должна быть помещена запись СПД;

- position факультативно задает, в каком месте в родительской группе СПД должна быть помещена запись СПД;

- modifications факультативно задает некоторые атрибуты СПД и/или содержимое СПД новой записи СПД, в частности, когда значения не предоставляются в аргументе операции Create, a копируются из других записей СПД;

- selection факультативно задает, какая информация из созданной записи СПД должна быть после завершения создания прочитана (в CreateResult) запросившим операцию;

- reference-qos - не применяется.

б) Специфические аргументы Create:

- attributes является основным способом задания атрибутов СПД для создаваемой записи СПД (альтернативным является рассмотренный выше аргумент modifications; оба способа могут использоваться в одной и той же абстрактной операции Create; в таком случае первым применяется attributes);

- content является основным способом задания содержимого СПД для создаваемой записи СПД (альтернативным является рассмотренный выше аргумент modifications; оба способа не могут одновременно использоваться в одной и той же абстрактной операции Create).

Если задано несколько альтернативных параметров, то первым применяется attributes, затем - content и modifications.

в) Общие аргументы:

- task-id, см. 8.1.3.1;

- reservation, если требуется, применяется для вновь созданной записи СПД;

- priority, см. 8.1.3.4;

privileges, см. 8.1.3.5.

8.2.1.2 Результат CreateResult

В случае успешного завершения операции должен быть возвращен результат CreateResult:

CreateResult : : = CommonUpdateResult (WITH COMPONENTS

{..., warnings ABSENT, reference-qos ABSENT })


Компоненты CreateResult имеют следующий смысл:

- upi является DfrUniquePermanentIdentifier, присвоенным сервером СПД вновь созданной записи СПД;

- entry-information возвращает все те элементы новой записи СПД (атрибуты СПД и/или содержимое СПД), которые были запрошены компонентом selection в CreateArgument и имеются в записи СПД;

- referent-altered возвращается, когда какие-либо элементы вновь создаваемой записи СПД заданы параметром EntryModification в CommonUpdateArguments; он сообщает, изменялось или нет (со времени создания ООС) указание из элемента, скопированное для создания записи СПД.

8.2.1.3 Абстрактные ошибки создания

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

8.2.2 Операция Dеlеte

Абстрактная операция Delete удаляет запись СПД из родительской группы СПД и, таким образом, из хранилища документов СПД. Осуществляются необходимые изменения атрибутов родительской группы СПД. УНИ заданного объекта СПД перестает быть допустимым. Если удаляется группа СПД, то удаляется как сама группа СПД, так и все ее потомки, при условии, что пользователь СПД имеет соответствующие права доступа ко всем потомкам. Если удаляется ссылка СПД, то это не влияет на ее указание. Если документ СПД, который должен быть удален, является версией, то осуществляются необходимые изменения в соответствующих атрибутах во всех предшествующих и следующих версиях. Запрос на удаление отвергается, если объект СПД, который должен быть удален, или, в случае группы СПД, любой его потомок зарезервирован другим пользователем СПД.

Delete : : = ABSTRACT-OPERATION

ARGUMENT DeleteArgument

RESULT DeleteResult

ERRORS {

Abandoned,

AccessError,

NameError,

SecurityError,

ServiceError,

UpdateError}

8.2.2.1 Аргумент DeleteArgument

DeleteArgument : : = SEQUENCE {

entry [0] DfrEntryName,

COMPONENTS OF CommonArguments (WITH COMPONENTS {...,

reservation ABSENT,

error-handling ABSENT})}


Компоненты DeleteArgument имеют следующий смысл:

а) Специфические аргументы Delete:

- entry идентифицирует удаляемую запись по ее DfrEntryName.

б) Общие аргументы:

- task-id, см. 8.1.3.1;

- priority, см. 8.1.3.4;

- privileges, см. 8.1.3.5.

8.2.2.2 Результат DeleteResult

В случае успешного запроса должен быть возвращен результат DeleteResult. У него нет параметров.

DeleteResult = NULL

8.2.2.3 Абстрактные ошибки удаления

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

8.2.3 Операция Сору

Абстрактная операция Copy копирует объект СПД из одной группы СПД в другую (группу назначения). Она создает новую запись СПД в группе назначения СПД и копирует атрибуты исходного объекта СПД (изменения явно задаются в абстрактной операции). Для документа СПД, ссылки СПД и списка результатов поиска СПД из оригинала в копию копируется и содержимое СПД. В случае группы СПД ее потомки копируются в соответствии с заданным значением ErrorHandlingMode. Запись СПД копируется, если пользователь СПД имеет по крайней мере права доступа для чтения, если в текущий момент запись СПД не зарезервирована для исключительного доступа другим пользователем СПД (см. 8.1.3.2) и если пользователь имеет по крайней мере права доступа для чтения ко всем предкам, которые существуют между этой записью СПД и записью СПД, заданной в параметре entry аргумента Copy. Изменения, если запрошены пользователем (см. 8.2.3.1), осуществляются во вновь созданной записи СПД. Некоторые изменения атрибутов СПД автоматически осуществляются сервером СПД (см. раздел 9). Осуществляются необходимые изменения атрибутов СПД в группе назначения СПД. Вновь созданным объектам СПД присваиваются новые УНИ. Все существующие ссылки СПД на исходный (ые) объект (ы) СПД (и на их потомков, в случае группы СПД) остаются действующими и не относятся к новому (ым) объекту (ам) СПД (к копии). Эта абстрактная операция не может использоваться для копирования группы СПД из другого хранилища документов СПД.

Независимо от используемой политики безопасности (см. 6.3.8), атрибут "список доступа СПД" для вновь созданного объекта СПД (копии) и для всех вновь созданных потомков берется не из исходного (ых) объекта (ов), а явно задается запрашивающим пользователем или устанавливается по умолчанию. Значение по умолчанию содержит только запросившего пользователя СПД в качестве владельца. Если список доступа СПД задан явно, но не содержит владельца, то сервер СПД добавляет к нему создающего пользователя СПД в качестве единственного владельца. При копировании группы СПД получившийся список доступа СПД применяется для всех вновь созданных групп и всех их потомков.

Copy : : = ABSTRACT-OPERATION

ARGUMENT

CopyArgument

RESULT

CopyResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

InterServerAccessError,

NameError,

ReferentAccessError,

SecurityError,

ServiceError,

UpdateError,

VersionManagementError}

8.2.3.1 Аргумент CopyArgument

CopyArgument : : = SEQUENCE {

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS {...,

entry PRESENT,

destination PRESENT, reference-qos ABSENT}),

COMPONENTS OF CommonArguments}


Компоненты CopyArgument имеют следующий смысл:

а) Общие аргументы обновления:

- object-class факультативно задает DfrObjectClass исходной записи СПД;

- entry задает DfrEntryName (или ООС) исходной записи СПД;

- destination задает DfrEntryName родительской группы, в которую должна быть помещена копия;

- position факультативно задает место в родительской группе, на которое должна быть помещена копия записи СПД;

- modifications факультативно задает изменения атрибутов и/или содержимого СПД новой записи СПД (копии) относительно оригинала; изменения не применяются ни к каким скопированным потомкам (за исключением списка доступа СПД);

- selection факультативно задает, какая информация из созданной записи СПД (копии) должна быть после осуществления копирования прочитана (в результате CopyResult) запросившим операцию;

- reference-qos не применяется.

б) Общие аргументы:

- task-id, см. 8.1.3.1;

- reservation, если требуется, применяется для вновь созданной записи СПД (см. 8.1.3.2);

- error-handling, при копировании группы СПД может быть задан любой из четырех режимов (ErrorHandlingMode) (см. 8.1.3.3); когда задан режим until-first-warning, результат зависит от реализации сервера СПД; при копировании одного объекта СПД применяется только режим all-or-nothing (принимаемый по умолчанию), но о проблеме измененного указания не сообщается в виде ReferentAccessProblem, и абстрактная операция Copy в этом случае не прерывается (об изменении указания сообщается в CopyResult в параметре referent-altered);

- priority, см. 8.1.3.4;

- privileges, см. 8.1.3.5.

8.2.3.2 Результат CopyResult

В случае успешного завершения запроса должен быть возвращен результат CopyResult:

CopyResult : : = CommonUpdateResult (WITH COMPONENTS {..., reference-qos ABSENT})

Компоненты CopyResult имеют следующий смысл:

- upi является DfrUniquePermanentIdentifier, присвоенным сервером СПД вновь созданной записи СПД (копии);

- entry-information возвращает все элементы новой записи СПД (атрибуты СПД и/или содержимое СПД), которые были запрошены компонентом selection в CopyArgument и имеются в новой записи СПД;

- warnings идентифицирует, если возвращается, тех потомков исходной записи СПД, которые не были скопированы;

- referent-altered сообщает, изменялись или нет (со времени создания ООС) указания, из которых должны быть взяты элементы (как обновления скопированной записи СПД); он не возвращается, если группа СПД была скопирована.

8.2.3.3 Абстрактные ошибки копирования

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

8.2.4 Операция Move

Абстрактная операция Move перемещает объект СПД из исходной группы СПД в группу назначения. Для этого объекта СПД в группе назначения создается новая запись СПД. Запись из исходной группы СПД удаляется. Этот объект перестает быть членом исходной группы СПД и становится членом группы СПД назначения. Изменения осуществляются в перемещенном объекте СПД, если они были затребованы пользователем СПД (см. 8.1.5.5). Некоторые изменения атрибутов СПД автоматически осуществляются сервером СПД (см. раздел 9). Осуществляются необходимые изменения атрибутов СПД исходной группы и группы назначения. Атрибут УНИ и все существующие ссылки на перемещаемый объект остаются действительными. Атрибут "список доступа СПД" остается неизменным, если изменения не затребованы явно. Когда перемещается группа СПД, то перемещаются и все ее потомки, независимо от прав доступа к каждому из них запросившего пользователя СПД и от резервирований другими пользователями СПД. Эта абстрактная операция не может быть использована для перемещения объекта СПД из другого хранилища документов СПД. Корневая группа СПД не может быть перемещена.

Примечание - Для перемещения объекта СПД запрашивающий пользователь должен иметь права доступа для чтения-изменения-удаления к этому объекту или к одному из его предков.


Move : : = ABSTRACT-OPERATION

ARGUMENT

MoveArgument

RESULT

MoveResult

ERRORS {

Abandoned,

AccessError,

Attribute Error,

InterServerAccessError,

NameError,

ReferentAccessError,

ReservationError,

SecurityError,

Service Error,

Update Error,

VersionManagementError}

8.2.4.1 Аргумент MoveArgument

MoveArgument : : = SEQUENCE {

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS {...,

entry PRESENT,

destination PRESENT, reference-qos ABSENT}),


COMPONENTS OF CommonArguments (WITH COMPONENTS {..., error-handling ABSENT})}

Компоненты MoveArgument имеют следующий смысл:

а) Общие аргументы обновления:

- object-class факультативно задает DfrObjectClass перемещаемого объекта СПД;

- entry задает DfrEntryName перемещаемого объекта СПД (внешняя альтернатива не применяется);

- destination задает DfrEntryName новой родительской группы (в которую перемещается объект СПД);

- position факультативно задает место в новой родительской группе, на которое должен быть помещен объект СПД;

- modifications факультативно задает изменения атрибутов и/или содержимого СПД новой записи СПД (перемещенного объекта) относительно старой записи этого объекта;

- selection факультативно задает, какая информация из созданной записи СПД должна быть после перемещения прочитана (в результате MoveResult) запросившим операцию;

- reference-qos не применяется.

б) .Общие аргументы:

- task-id, см. 8.1.3.1;

- reservation, если требуется, применяется для вновь созданной записи СПД (по умолчанию, ранее определенное резервирование остается в силе); резервирования, примененные к любым потомкам перемещенного объекта СПД, не изменяются;

- priority, см. 8.1.3.4;

- privileges, см. 8.1.3.5.

8.2.4.2 Результат MoveResult

В случае успешного завершения запроса должен быть возвращен результат CopyResult:

MoveResult : : = Common UpdateResult (WITH COMPONENTS {..., warnings ABSENT,

reference-qos ABSENT})


Компоненты MoveResult имеют следующий смысл:

- upi является DfrUniquePermanentIdentifier вновь созданной записи СПД (УНИ перемещенной записи СПД остается неизменным);

- entry-information возвращает все элементы новой записи СПД (атрибуты СПД и/или содержимое СПД), которые были запрошены компонентом selection в MoveArgument и имеются в записи СПД;

- referent-altered сообщает, изменялись или нет (со времени создания ООС) указания, из которых должны быть взяты элементы (как обновления перемещенного объекта СПД).

8.2.4.3 Абстрактные ошибки перемещения

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

8.2.5 Oпepaция Read

Абстрактная операция Read возвращает атрибуты и/или содержимое записи СПД. Могут быть прочитаны часть или все атрибуты СПД. Содержимое, если запрошено, возвращается полностью. Содержимое группы СПД и списка результатов поиска СПД не должно запрашиваться. Если требуется, то атрибуты и содержимое указания могут быть получены через ссылку СПД (с теми же ограничениями, что указано выше).

Read : : = ABSTRACT-OPERATION

ARGUMENT

ReadArgument

RESULT

ReadResult

ERRORS {

Abandoned,

AccessError,

ExternalServerError,

InterServerAccessError,

NameError,

ReferentAccessError,

ReservationError,

SecurityError,

ServiceError }

8.2.5.1 Аргумент ReadArgument

ReadArgument : : = SEQUENCE {

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS

{entry PRESENT, selection PRESENT}),

dereferencing

[7]

BOOLEAN DEFAULT FALSE,

token

[8]

Token OPTIONAL, - - берется из OOC - -

COMPONENTS OF CommonArguments (WITH COMPONENTS {...; error-handling ABSENT})}


Компоненты ReadArgument имеют следующий смысл:

а) Общие аргументы обновления:

- entry задает DfrEntryName или OOC (если задана OOC, то в параметре selection OOC не должна запрашиваться) того объекта СПД, который должен быть прочитан;

- selection задает, какие элементы из записи СПД должны быть прочитаны;

- reference-qos в случае, когда запрошена OOC, задает желательное КУ для OOC.

б) Специфические для Read аргументы:

- dereferencing, равный TRUE, требует, чтобы выбранные элементы были прочитаны из указания, а не из заданной записи СПД (применяется только когда заданная запись СПД является ссылкой СПД); при применении для ссылки СПД подразумевает операцию СДО;

- token задается факультативно, если запрошена переадресация dereferencing (применяется только когда признак token был в OOC в момент создания).

в) Общие аргументы:

- task-id, см. 8.1.3.1;

- reservation, применяется к записи СПД, заданной в запросе;

- priority, см. 8.1.3.4;

- privileges, см. 8.1.3.5.

8.2.5.2 Результат ReadResult

В случае успешного завершения запроса должен быть возвращен результат ReadResult:

ReadResult : : = CommonUpdateResult

(WITH COMPONENTS {..., entry-information PRESENT, warnings ABSENT})

Компоненты ReadResult имеют следующий смысл:

- upi является DfrUniquePermanentIdentifier прочитанной записи СПД;

- entry-information возвращает все те элементы записи СПД (атрибуты СПД и/или содержимое СПД), которые были запрошены компонентом selection в ReadArgument и которые доступны запросившему пользователю СПД;

- reference-qos возвращает КУ, присвоенное OOC сервером СПД (и может отличаться от reference-qos, заданного в аргументе Read); возвращается только в том случае, когда запрошена OOC;

- referent-altered сообщает, изменялось или нет (со времени создания OOC) указание; возвращается только в том случае, если читаемая запись СПД является ссылкой СПД и была запрошена переадресация.

8.2.5.3 Абстрактные ошибки чтения

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

Примечание - Когда выбор содержимого осуществляется ПУД и критерий выбора содержимого в ManipulationObject не удовлетворяется, сообщение об ошибке ПУД CapabilityError передается через External-ServsrError.

8.2.6 Опеpaция Моdify

Абстрактная операция Modify изменяет атрибуты СПД и/или содержимое СПД заданной записи СПД. Существующие атрибуты СПД, которые не заданы в аргументе, остаются неизменными. Изменяются атрибуты родительской группы СПД, управляемые сервером СПД, на которые повлияли проведенные изменения атрибутов пользователя. Содержимое СПД может быть изменено только для документа СПД. Изменение содержимого СПД означает полную его замену. Содержимое СПД может быть задано явно или взято из заданной существующей исходной записи СПД.

Modify : : = ABSTRACT-OPERATION

ARGUMENT

ModifyArgument

RESULT

ModifyResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

InterServerAccessError,

NameError,

ReferentAccessError,

ReservationError,

SecurityError,

ServiceError,

UpdateError,

VersionManagementError}

8.2.6.1 Аргумент ModifyArgument

ModifyArgument : : = SEQUENCE {

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS {...,

entry PRESENT, destination ABSENT, position ABSENT,

modification PRESENT, reference-qos ABSENT}),


COMPONENTS OF CommonArguments (WITH COMPONENTS {..., error-handling ABSENT})}

Компоненты ModifyArgument имеют следующий смысл

а) Общие аргументы обновления:

- object-class факультативно задает DfrObjectClass изменяемого объекта СПД;

- entry задает DfrEntryName изменяемого объекта СПД (внешняя альтернатива не применяется);

- modifications задает изменения атрибутов и/или содержимого СПД записи СПД;

- selection факультативно задает, какая информация из измененной записи СПД должна быть после изменения прочитана (в результате ModifyResult) запросившим операцию;

- reference-qos не применяется.

б) Общие аргументы:

- task-id, см. 8.1.3.1;

- reservation, если запрошено, применяется к изменяемой записи СПД;

- priority, см. 8.1.3.4;

- privileges, см. 8.1.3.5.

8.2.6.2 Результат ModifyResult

В случае успешного завершения запроса должен быть возвращен результат ModifyResult:

ModifyResult : : = CommonUpdateResult (WITH COMPONENTS {...,

warnings ABSENT, reference-qos ABSENT})


Компоненты ModifyResult имеют следующий смысл:

- upi является DfrUniquePermanentIdentifier измененной записи СПД;

- entry-information возвращает все те элементы измененной записи СПД (атрибуты СПД и/или содержимое СПД), которые были запрошены компонентом selection в ModifyArgument и которые имеются в записи СПД;

- referent-altered сообщает, изменялись или нет (со времени создания ООС) указания, из которых должны быть взяты элементы для изменений.

8.2.6.3 Абстрактные ошибки изменения

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

8.2.7 Операция List

Возвращает атрибуты СПД членов заданной группы СПД или записей СПД, идентифицированных элементами заданного списка результатов поиска СПД. Для группы СПД перечисляются только ее члены, но не их потомки. Члены группы СПД или записи СПД, идентифицированные элементами списка результатов поиска СПД, недоступные (из-за недостаточных прав доступа) инициировавшему операцию пользователю, не включаются в этот перечень (другие члены и записи возвращаются пользователю при условии задания соответствующего значения ErrorHandlingMode). Количество членов или элементов (записей), которые должны быть перечислены, может быть ограничено аргументом count-limit. Если этот лимит будет превышен, то перечисление членов или элементов (записей) может быть продолжено следующей операцией List. Для каждого члена или элемента (записи) возвращаются только заданные атрибуты СПД. Члены или элементы (записи) перечисляются в заданном порядке.

List : : = ABSTRACT-OPERATION

ARGUMENT

ListArgument

RESULT

ListResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

NameError,

ReservationError,

SecurityError,

ServiceError}

8.2.7.1 Аргумент ListArgument

ListArgument : : = SEQUENCE {

entry [0] DfrEntryName,

COMPONENTS OF

CommonListSearchArguments (WITH COMPONENTS {..., selection PRESENT}),

COMPONENTS OF CommonArguments}


Компоненты ListArgument имеют следующий смысл.

a) Специфические аргументы List:

- entry идентифицирует группу СПД или список результатов поиска СПД, которая должна быть перечислена.

б) Общие аргументы List/Search:

- continue, если установлен равным TRUE, задает, что процесс перечисления, идентифицированный аргументом task-id в CommonArguments, должен быть продолжен с того места, где был ранее прерван;

- limits факультативно задает максимальное число записей СПД, которые должны быть возвращены этой абстрактной операцией;

- selection задает, какие атрибуты СПД каждой записи должны быть возвращены в результате абстрактной операции List;

- ordering факультативно задает, в каком порядке записи СПД должны быть помещены в ListResult (это упорядочение, если оно задано, перекрывает определенное ранее упорядочение перечисляемой группы СПД или списка результатов поиска СПД).

в) Общие аргументы:

- task-id, см. 8.1.3.1;

- reservation, если запрошено, применяется к перечисляемой записи СПД;

- error-handling может быть задан любой из четырех режимов (ErrorHandlingMode) (см. 8.1.3.3); если задан режим until-first-warning, то все члены группы СПД или записи, взятые из списка результатов поиска СПД, перечисляются в заданном порядке до появления первого предупреждения;

- priority, см. 8.1.3.4;

- privileges, см. 8.1.3.5.

8.2.7.2 Результат ListResult

В случае успешного завершения запроса должен быть возвращен результат ListResult:

ListResult : : = SEQUENCE {

COMPONENTS OF

CommonListSearchResult,

start-date-and-time

[5]

GeneralizedTime OPTIONAL,

end-date-and-time

[6]

GeneralizedTime OPTIONAL,

ordering

[7]

OrderingRule OPTIONAL,

search domain

[8]

SearchDomain OPTIONAL,

search-criteria

[9]

SearchCriteriaOPTIONAL }

Компоненты ListResult имеют следующий смысл.

а) Общие результаты List/Search:

- number-of-entries дает число записей СПД, возвращенных в результате абстрактной операции List;

- limit-encountered факультативно указывает, что было превышено максимальное число записей; он отсутствует, если максимальное число записей не было задано в ListArgument;

- entry-list содержит, в заданном порядке, список записей СПД, найденных в заданной группе СПД или указанных в заданном списке результатов поиска СПД; для каждой перечисленной записи возвращаются только те атрибуты СПД, которые были запрошены компонентом selection в ListArgument;

- warnings, если возвращается, идентифицирует те записи СПД, которые не были перечислены;

- continuation факультативно предоставляет идентификатор для продолжения (если процесс перечисления был прерван) после достижения предела, заданного в ListArgument, он присутствует только в том случае, если присутствует компонент limit-encountered.

б) Специфические результаты List:

Эти компоненты применяются, только когда абстрактная операция List осуществляется над списком результатов поиска СПД:

- start-date-and-time содержит start-date-and-time, хранящийся в списке результатов поиска СПД;

- end-date-and-time содержит end-date-and-time, хранящийся в списке результатов поиска СПД;

- ordering содержит ordering, хранящийся в списке результатов поиска СПД;

- search domain содержит search domain, хранящийся в списке результатов поиска СПД;

- search-criteria содержит search-criteria, хранящийся в списке результатов поиска СПД.

8.2.7.3 Абстрактные ошибки перечисления

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

8.2.8 Операция Search

Абстрактная операция Search ищет все записи СПД в заданной области поиска, удовлетворяющие заданному критерию поиска. Область поиска определяется одной или несколькими (начальными) группами СПД и/или списками результатов поиска СПД. Члены области поиска, недоступные (из-за недостаточных прав доступа) инициировавшему пользователю СПД, не включаются в результаты поиска. Результаты поиска имеют вид DfrEntryList (см. 8.1.6.2); они будут сохранены в заданном списке результатов поиска СПД и/или возвращены запросившему пользователю в результате абстрактной операции Search. Результирующий список DfrEntryList содержит УНИ и классы объектов СПД для всех записей, удовлетворяющих фильтру Filter абстрактной операции Search. Фильтр Filter абстрактной операции Search либо задается пользователем, либо берется из заданного списка результатов поиска СПД. Количество подходящих записей СПД, приводимых в результирующем списке DfrEntryList, может быть ограничено.

Параметр descent-depth процесса поиска, т.е. то, как много уровней потомков в дереве объектов СПД каждой начальной группы СПД должно проверяться, может быть ограничен. Члены дерева объектов СПД каждой начальной группы СПД в процессе поиска проверяются на соответствие фильтру Filter. По запросу проверяются указания ссылок СПД. Если указания проверяются, то глубина поиска действует и для дерева объектов СПД указания и относится к уровню, на котором существует указание в области поиска, например, если указание является группой СПД и ссылка СПД, акцентрирующая* это указание, существует на уровне 2 в дереве объектов СПД начальной группы, то подсчет глубины процесса поиска в дереве объектов СПД указания начинается с 2. Если глубина поиска не задана, то поиск осуществляется по всему дереву объектов СПД каждой начальной группы и проверяются все указания. Область поиска всегда ограничена хранилищем документов СПД. Ссылки СПД на внешние указания никогда не переадресуются, даже если задана глубина переадресации.
________________
* Текст соответствует оригиналу. - Примечание "КОДЕКС".

Search : : = ABSTRACT-OPERATION

ARGUMENT

SearchArgument

RESULT

SearchResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

ExternalServerError,

NameError,

ReservationError,

SecurityError,

ServiceError,

UpdateError} - - относятся к списку результатов поиска, который должен быть заполнен - -

8.2.8.1 Аргумент SearchArgument

SearchArgument : : = SEQUENCE {

search-mode [0] CHOICE {

continue [0] DfrEntryName,

- - Продолжить поиск со всеми опциями (область поиска, критерий поиска, - -

- - контекст продолжения) из списка результатов поиска, заданного - -

- - DfrEntryName. Результат должен быть добавлен к имеющемуся - -

- - содержимому списка результатов поиска. - -

update [1] DfrEntryName,

- - Имеющееся содержимое списка результатов поиска проверяется и, - -

- - возможно, обновляется. - -

new-search-stored [2] DfrEntryName,

- - Все опции поставляются запрашивающим в последующих параметрах; - -

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

- - сохранены результаты поиска;- -

not-stored-search [3] NULL},

- - Все опции поставляются запрашивающим в последующих параметрах; - -

- - они не сохраняются, как и результаты поиска, а только возвращаются - -

- - запрашивавшему. - -

COMPONENTS OF CommonListSearchArguments,

search-domain

[5]

SearchDomain OPTIONAL,

search-criteria

[6]

SearchCriteria OPTIONAL,

search-server

[7]

SEQUENCE {

server-id

DistinguishedName,

server-parameter

EXTERNAL } OPTIONAL,

search-limit

[8]

SEQUENCE {

small-set-upper-limit

[0]

INTEGER,

large-set-lower-limit

[1]

INTEGER,

medium-set-attributes

[2]

SET OF

AttributeTiype OPTIONAL } OPTIONAL

COMPONENTS OF CommonArguments (

WITH COMPONENTS {...,

error-handling ABSENT})}


Компоненты SearchArgument имеют следующий смысл:

а) Специфические аргументы Search:

- search-mode задает режим выполнения для данной абстрактной операции Search;

- search-domain факультативно задает область для данной абстрактной операции Search;

- search-criteria факультативно задает критерий, по которому записи СПД должны помещаться в результат поиска (аргументы search-domain и search-criteria должны присутствовать для search-mode, равного 2 или 3, и должны отсутствовать для search-mode, равного 0 или 1);

- search-server задает идентификатор сервера поиска и параметр, передаваемый этому серверу;

- search-limit задает поведение сервера СПД в зависимости от числа записей СПД, удовлетворяющих критерию поиска, а именно:

- small-set-upper-limit является верхним пределом попаданий, при которых сервер СПД возвращает результаты поиска в соответствии со спецификацией параметра AttributeSelection;

- large-set-lower-limit является верхним пределом попаданий, при которых сервер СПД возвращает результаты поиска в соответствии со спецификацией компонента medium-set-attributes; если число попаданий превысит этот предел, то сервер СПД возвращает указание на ошибку вместо результатов поиска;

- medium-set-attributes является набором атрибутов, которые возвращаются сервером СПД, когда число попаданий больше, чем small-set-upper-limit, но меньше, чем large-set-lower-limit; если этот параметр не задан, то принимается значение, заданное AttributeSelection.

б) Общие аргументы List/Search:

- continue, если установлен равным TRUE, задает, что процесс поиска, идентифицированный аргументом task-id в CommonArguments, должен быть продолжен с того места, где был ранее прерван;

- limits факультативно задает максимальное число записей СПД, которые должны быть возвращены этой абстрактной операцией, и/или максимальное время, отведенное этой операции;

- selection факультативно задает, какие атрибуты СПД каждой записи, найденной операцией Search, должны быть возвращены в параметре entry-list результата этой абстрактной операции;

- ordering факультативно задает, в каком порядке записи СПД должны быть помещены в ListSearch.

в) Общие аргументы:

- task-id, см. 8.1.3.1;

- reservation, если запрошено, применяется к списку результатов поиска СПД (если он задан параметром search-mode);

- priority, см 8.1.3.4;

- privileges, см. 8.1.3.5.

8.2.8.2 Результат SearchResult

В случае успешного завершения запроса должен быть возвращен результат SearchResult:

SearchResult : : = SEQUENCE {

COMPONENTS OF CommonListSearchResult

(WITH COMPONENTS {..., warnings ABSENT})},

removed-entries

[5]

DfrEntryList OPTIONAL,

number-of-hits

[6]

ENUMERATED {

within-small-set

(0),

within-medium-set

(1)}

OPTIONAL,

additional-information [7] SEQUENCE OF AdditionalInformationEntry


OPTIONAL}

AdditionallnformationEntry : : = SEQUENCE {

server-name

[0]

DistinguishedName,

information

[1]

EXTERNAL }


Компоненты SearchResult имеют следующий смысл.

а) Общие результаты List/Search:

- number-of-entries дает число записей СПД, найденных в результате этого поиска;

- limit-encountered факультативно указывает, какой из двух пределов (по числу записей или по времени) был превышен; он отсутствует, если ни один предел не был задан в SearchArgument или ни один из них не был превышен;

- entry-list факультативно содержит в заданном порядке список найденных записей СПД; для каждой перечисленной записи возвращаются только те атрибуты СПД, которые были запрошены компонентом selection в SearchArgument;

- continuation факультативно предоставляет идентификатор для продолжения (если процесс поиска был прерван) после достижения одного из пределов, заданных в SearchArgument; он присутствует только в том случае, если присутствует компонент limit-encountered;

б) Специфические результаты Search:

- removed-entries содержит, в случае поиска в режиме обновления, список записей СПД, удаленных из ранее существовавшего списка DfrSearchResultList; каждый элемент содержит УНИ, класс и, возможно, компоненты атрибута упорядочения;

- number-of-hits указывает, меньше ли число попаданий, чем small-set-upper-limit, или находится между small-set-upper-limit и large-set-lower-limit; этот параметр присутствует, только если search-limit задан в абстрактной операции Search;

- additional-information является дополнительной информацией, которая предоставляется сервером поиска, заданным параметром search-server. Этот параметр присутствует только в случае, если параметр search-server задан в абстрактной операции Search и сервер поиска имеет дополнительную информацию.

8.2.8.3 Абстрактные ошибки поиска

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

8.2.9 Операция Reserve

Абстрактная операция Reserve используется для изменения уровня резервирования заданной записи СПД. Определено пять уровней резервирования. Уровни резервирования описаны в 8.1.3.2. Резервирование никогда не влияет на доступ для чтения к атрибутам записей СПД, т.е. все пользователи всегда могут читать атрибуты объектов СПД. Уровень резервирования записи СПД может быть изменен только операцией Reserve или путем задания параметра reservation в других абстрактных операциях. Операция развязывания не изменяет уровень резервирования записи СПД.

Reserve : : = ABSTRACT-OPERATION

ARGUMENT

ReserveArgument

RESULT

ReserveResult

ERRORS {

Abandoned,

NameError,

ReservationError,

SecurityError,

ServiceError

8.2.9.1 Аргумент ReserveArgument

ReserveArgument : : = SEQUENCE {

entry [0] DfrEntryName,

COMPONENTS OF CommonArguments (WITH COMPONENTS {...,

reservation PRESENT,

error-handling ABSENT})}


Компоненты ReserveArgument имеют следующий смысл:

а) Специфические аргументы Reserve:

- entry задает DfrEntryName записи СПД, которая должна быть зарезервирована;

- reservation-referent применяется только в том случае, когда параметр, заданный в аргументе Reservation, относится к ссылке СПД; если в абстрактной операции СПД, относящейся к ссылке СПД, этот параметр имеет значение TRUE, то reservation-duration, reservation-level и reservation-status указания этой ссылки СПД также изменяются; пользователь СПД должен иметь соответствующие права доступа к указанию СПД.

б) Общие аргументы:

- task-id, см. 8.1.3.1;

- reservation задает уровень резервирования;

- priority, см. 8.1.3.4;

- privileges, см. 8.1.3.5.

8.2.9.2 Результат ReserveResult

В случае успешного завершения запроса должен быть возвращен результат ReserveResult. Он не имеет параметров:

ReserveResult : : = NULL

8.2.9.3 Абстрактные ошибки

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

8.2.10 Операция Abandon

Абстрактная операция Abandon информирует сервер СПД о том, что пользователь более не заинтересован в выполнении ранее начатой незавершенной абстрактной операции или в продолжении ранее осуществленной абстрактной операции. Сервер СПД должен прекратить выполнение незавершенной операции и сбросить все полученные на этот момент результаты или должен сбросить всю внутреннюю информацию, сохраненную для продолжения абстрактной операции.

Abandon : : = ABSTRACT-OPERATION

ARGUMENT

AbandonArgument

RESULT

AbandonResult

ERRORS

{AbandonFailed}

8.2.10.1 Аргумент AbandonArgument

AbandonArgument : : = CHOICE {

task-id

[0]

TaskId,

invoke-id

[1]

InvokeIDType }


Компоненты AbandonArgument имеют следующий смысл:

- task-id может использоваться для идентификации той незавершенной абстрактной операции, которая должна быть прервана, или для указания серверу СПД, какая внутренняя информация, возможно, хранящаяся для продолжения абстрактной операции List или Search, должна быть отброшена (см. 8.1.3.1);

- invoke-id может использоваться для идентификации той незавершенной абстрактной операции, которая должна быть прервана.

8.2.10.2 Результат AbandonResult

В случае успешного выполнения запроса возвращается не результат AbandonResult. Вместо него для прерванной абстрактной операции возвращается сообщение об абстрактной ошибке Abandoned.

AbandonResult : : = NULL

8.2.10.3 Абстрактные ошибки

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

8.3 Абстрактные ошибки

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

Если в ходе выполнения абстрактной операции возникает какая-либо ошибка, то сервер СПД гарантирует, что никакие изменения не будут сделаны этой абстрактной операцией (однако это не распространяется на предупреждения, выдаваемые сервером СПД как часть нормального результата абстрактной операции СПД, см. 8.1.3.3). Параметр entry большинства абстрактных ошибок СПД идентифицирует запись СПД, к которой применялась абстрактная операция в момент обнаружения ошибки. Если эта запись СПД является той, которая была явно задана в аргументе абстрактной операции, то этот параметр имеет тот же самый вид (т.е. УНИ, DfrPathName или относительное имя пути), что и использованный в аргументе. Если вызвавшая проблему запись СПД не была явно задана в аргументе абстрактной операции, то параметр entry имеет вид УНИ.

Если в аргументе абстрактной операции было задано несколько записей СПД (например, исходная запись СПД и группа назначения СПД в абстрактной операции Copy), то абстрактная ошибка может быть представлена в виде последовательности, каждый член которой специфицирует проблему, относящуюся к данной записи. Однако, в ответе на один вызов операции может быть сообщено только об одном типе абстрактной ошибки.

8.3.1 Ошибкa Attributе Еггог

Сообщает об одной или нескольких проблемах, с которыми встретился сервер СПД при попытке прочитать или изменить атрибуты записи СПД:

AttributeError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry

[0]

DfrEntryName OPTIONAL,

problems

[1]

SEQUENCE OF

SEQUENCE {

problem

[0]

Attribute Problem,

type

[1]

AttributeType,

value

[2]

AttributeValue OPTIONAL }}


- - применяется также для критериев поиска и членства в группе - -

AttributeProblem : : = ENUMERATED {

no-such-attribute

(1),

invalid-attribute-syntax

(2),

undefined-attribute-type

(3),

inappropriate-matching

(4),

constraint-violation

(5),

attribute-or-value-already-exists

(6),

illegal-modification

(7),

inconsistent-with-other-attribute

(8),

undefined-for-this-object-class

(9),

unsupported-document-type

(10) }


Параметр entry отсутствует в AttributeError в следующих случаях:

- когда абстрактной операцией, вызвавшей эту ошибку, была операция Create и AttributeProblem была обнаружена при обработке компонентов аргумента абстрактной операции, связанных с атрибутами;

- когда абстрактной операцией, вызвавшей эту ошибку, была операция Search, и AttributeProblem была обнаружена при обработке компонентов аргумента абстрактной операции, связанных с критерием поиска.

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

а) no-such-attribute - указанная запись не имеет атрибутов, заданных в качестве аргумента абстрактной операции;

б) invalid-attribute-syntax - значение атрибута, заданное в качестве аргумента абстрактной операции, не соответствует синтаксису атрибутов для этого типа атрибутов;

в) undefined-attribute-type - в качестве аргумента абстрактной операции был использован неопределенный тип атрибута;

г) inappropriate-matching - была предпринята попытка, например в Filter, использовать правило согласования, не определенное для рассматриваемого типа атрибута;

д) constraint-violation - подставленное (или заданное неявно) в аргументе абстрактной операции значение атрибута не соответствует статическим ограничениям, установленным функциональным стандартом или определением атрибута (например, значение превышает максимально допустимый размер);

е) attribute-or-value-already-exists - была предпринята попытка добавить атрибут, который уже существует в записи, или значение, которое уже существует в атрибуте;

ж) illegal-modification - была предпринята попытка изменить атрибут (т.е. добавить или удалить весь атрибут или некоторое его значение), имеющий некоторый специальный смысл в СПД, а именно либо атрибут, присвоенный сервером СПД (например, УНИ или число членов группы), или атрибут, который, будучи один раз присвоенным пользователем, не может быть изменен путем, указанным в абстрактной операции (правила см. в разделе 9);

и) inconsistent-with-other-attribute - была предпринята попытка изменить атрибут несогласованным с другими атрибутами того же самого объекта СПД образом (например, если новая версия некоторого концептуального документа задается с атрибутом "корневая версия СПД", идентифицирующим этот концептуальный документ, а атрибут "предшествующая версия СПД" указывает на версию некоторого другого концептуального документа). О несогласованности с некоторым существующим атрибутом не сообщается, если она исключается последующими изменениями в той же самой абстрактной операции. Если два атрибута вступают в конфликт, то сервер СПД должен передать компонент AttributeProblem для одного или для обоих из них;

к) undefined-for-this-object-class - задан тип атрибута, который не определен для класса объектов СПД рассматриваемой записи СПД (например, "число членов группы СПД" для документа СПД). Это не применяется к записям СПД, проверяемых в абстрактной операции List или Search;

л) unsupported-document-type - была предпринята попытка использования абстрактной операции для типа документов СПД, который не был согласован в момент связывания.

8.3.2 Ошибка NameError

Сообщает о проблеме, относящейся к имени записи СПД, заданному в аргументе абстрактной операции. Вызвавшее проблему DfrEntryName сообщается так, как оно было задано, и сопровождается указанием встретившейся проблемы. Если пользователь СПД не имеет права доступа для чтения к записи СПД, то сообщение об ошибке NameError (т.е. NameProblem 1 или 2) будет передано для того, чтобы скрыть существование этой записи СПД.

NameError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE OF SEQUENCE {

entry

[0]

DfrEntryName,

problem

[1]

NameProblem }

NameProblem : : = ENUMERATED {

invalid-upi

(1),

invalid-path-name

(2),

ambiguous-path-name

(3),

inappropriate-object-class

(4) }


NameProblem должно быть одним из следующих:

а) invalid-upi - УНИ, подставленное в аргументе абстрактной операции, не ссылается ни на какой объект СПД, существующий в хранилище документов СПД (либо это УНИ никогда не было присвоено, либо относящийся к нему объект был удален из хранилища);

б) invalid-path-name - значение DfrEntryName (абсолютное или относительное), подставленное в аргумент абстрактной операции, не соответствует ни одной существующей в ХД записи СПД;

в) ambiguous-path-name - значение DfrEntryName (абсолютное или относительное), подставленное в аргумент абстрактной операции, соответствует нескольким записям СПД;

г) inappropriate-object-class - значение DfrEntryName, подставленное в аргумент абстрактной операции, указывает на объект СПД неподходящего класса объектов СПД (например, на документ СПД в абстрактной операции List).

8.3.3 Ошибка AccessError

Сообщает о проблеме, возникшей при попытке доступа к записи СПД, заданной в аргументе абстрактной операции.

AccessError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE OF SEQUENCE {

entry

[0]

DfrEntryName,

problem

[1]

AccessProblem }


AccessProblem : : = ENUMERATED {

inappropriate-object-class

(1),

reserved-by-a-user

(2),

externally-located-object

(3) }


AccessFroblem должно быть одним из следующих:

а) inappropriate-object-class - значение DfrEntryName, подставленное в аргументе абстрактной операции, относится к объекту СПД неподходящего класса объектов СПД;

б) reserved-by-a-user - запись СПД, к которой нужен доступ, или ее родитель в настоящий момент зарезервированы тем же самым или другим пользователем;

в) externally-located-object - запись СПД, к которой нужен доступ, находится в другом хранилище документов СПД или не подходит для запрошенной абстрактной операции.

8.3.4 Ошибкa UpdateError

Сообщает о проблеме, возникшей при попытке изменить (обновить), явно или неявно, существующую запись СПД (неявное изменение может быть вызвано, например, для группы СПД при включении в нее нового члена). Удаление записи СПД или ее перемещение в другую группу СПД также рассматривается как изменение.

UpdateError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry

[0]

DfrEntryName,

problem

[1]

UpdateProblem }


UpdateProblem : : = ENUMERATED {

inappropriate-object-class

(1),

insufficient-access-rights

(2),

reserved-by-a-user

(3),

illegal-content-modification

(4),

group-membership-criteria-violation

(5),

reference-loop-detected

(6) }


UpdateProblem должно быть одним из следующих:

а) inappropriate-object-class - значение DfrEntryName, подставленное в аргументе абстрактной операции, относится к объекту СПД неподходящего класса объектов СПД;

б) insufficient-access-rights - попытка изменить запись СПД была предпринята пользователем с недостаточными правами доступа к этой записи. Если пользователь СПД не имеет прав доступа для чтения этой записи СПД, то будет сообщено об ошибке NameError (см. 8.3.2), чтобы скрыть существование этой записи СПД;

в) reserved-by-a-user - запись СПД, которая должна быть изменена, или ее родитель в настоящий момент зарезервирована тем же самым или другим пользователем СПД;

г) illegal-content-modification - была предпринята попытка изменить содержимое записи СПД, которое не является предметом заданных пользователем изменений (например, список результатов поиска СПД);

д) group-membership-criteria-violation - была предпринята попытка ввести новый член в группу СПД или изменить существующий так, что новый или измененный член нарушил бы критерий членства в группе, определенный для этой группы СПД. Или была предпринята попытка изменить атрибут "критерий членства в группе СПД" таким образом, что некоторые или все существующие члены больше бы не удовлетворяли критерию членства в группе;

е) reference-loop-detected - была предпринята попытка создать новую ссылку СПД или изменить существующую таким образом, что созданная или модифицированная ссылка, вместе с некоторыми другими уже существующими в хранилище документами СПД отношениями ссылка-указание и группа-член, образовала бы по крайней мере одну петлю таких отношений.

В настоящем стандарте не устанавливается, что каждый сервер СПД должен выявлять все такие петли ссылок в точках их создания. Однако если сервер СПД не выявляет все петли, то его абстрактные операции не будут действовать, когда такая петля будет динамически обнаружена в ходе навигации по ХД.

8.3.5 Ошибка ReferentAccessError

Сообщает о проблеме, возникшей при попытке доступа к указанию.

ReferentAccessError: : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry [0] dfr-entry [0] DfrEntryName,

dor [1] NULL }

problem [1] ReferentAccessProblem }


ReferentAccessProblem : := ENUMERATED {

inappropriate-object-class

(1),

insufficient-access-rights

(2),

reserved-by-a-user

(3),

referent-no-longer-exists

(4),

referent-modified

(5), - - используется только в случае - -

- - копирования или перечисления группы СПД и только если должны - -

- - выдаваться предупреждения, т.е. referent-modified не прерывает операцию - -

reference-content-empty

(6) }


Значение ReferentAccessProblem должно быть одним из следующих:

а) inappropriate-object-class - указание ссылки СПД, заданной в аргументе абстрактной операции, относится к неподходящему классу объектов СПД (например, при попытке чтения содержимого указания, когда последнее является группой СПД);

б) insufficient-access-rights - попытка доступа к указанию ссылки СПД была предпринята пользователем с недостаточными правами доступа к этому указанию;

в) reserved-by-a-user - указание, к которому нужен доступ, или его родитель в настоящий момент зарезервированы тем же самым или другим пользователем СПД;

г) referent-no-longer-exists - указание ссылки СПД, заданной в аргументе абстрактной операции, было удалено ("висящая ссылка");

д) referent-modified - указание ссылки СПД, заданной в аргументе абстрактной операции, было изменено со времени создания ссылки (последнее хранится в компоненте qos-level содержимого ссылки);

е) reference-content-empty - содержимое ссылки СПД, заданной в аргументе абстрактной операции, не содержит УНИ; ссылка присутствует только как "местоблюститель".

8.3.6 Ошибка InterServerAccessError

Сообщает о проблеме, возникшей, когда сервер СПД хранилища документов СПД (соучастник), содержащего ссылку СПД на внешнее указание, предпринял попытку доступа к исполнителю, содержащему указание.

Примечание - Этот доступ мог быть инициирован с использованием протокола СДО между двумя серверами; но возникшие позже проблемы не являются специфическими для СДО.

InterServerAccessError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry

[0]

DfrEntryName, - - ссылки - -

problem

[1]

InterServerAccessProblem }


InterServerAccessProblem: : = ENUMERATED {

referent-store-not-found (1),

- - ошибочная идентификация хранилища - -

referent-store-unreachable (2),

- - нет порта для его достижения - -

referent-store-unavailable (3),

- - временно - -

referent-store-security-problem (4) }

- - права доступа - -


Значение InterServerAccessProblem должно быть одним из следующих:

а) referent-store-not-found - исполнитель, заданный в содержимом ссылки СПД, не мог быть найден.

Примучание - Эта проблема может быть вызвана либо ошибочным содержимым ссылки, либо ошибочной записью в справочнике, описывающем текущее положение исполнителя, либо любыми другими проблемами доступа между соучастником и связанным с ним сервером справочника;

б) referent-store-unreachable - сервер, управляющий исполнителем, не имеет общего с соучастником протокола, через который может быть получен доступ к указанию;

в) referent-store-unavailable - исполнитель временно недоступен (например, из-за выполнения какой-либо абстрактной административной операции);

г) referent-store-security-problem - пользователь СПД, запросивший доступ к исполнителю, не имеет для этого достаточных прав доступа по крайней мере через этого соучастника (это может быть вызвано недостаточными правами доступа самого соучастника).

8.3.7 Ошибка ReservationError

Сообщает о проблеме, возникшей при попытке зарезервировать или разрезервировать некоторую запись СПД.

ReservationError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry

[0]

DfrEntryName,

problem

[1]

ReservationProblem }


ReservationProblem : : = ENUMERATED {

cannot-reserve

(0),

already-reserved

(1),

not-yet-reserved

(2),

cannot-unreserve

(3),

reservation-not-changed

(4) }


Значение ReservationProblem должно быть одним из следующих:

а) cannot-reserve - запросивший абстрактную операцию Reserve не имеет достаточных прав доступа к заданной записи СПД для резервирования ее с заданным уровнем или статусом резервирования. Если пользователь СПД не имеет прав доступа для чтения этой записи СПД, то будет сообщено об ошибке NameError (см. 8.3.2), чтобы скрыть существование этой записи СПД;

б) already-reserved - была предпринята попытка зарезервировать или разрезервировать запись СПД, которая уже зарезервирована другим пользователем СПД;

в) not-yet-reserved - была предпринята попытка разрезервировать запись СПД, которая не зарезервирована в настоящий момент;

г) cannot-unreserve - была предпринята попытка разрезервировать запись СПД, которая имеет статус резервирования "committed";

д) reservation-not-changed - была предпринята попытка изменить уровень резервирования на более низкий для записи, имеющий статус резервирования "committed", или изменить статус резервирования с "committed" на "uncommitted".

8.3.8 Ошибка VersionManagementError

Сообщает о проблеме, возникшей при попытке создать новую версию концептуального документа или копировать некоторые элементы из (единственной) предшествующей версии (неявно заданной в параметре modifications абстрактной операции Create, Move, Copy или Modify). Если пользователь СПД не имеет прав доступа для чтения записи СПД, заданной как предшествующая версия, то при создании новой версии будет сообщено об ошибке NameError (см. 8.3.2), чтобы скрыть существование этой записи СПД.

VersionManagementError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry [0] DfrEntryName,

- - самой записи или ее потенциальной предшествующей версии - -

problem [1] VersionManagementProblem }

VersionManagementProblem : : = ENUMERATED {

inappropriate-object-class (1), - - не документ СПД - -

belongs-to-another-conceptual-document (2) }


Значение VersionManagementProblem должно быть одним из следующих:

а) inappropriate-object-class - была предпринята попытка объявить в качестве версии некоторую запись СПД, которая не является документом СПД;

б) belongs-to-another-conceptual-document - была предпринята попытка объявить запись СПД, заданную в аргументе абстрактной операцией, новой версией некоторого концептуального документа, хотя эта запись СПД уже является версией другого концептуального документа; или записи СПД, заданные как предшествующие версии для данной записи СПД, не все относятся к одному и тому же документу.

8.3.9 Ошибкa SесuritуЕггог

Сообщает о проблеме, возникшей, когда пользователь СПД предоставил серверу СПД параметры безопасности. Это могло произойти при связывании или выполнении абстрактной операции СПД, содержащей параметр Privileges.

SecurityError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

problem [0] SecurityProblem }

Security Problem : : = ENUMERATED {

inappropriate-authentication

(1),

invalid-creds

(2),

invalid-privilege

(3),

invalid-рас

(4),

already-active

(5) }


Значение SecurityProblem должно быть одним из следующих:

а) inappropriate-authentication - уровень безопасности, связанный с полномочиями запрашивающего пользователя, не согласуется с запрошенным уровнем защиты;

б) invalid-creds - представленные полномочия недействительны;

в) invalid-privilege - недопустимые привилегии использованы в САП, переданном в параметре Privileges;

г) invalid-рас - представленный САП недействителен;

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

8.3.10 Ошибка SеrviceError

Сообщает о проблеме, относящейся к предоставлению услуги и вызванной некорректным запросом абстрактной операции или правами доступа запрашивающего.

ServiceError : : = ABSTRACT-ERROR

PARAMETER SEQUENCER {

problem [0] ServiceProblem }

ServiceProblem : := ENUMERATED {

server-busy

(1),

- - занято, пожалуйста, подождите и повторите - -

server-unavailable

(2),

- - недоступно, пожалуйста, соединитесь - -

operation-too-complex

(3),

- - например, критерий поиска - -

resource-limit-exceeded

(4),

- - например, при создании крупного объекта - -

maximum-lenght-exceeded

(5),

- - в абстрактной операции - -

cannot-continue

(6),

- - например, изменена область поиска - -

unclassified-server-error

(7),

- - зависит от реализации - -

function-set-violation

(8),

- - см. 8.4 - -

too-many-search-hits

(9),

- - число попаданий превысило large-set-lower-limit - -

profile-mismatch

(10),

application-requirements-mismatch

(11) }


Значение ServiceProblem должно быть одним из следующих:

а) server-busy - сервер СПД в настоящий момент слишком занят для осуществления запрошенной абстрактной операции, но сможет выполнить ее некоторое время спустя;

б) server-unavailable - сервер СПД в настоящее время недоступен;

в) operation-too-complex - запрошенная абстрактная операция слишком сложна синтаксически или семантически (например, критерий поиска в абстрактной операции Search имеет слишком много уровней вложенности, чтобы быть понятым данным сервером СПД);

г) resource-limit-exceeded - превышение пределов ресурсов может произойти, например, когда должен быть создан или скопирован очень большой объект СПД или когда запрошена очень большая операция List или Search;

д) maximum-lenght-exceeded - длина аргумента, подставленного пользователем, или результата, подготовленного сервером, превышает максимальную длину, согласованную при связывании;

е) cannot-continue - сервер СПД не может продолжить операцию из-за изменений в ХД после предыдущего результата соответствующей абстрактной операции;

ж) unclassified-server-error - ошибка, которая не может быть классифицирована иначе; причины этой ошибки зависят от реализации и находятся вне сферы действия настоящего стандарта;

и) function-set-violation - абстрактная операция не может быть выполнена из-за ограничений набора функций (см. 8.4); какой набор функций поддерживает сервер СПД, факультативно сообщается в процессе связывания;

к) too-many-search-hits - абстрактная операция Search нашла удовлетворяющих критерию поиска записей СПД больше, чем задано значением large-set-lower-limit;

л) profile-mismatch - профиль СПД, запрошенный пользователем, не поддерживается сервером СПД;

м) application-requirements-mismatch - прикладные требования, запрошенные пользователем, не поддерживаются сервером СПД.

8.3.11 Ошибка AbandonFailed

Ошибка AbandonFailed сообщает о проблеме, возникшей при попытке прервать некоторую запрошенную ранее абстрактную операцию СПД.

AbandonFailed : : = ABSTRACT-ERROR

PARAMETER SET {

problem

[0]

AbandonProblem,

operation

[1]

Invokeld }


Invokeld : : = INTEGER

AbandonProblem : : = ENUMERATED {

no-such-operation

(1),

too-late

(2),

cannot-abandon

(3) }


Значение AbandonProblem должно быть одним из следующих:

a) no-such-operation - заданная абстрактная операция СПД в настоящий момент неизвестна серверу СПД;

б) too-late - выполнение заданной абстрактной операции достигло фазы, когда она уже не может быть прервана или прерывание не будет иметь значения;

в) cannot-abandon - заданная абстрактная операция не может быть прервана по зависящим от реализации причинам.

8.3.12 Ошибка Abandoned

Это сообщение абстрактной операции СПД после того, как она была прервана абстрактной операцией Abandon. В буквальном смысле она не является ошибкой, а может рассматриваться как сообщение об успешном завершении операции Abandon. Она не может появиться, если соответствующая операция Abandon возвратила AbandonFailed

Abandoned : : = ABSTRACT-ERROR

8.3.13 Ошибка ExternalServerError

Сообщает о проблеме, возникшей на сервере поиска или на сервере поиска содержимого. Если проблема может трактоваться как одна из абстрактных ошибок СПД, то сервер СПД сообщит о соответствующей абстрактной ошибке. Если проблема не может трактоваться как одна из абстрактных ошибок СПД, то сервер СПД сообщит об абстрактной ошибке ExternalServerError.

ExternalServerError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

server-id

DistinguishedName,

server-specific-error

EXTERNAL }

8.3.14 Старшинство ошибок

Если одновременно произошло несколько абстрактных ошибок для одной и той же абстрактной операции СПД, то сообщается только об одной из них. Старшинство ошибок, начиная с наиболее важных, следующее:

SecurityError

ServiceError

ExternalServerError

NameError

AccessError

InterServerAccessError

ReferentAccessError

ReservationError

Abandoned

AttributeError

UpdateError

VersionManagementError

AbandonFailed

8.4 Наборы функций

Хранилище документов СПД имеет гибкую структуру, показанную на рисунке 2 (см. 6.3). Но, с точки зрения пользователя, необходимо определить функциональные наборы для этой структуры. Таким образом при установке ХД определяются следующие типы использования и соответствующие наборы функций.

Тип использования 1: набор плоского хранилища

При этом типе использования структура хранилища документов СПД представлена одной группой, единственным уровнем. Все документы, ссылки и списки результатов поиска СПД в хранилище документов СПД такого типа включаются непосредственно в корневую группу СПД.

В этом наборе недопустимы группы СПД (кроме корневой).

Тип использования 2: набор предопределенной структуры хранилища

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

В этом наборе пользователь СПД не может создавать или удалять группы СПД. Группы СПД являются предопределенными.

Тип использования 3: полный набор

При этом типе использования пользователи СПД могут свободно создавать, изменять или удалять любые документы, ссылки, группы и списки результатов поиска СПД.

В этом наборе все пользователи СПД могут создавать или удалять группы СПД.

Все абстрактные операции СПД, применимые к документам, ссылкам и спискам результатов поиска СПД, и абстрактные операции Reserve и Abandon доступны в наборах функций 1, 2 и 3.

Для абстрактных операций, применимых к группам СПД, справедливо следующее:

- операции Read, List и Search применимы в наборах функций 2 и 3;

- операции Create, Delete, Copy, Move и Modify применимы только в наборе функций 3.

Часть 3. Атрибуты СПД

9 Определения атрибутов

9.1 Общий обзор атрибутов

Понятия информационной модели СПД и атрибутов были введены в разделе 6.

В последующих подразделах для DrfEntryAttributes приведены краткие описания атрибутов и их абстрактные синтаксисы, определенные с использованием макро ATTRIBUTE.

Концепция использования атрибутов для обеспечения безопасности СПД описана в 6.3.8.

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

Определенные в настоящем стандарте атрибуты не зависят от характера хранящейся информации, т.е. не обеспечиваются специфические атрибуты для ODA, SGML и других стандартов для содержимого документов. Однако подмножество атрибутов из профиля документа ODA может быть отображено в атрибуты СПД (см. приложение А). СПД обеспечивает поддержку подмножества атрибутов ODA из профиля документа ODA (ГОСТ Р ИСО/МЭК 8613-4). Эти атрибуты не рассматриваются как специфические атрибуты СПД и, следовательно, их имена появляются без префикса "DFR". Механизм атрибутов СПД предназначен для приспособления к различным наборам атрибутов, определенным в стандартах, отличных от ODA, например SGML, IPM и EDI.

Примечание 1 - Согласованность атрибутов профиля документа ODA и соответствующих им атрибутов СПД находится вне области действия настоящего стандарта.


Определенные в настоящем стандарте типы атрибутов сгруппированы в два подмножества: базовый набор атрибутов СПД и расширение набора атрибутов СПД. СПД обязательно поддерживает базовый набор атрибутов СПД и факультативно - расширение набора атрибутов СПД.

Примeчание 2 - Возможны различные расширения наборов атрибутов, каждый из которых имеет свой собственный абстрактный синтаксис. Расширения наборов атрибутов, которые должны использоваться в прикладной ассоциации, согласуются в момент ее установления. Расширение набора атрибутов СПД (определенное в настоящем стандарте) включается в определение прикладного контекста СПД (см. приложение к ГОСТ Р ИСО/МЭК 10166-2), но его наличие также согласовывается.


Определенные в настоящем стандарте атрибуты приводятся в нижеследующих таблицах. Подробности приводятся в описаниях атрибутов. В таблицах 3 и 5 для различных атрибутов показано, является ли значение атрибута одно- или многозначным, кто управляет атрибутом этого типа в различных ситуациях и копируется ли атрибут автоматически абстрактной операцией Copy. В таблицах 4 и 6 для различных атрибутов показано, каким объектам СПД присваиваются эти объекты, их появление и согласование с абстрактной операцией Search, включая возможность упорядочения.


Таблица 3 - Базовый набор атрибутов СПД

Имя типа атрибута

Одно- или много-
значный

Присваи-
вается

Изменяется

Удаляется

Автоматически копируется Copy

DFR-UPI

S

D

-

-

N

DFR-Object-Class

S

O

-

-

Y

DFR-Document-Type

S

U

U

-

Y

DFR-Title

S

U

U

-

Y

DFR-Pathname

S

D

D

-

N

DFR-Parent-Identification

S

D

D

-

N

DFR-Referent-Deleted

S

D

-

D

Y

DFR-Membership-Criteria

S

U

U

U

Y

DFR-Ordering

S

U

U

U

Y

DFR-Resource-Limit

S

O

O

O

Y

DFR-Resource-Used

S

D

D

-

Y

DFR-Number-Of-Group-Members

S

D

D

-

Y

Version-Name

S

U

-

U

N

DFR-Previous-Versions

М

U

D

U/D

N

DFR-Next-Versions

М

D

D

D

N

DFR-Version-Root

S

D

-

D

N

DFR-External-Location

S

U

U

U

Y

User-Reference

S

U

U

U

Y

User-References-To-Other-Objects

М

U

U

U

Y

DFR-Attributes-Create-Date-And-Time

S

D

-

-

N

DFR-Content-Create-Date-And-Time

S

D

-

-

N

DFR-Created-By

S

D

-

-

N

DFR-Attributes-Modify-Date-And-Time

S

D

D

-

N

DFR-Content-Modify-Date-And-Time

S

D

D

-

N

DFR-Attributes-Modify-By

S

D

D

-

N

DFR-Content-Modify-By

S

D

D

-

N

Document-Date-And-Time

S

U

U

U

Y

DFR-Reservation

S

D

D

D

N

DFR-Reserved-By

S

D

D

D

N

DFR-Access-List

М

O/D

O

-

N

Valid-User-Key

S

R

R

R

N

DFR-Document-Purge-Date-and-Time

S

U

U

U

U

Условные обозначения:

S - однозначный, М - многозначный; D - сервер СПД, U - пользователь СПД, O - владелец, R - только для корневой группы; Y - да, N - нет.



Таблица 4 - Базовый набор атрибутов СПД

Типы атрибутов

Используется для

Согласуется в фильтре на

DO

GR

RE

SR

EQ

OR

SU

DFR-UPI

М

М

М

М

М

DFR-Object-Class

М

М

М

М

М

DFR-Document-Type

М

О

М

DFR-Title

М

М

М

М

М

М

DFR-Pathname

С

С

С

С

М

М

DFR-Parent-Identification

М

М

М

М

DFR-Referent-Deleted

С

М

DFR-Membership-Criteria

О

DFR-Ordering

О

DFR-Resource-Limit

О

О

О

О

О

О

DFR-Resource-Used

М

М

М

М

О

О

DFR-Number-Of-Group-Members

М

О

О

Version-Name

С

О

О

DFR-Previous-Versions

С

О

DFR-Next-Versions

С

О

DFR-Version-Root

С

О

О

DFR-External-Location

О

О

О

М

М

User-Reference

О

О

О

О

О

О

User-References-To-Other-Objects

О

О

О

О

О

О

DFR-Attributes-Create-Date-And-Time

М

М

М

М

М

М

DFR-Content-Create-Date-And-Time

С

С

С

С

М

М

DFR-Created-By

М

М

М

М

М

DFR-Attributes-Modify-Date-And-Time

С

С

С

С

М

М

DFR-Content-Modify-Date-And-Time

С

С

С

С

М

М

DFR-Attributes-Modify-By

С

С

С

С

М

DFR-Content-Modify-By

С

С

С

С

М

Document-Date-And-Time

О

О

М

М

DFR-Reservation

С

С

С

С

О

О

DFR-Reserved-By

С

С

С

С

М

DFR-Access-List

С

С

С

С

О

Valid-User-Key

О

DFR-Document-Purge-Date-and-Time

О

О

О

О

О

Условные обозначения:

DO - документ СПД, GR - группа СПД, RE - ссылка СПД, SR - список результатов поиска СПД; EQ - равенство, OR - упорядочение, SU - подстрока; С - условный, М - обязательный, О - факультативный.

Примечание - Атрибут Valid-User-Key применяется только для корневой группы СПД.



Таблица 5 - Расширение набора атрибутов СПД

Имя типа атрибута

Одно- или многознач-
ный

Присваивается

Изменяется

Удаляется

Автоматически копируется Copy

Other-Titles

М

U

U

U

Y

Subject

S

U

U

U

Y

Document-Type

S

U

U

U

Y

Document-Arhitecture-Class

S

U

U

U

Y

Keywords

М

U

U

U

Y

Creation-Date-And-Time

S

U

U

U

Y

Purge-Date-And-Time

S

U

U

U

Y

Revision-Date-And-Time

S

U

U

U

Y

Organizations

М

U

U

U

Y

Preparers

М

U

U

U

Y

Owners

М

U

U

U

Y

Authors

М

U

U

U

Y

Status

S

U

U

U

Y

User-Specific-Codes

М

U

U

U

Y

Superseded- Documents

М

U

U

U

Y

Number-Of-Pages

S

U

U

U

Y

Languages

М

U

U

U

Y

Условные обозначения:

S - однозначный, М - многозначный; D - сервер СПД, U - пользователь СПД, О - владелец; Y -да, N - нет.



Таблица 6 - Расширение набора атрибутов СПД


Типы атрибутов

Используется для

Согласуется в фильтре на

DO

GR

RE

SR

EQ

OR

SU

Other-Titles

О

О

О

О

М

М

Subject

О

О

О

О

М

М

Document-Type

О

М

М

Document-Arhitecture-Class

О

О

М

М

Keywords

О

О

О

О

М

М

Creation-Date-And-Time

О

О

О

О

М

М

Purge-Date-And-Time

О

О

О

О

М

М

Revision-Date-And-Time

О

О

О

О

М

М

Organizations

О

О

М

М

Preparers

О

О

М

М

Owners

О

О

М

М

Authors

О

О

М

М

Status

О

О

М

М

User-Specific-Codes

О

О

О

О

М

М

Superseded-Documents

О

О

М

М

Number-Of-Pages

О

О

М

М

Languages

О

О

М

М

Условные обозначения:

DO - документ СПД, GR - группа СПД, RE - ссылка СПД, SR - список результатов поиска СПД; EQ - равенство, OR - упорядочение, SU - подстрока; С - условный, М - обязательный, О - факультативный.

9.2 Базовый набор атрибутов СПД

9.2.1 УНИ СПД

Этот атрибут используется сервером СПД для однозначной идентификации документа, группы, ссылки или списка результатов поиска СПД в хранилище документов СПД. Его значение не может быть интерпретировано пользователем СПД. Атрибут связывается с каждым объектом СПД. Значение любого УНИ, будучи однажды присвоено сервером СПД, не может быть изменено в течение жизни объекта. Кроме того, это значение будет отличаться от УНИ всех других объектов, когда-либо существовавших на том же самом сервере СПД (включая все существующие и все удаленные объекты СПД).

dfr-upi ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentIdentifier

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-upi

9.2.2 Класс объекта СПД

Этот атрибут указывает класс объекта СПД (документ, группу, ссылку, список результатов поиска). Этот атрибут связывается с каждым объектом СПД.

dfr-object-class ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrObjectClass

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-object-class

9.2.3 Тип документа СПД

Этот атрибут содержит идентификатор объекта, значение которого определяет представление содержимого документа (например, ODA или SGML) в протоколе доступа СПД. Для ссылки СПД этот атрибут присутствует только в том случае, когда указание является документом СПД.

dfr-document-type ATTRIBUTE

WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-document-type

9.2.4 Заголовок СПД

Этот атрибут содержит имя объекта СПД, заданное пользователем СПД.

dfr-title ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-dfr-title

9.2.5 Имя пути СПД

Этот атрибут является последовательностью значений атрибутов "заголовок СПД" объекта СПД и его предков в убывающем порядке, начиная с корневой группы СПД. Он определен только в контексте ХД, для которого глобальная или локальная единственность атрибута "заголовок СПД" устанавливается сервером СПД (см. 7.1.2). Принято, что для корневой группы СПД этот атрибут является пустой последовательностью заголовков СПД.

dfr-pathname ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreListSyntax

SINGLE VALUE

: : = id-att-dfr-pathname

9.2.6 Идентификация родителя СПД

Этот атрибут идентифицирует группы СПД, членом которой является данный объект. Его значение равно УНИ родительской группы данного объекта СПД. Этот атрибут связывается с каждым объектом СПД. Принято, что для корневой группы СПД он равен строке октетов длиной ноль.

dfr-parent-identification ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentIdentifier

SINGLE VALUE

: : = id-att-dfr-parent-identification

9.2.7 Указание СПД удалено

Этот атрибут присваивается ссылке СПД и устанавливается равным TRUE, когда сервер СПД обнаружит, что указание удалено. Этот атрибут будет удален сервером СПД, когда пользователь СПД сделает эту ссылку направленной на другое указание.

dfr-referent-deleted ATTRIBUTE

WITH ATTRIBUTE-SYNTAX booleanSyntax

SINGLE VALUE

: : = id-att-dfr-referent-deleted

9.2.8 Критерий членства СПД

Этот атрибут связывается только с группами СПД. Он устанавливает ограничения на членство в группе на основе значений других атрибутов. Его значением является фильтр Filter.

dfr-membership-criteria ATTRIBUTE

WITH ATTRIBUTE-SYNTAX Filter

SINGLE VALUE

: : = id-att-dfr-membership-criteria

9.2.9 Упорядочение СПД

Этот атрибут определяет принимаемое по умолчанию упорядочение членов группы СПД в абстрактной операции List. Правило упорядочения специфицировано в 8.1.6.3. Этот атрибут связывается только с группами СПД.

dfr-ordering ATTRIBUTE

WITH ATTRIBUTE-SYNTAX OrderingRule

SINGLE VALUE

: : = id-att-dfr-ordering

9.2.10 Предел ресурса СПД

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

dfr-resource-limit ATTRIBUTE

WITH ATTRIBUTE-SYNTAX integerSyntax

SINGLE VALUE

; : = id-att-dfr-resource-limit

9.2.11 Использованный ресурс СПД

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

dfr-resource-used ATTRIBUTE

WITH ATTRIBUTE-SYNTAX integerSyntax

SINGLE VALUE

: : = id-att-dfr-resource-used

9.2.12 Число членов группы СПД

Этот атрибут дает число членов группы СПД.

dfr-number-of-group-members ATTRIBUTE

WITH ATTRIBUTE-SYNTAX integerSyntax

SINGLE VALUE

: : = id-att-dfr-number-of-group-members

9.2.13 Имя версии

Этот древовидный атрибут предназначен для пользователя СПД и им управляется. Он определен, главным образом, для документов СПД, которые объявлены как версии (в смысле управления версиями СПД, определенного в 6.3.6); но он может быть использован и для любых других документов СПД. Он может появляться и в ссылках СПД на документы СПД, обычно, как копия соответствующего атрибута указания. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

version-name ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-version-name

9.2.14 Предшествующие версии СПД

Это многозначный атрибут. Он определен только для документов СПД (см. 6.3.6). Он присваивается пользователем СПД, когда документ объявляется новой версией (в абстрактной операции Create или Modify). Он может быть изменен сервером СПД при условии, что документ СПД еще не стал предшествующей версией для некоторой другой новой версии; после этого атрибут не может быть изменен. Он автоматически обновляется, если какая-либо заданная предшествующая версия исчезает (в результате абстрактной операции Delete или Modify). Когда значение атрибута читается пользователем СПД, в результат абстрактной операции СПД включаются только те документы СПД, к которым пользователь имеет право доступа по крайней мере для чтения.

dfr-previous-versions ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentIdentifier

MATCHES FOR EQUALITY

MULTIVALUE

: : = id-att-dfr-previous-versions

9.2.15 Следующие версии СПД

Это многозначный атрибут. Он определен только для документов СПД (см. 6.3.6). Он обновляется сервером СПД всякий раз, когда объявляется новая версия, имеющая данный документ в качестве предшествующей версии (в абстрактной операции Create или Modify) или когда такая существующая версия исключается (в результате абстрактной операции Delete или Modify). Пользователю СПД запрещается изменять этот атрибут явным образом. Когда значение атрибута читается пользователем СПД, в результат абстрактной операции СПД включаются только те документы СПД, к которым пользователь имеет право доступа по крайней мере для чтения.

dfr-next-versions ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentIdentifier

MATCHES FOR EQUALITY

MULTIVALUE

: : = id-att-dfr-next-versions

9.2.16 Корень версий СПД

Этот атрибут определен и имеет одно и то же значение для всех документов СПД, объявленных версиями одного концептуального документа СПД (см. 6.3.6), и, факультативно, для ссылок на эти документы. Он присваивается сервером СПД, когда документ СПД объявляется как следующая версия некоторого другого документа СПД, который ранее не был объявлен как версия. Атрибут УНИ последнего документа становится значением атрибутов "корень версии СПД" обоих документов. Это значение копируется сервером СПД в атрибут "корень версии СПД" каждой новой версии того же концептуального документа. Атрибут "корень версии СПД" сохраняет свое значение даже тогда, когда "исходная версия", породившая значение УНИ, удаляется.

dfr-version-root ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentIdentifier

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-version-root

9.2.17 Внешнее размещение СПД

Этот атрибут содержит заданное пользователем описание размещения объекта, хранящегося вне хранилища документов СПД.

dfr-external-location ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-dfr-external-location

9.2.18 Пользовательская ссылка

Этот атрибут содержит идентификатор данного объекта СПД. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA. Атрибуты "пользовательская ссылка" и "пользовательские ссылки на другие объекты" могут быть использованы для установления пользовательских ссылок между объектами СПД, находящимися в хранилище документов СПД. Таким образом, значение атрибута "пользовательская ссылка" является специфическим для пользователя СПД идентификатором объекта; этот идентификатор может храниться в атрибуте "пользовательские ссылки на другие объекты". Если последнее значение атрибута "пользовательские ссылки на другие объекты" используется, например, в абстрактной операции Search, то указание будет идентифицировано.

user-reference ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-user-reference

9.2.19 Пользовательские ссылки на другие объекты

Этот атрибут содержит ссылки на другие объекты. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA. Атрибуты "пользовательская ссылка" и "пользовательские ссылки на другие объекты" могут быть использованы для установления пользовательских ссылок между объектами СПД, находящимися в хранилище документов СПД. Таким образом, значение атрибута "пользовательская ссылка" является специфическим для пользователя СПД идентификатором объекта; этот идентификатор может храниться в атрибуте "пользовательские ссылки на другие объекты". Если последнее значение атрибута "пользовательские ссылки на другие объекты" используется, например, в абстрактной операции Search, то указание будет идентифицировано. Атрибут "пользовательские ссылки на другие объекты" может содержать одну или несколько ссылок на другие объекты.

user-reference-to-other-objects ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-user-reference-to-other-objects

9.2.20 Дата и время создания атрибутов СПД

Этот атрибут содержит дату и время сохранения обязательных атрибутов этого объекта СПД в хранилище документов СПД. Сервер СПД устанавливает текущие дату и время на момент абстрактной операции Create.

dfr-attributes-create-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: := id-att-dfr-attributes-create-date-and-time

9.2.21 Дата и время создания содержимого СПД

Этот атрибут содержит дату и время сохранения содержимого СПД данного объекта в хранилище документов СПД. Сервер СПД устанавливает текущие дату и время на момент создания содержимого этого объекта СПД.

dfr-content-create-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-dfr-content-create-date-and-time

9.2.22 Создан СПД

Этот атрибут идентифицирует пользователя СПД, который создал этот объект СПД; он не изменяется при перемещении объекта. Он может быть прочитан пользователем СПД, имеющим права доступа по крайней мере для расширенного чтения (extended-read).

dfr-created-by ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DistinguishedName

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-created-by

9.2.23 Дата и время изменения атрибутов СПД

Этот атрибут содержит дату и время последнего изменения атрибутов данного объекта в хранилище документов СПД. При создании объекта СПД этот атрибут устанавливается равным текущему времени. В последующем этот атрибут поддерживается сервером СПД. Этот атрибут не обновляется, когда атрибуты, описанные в таблице 3 как изменяемые или удаляемые сервером СПД, обновляются или удаляются.

dfr-attributes-modify-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-dfr-attributes-modify-date-and-time

9.2.24 Дата и время изменения содержимого СПД

Этот атрибут содержит дату и время последнего изменения содержимого данного объекта СПД в хранилище документов СПД. При создании объекта СПД этот атрибут устанавливается равным текущему времени. В последующем этот атрибут поддерживается сервером СПД.

dfr-content-modify-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-dfr-content-modify-date-and-time

9.2.25 Атрибуты изменены СПД

Этот атрибут идентифицирует пользователя СПД, который самым последним изменил атрибуты данного объекта СПД. Он может быть прочитан пользователем СПД, имеющим права доступа по крайней мере для расширенного чтения (extended-read).

dfr-attributes-modified-by ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DistinguishedName

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-attributes-modified-by

9.2.26 Содержимое изменено СПД

Этот атрибут идентифицирует пользователя СПД, который самым последним изменил содержимое данного объекта СПД. Он может быть прочитан пользователем СПД, имеющим права доступа по крайней мере для расширенного чтения (extended-read).

dfr-content-modified-by ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DistinguishedName

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-content-modified-by

9.2.27 Дата и время документа

Этот атрибут содержит дату и время, которые пользователь связывает с документом или со ссылкой СПД. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

document-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-document-date-and-time

9.2.28 Резервирование СПД

Этот атрибут указывает, зарезервирован объект СПД или нет. Этот атрибут связан с каждым объектом СПД.

dfr-reservation ATTRIBUTE

WITH ATTRIBUTE-SYNTAX Reservation

MATCHES FOR EQUALITY ORDERING

SINGLE VALUE

: : = id-att-dfr-reservation

9.2.29 3apезервировaно СПД

Этот атрибут идентифицирует субъект безопасности, в интересах которого пользователь СПД зарезервировал данный объект СПД. Он отсутствует, если объект СПД не зарезервирован. Он может быть прочитан пользователем СПД, имеющим права доступа по крайней мере для расширенного чтения (extended-read).

dfr-reserved-by ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DistinguishedName

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-reserved-by

9.2.30 Список доступа СПД

Этот атрибут идентифицирует субъект безопасности, которым разрешен доступ к данному объекту СПД, специфицируя для каждого из них соответствующие права доступа. Полное значение атрибута "список доступа СПД" виден пользователю СПД, имеющему права доступа к данному объекту СПД по крайней мере для расширенного чтения (extended-read); оно может быть изменено только пользователем СПД, имеющим права доступа владельца к этому объекту. Пользователь СПД, имеющий права доступа к этому объекту для чтения, может прочитать из этого атрибута только свои собственные права. Этот атрибут является частью методов безопасности, описанных в 6.3.8.

dfr-access-list ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrAccessListElement

MATCHES FOR EQUALITY

MULTI VALUE

: : = id-att-dfr-access-list

9.2.31 Допустимый ключ пользователя

Это один из базовых атрибутов, присвоенных корневой группе СПД. Он определяет список дополнительных атрибутов, которые связаны с документами, содержащимися в данном ХД.

valid-user-key ATTRIBUTE

WITH ATTRIBUTE-SYNTAX ValidUserKey

SINGLE VALUE

: : = id-att-valid-user-key


ValidUserKey : : = SEQUENCE OF SEQUENCE {

document-type OBJECT IDENTIFIER,

user-key-list UserKeyList }

1) document-type - может быть таким, что каждый тип документов имеет отличный от других набор дополнительных атрибутов; этот параметр называет тип документов, для которого в компоненте user-key-list заданы дополнительные ключи;

2) user-key-list - список дополнительных атрибутов, присвоенных типу документов.

UserKeyList : : = SEQUENCE OF SET {

user-key-id

[0]

OBJECT IDENTIFIER,

user-key-name

[1]

CharacterData OPTIONAL,

user-key-syntax

[2]

OBJECT IDENTIFIER,

user-key-multi-valued

[3]

BOOLEAN OPTIONAL,

user-key-matching-rule

[4]

BIT STRING OPTIONAL,

user-key-comment

[5]

CharacterData OPTIONAL

1) user-key-id - идентификатор объекта, присвоенный дополнительному атрибуту;

2) user-key-name - человекочитаемое имя атрибута;

3) user-key-syntax - идентификатор объекта, указывающий, какой синтаксис присвоен ключу;

4) user-key-multi-valued - индикация многозначных атрибутов;

5) user-key-matching-rule - правило согласования, которое применяется к этому ключу пользователя в различных утверждениях об атрибуте;

6) user-key-comment - факультативный человекочитаемый комментарий, связанный с атрибутом.

9.2.32 Дата и время уничтожения документа СПД

Это один из базовых атрибутов, присваиваемый документам и группам СПД. Он указывает дату (и, факультативно, время), после которой данный объект СПД может быть удален из ХД, и идентификатор субъекта безопасности, который создал или последним изменил этот атрибут. Субъект безопасности должен иметь права доступа по крайней мере для удаления.

dfr-document-purge-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrPurgeRequest

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-document-purge-date-and-time


DfrPurgeRequest : : = SEQUENCE {

access-id Accesld,

purge-time GeneralizedTime }

9.3 Расширение набора атрибутов СПД

9.3.1 Другие заголовки

Этот атрибут содержит альтернативные заголовки для данного объекта СПД. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

other-titles ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax.

MULTI VALUE

: : = id-att-other-titles

9.3.2 Тема

Этот атрибут содержит информацию, указывающую тему объекта СПД. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

subject ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-subject

9.3.3 Тип документа

Этот атрибут задает тип документа, например меморандум, письмо, отчет. Он задает только неформальное имя; он не может задавать отношение к описанию конкретного класса документов. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

document-type ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-document-type

9.3.4 Класс архитектуры документа

Этот атрибут задает класс архитектуры, использованный в документе. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

document-architecture-class ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DocumentArchitectureClass

MATCHES FOR EQUALITY ORDERING

SINGLE VALUE

: : = id-att-document-architecture-class

9.3.5 Ключевые слова

Этот атрибут задает одну или несколько символьных строк, которые позволяют сделать логические заключения о содержимом документа. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

keywords ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-keywords

9.3.6 Дата и время создания

Этот атрибут задает дату и, факультативно, время создания документа. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

creation-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-creation-date-and-time

9.3.7 Дата и время уничтожения

Этот атрибут задает дату и, факультативно, время? после которой документ может быть удален из ХД. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

purge-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-purge-date-and-time

9.3.8 Дата и время проверки

Этот атрибут задает дату и, факультативно, время проверки данного документа. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

revision-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-revision-date-and-time

9.3.9 Организации

Этот атрибут идентифицирует организацию (ии), связанную (ые) с документом. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

organizations ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-organizations

9.3.10 Исполнители

Этот атрибут идентифицирует имя (имена) лица (лиц) и/или организацию (ии), ответственные за физическое исполнение документа. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

preparers ATTRIBUTE

WITH ATTRIBUTE-SYNTAX Person

MATCHES FOR EQUALITY SUBSTRING

MULTI VALUE

: : = id-att-preparers

9.3.11 Владельцы

Этот атрибут идентифицирует имя (имена) лица (лиц) и/или организацию (ии), ответственные за содержание документа. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

owners ATTRIBUTE

WITH ATTRIBUTE-SYNTAX Person

MATCHES FOR EQUALITY SUBSTRING

MULTI VALUE

: : = id-att-owners

9.3.12 Авторы

Этот атрибут идентифицирует имя (имена) лица (лиц) и/или организацию (ии), ответственные за подготовку содержания документа. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

authors ATTRIBUTE

WITH ATTRIBUTE-SYNTAX Person

MATCHES FOR EQUALITY SUBSTRING

MULTI VALUE

: : = id-att-authors

9.3.13 Статус .

Этот атрибут задает статус документа, например, рабочие записи, проект. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

status ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-status

9.3.14 Специфические коды пользователя

Этот атрибут задает дополнительные специфические для пользователя коды, например, контактный телефон, номер проекта, банковский счет. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

user-specific-codes ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-user-specific-codes

9.3.15 Замененные документы

Этот атрибут дает ссылку (и) на документ (ы), замененный (ые) данным документом. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

superseded-documents ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-superseded-documents

9.3.16 Число страниц

Этот атрибут задает число страниц в конкретной структуре размещения (если она есть) документа. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

number-of-pages ATTRIBUTE

WITH ATTRIBUTE-SYNTAX integerSyntax

MATCHES FOR EQUALITY ORDERING

SINGLE VALUE

: : = id-att-number-of-pages

9.3.17 Языки

Этот атрибут задает основной (ые) язык (и), на котором (ых) написано содержимое документа. В случае документа ODA значение этого атрибута может быть взято пользователем СПД из профиля документа ODA.

languages ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-languages

9.4 Синтаксис атрибутов СПД

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

9.4.1 Синтаксисы строковых атрибутов

В этих синтаксисах следующие пробелы рассматриваются как несущественные:

- начальные пробелы (т.е. предшествующие первому печатному символу);

- завершающие пробелы (т.е. следующие за последним печатным символом);

- кратные последовательные межсимвольные пробелы (считаются эквивалентными одному пробелу).

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

9.4.1.1 Синтаксис caseIgnoreStringSyntax

Предназначен для атрибутов, значения которых являются строками, но регистр (верхний или нижний) не имеет значения при их сравнении (например, "Dundee" и "DUNDEE" согласуются).

caseIgnoreStringSyntax ATTRIBUTE-SYNTAX

CharacterData - - определение см. в 8.1.4 - -

MATCHES FOR EQUALITY SUBSTRING

: : = {id-dfr-att-syn 4}


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

9.4.1.2 Синтаксис caseIgnoreListSyntax

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

caseIgnoreListSyntax ATTRIBUTE-SYNTAX

SEQUENCE OF

CharacterData - - определение см. в 8.1.4 - -

MATCHES FOR EQUALITY SUBSTRING

: : = {id-dfr-att-syn 5}


Два значения с этим синтаксисом согласуются только в том случае, если число строк в них одинаково и соответствующие строки согласуются. Согласование строк проводится как и для синтаксиса caseIgnoreStringSyntax.

9.4.2 Синтаксисы прочих атрибутов

9.4.2.1 Синтаксис booleanSyntax

Предназначен для атрибутов, имеющих булевские значения.

booleanSyntax ATTRIBUTE-SYNTAX

BOOLEAN

MATCHES FOR EQUALITY

: : = {id-dfr-att-syn 2}


Два значения атрибутов с этим синтаксисом согласуются на равенство в том случае, если они оба равны TRUE или FALSE.

9.4.2.2 Синтаксис integerSyntax

Предназначен для атрибутов, значения которых являются целыми числами.

integerSyntax ATTRIBUTE-SYNTAX

INTEGER

MATCHES FOR EQUALITY ORDERING

: : = {id-dfr-att-syn 1}


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

9.4.2.3 Синтаксис generalizedTimeSyntax

Предназначен для атрибутов, значения которых представляют абсолютное время.

generalizedTimeSyntax ATTRIBUTE-SYNTAX

GeneralizedTime

MATCHES FOR EQUALITY ORDERING

: : = {id-dfr-att-syn 3}


Два значения атрибутов с этим синтаксисом согласуются на равенство в том случае, если они представляют одно и то же время. Более раннее время считается "меньше", чем более позднее.

9.4.2.4 Синтаксис Person

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

Person : := SEQUENCE {

surname

[0]

CharacterData OPTIONAL,

givenname

[1]

CharacterData OPTIONAL,

initials

[2]

CharacterData OPTIONAL,

title

[3]

CharacterData OPTIONAL,

organization

[4]

CharacterData OPTIONAL}

Часть 4. Реализация СПД

10 Предоставление абстрактных услуг СПД


В данном разделе устанавливается, как сервер СПД предоставляет абстрактные услуги СПД. Он охватывает абстрактные операции Create, Delete, Copy, Move, Read, Modify, List, Search, Reserve и Abandon (описание операций см. в разделе 8).

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

Пользователь СПД может иметь несколько выполняющихся абстрактных операций, т.е. может иметь место параллельное выполнение абстрактных операций.

Ошибочные ситуации не описаны.

10.1 Выполнение абстрактной операции Create

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции Create, он осуществляет следующие шаги:

а) проверяет, что пользователь СПД имеет требуемые права доступа;

б) создает новую запись СПД в хранилище документов СПД, помещая новый объект СПД в указанную группу СПД;

в) устанавливает нужные значения атрибутов СПД для нового объекта СПД;

г) устанавливает нужное значение содержимого СПД нового объекта СПД;

д) возвращает результат операции Create пользователю СПД.

10.2 Выполнение абстрактной операции Delete

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции Delete, он осуществляет следующие шаги:

а) проверяет, что пользователь СПД имеет требуемые права доступа;

б) удаляет запись СПД, исключая объект СПД из родительской группы СПД;

в) возвращает результат операции Delete пользователю СПД.

10.3 Выполнение абстрактной операции Copy

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции Сору, он осуществляет следующие шаги:

а) проверяет, что пользователь СПД имеет требуемые права доступа;

б) создает новую запись СПД в группе СПД назначения;

в) копирует соответствующим образом значения атрибутов СПД и содержимого СПД указанного объекта СПД;

г) нужным образом обновляет атрибуты СПД объекта СПД назначения;

д) возвращает результат операции Copy пользователю СПД.

10.4 Выполнение абстрактной операции Move

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции Move, он осуществляет следующие шаги:

а) проверяет, что пользователь СПД имеет требуемые права доступа;

б) создает новую запись СПД в группе СПД назначения;

в) изменяет членство указанного объекта СПД в исходной группе СПД на членство в группе СПД назначения;

г) нужным образом обновляет атрибуты СПД в исходной группе и группе назначения;

д) удаляет старую запись СПД из исходной группы СПД;

е) возвращает результат операции Move пользователю СПД.

10.5 Выполнение абстрактной операции Read

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции Read, он осуществляет следующие шаги:

а) проверяет, что пользователь СПД имеет требуемые права доступа;

б) возвращает значения атрибута(ов) СПД и/или содержимое СПД указанного объекта СПД пользователю СПД.

10.6 Выполнение абстрактной операций Modify

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции Modify, он осуществляет следующие шаги:

а) проверяет, что пользователь СПД имеет требуемые права доступа;

б) соответствующим образом изменяет значения атрибута(ов) СПД и/или содержимое СПД указанного объекта СПД;

в) возвращает результат операции Modify пользователю СПД.

10.7 Выполнение абстрактной операции List

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции List, он осуществляет следующие шаги:

а) проверяет, что пользователь СПД имеет требуемые права доступа;

б) возвращает пользователю СПД значения атрибутов СПД членов указанной группы СПД или элементов указанного списка результатов поиска СПД.

10.8 Выполнение абстрактной операции Search

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции Search, он осуществляет следующие шаги:

а) проверяет, что пользователь СПД имеет требуемые права доступа;

б) ищет заданные объекты СПД;

в) сохраняет, если запрошено, результаты поиска в указанном списке результатов поиска СПД;

г) возвращает результат операции Search пользователю СПД.

10.9 Выполнение абстрактной операции Reserve

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции Reserve, он осуществляет следующие шаги:

а) проверяет, что пользователь СПД имеет требуемые права доступа;

б) соответствующим образом изменяет уровень резервирования указанного объекта СПД;

в) возвращает результат операции Reserve пользователю СПД.

10.10 Выполнение абстрактной операции Abandon

Когда сервер СПД получает от пользователя СПД запрос абстрактной операции Abandon, он осуществляет следующие шаги:

а) проверяет, что пользователь имеет требуемые права доступа;

б) соответствующим образом прерывает ранее вызванную абстрактную операцию СПД;

в) возвращает сообщение об абстрактной ошибке Abandoned для прерванной абстрактной операции.

11 Реализация порта


В данном разделе описано, как порт СПД предоставляет абстрактные услуги сохранения и получения документов.

Абстрактные услуги порта СПД реализуются на основе соответствия один к одному абстрактных операций, определенных в настоящем стандарте, и реальных операций элемента услуг сохранения и получения документов (ЭУСПД), определенных в ГОСТ Р ИСО/МЭК 10166-2.

ПРИЛОЖЕНИЕ А (справочное). Обзор отображения атрибутов профиля документа ODA в СПД

ПРИЛОЖЕНИЕ А
(справочное)

Имена атрибутов в профиле документа ODA

Имена атрибутов в наборе атрибутов СПД

заголовок

другие заголовки

тема

тема

ссылка документа

пользовательская ссылка

тип документа

тип документа

ключевые слова

ключевые слова

дата и время документа

дата и время документа

дата и время создания

дата и время создания

дата и время уничтожения

дата и время уничтожения

дата и время пересмотра

дата и время проверки

имя версии

имя версии

организации

организации

исполнители

исполнители

владельцы

владельцы

авторы

авторы

статус

статус

специфические коды пользователя

специфические коды пользователя

замененные документы

замененные документы

ссылки на другие документы

пользовательские ссылки на другие объекты

число страниц

число страниц

языки

языки

класс архитектуры документа

класс архитектуры документа

ПРИЛОЖЕНИЕ В (обязательное). Обязательное присвоение идентификаторов объектов


ПРИЛОЖЕНИЕ В
(обязательное)


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

Данное приложение является определяющим для всех значений, за исключением значений для модулей АСН.1, определяющие присваивания для которых даны в самих модулях.

DFRObjectIdentifiers {iso standard 10166 part-1 (1) modules (0) object-identifiers (0)}

DEFINITIONS ::=

BEGIN

- - ПРОЛОГ- -

- Экспортируется все - -

ID :: = OBJECT IDENTIFIER

id-dfr ID :: = {iso standard 10166 part-1 (1)}

- - Категории - -

id-mod

- - модули - -

ID :: ={id-dfr 0}

id-ot

- - объекты - -

ID :: = {id-dfr 1}

id-pt

- - порты - -

ID :: = {id-dfr 2}

id-dfr-oc

- - классы объектов - -

ID :: = {id-dfr 3}

id-dfr-bas-att

- - базовые атрибуты СПД - -

ID :: = {id-dfr 4}

id-dfr-ext-att

- - расширение атрибутов СПД - -

ID :: = {id-dfr 5}

id-dfr-att-syn

- - синтаксисы атрибутов СПД - -

ID :: = {id-dfr 6}

- - Модули - -

id-mod-object-identifier

ID :: = {id-mod 0}

id-mod-abstract-service

ID :: = {id-mod 1}

id-mod-basic-attributes

ID :: = {id-mod 2}

id-mod-extension-attributes

ID :: = {id-mod 3}

- - Объекты - -

id-dfr-server

ID :: = {id-ot 0}

id-dfr-user

ID :: = {id-ot 1}

id-dfr-dtam-dm-server

ID :: = {id-ot 2}

id-dfr-dtam-dm-user

ID ::= {id-ot 3}

- - Порты - -

id-pt-dfr

ID :: = {id-pt 0}

- - Классы объектов СПД - -

id-dfr-document

ID :: = {id-dfr-oc 0}

id-dfr-root-group

ID:: = {id-dfr-oc 1}

id-dfr-proper-group

ID :: = {id-dfr-oc 2}

id-dfr-reference

ID:: = {id-dfr-oc 3}

id-dfr-search-result-list

ID :: = {id-dfr-oc 4}

- - Идентификация базовых атрибутов СПД - -

id-dfr-basic-attributes

ID :: = {id-dfr-bas-att}

- - Типы атрибутов - -

id-att-dfr-upi

ID :: = {id-dfr-bas-att 0}

id-att-dfr-object-class

ID:: = {id-dfr-bas-att 1}

id-att- dfr-document-type

ID :: = {id-dfr-bas-att 2}

id-att-dfr-title

ID :: = {id-dfr-bas-att 3}

id-att-dfr-pathname

ID :: = {id-dfr-bas-att 4}

id-att-dfr-parent-identification

ID :: = {id-dfr-bas-att 5}

id-att-dfr-referent-deleted

ID :: = {id-dfr-bas-att 6}

id-att-dfг-membership-criteria

ID :: = {id-dfr-bas-att 7}

id-att-dfr-ordering

ID :: = {id-dfr-bas-att 8}

id-att-dfr-resource-limit

ID :: = {id-dfr-bas-att 9}

id-att-dfr-resource-used

ID :: = {id-dfr-bas-att 10}

id-att-dfr-number-Of-group-members

ID :: = {id-dfr-bas-att 11}

id-att-version-name

ID :: = {id-dfr-bas-att 12}

id-att-dfr-previous-versions

ID :: = {id-dfr-bas-att 13}

id-att-dfr-next-versions

ID :: = {id-dfr-bas-att 14}

id-att-dfr-version-root

ID :: = {id-dfr-bas-att 15}

id-att-dfr-external-location

ID :: = {id-dfr-bas-att 16}

id-att-user-reference

ID :: = {id-dfr-bas-att 17}

id-att-user-reference-to-other-objects

ID :: = {id-dfr-bas-att 18}

id-att-dfr-attributes-create-date-and-time

ID :: = {id-dfr-bas-att 19}

id-att-dfr-content-create-date-and-time

ID :: = {id-dfr-bas-att 20}

id-att-dfr-created-by

ID :: = {id-dfr-bas-att 21}

id-att-dfr-attributes-modify-date-and-time

ID :: = {id-dfr-bas-att 22}

id-att-dfr-content-modify-date-and-time

ID :: = {id-dfr-bas-att 23}

ia-att-dfr-attributes-modified-by

ID :: = {id-dfr-bas-att 24}

id-att-dfr-content-modified-by

ID :: = {id-dfr-bas-att 25}

id-att-document-date-and-time

ID :: = {id-dfr-bas-att 26}

id-att-dfr-reservation

ID :: = {id-dfr-bas-att 27}

id-att-dfr-reserved-by

ID :: = {id-dfr-bas-att 28}

id-att-dfr-access-list

ID :: = {id-dfr-bas-att 29}

id-att-valid-user-key

ID :: = {id-dfr-bas-att 30}

id-att-dfr-document-purge-date-and-time

ID :: = {id-dfr-bas-att 31}

- - Идентификация расширения атрибутов СПД - -

id-dfr-extension-attributes ID :: = {id-dfr-ext-att}

- - Типы атрибутов - -

id-att-other-titles

ID :: = {id-dfr-ext-att 0}

id-att-subject

ID :: = {id-dfr-ext-att 1}

id-att-document-type

ID :: = {id-dfr-ext-att 2}

id-att-document-architecture-class

ID :: = {id-dfr-ext-att 3}

id-att-keywords

ID :: = {id-dfr-ext-att 4}

id-att-creation-date-and-time

ID :: = {id-dfr-ext-att 5}

id-att-purge-date-and-time

ID :: = {id-dfr-ext-att 6}

id-att-revision-date-and-time

ID :: = {id-dfr-ext-att 7}

id-att-organizations

ID :: = {id-dfr-ext-att 8}

id-att-preparers

ID :: = {id-dfr-ext-att 9}

id-att-owners

ID :: = {id-dfr-ext-att 10}

id-att-authors

ID :: = {id-dfr-ext-att 11}

id-att-status

ID :: = {id-dfr-ext-att 12}

id-att-user-specific-codes

ID :: = {id-dfr-ext-att 13}

id-att-superseded-documents

ID :: = {id-dfr-ext-att 14}

id-att-number-of-pages

ID :: = {id-dfr-ext-att 15}

id-att-languages

ID :: = {id-dfr-ext-att 16}

- - Синтаксисы атрибутов - -

id-dfr-att-syn-int

ID :: = {id-dfr-att-syn 1}

id-dfr-att-syn-boll

ID :: = {id-dfr-att-syn 2}

id-dfr-att-syn-gen-time

ID :: = {id-dfr-att-syn 3}

id-dfr-att-syn-case-ign

ID :: = {id-dfr-att-syn 4}

id-dfr-att-syn-case-ign-list

ID :: = {id-dfr-att-syn 5}

END - - идентификаторов объектов СПД - -

ПРИЛОЖЕНИЕ С (обязательное). Формальное определение абстрактных услуг СПД

ПРИЛОЖЕНИЕ С
(обязательное)


DFRAbstractService {iso standard 10166 part-1 (1) modules (0) abstract-service (1)}

DEFINITIONS IMPLICIT TAGS ::=

BEGIN

- -ПРОЛОГ - -

- - Экспортируется все - -

IMPORTS

- - Макросы абстрактных услуг - -

ABSTRACT-BIND, ABSTRACT-ERROR, ABSTRACT-OPERATION, ABSTRACT-UNBIND, OBJECT, PORT

FROM AbstractServiceNotation {joint-iso-ccitt mhs-motis(6) asdc(2) modules(0) notation(1)}

- - Идентификаторы объектов - -

id-dfr-document, id-dfr-root-group, id-dfr-proper-group, id-dfr-reference, id-dfr-search-result-list, id-dfr-server, id-dfr-user, id-pt-dfr

FROM DFRObjectIdentifiers {isо standard 10166 part-1(1) modules(0) object-identifiers(0)}

- - Справочник BOC - -

Attribute, AttributeType, AttributeValue, AttributeValueAssertion, DistinguishedName, Filter, Filterltem

FROM InformationFramework {joint-iso-ccitt ds(5) modules(1) InformationFramework(1)}

- - Отличающая объект ссылка - -

DDR, Requested-Qos-level

FROM DOR-definition {joint-iso-ccitt dor(11) reference-definition(0)}

OdaApplicationCapabilities, ManipulationCapabilities, dtam-dm-port

FROM DTAM-DM-AbstractService

{ccitt recommendation t435 dm(1) modules(0) abstract-services(1)}


- - Идентификатор вызова - -

InvokeIDType

FROM Remote-Operations-APDUs {joint-iso-ccitt remote Operations(4) apdus(1)};

- - Абстрактные объекты СПД - -

dfr-server OBJECT

PORTS {dfr-port [S]}

: : = id-dfr-server


dfr-user OBJECT

PORTS {dfr-port [C]}

: : = id-dfr-user


- - Типы портов - -

Dfr PORT

CONSUMER INVOKES {

Create,

Delete,

Copy,

Move,

Read,

Modify,

List,

Search,

Reserve,

Abandon }


SUPPLIER INVOKES {}

: : = id-pt-dfr

- - Спецификация типов данных объектов СПД- -

DfrObjectClass : : = ENUMERATED {

dfr-document

(0),

dfr-root-group

(1),

dfr-proper-group

(2),

dfr-reference

(3),

dfr-search-result-list

(4) }


DfrEntry : : = SEQUENCE {

attributes

[0]

DfrEntryAttributes,

content

[1]

DfrObjectContent }


DfrEntryAttributes : : = SET OF Attributes

DfrObjectContent: : = CHOICE {

document-content

[0]

DfrDocumentContent,

root-group-content

[1]

DfrGroupContent,

proper-group-content

[2]

DfrGroupContent,

reference-content

[3]

DfrReferenceContent,

search-result-list-content

[4]

DfrSearchResultListContent }


DfrUniquePermanentIdentifier : : = OCTET STRING

DfrDocumentContent : : = EXTERNAL (WITH COMPONENTS {...,

direct-reference PRESENT,

indirect-reference ABSENT,

encoding (WITH COMPONENTS {,.:, аrbitrary ABSENT})})


DfrReferenceContent : : = DOR

(WITH COMPONENTS {

ae-identifier,

local-reference,

data-object-type (DfrObjectClassID (

id-dfr-document |

id-dfr-root-group |

id-dfr-proper-group |

id-dfr-search-result-list)),

quality-of-service,

token ABSENT })

DfrObjectClassID : : = OBJECT IDENTIFIER (

id-dfr-document |

id-dfr-root-group |

id-dfr-proper-group |

id-dfr-search-result-list)

DfrGroupContent : : = SEQUENCE OF DfrUniquePermanentIdentifier

DfrSearchResultListContent : : = CHOICE { empty NULL,

produced SEQUENCE {

start-date-and-time

[0]

GeneralizedTime,

end-date-and-time

[1]

GeneralizedTime,

object-list

[2]

DfrEntryList,

ordering

[3]

OrderingRule OPTIONAL,

search-domain

[4]

SearchDomain,

search-criteria

[5]

SearchCriteria}}


- - Абстрактное связывание - -

DfrBind : : = ABSTRACT-BIND

TO {dfr-port [S]}

BIND

ARGUMENT DfrBindArgument

RESULT DfrBindResult

BIND-ERROR DfrBindError


DfrBindArgument : : = SEQUENCE {

initiator-name

[0]

DistinguishedName,

credentials

[1]

Credentials,

retrieve-restrictions

[2]

Restrictions OPTIONAL,

- - по умолчанию ограничений нет - -

dfr-configuration-request

[3]

BOOLEAN DEFAULT FALSE,

bind-security

[4]

BindSecurity OPTIONAL,

priority

[5]

Priority DEFAULT medium,

dor-for-produce-operations

[6]

BOOLEAN DEFAULT TRUE,

dor-for-consume-operations

[7]

BOOLEAN DEFAULT TRUE,

protocol-version

[8]

INTEGER {

version-1 (1),

version-2 (2)} DEFAULT{1},

bilaterallnformation

[9]

SEQUENCE OF BilateralInformationEntry OPTIONAL,

dTAM-manipulation-capabilities

[10]

ManipulationCapabilities OPTIONAL,

dTAM-protocol-version

[11]

BITSTRING {version-1 (0)} DEFAULT{0}},

dfr-profile-selection

[12]

OBJECT IDENTIFIER OPTIONAL,

application-requirements

[13]

ApplicationRequirement OPTIONAL}


Credentials : : = CHOICE {

simple [0] Creds,

- - используется для начальной аутентификации - -

certified [1] PrivilegeAttributeCertificate}

- - используется, когда начальная аутентификация уже была осуществлена- -

- - внешним для сервера СПД образом - -


Creds : : = OCTET STRING

PrivilegeAttributeCertificate : : = EXTERNAL

Restrictions: : = SET {

allowed-document-types [0] SET OF OBJECT IDENTIFIER OPTIONAL,

- - по умолчанию ограничений нет - -

maximum-length [1] IDENTIFIER OPTIONAL }

- - по умолчанию ограничений нет - -


BindSecurity : : = EXTERNAL

BilateralInformationEntry : : = SEQUENCE {

serverName [0] ServerName,

information [1] EXTERNAL }


ServerName: : = DistinguishedName

DfrBindResult : : = SET {

authentication-attributes

[0]

SET OF AuthenticationAttribute,

constraints-supported

[1]

SET OF ConstraintsType OPTIONAL,

Dfr-document-types-supported

[2]

SET OF TypeAndAttribute OPTIONAL,

function-set-supported

[3]

FunctionSetType OPTIONAL,

maximum-length-supported

[4]

INTEGER OPTIONAL,

dor-for-produce-operations

[5]

BOOLEAN DEFAULT TRUE,

dor-for-consume-operations

[6]

BOOLEAN DEFAULT TRUE,

гОА-protocols-accessee

[7]

ROAProtocols OPTIONAL,

rOA-protocols-accessor

[8]

ROAProtocols OPTIONAL,

bilaterallnformation

[9]

SEQUENCE OF BilateralInformationEntry OPTIONAL,

server-selected-protocol-version

[10]

INTEGER {

version-1 (1),

version-2, (2)} OPTIONAL,

server-selected-dTAM-capabilities

[11]

SEQUENCE OF OdaApplicationCapabilities,

server-selected-dTAM-protocol-version

[12]

BITSTRING {

version-1 (1) } OPTIONAL }


AuthenticationAttribute : : = EXTERNAL

ConstraintsType : : = SEQUENCE {

name-constraint

[0]

NameConstraint,

version-constraint

[0]

VersionConstraint,

profile-supported

[2]

SEQUENCE OF OBJECT IDENTIFIER OPTIONAL }


NameConstraint : : = ENUMERATED {

no-name-constraint

(0),

local-unambiguity

(1),

global-unambiguity

(2) }


VersionConstraint : : = ENUMERATED {

no-version-constraint

(0),

version-unambiguity

(1),

version-not-supported

(2)}


TypeAndAttribute : : = SEQUENCE {

document-types

[0]

OBJECT IDENTIFIER,

attributes

[1]

SET OF AttributeType }


FunctionSetType : : = ENUMERATED {

flat-store

(1),

pre-defined-store

(2),

full-set

(3)}


ROAProtocol : : = SEQUENCE OF OBJECT IDENTIFIER

DfrBindError : : = CHOICE {

service-error

[0]

ServiceProblem,

security-error

[1]

SecurityProblem,

dtam-dm-error

[2]

ManipulationProblem }


ManipulationProbiem : : = SEQUENCE OF ManipulationCapabilities

DfrUnbind : : = ABSTRACT-UNBIND

FROM {dfr-port [S]}


- - общие типы данных для аргументов операций СПД - -

CommonArguments : : = SEQUENCE {

task-id

[26]

TaskId OPTIONAL,

reservation

[27]

Reservation OPTIONAL,

error-handling

[28]

ErrorHandlingMode DEFAULT all-or-nothing,

priority

[29]

Priority DEFAULT medium,

privileges

[30]

Privileges OPTIONAL }


TaskID : : = OCTET STRING

Reservation : : = SEQUENCE {

reservation-duration

[0]

GeneralizedTime OPTIONAL,

reservation-level

[1]

ReservationLevel,

reservation-status

[2]

ReservationStatus DEFAULT uncommitted,

reservation-referent

[3]

BOOLEAN DEFAULT FALSE }


ReservationLevel : : = ENUMERATED {

unreserved

(0),

exclusive-write

(1),

exclusive-access

(2),

read-only1

(3),

read-only2

(4) }


ReservationStatus : : = ENUMERATED {

uncommitted

(0),

committed

(1) }


ErrorHandlingMode : : = CHOICE {

all-or-nothing

[0]

NULL,

until-first-warning

[1]

NULL,

report-all-warnings

[2]

NULL,

report-n-warnings

[3]

INTEGER } - - Этот параметр применим только во - -

- - множественных абстрактных операциях, а именно List или Copy - -

- - для группы. - -

Warning : : = SEQUENCE {- - предупреждение никогда не должно возвращаться, если пользователь - -

- - СПД не имеет права доступа для чтения - -

entry

[0]

DfrEntryName,

access1

[1]

AccessProblem OPTIONAL,

- - cм. 8.3.3 - -

access2

[2]

ReferentAccessProblem OPTIONAL}

- - cм. 8.3.5 - -


Priority : : = ENUMERATED {

low

(0),

medium

(1),

high

(2) }


Privileges : : = SEQUENCE {

operation-рас

[0]

PrivilegeAttributeCertificate OPTIONAL,

proxy-рас

[1]

PrivilegeAttributeCertificate OPTIONAL }


DfrEntryName : : = CHOICE {

upi

[0]

DfrUniquePermanentIdentifier,

path-name

[1]

DfrPathName,

relative-path-name

[2]

SEQUENCE {

base

[0]

DfrUniquePermanentIdentifier,

path

[1]

DfrPathName}}


DfrPathName : : = SEQUENCE OF DfrTitle

DfrTitle : : = CharacterData

CharacterData : : = CHOICE {

GraphicString, T61String, PrintableString, GeneralString }


Common UpdateArguments : : = SEQUENCE {

object-class

[0]

DfrObjectClass OPTIONAL,

entry

[1]

CHOICE {local [1] DfrEntryName, external [2] DOR } OPTIONAL,

destination

[2]

DfrEntryName OPTIONAL,

- - родительской группы - -

position

[3]

GroupMemberPosition OPTIONAL,

- - в родительской группе - -

modifications

[4]

SEQUENCE OF EntryModifications OPTIONAL,

selection

[5]

EntryInformationSelection OPTIONAL,

reference-qos

[6]

Requested-Qos-level OPTIONAL }


CommonUpdateResult : : = SEQUENCE {

upi

[0]

DfrUniquePermanentIdentifier,

entry-information

[1]

Entrylnformation OPTIONAL,

warnings

[2]

SEQUENCE OF Warning DEFAULT {},

continuation

[3]

TaskId OPTIONAL,

reference-qos

[4]

Quality-of-Service OPTIONAL,

- - импортируется из ООС - -

referent-altered

[5]

ReferentStatus OPTIONAL }


ReferentStatus: : = ENUMERATED {

not-changed-since-produce

(0),

changed-since-produce

(1) }


GroupMemberPosition : : = CHOICE {

list

[0]

NULL,

first

[1]

NULL,

after

[2]

DfrEntryName,

before

[3]

DfrEntryName }


EntryModification : : = CHOICE {

put-attribute

[0]

Attribute,

remove-attribute

[1]

AttributeType,

copy-attribute-from

[2]

SEQUENCE {

source

[0]

SourceEntry,

attribute-selection

[1]

SET OF AttributeType OPTIONAL},

- - по умолчанию, все копируемые атрибуты - -

add-values

[3]

Attribute,

remove-values

[4]

Attribute,

add-values-from,

[5]

SEQUENCE {

source

[0]

SourceEntry,

attribute-selection

[1]

SET OF AttributeType OPTIONAL},

- - по умолчанию, все многозначные атрибуты - -

put-content

[6]

DfrObjectContent,

remove-content

[7]

NULL,

copy-content-from

[8]

SourceEntry }


SourceEntry : : = CHOICE {

parent

[0]

NULL,

referent

[1]

NULL,

- - только для ссылки СПД - -

previous-version

[2]

NULL,

- - только для единственной предшествующей версии - -

specified-entry

[3]

DfrEntryName,

dor

[4]

Dor }


EntryInformationSelection : : = SEQUENCE {

read-selector [0] ENUMERATED {

attributes-only

(0),

attributes-and-content

(1),

content-only

(2),

dor-to-attr-only

(3),

attr-and-dor-to-content

(4),

dor-to-content-only

(5),

dor-to-entire-object

(6),

attr-and-dor-to-entire-object

(7),

attributes-and-part-of-content

(8),

part-of-content-only

(9)}

DEFAULT attributes-only,

attribute-selection [1] AttributeSelection OPTIONAL,

content-selection [2] SEQUENCE {

content-server-id DistinguishedName,

content-selection-parameter EXTERNAL } OPTIONAL }

AttributeSelection : : = CHOICE {

all

[0]

NULL,

none

[1]

NULL,

unordered

[2]

SET OF AttributeType,

- - когда порядок передачи несущественен - -

ordered

[3]

SEQUENCE OF AttributeType,

- - для задания не только необходимых атрибутов, но и порядка, в котором они - -

- - должны быть переданы - -

minimum

[4]

NULL }

- - неявный выбор атрибутов УНИ и класс объекта СПД - -


Entrylnformation : : = CHOICE {

attributes-only

[0]

DfrEntryAttributes,

attributes-and-content

[1]

DfrObject,

content-only

[2]

DfrObjectContent,

dor-to-attr-only

[3]

DOR,

attr-and-dor-to-content

[4]

SEQUENCE {

attributes

[0]

DfrEntryAttributes,

dor-to-content

[1]

DOR },

dor-to-content-only

[5]

DOR,

dor-to-entire-object

[6]

DOR,

attr-and-dor-to-entire-object

[7]

SEQUENCE {

attributes

[0]

DfrEntryAttributes,

dor-to-entire-object

[1]

DOR },

attributes-and-part-of-content

[8]

DfrObject,

- - Сервер СПД извлекает часть содержимого СПД в соответствие с content-selection, - -

- - а затем создает DfrObject, содержащий только выбранную часть содержимого. - -

part-of-content-only

[9]

DfrObjectContent

- - Сервер СПД извлекает часть содержимого СПД в соответствии с content-selection, - -

- - а затем создает DfrObjectContent, содержащий только выбранную часть содержимого. - -

}


CommonListSearchArguments : : = SEQUENCE {

continue

[1]

BOOLEAN DEFAULT FALSE,

limits

[2]

Limits OPTIONAL,

selection

[3]

AttributeSelection OPTIONAL,

ordering

[4]

OrderingRule OPTIONAL }


CommonListSearchResult : : = SEQUENCE {

number-of-entries

[0]

INTEGER,

limit-encountered

[1]

LimitEncountered OPTIONAL,

entry-list

[2]

DfrEntryList,

warnings

[3]

SEQUENCE OF Warning DEFAULT {},

continuation

[4]

TaskId OPTIONAL }


Limits : : = SEQUENCE {

time-limit

[0]

INTEGER OPTIONAL,

count-limit

[1]

INTEGER OPTIONAL }

count-limit

[1]

INTEGER OPTIONAL }


LimitEncountered : : = ENUMERATED {

time-limit

(0),

count-limit

(1),

length-exceeded

(2)} - -превышена максимальная длина, заданная при связывании - -


DfrEntryList : : = SEQUENCE OF SEQUENCE {

upi

[0]

DfrUniquePermanentldentifier,

class

[1]

DfrObjectClass,

ordering-attribute

[2]

SEQUENCE OF Attribute OPTIONAL,

- - упорядочить, как задано в OrderingRule - -

other-attributes

[3]

SEQUENCE OF Attribute OPTIONAL}


Ordering : : = SET {

list-attributes

[0]

BOOLEAN DEFAULT FALSE,

ordering-attributes

[1]

OrderingAttributes }


OrderingAttributes : : = SEQUENCE OF SEQUENCE {

attribute

[0]

AttributeType,

direction

[1]

Direction }


Direction : : = ENUMERATED {

ascending

(0),

descending

(1) }


SearchDomain : : = SEQUENCE OF CHOICE {

previous-result

[0]

DfrEntryName,

- - задается как запись класса "DFR-Search-Result-List" - -

scope

[1]

SEQUENCE {

root

[0]

DfrEntryName,

descent-depth

[1]

INTEGER OPTIONAL,

- - умолчание обозначает все дерево - -

dereferencing-depth

[2]

INTEGER DEFAULT {0}}}

- - умолчание обозначает отсутствие переадресации - -


SearchCriteria : : = Filter

- - Абстрактные операции - -

Create : : = ABSTRACT-OPERATION

ARGUMENT CreateArgument

RESULT CreateResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

InterServerAccessError,

NameError,

ReferentAccessError,

SecurityError,

ServiceError,

UpdateError,

VersionManagementError }

CreateArgument : : = SEQUENCE {

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS {...,

object-class PRESENT, entry ABSENT,

destination PRESENT, reference-qos ABSENT}),

attributes [7] SET OF Attributes OPTIONAL,

content [8] DfrObjectContent OPTIONAL,


COMPONENTS OF CommonArguments (WITH COMPONENTS {..., error-handling ABSENT })}

CreateResult : : = CommonUpdateResult (WITH COMPONENTS {...,

warnings ABSENT, reference-qos ABSENT })


Delete : : = ABSTRACT-OPERATION

ARGUMENT

DeleteArgument

RESULT

DeleteResult

ERRORS {

Abandoned,

AccessError,

NameError,

SecurityError,

ServiceError,

UpdateError }

DeleteArgument : : = SEQUENCE {

entry [0] DfrEntryName,

COMPONENTS OF CommonArguments (WITH COMPONENTS {...,

reservation ABSENT, error-handling ABSENT})}

DeleteResult : : = NULL

Copy : : = ABSTRACT-OPERATION

ARGUMENT CopyArgument

RESULT CopyResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

InterServerAccessError,

NameError,

ReferentAccessError,

SecurityError,

ServiceError,

UpdateError,

VersionManagementError }

CopyArgument : : = SEQUENCE {

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS {...,

entry PRESENT,

destination PRESENT, reference-qos ABSENT }),

COMPONENTS OF CommonArguments }

CopyResult : : = CommonUpdateResult (WITH COMPONENTS {..., reference-qos ABSENT })

Move : := ABSTRACT-OPERATION

ARGUMENT MoveArgument

RESULT MoveResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

InterServerAccessError,

NameError,

ReferentAccessError,

ReservationError,

SecurityError,

ServiceError,

UpdateError

VersionManagementError }

NoveArgument : : = SEQUENCE {

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS {...,

entry PRESENT,

destination PRESENT, reference-qos ABSENT }),

COMPONENTS OF CommonArguments (WITH COMPONENTS {..., error-handling ABSENT })}

MoveResult : : = CommonUpdateResult (WITH COMPONENTS {..., warnings ABSENT, reference-qos ABSENT })

Read : : = ABSTRACT-OPERATION

ARGUMENT ReadArgument

RESULT ReadResult

ERRORS {

Abandoned,

AccessError,

ExternalServerError,

InterServerAccessError,

NameError,

ReferentAccessError,

ReservationError,

SecurityError,

ServiceError }

ReadArgument : := SEQUENCE {

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS

(entry PRESENT, selection PRESENT }),

dereferencing

[7]

BOOLEAN DEFAULT FALSE,

token

[8]

Token OPTIONAL, - - берется из ООС - -


COMPONENTS OF CommonArguments (WITH COMPONENTS {..., error-handling ABSENT })}

ReadResult : : = CommonUpdateResult

(WITH COMPONENTS {..., entry-information PRESENT, warnings ABSENT})

Modify : : = ABSTRACT-OPERATION

ARGUMENT ModifyArgument

RESULT ModifyResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

InterServerAccessError,

NameError,

ReferentAccessError,

ReservationError,

SecurityError,

ServiceError,

UpdateError,

VersionManagementError }

ModifyArgument : : = SEQUENCE {

COMPONENTS OF

CommonUpdateArguments (WITH COMPONENTS {...,

entry PRESENT, destination ABSENT, position ABSENT,

modification PRESENT, reference-qos ABSENT }),

COMPONENTS OF CommonArguments (WITH COMPONENTS {..., error-handling ABSENT })}

ModifyResult : : = CommonUpdateResult (WITH COMPONENTS {..., warnings ABSENT, reference-qos ABSENT })

List : : = ABSTRACT-OPERATION

ARGUMENT

ListArgument

RESULT

ListResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

NameError,

ReservationError,

SecurityError,

ServiceError }

ListArgument : : = SEQUENCE {

entry [0] DfrEntryName,

COMPONENTS OF

CommonListSearchArguments (WITH COMPONENTS {..., selection PRESENT }),

COMPONENTS OF CommonArguments }

ListResult : : = SEQUENCE {

COMPONENTS OF

CommonListSearchArguments,

start-date-and-time

[5]

GeneralizedTime OPTIONAL,

end-date-and-time

[6]

GeneralizedTime OPTIONAL,

ordering

[7]

OrderingRule OPTIONAL,

search-domain

[8]

SearchDomain OPTIONAL,

search-criteria

[9]

SearchCriteria OPTIONAL}

Search : : = ABSTRACT-OPERATION

ARGUMENT SearchArgument

RESULT SearchResult

ERRORS {

Abandoned,

AccessError,

AttributeError,

ExternalServerError,

NameError,

ReservationError,

SecurityError,

ServiceError,

UpdateError }

SearchArgument : : = SEQUENCE {

search-mode

[0]

CHOICE {

continue

[0]

DfrEntryName,

- - Продолжить поиск со всеми опциями (область поиска, критерий поиска, контекст - -

- - продолжения) из списка результатов поиска, заданного DfrEntryName. Результат - -

- - должен быть добавлен к имеющемуся содержимому списка результатов поиска. - -

update [1] DfrEntryName,

- - Имеющееся содержимое списка результатов поиска проверяется и, возможно, - -

- - обновляется. - -

new-search-stored [2] DfrEntryName,

- - Все опции поставляются запрашивающим в последующих параметрах; они - -

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

- - поиска. - -

non-stored-search [3] NULL},

- - Все опции поставляются запрашивающим в последующих параметрах; они не - -

- - сохраняются, как и результаты поиска, а только возвращаются запрашивавшему. - -


COMPONENTS Of CommonListSearchArguments,

search-domain

[5]

SearchDomain OPTIONAL,

search-criteria

[6]

SearchCriteria OPTIONAL,

search-server

[7]

SEQUENCE {

server-id

DistinguishedName,

server-parameter

EXTERNAL } OPTIONAL,

search-limit

[8]

SEQUENCE {

small-set-upper-limit

[0]

INTEGER,

large-set-lower-limit

[1]

INTEGER,

medium-set-attributes

[2]

SET OF

AttributeType OPTIONAL } OPTIONAL,

COMPONENTS OF CommonArguments (

WITH COMPONENTS {...,

error-handling ABSENT})}

SearchResult : : = SEQUENCE {

COMPONENTS OF CommonListSearchResult,

WITH COMPONENTS {..., warnings ABSENT }),

removed-entries

[5]

DfrEntryList OPTIONAL,

number-of-hits

[6]

ENUMERATED {

within-small-set

(0),

within-medium-set

(1) }

OPTIONAL,

additional-information

[7]

SEQUENCE OF AdditionalInformationEntry OPTIONAL }


AdditionalInformationEntry : : = SEQUENCE {

server-name

[0]

DistinguishedName,

information

[1]

EXTERNAL }


Reserve : : = ABSTRACT-OPERATION

ARGUMENT

ReserveArgument

RESULT

ReserveResult

ERRORS {

Abandoned,

Name Error,

ReservationError,

SecurityError,

ServiceError }

ReserveArgument : : = SEQUENCE {

entry

[0]

DfrEntryName,

COMPONENTS OF CommonArguments (WITH COMPONENTS {..., reservation ABSENT,

error-handling ABSENT })}


ReserveResult : : = NULL

Abandon : : = ABSTRACT-OPERATION

ARGUMENT

AbandonArgument

RESULT

AbandonResult

ERRORS

{AbandonFailed}


AbandonArgument : : = CHOICE {

task-id

[0]

TaskId,

invoke-id

[1]

InvokeIdType }


AbandonResult : : = NULL

- - Абстрактные ошибки - -

AttributeError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry

[0]

DfrEntryName OPTIONAL,

problems

[1]

SEQUENCE OF

SEQUENCE {

problem

[0]

AttributeProblem,

type

[1]

AttributeType,

value

[2]

AttributeValue, OPTIONAL }}


- - применяется также для критерия поиска и критерия членства в группе - -

AttributeProblem : : = ENUMERATED {

no-such-attribute

(1),

invalid-attribute-syntax

(2),

undefined-attribute-type

(3),

inappropriate-matching

(4),

constraint-violation

(5),

attribute-or-value-already-exists

(6),

illegal-modification

(7),

inconsistent-with-other-attributes

(8),

underfined-for-this-object-class

(9),

unsupported-document-type

(10) }


NameError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE OF SEQUENCE {

entry

[0]

DfrEntryName,

problem

[1]

NameProblem }


NameProblem : : = ENUMERATED {

invalid-upi

(1).

invalid-path-name

(2),

ambiguous-path-name

(3),

inappropriate-object-class

(4) }


AccessError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE OF SEQUENCE {

entry

[0]

DfrEntryName,

problem

[1]

AccessProblem }


AccessProblem : : = ENUMERATED {

inappropriate-object-class

(1),

reserved-by-a-user

(2),

externally-located-object

(3) }


UpdateError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry

[0]

DfrEntryName,

problem

[1]

UpdateProblem }


UpdateProblem : : = ENUMERATED {

inappropriate-object-class

(1),

insufficient-access-rights

(2),

reserved-by-a-user

(3),

illegal-content-modification

(4),

group-membership-criteria-violation

(5),

reference-loop-detected

(6) }


ReferentAccessError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry [0] CHOICE { dfr-entry [0] DfrEntryName,

dor [1] NULL }

problem [1] ReferentAccessProblem }


ReferentAccessProblem : : = ENUMERATED {

inappropriate-object-class

(1),

insufficient-access-rights

(2),

reserved-by-a-user

(3),

referent-no-longer-exists

(4),

referent-modified

(5), - - используется только в случае копирования или - -

- - перечисления группы СПД и только если должны выдаваться предупреждения, т.е. - -

- - referent-modified не прерывает операцию - -

reference-content-empty (6) }


InterServerAccessError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry

[0]

DfrEntryName, - - ссылки - -

problem

[1]

InterServerAccessProblem }


InterServerAccessProblem : : = ENUMERATED {

referent-store-not-found

(1),

- - ошибочная идентификация хранилища - -

referent-store-unreachable

(2),

- -нет порта для его достижения - -

referent-store-unavailable

(3),

- - временно - -

referent-store-security-problem

(4) }

- - права доступа - -


ReservationError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry

[0]

DfrEntryName,

problem

[1]

ReservationProblem }


ReservationProblem : : = ENUMERATED {

cannot-reserve

(0),

already-reserved

(1),

not-yet-reserved

(2),

cannot-unreserve

(3),

reservation-not-changed

(4) }


VersionManagementError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

entry [0] DfrEntryName,

- - самой записи или ее потенциальной предшествующей версии - -

problem [11] VersionManagementProblem }


VersionManagement Problem : : = ENUMERATED {

inappropriate-object-class

(1), - - не документ СПД - -

belongs-to-another-conceptual-document

(2)}


SecurityError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

problem

[0]

SecurityProblem }


SecurityProblem : : = ENUMERATED {

inappropriate-authentication

(1),

invalid-creds

(2),

invalid-privilege

(3),

invalid-рас

(4),

already-active

(5) }


ServiceError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

problem

[0]

ServiceProblem


ServiceProblem : : = ENUMERATED {

server-busy

(1),

- - пожалуйста, подождите и повторите - -

server-unavailable

(2),

- - пожалуйста, развяжитесь - -

operation-too-complex

(3),

- - например, критерий поиска - -

resource-limit-exceeded

(4),

- - например, при создании крупного объекта - -

maximum-length-exceeded

(5),

- - в абстрактной операции - -

cannot-continue

(6),

- - например, изменена область поиска - -

unclassified-server-error

(7),

- - зависит от реализации - -

function-set-violation

(8),

- - см. 8.4 - -

too-many-search-hits

(9),

- - число попаданий превысило large-set-lower-limit - -

profile-mismatch

(10),

application-requirements-mismatch

(11) }


AbandonFailed : : = ABSTRACT-ERROR

PARAMETER SET {

problem

[0]

AbandonProblem,

operation

[1]

Invokeld }


InvokeID : : = INTEGER

AbandonProblem : : = ENUMERATED {

no-such-operation

(1),

too-late

(2),

cannot-abandon

(3)}


Abandoned : : = ABSTRACT-ERROR

ExternalServerError : : = ABSTRACT-ERROR

PARAMETER SEQUENCE {

server-id DistinguishedName,

server-specific-error EXTERNAL }


END - - абстрактных услуг СПД - -

ПРИЛОЖЕНИЕ D (обязательное). Формальное определение базового набора атрибутов СПД

ПРИЛОЖЕНИЕ D
(обязательное)


В настоящем приложении, дополняющем раздел 9, формально определены типы атрибутов базового набора атрибутов СПД и относящиеся к ним синтаксисы. Использовалась АСН.1 и макросы ATTRIBUTE и ATTRIBUTE-SYNTAX.

DFRBasicAttributes {iso standard 10166 part-1 (1) modules (0) basic-attributes (2)}

DEFINITIONS : : = BEGIN

- - ПРОЛОГ - -

- - Экспортируется все - -

IMPORTS

- - Идентификаторы объектов СПД - -

id-att-dfr-upe, id-att-dfr-object-class, id-att-dfr-document-type,

id-att-dfr-title, id-att-dfr-pathname,

id-att-dfr-parent-identification, id-att-dfr-referent-deleted,

id-att-dfr-membership-criteria, id-att-dfr-ordering,

id-att-dfr-resource-limit, id-att-dfr-resource-used,

id-att-dfr-number-of-group-members, id-att-version-name,

id-att-dfr-previous-versions, id-att-dfr-next-versions,

id-att-dfr-version-root, id-att-dfr-external-location,

id-att-user-reference, id-att-user-reference-to-other-objects,

id-att-dfr-attributes-create-date-and-time,

id-att-dfr-content-create-date-and-time,

id-att-dfr-created-by, id-att-dfr-attributes-modify-date-and-time,

id-att-dfr-content-modify-date-and-time,

id-att-dfr-attributes-modified-by, id-att-dfr-content-modified-by,

id-att-document-date-and-time, id-att-dfr-reservation,

id-att-dfr-reserved-by, id-att-dfr-access-list, d-dfr-att-syn-int,

id-dfr-att-syn-bool, id-dfr-att-syn-gen-time,

id-dfr-att-syn-case-ign, id-dfr-att-syn-case-ign-list

FROM DFRObjectIdentifiers { iso standard 10166 part-1 (1) modules (0) object-identifiers (0) }

- - Макросы - -

ATTRIBUTE, ATTRIBUTE-SYNTAX, DistinguishedName

FROM InformationFramework {joint-iso-ccitt ds (5) modules (1) informationFramework (1) }

- - Типы данных из абстрактных услуг СПД - -

DfrUniquePermanentIdentifier, DfrObjectClass, DfrPathName,

CharacterData, OrderingRule, Filter, Reservation

FROM DFRAbstractService { iso standard 10166 part-1 (1) modules (0) abstract-service (1) };

- - Базовый набор атрибутов СПД - -

dfr-upi ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentIdentifier

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-upi


dfr-object-class ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrObjectClass

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-object-class


dfr-document-type ATTRIBUTE

WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-document-type


dfr-title ATTRIBUTE

WITH ATTRIBUTE-SYNTAX case IgnoreStringSyntax

SINGLE VALUE

: : = id-att-dfr-title


dfr-pathname ATTRIBUTE

WITH ATTRIBUTE-SYNTAX case IgnoreListSyntax

SINGLE VALUE

: : = id-att-dfr-pathname


dfr-parent-identification ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentIdentifier

SINGLE VALUE

: : = id-att-dfr-parent-identification


dfr-referent-deleted ATTRIBUTE

WITH ATTRIBUTE-SYNTAX booleanSyntax

SINGLE VALUE

: : = id-att-dfr-referent-deleted


dfr-membership-criteria ATTRIBUTE

WITH ATTRIBUTE-SYNTAX FiIter

SINGLE VALUE

: : = id-att-dfr-membership-criteria


dfr-ordering ATTRIBUTE

WITH ATTRIBUTE-SYNTAX OrderingRule

SINGLE VALUE

: : = id-att-dfr-ordering


dfr-resource-limit ATTRIBUTE

WITH ATTRIBUTE-SYNTAX integerSyntax

SINGLE VALUE

: : = id-att-dfr-resource-limit


dfr-resource-used ATTRIBUTE

WITH ATTRIBUTE-SYNTAX integerSyntax

SINGLE VALUE

: : = id-att-dfr-resource-used


dfr-number-of-group-members ATTRIBUTE

WITH ATTRIBUTE-SYNTAX integerSyntax

SINGLE VALUE

: : = id-att-dfr-number-of-group-members


version-name ATTRIBUTE

WITH ATTRIBUTE-SYNTAX case IgnoreStringSyntax

SINGLE VALUE

: : = id-att-version-name


dfr-previous-versions ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentIdentifier

MATCHES FOR EQUALITY

MULTI VALUE

: : = id-att-dfr-previous-versions


dfr-next-versions ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentIdentifier

MATCHES FOR EQUALITY

MULTI VALUE

: : = id-att-dfr-next-versions


dfr-version-root ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrUniquePermanentldentifier

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-version-root


dir-external-location ATTRIBUTE

WITH ATTRIBUTE SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-dfr-external-location


user-reference ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-user-reference


user-reference-to-other-objects ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-user-reference-to-other-objects


dfr-attributes-create-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-dfr-attributes-create-date-and-time


dfr-content-create-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-dfr-content-create-date-and-time


dfr-created-by ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DistinguishedName

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-created-by


dfr-attributes-modify-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-dfr-attributes-modify-date-and-time


dfr-content-modify-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-dfr-content-modify-date-and-time


dfr-attributes-modified-by ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DistinguishedName

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-attributes-modified-by


dfr-content-modified-by ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DistinguishedName

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-content-modified-by


document-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-document-date-and-time


dfr-reservation ATTRIBUTE

WITH ATTRIBUTE-SYNTAX Reservation

MATCHES FOR EQUALITY ORDERING

SINGLE VALUE

: : = id-att-dfr-reservation


dfr-reserved-by ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DistinguishedName

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-reserved-by


dfr-access-list ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrAccesslistElement

MATCHES FOR EQUALITY

MULTI VALUE

: : = id-att-dfr-access-list


valid-user-key ATTRIBUTE

WITH ATTRIBUTE-SYNTAX ValidUserKey

SINGLE VALUE

: : = id-att-dfr-valid-user-key


dfr-document-purge-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DfrPurgeRequest

MATCHES FOR EQUALITY

SINGLE VALUE

: : = id-att-dfr-document-purge-date-and-time


- - Синтаксисы атрибутов - -

DfrAccessListElement : : = SEQUENCE {

access-id Accessld,

access-rights AccessRights }


AccesslD : : = DistinguishedName

AccessRights : : = ENUMERATED {

read

(0),

extended-read

(1),

read-modify

(2),

read-modify-delete

(3),

owner

(4) }


ValidUserKey : : = SEQUENCE OF SEQUENCE {

document-type

OBJECT IDENTIFIER

user-key-list

UserKeyList }


UserKeyList : : = SEQUENCE OF SET {

user-key-id

[0]

OBJECT IDENTIFIER,

user-key-name

[1]

CharacterData OPTIONAL,

user-key-syntax

[2]

OBJECT IDENTIFIER,

user-key-multy-valued

[3]

BOOLEAN OPTIONAL,

user-key-matching-rule

[4]

BIT STRING OPTIONAL,

user-key-comment

[5]

CharacterData OPTIONAL }


DfrPurgeRequest : : = SEQUENCE {

access-id Accessld,

purge-time GeneralizedTime }


integerSyntax ATTRIBUTE-SYNTAX - - как в ГОСТ Р ИСО/МЭК 9594 - -

INTEGER

MATCHES FOR EQUALITY ORDERING

: : = { id-dfr-att-syn 1 }


booleanSyntax ATTRIBUTE-SYNTAX - - как в ГОСТ Р ИСО/МЭК 9594 - -

BOOLEAN

MATCHES FOR EQUALITY

: : = { id-dfr-att-syn 2 }


generalizedTimeSyntax ATTRIBUTE-SYNTAX - - как в ГОСТ Р ИСО/МЭК 9594 - -

GeneralizedTime

MATCHES FOR EQUALITY ORDERING

: : = { id-dfr-att-syn 3 }


case IgnoreStringSyntax ATTRIBUTE-SYNTAX - - определение см. в 8.1.4 - -

CharacterData

MATCHES FOR EQUALITY SUBSTRINGS

: : = { id-dfr-att-syn 4 }


case IgnoreListSyntax ATTRIBUTE-SYNTAX - -определение см. в 8.1.4 - -

SEQUENCE OF

CharacterData

MATCHES FOR EQUALITY SUBSTRINGS

: : = { id-dfr-att-syn 5 }


END - - базового набора атрибутов СПД - -

ПРИЛОЖЕНИЕ Е (обязательное). Формальное определение расширения набора атрибутов СПД

ПРИЛОЖЕНИЕ Е
(обязательное)


В настоящем приложении, дополняющем раздел 9, формально определены типы атрибутов расширения набора атрибутов СПД и относящиеся к ним синтаксисы. Использовалась АСН.1 и макросы ATTRIBUTE и ATTRIBUTE-SYNTAX.

DFRExtensionAttributes{iso standard 10166 part-1 (1) modules (0) extension-attributes (3)}

DEFINITIONS : : = BEGIN

- - ПРОЛОГ - -

- - Экспортируется все - -

IMPORTS

generalizedTimeSyntax, integerSyntax, case IgnoreStringSyntax

FROM DFRBasicAttributes {iso standard 10166 part-1 (1) modules (0) basic-attributes (2)}

- - Идентификаторы объектов СПД - -

id-att-other-titles, id-att-subject, id-att-document-type,

id-att-document-architecture-class, id-att-keywords,

id-att-creation-date-and-time, id-att-purge-date-and-time,

id-att-revision-date-and-time, id-att-organizations, id-att-preparers,

id-att-owners, id-att-authors, id-att-status, id-att-user-specific-codes,

id-att-superseded-documents, id-att-number-of-pages, id-att-languages

FROM DFRObjectIdentifiers {iso standard 10166 part-1 (1) modules (0) object-identifiers (0)}

- - Макросы - -

ATTRIBUTE, ATTRIBUTE-SYNTAX

FROM InformationFramework {joint-iso-ccitt ds (5) modules (1) informationFramework (1)};

- - Расширение набора атрибутов СПД - -

other-titles ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-other-titles


subiectATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-subject


document-type ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-document-type


document-architecture-class ATTRIBUTE

WITH ATTRIBUTE-SYNTAX DocumentArchitectureClass

MATCHES FOR EQUALITY ORDERING

SINGLE VALUE

: : = id-att-document-architecture-class


keywords ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-keywords


creation-date-and-time ATTRIBUTE

WITH ATTRlBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-creation-date-and-time


purge-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-purge-date-and-time


revision-date-and-time ATTRIBUTE

WITH ATTRIBUTE-SYNTAX generalizedTimeSyntax

SINGLE VALUE

: : = id-att-revision-date-and-time


organizations ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-organizations


preparers ATTRIBUTE

WITH ATTRIBUTE-SYNTAX Person

MATCHES FOR EQUALITY SUBSTRINGS

MULTI VALUE

: : = id-att-preparers


owners ATTRIBUTE

WITH ATTRIBUTE-SYNTAX Person

MATCHES FOR EQUALITY SUBSTRINGS

MULTI VALUE

: : =id-att-owners


authors ATTRIBUTE

WITH ATTRIBUTE-SYNTAX Person

MATCHES FOR EQUALITY SUBSTRINGS

MULTI VALUE

: : = id-att-authors


status ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

SINGLE VALUE

: : = id-att-status


user-specific-codes ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-user-specific-codes


superseded-documents ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-superseded-documerits


number-of-pages ATTRIBUTE

WITH ATTRIBUTE-SYNTAX integerSyntax

MATCHES FOR EQUALITY ORDERING

SINGLE VALUE

: : = id-att-number-of-pages


languages ATTRIBUTE

WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax

MULTI VALUE

: : = id-att-languages


- - Синтаксисы атрибутов - -

DocumentArchitectureClass : : = INTEGER - - как в ГОСТ ИCO/MЭК 8613-5 - -

formatted

(0),

processable

(1),

formatted-processable

(2)}


Person : := SEQUENCE {

surname

[0]

CharacterData OPTIONAL,

givenname

[1]

CharacterData OPTIONAL,

initials

[2]

CharacterData OPTIONAL,

title

[3]

CharacterData OPTIONAL,

organization

[4]

CharacterData OPTIONAL }


END - - расширения набора атрибутов СПД - -

ПРИЛОЖЕНИЕ F (справочное). Разъяснение понятий атрибуты и фильтры

ПРИЛОЖЕНИЕ F
(справочное)


В настоящем приложении, дополняющем 6.3.7, дано краткое разъяснение понятий атрибутов и фильтров. Их полные определения приведены в ИСО/МЭК 9594-2.

F.1 Атрибуты

Атрибут состоит из типа атрибута, который идентифицирует класс информации, содержащейся в атрибуте, и соответствующее(ие) значение(ия) атрибута, которое(ые) является(ются) конкретным(и) экземпляром(ами) этого класса в записи (см. рисунок F.1).

Рисунок F.1 - Структура атрибута


Рисунок F.1 - Структура атрибута



Примечание - Таким образом, например, в атрибуте документа СПД тип атрибута может быть идентификатором объекта атрибута "тип документа СПД", а значение атрибута - идентификатором объекта для "ODA".


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

F.2 Тип атрибута

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

Типы атрибутов, определенные в настоящем стандарте, приведены в разделе 9.

F.3 Значения атрибутов

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

F.4 Определение типа атрибута

Определение типа атрибута включает в себя:

а) присвоение идентификатора объекта типу атрибута;

б) указание или определение синтаксиса атрибута для типа атрибута;

в) указание, может ли атрибут этого типа иметь единственное значение или несколько значений.

Примечание - Фильтр всегда может проверять наличие или отсутствие атрибута конкретного типа.


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

F.5 Определение синтаксиса атрибута

Определение синтаксиса атрибута включает в себя:

а) факультативно - присвоение идентификатора объекта синтаксису атрибута;

б) указание в АСН.1 типа данных синтаксиса атрибута;

в) определение соответствующих правил согласования предоставленного значения с целевым значением атрибута. Для конкретного синтаксиса атрибута могут быть определены некоторые, все или ни одного из следующих правил согласования:

i) равенство; применимо к любому синтаксису атрибутов; предоставленное значение должно соответствовать типу данных синтаксиса атрибута;

ii) подстрока; применимо к любому синтаксису атрибутов со строковым типом данных; предоставленное значение должно быть последовательностью ('SEQUENCE OF'), каждый элемент которой соответствует типу данных;

iii) упорядочение; применимо к любому синтаксису атрибута, для которого может быть определено правило, позволяющее описать предоставленное значение как "меньше, чем", "равно" или "больше, чем" целевое значение; предоставленное значение должно соответствовать типу данных синтаксиса атрибута.

Если не определено правило согласования на равенство, то для этого типа атрибута сервер СПД не будет пытаться согласовать предоставленные значения с целевыми.

Если правило согласования на равенство определено, то сервер СПД:

а) трактует значения атрибутов с этим синтаксисом как имеющие тип ANY DEFINED BY с типом данным, указанным для синтаксиса атрибута;

б) будет согласовывать значения только в соответствии с правилами согласования, определенными для этого синтаксиса атрибутов;

в) будет согласовывать предоставленное значение только подходящего типа данных.

F.6 Фильтры

Параметр Filter применяется для проверки, чему удовлетворяет или не удовлетворяет конкретная запись СПД. Параметр Filter выражается в терминах утверждений о присутствии или значениях некоторых атрибутов в записи СПД и удовлетворяется только в том случае, если его вычисление дает значение TRUE.

Примечание - Значение параметра Filter может быть равно TRUE, FALSE или быть неопределенным.

F.7 Утверждение значения атрибута

Утверждение значение атрибута (AttributeValueAssertion) является утверждением, которое может быть истинным, ложным или неопределенным в зависимости от значений записи СПД. Оно содержит типы и значения атрибутов.

ПРИЛОЖЕНИЕ G (справочное). Совместное использование СПД и ПУД-УД

ПРИЛОЖЕНИЕ G
(справочное)


Конфигурация для совместного использования СПД и ПУД-УД образуется системами клиента и сервера. Пользователь услуги использует как услуги клиента СПД, так и услуги клиента ПУД-УД, а сервер предоставляет как услуги СПД, так и услуги ПУД-УД.

Для совместного использования СПД и ПУД-УД применяются следующие процедуры.

G.1 Установление ассоциации

Пользователь создает ассоциацию СПД/ПУД-УД с сервером путем операции связывания СПД. Могут использоваться и согласовываться во время установления ассоциации подмножества операций СПД и ПУД-УД. Эти подмножества могут основываться на международных стандартах, рекомендациях МСЭ-Т или двусторонних соглашениях.

G.2 Сохранение и получение документа

После установления ассоциации пользователь может осуществлять любые абстрактные операции СПД, например, просматривать, получать, управлять или удалять документы в хранилище документов.

G.3 Обработка документов

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

После идентификации документа пользователь может удаленным образом обрабатывать документ, используя соответствующие операции ПУД-УД.

После обработки документ закрывается.

G.4 Завершение ассоциации

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

На рисунке G.1 показан пример совместного использования услуг СПД и ПУД-УД. В этом примере пользователь читает только часть документа.

Рисунок G.1 - Основные процедуры для совместного использования СПД и ПУД-УД


Рисунок G.1 - Основные процедуры для совместного использования СПД и ПУД-УД



Текст документа сверен по:
официальное издание
М.: ИПК Издательство стандартов, 2002