Модель для CDMI показана на рисунке 4
Рисунок 4 - Модель объекта CDMI
В таблице 3 перечислены пять типов ресурсов. Содержание каждой конкретной операции зависит от типа ресурса.
Таблица 3 - Типы ресурсов в модели
Тип ресурса | Описание | Ссылка |
Объекты данных | Объекты данных служат для хранения значений и предоставляют функциональность аналогичную файлам в файловой системе. | См. раздел. 8 |
Объекты-контейнеры | Контейнер имеет неотрицательное количество дочерних объектов, но не хранит значений. Их функциональность аналогична папкам файловой системы. | См. раздел 9 |
Объекты-домены | Домены выражают административные группы пользователей для их аутентификации и учета использования ресурсов. | См. раздел 10 |
Объекты-очереди | Очереди хранят неотрицательное число значений, доступ к которым осуществляется по принципу "первый пришел - первый ушел". | См. раздел 11 |
Объекты опций | Объекты опций описывают функциональность, реализованную сервером CDMI и используются клиентом для обнаружения поддерживаемой функциональности | См. раздел 12 |
Для операций хранения данных клиенту интерфейса достаточно информации о контейнерах и объектах данных. Реализации путей к данным должны поддерживать хотя бы один уровень контейнеров (см. 5.5). С использованием объектной модели CDMI (см. рисунок 4) клиент может отослать запрос PUT через CDMI (см. 5.6) с URI нового контейнера и создать новый контейнер с определенным именем. Метаданные контейнера опциональны и выражаются набором пар имя-значение. После создания контейнера клиент может отправить запрос PUT для создания объекта данных внутри нового контейнера. Последующий запрос GET выбирает объект данных, включая поле значения.
Определены также объекты очереди (см. рисунок 4) со специальными свойствами для упорядоченного, в дисциплине FIFO, создания и удаления значений. Подробнее см. в разделе 11.
CDMI определяет два пространства имен, которые могут использоваться для доступа к хранимым объектам: плоское пространство идентификаторов объектов и иерархическое пространство имен-путей. Поддержка доступа к объекту по ID выражается глобальной опцией cdmi_object_access_by_ID, а поддержка иерархических путей определяется опцией контейнера cdmi_create_dataobject, находящейся в корневом или вложенном контейнере.
Объекты создаются по ID выполнением команды HTTP POST с определенным URI, обозначаемым как /cdmi_objectid/ (см. 9.8). После создания клиенты могут объект командой PUT с указанием ID объекта, присвоенный сервером CDMI, используя /cdmi_objectid/ URI (см. 8.6)*. Этот URI используется также для извлечения и удаления объектов по ID.
___________________
* Текст документа соответствует оригиналу. - Примечание изготовителя базы данных.
Объекты создаются по имени выполнением HTTP PUT с указанием URI пути (см. 8.2). После создания, объекты можно модифицировать, выполняя команды PUT с указанием пути к объекту, заданному клиентом (см. 8.6). То же самый URI используется для извлечения и удаления объектов*.
___________________
* Текст документа соответствует оригиналу. - Примечание изготовителя базы данных.
CDMI определяет механизмы, позволяющие сопоставить путь в иерархическом пространстве объекту, имеющему лишь ID, а также позволяющие удалить путь, оставив только ID, у объекта, имеющего и путь, и ID. Это осуществляется с использованием модификатора перемещения для операций PUT или POST, как показано на рисунок 5.
Рисунок 5 - Диаграмма переходов объекта: добавление имени и удаление имени