LDAP和Implementation
Implemention :
java中能夠定義接口 接口是一種變相的抽象類 接口的定義可以實(shí)現(xiàn)java中的多繼承問題 java中類與類之間只能單繼承 關(guān)鍵字 是extends 而對(duì)于類來說可以實(shí)現(xiàn)接口 關(guān)鍵字就用implements 表示該類實(shí)現(xiàn)接口 接口與接口是也可以用extends來繼承extends是繼承父類,只要那個(gè)類不是聲明為final的就能繼承,JAVA中不支持多重繼承,但是可以用接口來實(shí)現(xiàn),這樣就要用到implements,繼承只能繼承一個(gè)類,但implements可以實(shí)現(xiàn)多個(gè)接口,用逗號(hào)分開就行了
比如
class A extends B implements C,D,E
?
?
?
LDAP:是輕量目錄訪問協(xié)議,英文全稱是Lightweight Directory Access Protocol,LDAP目錄以樹狀的層次結(jié)構(gòu)來存儲(chǔ)數(shù)據(jù)。
目錄是一組具有類似屬性、以一定邏輯和層次組合的信息。常見的例子是通訊簿,由以字母順序排列的名字、地址和電話號(hào)碼組成。
目錄服務(wù)是一種在分布式環(huán)境中發(fā)現(xiàn)目標(biāo)的方法。目錄具有兩個(gè)主要組成部分:
?
- 第一部分是數(shù)據(jù)庫,數(shù)據(jù)庫是分布式的,且擁有一個(gè)描述數(shù)據(jù)的規(guī)劃。
- 第二部分則是訪問和處理數(shù)據(jù)的各種協(xié)議。
????? 目錄服務(wù)其實(shí)也是一種數(shù)據(jù)庫系統(tǒng),只是這種數(shù)據(jù)庫是一種樹形結(jié)構(gòu),而不是通常使用的關(guān)系數(shù)據(jù)庫。目錄服務(wù)與關(guān)系數(shù)據(jù)庫之間的主要區(qū)別在于:二者都允許對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行訪問,只是目錄主要用于讀取,其查詢的效率很高,而關(guān)系數(shù)據(jù)庫則是為讀寫而設(shè)計(jì)的。
提示:目錄服務(wù)不適于進(jìn)行頻繁的更新,屬于典型的分布式結(jié)構(gòu)。?
????? LDAP是一個(gè)目錄服務(wù)協(xié)議,目前存在眾多版本的LDAP,而最常見的則是V2和V3兩個(gè)版本,它們分別于1995年和1997年首次發(fā)布。
LDAP的基本模型
????? LDAP的基本模型是建立在“條目”(Entry)的基礎(chǔ)上。一個(gè)條目是一個(gè)或多個(gè)屬性的集合,并且具有一個(gè)全局唯一的“可區(qū)分名稱”(用dn表示)。與關(guān)系型數(shù)據(jù)(后面簡稱數(shù)據(jù)庫)進(jìn)行類比,一個(gè)條目相當(dāng)于數(shù)據(jù)庫中的一條記錄,而dn相當(dāng)于數(shù)據(jù)庫中記錄的關(guān)鍵字,屬性相當(dāng)于數(shù)據(jù)庫中的字段。
提示:dn必須是全局唯一的。?
????? LDAP中,將數(shù)據(jù)組織成一個(gè)樹形結(jié)構(gòu),這與現(xiàn)實(shí)生活中的很多數(shù)據(jù)結(jié)構(gòu)可以對(duì)應(yīng)起來,而不像設(shè)計(jì)關(guān)系型數(shù)據(jù)庫的表,需要進(jìn)行多種變化。例如,圖1-1所示就是一個(gè)樹形結(jié)構(gòu)的數(shù)據(jù)。
?
????? 在圖1-1所示的樹形結(jié)構(gòu)中,樹的根結(jié)點(diǎn)是一個(gè)組織的域名(dlw.com),其下分為3個(gè)部分,分別是managers、people和group,可將這3個(gè)組看作組織中的3個(gè)部門,如managers用來管理所有管理人員,people用來管理登錄系統(tǒng)的用戶,group用來管理系統(tǒng)中的用戶組。當(dāng)然,在該圖中還可繼續(xù)增加其他分支。
????? 對(duì)于圖1-1所示的樹形結(jié)構(gòu),使用關(guān)系數(shù)據(jù)庫來保存數(shù)據(jù)的話,需要設(shè)置多個(gè)表,一層一層分別保存,當(dāng)需要查找某個(gè)信息時(shí),再逐層進(jìn)行查詢,最終得到結(jié)果。
????? 若使用目錄來保存該圖中的數(shù)據(jù),則更直觀。圖中每個(gè)結(jié)點(diǎn)用一個(gè)條目來保存,不同類型的結(jié)點(diǎn)需要保存的數(shù)據(jù)可能不同,在LDAP中通過一個(gè)稱為objectClass的類型來控制不同結(jié)點(diǎn)需要的數(shù)據(jù)(稱為屬性)。
????? 對(duì)于目錄中的數(shù)據(jù)怎樣進(jìn)行引用呢?前面提到過,每一個(gè)條目都有一個(gè)dn,因?yàn)閐n是唯一的,因此就可找到需要結(jié)點(diǎn)的數(shù)據(jù)。dn的構(gòu)造方式如下:
????? 首先得到條目自己的名稱(rdn,稱為相對(duì)dn),然后開始向上逐級(jí)查找父結(jié)點(diǎn),一直到根項(xiàng)為止。例如,對(duì)于圖1-1中最右下方的結(jié)點(diǎn),其dn為:
?
????? 通過這樣的方式,即可唯一標(biāo)識(shí)每一個(gè)結(jié)點(diǎn)。
????? 在現(xiàn)實(shí)生活中,有很多這種樹形結(jié)構(gòu)的數(shù)據(jù),如計(jì)算機(jī)文件系統(tǒng)的目錄結(jié)構(gòu)、Internet中的域名等。這些類型的數(shù)據(jù),只要不需要頻繁的更新,都適合用目錄來保存。
LDAP的功能
在LDAP的功能模型中定義了一系列利用LDAP協(xié)議的操作,主要包含以下4部分:
?
- 查詢操作?:允許查詢目錄和取得數(shù)據(jù),其查詢性能比關(guān)系數(shù)據(jù)庫好。
- 更新操作?:目錄的更新操作沒關(guān)系數(shù)據(jù)庫方便,更新性能較差,但也同樣允許進(jìn)行添加、刪除、修改等操作。
- 復(fù)制操作?:前面也提到過,LDAP是一種典型的分布式結(jié)構(gòu),提供復(fù)制操作,可將主服務(wù)器的數(shù)據(jù)的更新復(fù)制到設(shè)置的從服務(wù)器中。
- 認(rèn)證和管理操作?:允許客戶端在目錄中識(shí)別自己,并且能夠控制一個(gè)會(huì)話的性質(zhì)。
?
LDAP協(xié)議的特點(diǎn)
- LDAP是一種目錄服務(wù),保存在特殊的數(shù)據(jù)庫中,數(shù)據(jù)的讀取速度遠(yuǎn)高于寫入速度。
- LDAP對(duì)查詢做了優(yōu)化,讀取速度優(yōu)于普通關(guān)系數(shù)據(jù)庫。
- LDAP不支持事務(wù)、不能進(jìn)行回滾,需要進(jìn)行這些操作的應(yīng)用只有選擇關(guān)系數(shù)據(jù)庫。
- LDAP采用服務(wù)器/客戶端模式,支持分布式結(jié)構(gòu)。
- LDAP中的條目以樹形結(jié)構(gòu)組織和存儲(chǔ)。
- LDAP基于Internet協(xié)議,直接運(yùn)行在簡單和通用的TCP/IP或其他可靠的傳輸協(xié)議層上,使連接的建立和包的處理簡單、快捷,對(duì)于互聯(lián)網(wǎng)和企業(yè)網(wǎng)應(yīng)用都很方便。
- LDAP協(xié)議簡單,通過使用查找操作實(shí)現(xiàn)列表操作和讀操作。
- LDAP通過引用機(jī)制實(shí)現(xiàn)分布式訪問,通過客戶端API實(shí)現(xiàn)分布式操作(對(duì)于應(yīng)用透明),平衡了負(fù)載。
- LDAP實(shí)現(xiàn)具有低費(fèi)用、易配置和易管理的特點(diǎn),并提供了滿足應(yīng)用程序?qū)δ夸浄?wù)所需求的特性。
- LDAP是一種目錄服務(wù),保存在特殊的數(shù)據(jù)庫中,數(shù)據(jù)的讀取速度遠(yuǎn)高于寫入速度。
轉(zhuǎn)載于:https://www.cnblogs.com/zxzx1/p/10667944.html
總結(jié)
以上是生活随笔為你收集整理的LDAP和Implementation的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.7地铁查询开发进度
- 下一篇: 机器学习之--梯度下降和最小二乘法算线性