Bezdepbonusu7Программирование: статьи и ответы

Вопрос

JNDI: служба имен против службы каталогов

Автор вопроса: IAmYourFajaОтветов: 2

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

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

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

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

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

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

  • +1, потому что я ненавижу круговые определения: каталог: связанный набор объектов каталога. объект каталога: объект, который находится в каталоге. Арх! DNA 06.02.2012
  • Отсюда (docs.oracle.com/javase/tutorial/jndi/concepts /directory.html): directory service = naming service + objects containing attributes Elrond_EGLDer 19.11.2015

javajndidirectoryservices

Ответы

Ответ 1 · рейтинг 2 · user207421

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

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

Ответ 2 · рейтинг 1 · Andrea Colleoni

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

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

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы