Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Именование Java™ и Каталог Interface™

Именование Java и Каталог технология Interface™ (JNDI) обеспечивают объединенный интерфейс для многократного именования и служб каталогов. Как часть набора API предприятия Java, JNDI включает связи без шва к неоднородному именованию предприятия и службам каталогов. Разработчики могут теперь создать мощные и переносимые поддерживающие каталог приложения Java, используя этот интерфейс промышленного стандарта.

Спецификация JNDI была разработана Sun Microsystems со многими ведущими отраслевыми партнерами, включая Novell, Netscape, SCO, и BEA.

Значок герцога 1.2 версии спецификации и ссылочной реализации теперь доступны для скачивания на Веб-сайте программного обеспечения Java.


Технический обзор

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

Вычислительная среда предприятия обычно состоит из нескольких средств именования, часто представляющих различные части составного пространства имен. Например, Система Имени Интернет-домена (DNS) может использоваться в качестве верхнего уровня, называя facilit y для различных организаций в пределах предприятия. Сами организации могут использовать службу каталогов, такую как LDAP или NDS или NIS. С точки зрения пользователя есть одно пространство имен, состоящее из составных имен. URL являются примерами составных имен, потому что они охватывают пространства имен многократных средств именования. Приложения, которые используют службы каталогов, должны поддерживать эту пользовательскую перспективу.

Много разработчиков приложений Java могут извлечь выгоду из API службы каталогов, который не только независим от определенного каталога или реализации службы именования, но также и включает прямому обращению к объектам каталога через многократные средства именования. Фактически, приложение может присоединить свои собственные объекты к пространству имен. Такое средство позволяет любому приложению Java обнаружить и получить объекты любого типа.

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

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

Примеры

Вот два примера, чтобы кратко иллюстрировать некоторые из более обычно используемых функций JNDI.

Приложение, которое хочет получить доступ к принтеру, нуждается в соответствующем объекте принтера. Это просто делается следующим образом:

prt = (Printer)
        building7.lookup("puffin");
prt.print(document);

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

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

Как другой пример, приложение, которое хочет найти номера телефона человека, которые сохранены в каталоге организации, может просто сделать:

String[] attrs = {"workPhone", "cellPhone", "faxNumber"};
bobsPhones = directory.getAttributes("cn=Bob,o=Widget,c=US", attrs);

Если может быть, несколько Входят организацию Виджета, приложение может искать каталог организации, чтобы счесть право Бобом следующим образом:

bob = directory.search("o=Widget,c=US","(cn=Bob)", controls);

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

Краткий обзор Интерфейсов

Интерфейс Именования - javax.naming

Context базовый интерфейс, который определяет контекст именования. Это определяет основные операции, такие как добавление привязки имени к объекту, поиск объект, связанный с указанным именем, перечисление привязки, удаление привязки имени к объекту, crea звон и уничтожение подконтекстов того же самого типа, и т.д.

Context.lookup() обычно используемая работа. Реализация контекста может возвратиться, объект любого класса требуется приложением Java. Например, приложение могло бы использовать имя принтера, чтобы искать соответствовать луг Printer объект, и затем печатает к этому непосредственно:

Printer printer = (Printer)
 ctx.lookup("treekiller");
printer.print(report);

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

Интерфейс Каталога - javax.naming.directory

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

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

Поиски. DirContext интерфейс поддерживает основанный на контенте поиск каталогов. В самом простом и наиболее распространенной форме использования, приложение определяет ряд атрибутов - возможно с определенными значениями - чтобы соответствовать. Это тогда invo kes DirContext.search() метод на объекте каталога, который возвращает соответствующие объекты каталога наряду с требуемыми атрибутами.

Интерфейс События - javax.naming.event

Именование Событий. NamingEvent класс представляет событие, сгенерированное именованием или службой каталогов. Примеры a NamingEvent изменение к атрибуту записи каталога или переименовыванию записи каталога.

Именование Слушателей. A NamingListener объект, который регистрирует интересы к NamingEvents. Слушатели регистрируются в контексте, чтобы получить уведомление об изменениях в контексте, его дочерних элементах, или его поддереве.

Интерфейс LDAP - javax.naming.ldap

LdapContext интерфейс позволяет приложению использовать LDAP v3-specific функции, включая расширения и средства управления, не уже покрытые более универсальным DirContext интерфейс.

Интерфейс Поставщика услуг - javax.naming.spi

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



Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами