Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Служба каталогов NetWare (NDS)



 

Основное улучшение NetWare связано с введением службы каталогов Directory Services (NDS). В данной главе мы ближе познакомим вас с принципами Directory Services. Вы узнаете, из каких частей и фрагментов состоит информационная база данных DIB (Directory Information Base) и какие средства образуют Directory Services.

Определение Directory Information Base

Directory Information Base (DIB) состоит из схемы каталогов (Directory Schema), дерева каталогов (Directory Tree) и других специальных объектов, используемых для ссылки и в целях эмуляции базы объектов Bindery. Доступ к DIB реализуется через Directory Services. Любой сервер, предусматривающий средства службы каталогов, можно назвать сервером имен (Name Server).

 

Схема каталога Directory Schema определяет правила построения объектов, которые находятся в Directory Tree. Дерево каталогов Directory Tree - это набор объектов в DIB, за исключением определений Directory Schemа. Так как записи Directory Schema в DIB представляет собой определения, они не размещаются в дереве каталогов Directory Tree, а используются как справочная база данных.

 

Если вы нарисуете схему, показывающую отношение объектов в дереве каталогов, то она будет выглядеть как перевернутое дерево или корни дерева. Верхний объект в дереве называется корневым объектом. Иногда на него ссылаются как на [root]. Этому корню [root] подчиняются все другие объекты в дереве.

 

Объекты в дереве идентифицируются по их именам и именам порождающих объектов. Полное имя объекта включает в себя имя объекта и имена всех объектов между ним и корнем [root] дерева.

Наблюдая за порядком имен объектов в полном имени, вы можете видеть структуру дерева каталога Directory Tree. Полное имя называется также отличительным именем объекта - DN (Distinguish Name). Само имя объекта - это частичное или относительное имя RDN (Relative Distinguish Name).

 

Объекты в Directory Tree образуют структуру дерева, а дополнительная информация, связанная с этими объектами, хранится в DIB. В дереве каталогов есть информация трех типов: объекты, атрибуты (или характеристики) этих объектов и значения атрибутов. Каждый объект и его атрибуты в дереве создаются на основе определений и ограничений, заданных в схеме каталога.

Схема каталога

Основной частью DIB и Directory Services является схема каталога (Directory Schema). Схема каталога - это набор правил, определяющих характеристики информации по объектам, атрибуты и значения, которые можно добавить в дерево каталогов. Эти правила можно сохранить в специальной части DIB, и копия их хранится на каждом сервере имен. Все серверы имен в сети содержат одну и ту же информацию схемы.

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

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

Пусть, например, мы классифицируем объекты как сферы. По определению мы можем потребовать, чтобы сферы описывались характеристиками размера, и чтобы это размер (радиус) представлялся числом. Соотнесем это со схемой каталога. Тогда orb будет классом объекта, размер size - атрибутом, а число number - синтаксисом атрибута. (Иногда в документации Novell атрибуты объекта называются характеристиками. Мы выбрали в этой главе термин " атрибуты", так как в справочном руководстве программиста Directory Schema в качестве типов характеристик и синтаксиса характеристик определяет типы атрибута Attrubute Types и синтаксис атрибута Attrubute Sytaxes.)

Чтобы легче было идентифицировать объекты orb, вы можете определить другие атрибуты. Для каждой сферы orb вы можете отслеживать характеристику конструкции construction. Сфера может быть пустой, твердой или наполненной. Другим атрибутом может быть назначение purpose. Бейсбольный мяч - для игры, стальной шарик - для применения в механизмах (например, в шарикоподшипниках), а планета - для обитания. Вы можете также захотеть знать, кто является владельцем сферы - owner. Мы можем также ввести атрибут, используемый только для целей идентификации и назвать его именем - name. Если требуется, этот список можно продолжить. Пока же мы должны решить, что хотим отслеживать следующие характеристики каждого объекта-сферы:

 

Radius: расстояние от точки на поверхности объекта до центра объекта.

 

Construction: структурное качество объектов.

 

Purpose: возможное использование объекта.

 

Owner: тот, кто отвечает за этот объект.

 

Name: то, что мы используем для идентификации объекта.

 

Информацию, которую мы решили отслеживать, можно рассматривать в качестве правил построения информационной базы. Когда мы начинаем идентифицировать объекты как сферы, мы делаем это, задавая для них специальную информацию. Это дает вам представление о том, что представляет собой схема каталога (Directory Schema). Она охватывает правила для построения базы данных - дерева каталогов (Directory Tree).

Кроме определения объекта и правил атрибутов, схема включает в себя правила для построения значений заданных атрибутов. Например, атрибут радиуса сферы можно представить строкой символов ASCII с символами из подмножества " 0, 1, 2, 3, 4, 5, 6, 7, 8, 9". Его можно представить в виде двоичного значения или числа символов перед нулевым символом. Здесь можно использовать множество форм. Мы должны специфицировать ту форму, которую будем использовать. В схеме это делается с помощью определений синтаксиса атрибутов.

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

