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