JNDI: служба именования против службы каталогов - PullRequest
5 голосов
/ 06 февраля 2012

Что касается словесности Java / JNDI, то " службы каталогов " являются просто более сложными версиями " служб имен "?

Если вы прочитаете JNDI глоссарий , он в основном определяет эти два следующим образом:

  • naming service - API, который позволяет выполнять операции в различных контекстах
  • context - Звучит очень похоже на HashMap
  • directory service - API, позволяющий выполнять операции с объектами каталога
  • directory object - объект, который находится в каталоге .... (?!?!)

Итак, если я не ошибаюсь, похоже, что оба типа сервисов допускают CRUD-подобные операции над различными типами объектов, либо contexts (в случае службы именования), либо directory objects (в случае службы каталогов).

Итак, мой вопрос: в чем разница?!? Разве оба этих типа объектов контекста / каталога не являются просто хеш-таблицами / хеш-таблицами под капотом?

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

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Не являются ли оба эти типа объектов контекста / каталога действительно hashmaps / hashtables под капотом?

Нет, они почти наверняка представляют собой таблицы базы данных, и у них есть все виды семантики, такие как списки атрибутов, возможность создавать дочерние контексты и т. Д., Которых нет в hashmaps / hashtables.

1 голос
/ 07 февраля 2012

Я думаю, что служба каталогов упоминается в этой аббревиатуре только для вызова служб имен с directory в аббревиатуре, подобно LDAP.

LDAP, DNS и т. Д. Являются службами именования, поскольку службы каталогов и службы именования являются синонимами.

Из Википедии :

В программной инженерии каталог - это карта между именами и значениями.

Обратите внимание, что в википедии Служба имен перенаправляет на ту же статью.

...