Определение схемы для каждого объекта включает в себя правила, которые управляют взаимосвязью объектов друг с другом в дереве каталога. Эти правила составляют определение включения. При создании объекта в дереве каталога он может быть подчиненным в дереве только тем объектам, которые находятся в определении включения его объектного класса. Если вернуться к примеру сфер, то мы можем определить объект с именем basketball - баскетбольный мяч. Если объекты класса orb ограничены своим отношением включения и должны подчиняться другим объектам класса room (комната), то можем обнаружить, что объект basketball содержится в объекте с именем closet (стенной шкаф), который представляет собой " маленькую комнату". Либо он обнаруживается в объекте с именем gymnasuim (спортзал), который является большой комнатой. Однако, согласно этому определению, мы не можем получить объект класса orb на футбольном поле, так как поле - это не комната.

Чтобы получить более полное представление об этом дереве, мы может рассмотреть его детальнее и обнаружить, что объект с именем gymnasium имеет родительский объект с именем West_High (название района), который, в свою очередь, имеет родительский объект Smalltown (городок). Полное имя объекта в Directory Services тогда будет иметь вид basketball.gymnasium.West_High.Smalltown. Каждое определение класса объекта включает в себя класс объектов, которые могут быть родительскими для данного объекта. Эта спецификация является определением включения.

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

В определении класса объектов вы должны задать, какие атрибуты будут использоваться для наименования объекта. В примере со сферами вы можете потребовать указания для наименования всех сфер владельца и имени. Одну сферу тогда можно идентифицировать как John's baseball (бейсбольный мяч Джона), а другую - как John's earth (Земля Джона).

По различным причинам для заданного объекта вам может потребоваться назначить другое имя (псевдоним). Такие псевдонимы представляют собой объекты, которые могут добавляться к дереву каталога и ссылаться на исходный объект. Эти псевдонимы разыменовываются в объект, псевдонимом которого они являются. Например, на John' earth можно ссылаться по псевдониму объекта с именем world (мир). Взглянув на объект с именем world, вы можете захотеть разыменовать его обратно к исходному объекту с именем John's earth.

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

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

Схема каталога должна проектироваться и создаваться до того, как объекты добавляются в дерево каталога. Определенная Novell схема каталога называется базовой схемой. Если базовая схема не полностью отвечает вашим нуждам, вы можете добавить к ней другие определения, используя подходящие функции API Directory Services, которые обсуждаются в данной главе ниже.

Разделы

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

Не путайте корень раздела с корнем [root] дерева каталога. [root] - это имя самого верхнего раздела всего дерева. Каждый раздел - это другая часть дерева, но она может копироваться и храниться в нескольких местах. Это обеспечивает более быстрый доступ и гарантирует, что если один сервер имен выходит из строя, то вы сможете поддерживать доступ к информации дерева каталогов через другой сервер имен.

Разделы могут иметь три вида: основная копия, вспомогательная копия и копия, доступная только по чтению. Каждый из них позволяет выполнять клиентам Directory Services определенные функции. Например, сервер имен с копией, доступной только по чтению, не может использоваться для добавления к дереву новых объектов. Клиент должен связаться с сервером имен с основной или вспомогательной копией и дать запрос на обновление. Вскоре после добавления нового объекта к основной или вспомогательной копии все другие копии также будут обновлены в соответствии с этой новой информацией. Этот процесс обновления называется синхронизацией службы каталогов - DSS (Directory Services Synchronization).

Служба каталогов Directory Services будет обновлять разделы и синхронизировать данные без какого-либо вмешательства клиента или пользователя. Когда изменение вносится в DIB, то через несколько секунд (в большинстве случаев) это изменение отражается во всех копиях.

Доступ

Вы можете получить доступ к серверам NetWare 4.0, используя предыдущие оболочки клиентных рабочих станций или использовать новую оболочку NetWare 4.0, которая называется реквестором. Лучший способ получить доступ к DIB с клиентной рабочей станции состоит в использовании реквестора NetWare 4.0. NLM становятся клиентами и получают доступ к Directory Services с помощью библиотеки DSAPI.NLM. Рабочая станция становится клиентом путем загрузки реквестора NetWare 4.0 и использования библиотеки интерфейса Си (CLIB). Спецификации функций API в DSAPI.NLM и в библиотеки интерфейса Си совпадают. И это неплохо, потому что один и тот же программный код на языке Си (с минимальными изменениями) можно скомпилировать в файл EXE для работы на вашей рабочей станции или в NLM для работы на сервере.

Клиент Directory Services по определению представляет собой рабочую станцию или NLM, имеющий доступ к DIB и способный давать запросы Directory Services. Чтобы стать клиентом службы, отличной от Directory Services, вы должны пройти проверку полномочий доступа к данным средствам. Контроль доступа Access Control - это одно из средств, предусмотренных в Directory Services, но оно используется для облегчения отслеживания и контроля доступа к другим сетевым средствам.


Поделиться:



Последнее изменение этой страницы: 2017-03-14; Просмотров: 358; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.016 с.)
Главная | Случайная страница | Обратная связь