Java技术回顾之JNDI--命名和目录服务基本概念
命名服務(wù)的相關(guān)概念:
Naming Service 命名服務(wù)
命名服務(wù)將名稱和對(duì)象進(jìn)行關(guān)聯(lián),提供通過(guò)名稱找到對(duì)象的操作。
例如:DNS系統(tǒng)將計(jì)算機(jī)名和IP地址進(jìn)行關(guān)聯(lián)。文件系統(tǒng)將文件名和文件句柄進(jìn)行關(guān)聯(lián)等等。
Name 名稱
要在命名系統(tǒng)中查找對(duì)象,需要提供對(duì)象的名稱。對(duì)象的名稱是用來(lái)標(biāo)識(shí)該對(duì)象的易于人理解的名稱。
例如:文件系統(tǒng)用文件名來(lái)標(biāo)識(shí)文件對(duì)象。DNS系統(tǒng)用機(jī)器名來(lái)表示IP地址。
Naming Convention 命名規(guī)范`
一個(gè)命名系統(tǒng)中的所有名稱必須遵循的語(yǔ)法規(guī)則稱為命名規(guī)范。
例如:UNIX文件系統(tǒng)的命名規(guī)范要求文件名是一個(gè)相對(duì)于根目錄的路徑,路徑中的每一部分以/分隔。如:/usr/bin。
Binding 綁定
一個(gè)名稱和一個(gè)對(duì)象的關(guān)聯(lián)稱為一個(gè)綁定。
例如:文件系統(tǒng)中,文件名綁定到文件。DNS系統(tǒng)中,機(jī)器名綁定到IP地址。
Reference 引用
在一些命名服務(wù)系統(tǒng)中,系統(tǒng)并不是直接將對(duì)象存儲(chǔ)在系統(tǒng)中,而是保持對(duì)象的引用。引用包含了如何訪問(wèn)實(shí)際對(duì)象的信息。
Address 地址
引用通常用一個(gè)或多個(gè)地址(通信端口)來(lái)表示。?
Context 上下文
一個(gè)上下文是一系列名稱和對(duì)象的綁定的集合。每個(gè)上下文都有與之關(guān)聯(lián)的命名規(guī)范。一個(gè)上下文通常提供一個(gè)lookup操作來(lái)返回對(duì)象,也可能提供綁定,解除綁定,列舉綁定名等操作。一個(gè)上下文中的名稱可以綁定到一個(gè)具有相同命名規(guī)范的上下文中,稱之為子上下文(subcontext)。
例如:在文件系統(tǒng)中,/usr是一個(gè)Context,/usr/bin是usr的subcontext。
Naming System 命名系統(tǒng)
一個(gè)相同類型的Context的集合。一個(gè)命名系統(tǒng)向客戶提供命名服務(wù)來(lái)執(zhí)行命名相關(guān)的操作。如DNS系統(tǒng),LDAP系統(tǒng)等。
Namespace 名稱空間
一個(gè)命名系統(tǒng)的所有名稱的集合。
例如:文件系統(tǒng)中的名稱空間是組成該文件系統(tǒng)的所有文件和目錄的名稱。
Atomic Name/Compound Name/Composite Name
Atomic Name 原子名稱,是一個(gè)簡(jiǎn)單的基本的名稱。
Compound Name 混合名稱,是由多個(gè)原子名稱一起構(gòu)成的名稱。
Composite Name 復(fù)合名稱,是跨越多個(gè)命名系統(tǒng)的名稱。
例如:一個(gè)名稱可能是uid=admin,ou=cms,dc=foobar,dc=com/user/bin/jndi,
其中,uid=admin,ou=cms,dc=foobar,dc=com/user/bin/jndi是一個(gè)復(fù)合名稱,跨越了兩個(gè)命名系統(tǒng)LDAP和文件系統(tǒng),uid=admin,ou=cms,dc=foobar,dc=com和/user/bin/jndi是兩個(gè)混合名稱,
uid=admin、ou=cms、dc=foobar分別是原子名稱。
目錄服務(wù)的相關(guān)概念
Directory Service 目錄服務(wù)
目錄服務(wù)是命名服務(wù)的擴(kuò)展,除了提供名稱和對(duì)象的關(guān)聯(lián),還允許對(duì)象具有屬性。目錄服務(wù)中的對(duì)象稱之為目錄對(duì)象。目錄服務(wù)提供創(chuàng)建、添加、刪除目錄對(duì)象以及修改目錄對(duì)象屬性等操作。
Attribute 屬性
一個(gè)目錄對(duì)象可以包含屬性。一個(gè)屬性具有一個(gè)屬性標(biāo)識(shí)符和一系列屬性值。
例如:一個(gè)打印機(jī)對(duì)象可以包含速度、分辨率等屬性。分辨率的屬性標(biāo)識(shí)是resolution,屬性值可能是300dpi,600dpi等等。
Search Filter 查找過(guò)濾器
目錄服務(wù)除了通過(guò)名稱查找對(duì)象的操作,通常還提供通過(guò)目錄對(duì)象的屬性來(lái)查找對(duì)象的操作。這種的查找一般通過(guò)規(guī)定的表達(dá)式來(lái)表示,稱之為查找過(guò)濾器。
總結(jié)
以上是生活随笔為你收集整理的Java技术回顾之JNDI--命名和目录服务基本概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java加密与解密的艺术~Securit
- 下一篇: Spring Data JPA 从入门到