birmaga.ru
добавить свой файл

1

Установка файлов .xml для службы PAIB

H.Christein, University of Ulm (Germany)

A. Soloviev, CGDS, Moscow (Russia)

  1. dbs_properties.xml




    1. Общее описание

В этом файле описываются свойства двух лежащих в основе систем баз данных (БД), такие как имя сервера (host name), где запущена БД, или номер порта, по которому к ней идут запросы. В файле также содержится вспомогательная информация для таких операций, как обновление данных или добавление данных, которые зависят от устройства БД, а так же от используемой системы БД. Например, для считывания данных в БД типа SQL, где данные распределены по нескольким различным таблицам, необходима информация о том, как соединены эти таблицы между собой. В случае БД типа LDAP, необходимо указание корневого выделенного наименования (ВН) (root DN (distinguished name)) к записям.

Ниже представлено подробное описание обоих лежащих в основе БД:


    • Бизнес БД – в ней хранятся обычные пользовательские свойства каждого пользователя, например имя пользователя, почтовый адрес или фото JPEG. Набор всех пользовательских свойств (каждого пользователя), хранящихся в Бизнес БД, образует пользовательскую запись пользователя;

    • Пользовательская БД – в ней хранится необходимая информация о каждом пользователе. Эта информация требуется системой PAIB. Необходимая информация представляет собой пользовательский идентификатор (User ID) (уникальный идентификатор каждого пользователя), пароль пользователя и данные о связи между пользовательским идентификатором и идентификатором, на уровне БД (идентификационные атрибуты), пользовательской записи в Бизнес БД. Набор всей необходимой информации о пользователе, хранящейся в Пользовательской БД, образует пользовательскую информацию пользователя.

По умолчанию, система PAIB оперирует с лежащей в основе системой БД LDAP.

Общая структура файла dbs_properties.xml выглядит следующим образом:











Тэг user_dbs_properties служит для определения свойств Пользовательской БД, в то время как тэг business_dbs_properties служит для определения свойств Бизнес БД. В каждом правильно сформированном файле dbs_properties.xml должно быть оба тэга.
В основном тэг user_dbs_properties и тэг business_dbs_properties внутри имеют одинаковые тэги. Тэг host, также как и тэг port, должны быть включены. Ниже следует общий пример. Подробности изложены в Приложениях.


hostname


portnumber



username


password


some supplementary





some filter expression






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

1.2 Спецификация LDAP


На данный момент используется стандартный уровень соединения БД LDAP, поставляемый с системой PAIB. Для него требуется информация, хранящаяся в некоторых не обязательно требуемых тэгах, если таковые присутствуют (не обязательно требуемые тэги означает, что система PAIB не генерирует никаких предупреждений во время запуска, в случае их отсутствия):
supplogin: определяет базовое ВН (base DN (distinguished name)) к записям LDAP. Базовое ВН, если оно указано, используется для получения доступа к записям, с целью их добавления, обновления, удаления и считывания.

suppinsert: определяет заданные по умолчанию (если заданы) объектные классы и их значения с целью добавления данных.

filter: определяет фильтрационное выражение по умолчанию для считывания записей (будут считываться только те записи, которые удовлетворяют фильтрационному выражению);
Тэги username и password должны быть определены, в случае если конфигурация БД LDAP этого требует. Остальные тэги игнорируются стандартным уровнем соединения БД LDAP.
Примечание: Обычно, все описанные выше тэги различаются, в зависимости от соответствующей БД (Пользовательская БД или Бизнес БД): эти БД могут быть запущены на разных серверах (а могут и нет), могут иметь разные базовые ВН (а могут и нет) и т.д.


  1. scheme.xml


В данном файле содержится описание всех пользовательских свойств, хранящихся в Бизнес БД.

Базисная структура выглядит следующим образом:










Тэг idattributes определяет идентификатор или ключевые атрибуты на уровне базы данных, относящиеся к пользовательской записи в Бизнес БД. Тэг attributes описывает не ключевые атрибуты Бизнес БД. Только эти ключевые/не ключевые атрибуты, описанные в файле scheme.xml, доступны через сервис PAIB. Каждый из тэгов idattribute и attribute должен включать в себя тэги name и type, при этом остальные внутренние тэги не обязательны.

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








