JNDI:命名服务与目录服务

时间:2012-02-06 14:49:14

标签: java jndi directoryservices

就Java / JNDI的措辞而言,“目录服务”只是“命名服务”的更复杂版本?

如果您阅读JNDI glossary,它基本上将这两个定义如下:

  • naming service - 允许您在不同上下文上执行操作的API
  • context - 听起来很像HashMap
  • directory service - 允许您对目录对象执行操作的API
  • directory object - 目录中的对象....(?!?!)

所以,除非我弄错了,听起来两种类型的服务都允许对不同类型的对象进行类似CRUD的操作,contexts(在命名服务的情况下)或directory objects(在目录服务的情况下)。

所以我的问题是:差异是什么?!?这些上下文/目录对象类型是不是真的只是井下的hashmaps / hashtables?

我对这些差异感到窒息,因为我试图了解什么是命名服务,什么时候是目录服务,这些定义很难让我测量。

2 个答案:

答案 0 :(得分:2)

  

这些上下文/目录对象类型都不是真的   引擎盖下的哈希图/哈希表?

不,它们几乎肯定是引擎盖下的数据库表,并且它们具有各种语义,例如属性列表,创建子上下文的能力等,而hashmaps / hashtables没有。

答案 1 :(得分:1)

我认为这个首字母缩略词中引用的目录服务只是为了回忆起首字母缩写词中的目录的命名服务,比如LDAP。

LDAP,DNS等是命名服务,因为目录服务命名服务是同义词。

来自wikipedia

  

在软件工程中,目录是名称和值之间的映射。

请注意,在维基百科中,Name Service会重定向到同一篇文章。