В чем разница между LDAP и JNDI файловой системы
Пожалуйста, скажите мне, где следует использовать LDAP JNDI и где FileSystem JNDI. Я также хочу знать, каким должно быть значение Context.PROVIDER_URL в каждом случае.
Где можно найти исходный файл для "com.sun.jndi.ldap.LdapCtxFactory"
а также
com.sun.jndi.fscontext.RefFSContextFactory (INITIAL_CONTEXT_FACTORY) классы для двоих.
Спасибо вам
2 ответа
Простейший способ объяснить JNDI - это на примере.
За несколько дней до Интернета, если вы хотели позвонить кому-то, вы должны были найти его номер в телефонной книге. Этот поиск на самом деле состоит из двух частей: 1) найти нужную телефонную книгу и 2) найти номер человека в этой книге.
Использование JNDI похоже на публикацию номера телефона в телефонной книге. Издатель должен вставить имя и номер, чтобы он был доступен для поиска. Клиент должен найти правильную книгу и затем извлечь номер.
[Пример перед Интернетом следует]
Скажем, вы хотите пригласить кого-то из своих знакомых из школы, но не знаете, где находится телефонная книга. Вы должны спросить маму. Мама является поставщиком контекста.
Тот, кто поддерживает ваш сервер приложений, может добавить запись JNDI. Они также предоставляют Provider_URL.
Теперь к вашему вопросу о LDAP против FileSystem. LDAP обычно используется крупными компаниями для хранения информации о своих сотрудниках, например, в виде списка (справочника) в вестибюле медицинского здания.
Файловая система будет похожа на файловые ресурсы в сети. Они могут физически перемещаться между серверами, но вы хотите, чтобы клиенты все еще могли их найти. Вы публикуете общее имя "\LUNCHSCHEDULE", которое позволяет людям подключаться к нему, не зная его фактического местоположения. Поставщик FileSystem будет настроен с физическим сопоставлением. Клиенты должны быть уведомлены ProviderURL для провайдера FileSystem, который администратор должен выдать.
Попробуйте эту ссылку для источника (как HTML) или иным образом получите исходные коды OpenJDK.
И вы можете, конечно, попробовать Google, чтобы найти документацию по JNDI:)
Что касается LDAP, это как телефонная книга. Компания обычно использует сервер LDAP для создания дерева с отделами, подотделами и персоналом в них. Тогда вы можете легко найти нужного человека, его адрес электронной почты, адрес и тому подобное. Адресная книга outlook может, например, быть сервером LDAP. Active Directory от Microsoft по большей части являются LDAP-серверами.
Сервер LDAP оптимизирован для быстрого поиска в древовидной структуре. Если вы посмотрите на LDAP dn (отличительное имя), каждая запятая даст точку ветвления. В отличие от типичного дерева как структуры программирования, точки ветвления LDAP могут разветвляться на почти бесконечное количество ветвей (если вы думаете о компании, у одной компании, корневого узла, может быть несколько дирекций, и каждая дирекция может иметь несколько отделы и т. д. На самом низком уровне люди были бы там.)