name



type












name



type





За более подробной информацией см. Приложения.


  1. system_properties.xml


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



ПРИЛОЖЕНИЕ A: Описание типа документа (DTD - document type definition)

На данный момент каждый файл DTD устанавливает структуру соответствующего файла XML. Файл DTD описывает необходимость наличия требуемых тагов, а также последовательности тагов, которые могут быть в документе.


Для начала дадим краткое описание семантики DTD, которую мы используем в наших файлах DTD:
Ключевое слово ELEMENT определяет элементы (или таги), которые могут быть частью документа, а также определяет их возможности и требования. Каждый из элементов требует или может не требовать наличия других элементов (или тагов) внутри него.

Различные символы, сопровождающие таги, имеют следующие значения:




  • ? элемент может присутствовать один раз, но вовсе не требуется его наличия (необязательный)

  • + элемент должен присутствовать один или более раз (повторяющийся и обязательный (пребуемый))

  • , элементы должны присутствовать в указанном порядке (последовательный)

  • ( ) эти скобки ставятся вокруг группы элементов, чтобы выделить их отдельно от других элементов

Ключевое слово PCDATA означает, что значение элемента состоит из отдельных символьных данных (PCDATA - parsed character data), или, другими словами, просто является текстом. Символ «#» означает, что то, что за ним следует – это ключевое слово, а не имя элемента.

Ключевое слово ATTLIST описывает список атрибутов элемента. Оно определяет те доступные атрибуты, которые может иметь элемент. Запись вида (name1|name2) используется для перечисления тех атрибутов, которые может иметь элемент. Ключевое слово REQUIRED означает, что соответствующий атрибут является обязательным (требуемым).
Листинг файла dbs_properties.dtd



Листинг файла scheme.dtd

-->

Further a attribute has a name known at database level

and perhaps if the name is somewhat cryptic a alias (for

example name = cn, alias = common name). Finally every

attribute is of a certain type.

-->
Листинг файла system_properties.dtd

ПРИЛОЖЕНИЕ
B: Справочная информация

Ниже следует описание всех элементов (тагов) и атрибутов всех DTD, перечисленных в алфавитном порядке.


Alias (таг)

Псевдоним для idattribute и attribute. Например, если имя (id)атрибута «cn», то его псевдоним «common name».


Attribute (таг)

Не ключевой атрибут Бизнес БД. У этого тага есть следующий атрибут:



  • constraint определяет, является ли атрибут требуемым (обязательным), или нет. Возможные значения: NULL (это означает, что атрибут не обязательный) или NOT_NULL (это означает, что атрибут требуемый).

Attributes (таг)

Элементами этого тага являются не ключевые атрибуты Бизнес БД.
business_dbs_properties (таг)

Этот таг в качестве элементов содержит свойства Бизнес БД.


constraint (атрибут)

Этот атрибут тага attribute определяет, является ли не ключевой атрибут Бизнес БД требуемым (NOT_NULL), или нет (NULL). Ключевые атрибуты являются требуемыми по умолчанию.

dbs (атрибут)

Этот атрибут описывает лежащую в основе систему БД, которую использует служба PAIB. На данный момент возможные значения LDAP или SQL. В настоящее время атрибут dbs тагов user_dbs_properties и business_dbs_properties должен иметь одно и тоже значение.

dbs_properties (таг)

Элементы этого тага описывают свойства Бизнес и Пользовательской БД.


filter (таг)

Фильтрационное выражение по умолчанию, которое используется для доступа к записям в Бизнес или Пользовательской БД.


host (таг)

Имя хоста (или ip-адрес), на котором запущена соответствующая БД.


idattribute (таг)

Элементами этого тага являются идентификационные или ключевые атрибуты Бизнес БД.


initialcapacity (таг)

Служба PAIB имеет уровень кэша, в котором хранятся Пользовательские Записи с предыдущего доступа к ним. Такой кэшинг реализован с помощью хэш-алгоритма. Этот таг определяет начальное число ячеек для хранения Пользовательских Записей. Одна ячейка может хранить множественные Пользовательские Записи в случае «коллизии хэша» (в этом случае поиск Пользовательских Записей происходит последовательно). Когда число записей в хэш-таблице превышает результат коэффициента нагрузки (см. таг loadfactor) и текущую емкость, то емкость увеличивается путем реорганизации хэш-таблицы.

Loadfactor (таг)

Коэффициент нагрузки – это мера того, до какой степени может быть заполнена хэш-таблица перед ее реорганизацией. По умолчанию, коэффициент нагрузки равен (.75), что является хорошим компромиссным соотношением между временными и пространственными затратами. Более высокие значения понижают пространственную планку, но зато повышают временные затраты на поиск записи.


minstorageperiod (таг)

Минимальное время, которое Пользовательская Запись остается в кэше, до того момента, как она может быть заменена на другую.


name (таг)

Имя ключевого атрибута, или, соответственно, не ключевого атрибута.

password (таг)

Если в основе лежащая Пользовательская БД или Бизнес БД того требует, то необходима комбинация user и password («имя пользователя» и «пароль») для реализации начального подсоединения к базам данных. На данный момент служба PAIB поддерживает только одно подсоединение к каждой БД.

port (таг)

Номер порта, по которому должны идти входящие запросы к Пользовательской или Бизнес БД.


scheme (таг)

Элементами этого тага являются описания ключевых и не ключевых атрибутов.


ssl (атрибут)

Если значение установлено на TRUE, тогда связь между службой PAIB и соответствующей БД (Пользовательская БД или Бизнес БД) основывается на SSL (Протокол Защищенных Сокетов - Secure Sockets Layer). В этом случае также должен быть определен таг sslport. Если значение установлено на NO, тогда связь между службой PAIB и соответствующей БД реализована без SSL.


sslport (таг)

Этот таг определяет порт SSL (Протокол Защищенных Сокетов - Secure Sockets Layer), по которому идут входящие запросы к Пользовательской или Бизнес БД. Этот таг воспринимается только в случае, когда значение атрибута ssl тага user_dbs_properties или business_dbs_properties выставлено на TRUE.


suppdelete (таг)

Описывает дополнительную информацию в случае удаления записи из БД.


suppinsert (таг)

Описывает дополнительную информацию в случае добавления записи в БД.


supplogin (таг)

Описывает дополнительную информацию в случае установки соединения с БД.


suppretrieve (таг)

Описывает дополнительную информацию в случае доступа к записи из БД.


suppupdate (таг)

Описывает дополнительную информацию в случае обновления записи в БД.


system_properties (таг)

Элементами этого тага являются свойства системы.


table (таг)

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


type (таг)

Определяет тип ключевого или не ключевого атрибута.

user (таг)

Если в основе лежащая Пользовательская или Бизнес БД того требует, то необходима комбинация user и password («имя пользователя» и «пароль») для реализации начального подсоединения к БД. На данный момент служба PAIB поддерживает только одно подсоединение к каждой БД.

user_dbs_properties (таг)

Этот таг содержит свойства Пользовательской БД в качестве элементов. Этот таг имеет следующие атрибуты:



  • dbs описывает лежащую в основе систему БД (возможные значения LDAP и SQL);

  • ssl описывает, гарантируется ли безопасность при связи между службой PAIB и Пользовательской БД Протоколом Защищенных Сокетов (SSL - Secure Sockets Layer), или нет. Возможные значения YES (использовать SSL) или NO (не использовать SSL).

ПРИЛОЖЕНИЕ
C: Примеры

Листинг файла dbs_properties.xml






igloo.informatik.uni-ulm.de

389


ou=userdatabase,dc=vs,dc=uni-ulm,dc=de




objectclass=top,objectclass=userdbentity




objectclass=userdbentity








teletubbies.informatik.uni-ulm.de




cn=noonoo,ou=users,dc=vs,dc=uni-ulm,dc=de



hoofer


636



ou=users,dc=vs,dc=uni-ulm,dc=de


objectclass=top,objectclass=person




objectclass=person









Листинг файла scheme.xml








cn


common name


String











cn


common name




String







labeleduri




homepage



String










Листинг файла system_properties.xml




50000