軟件復(fù)用庫(kù)互操作方法比較
隨著Internet與網(wǎng)絡(luò)技術(shù)的發(fā)展,Internet上運(yùn)行的復(fù)用庫(kù)也日益增多,每個(gè)復(fù)用庫(kù)的開發(fā)者和管理者都會(huì)針對(duì)特定的領(lǐng)域或用戶群對(duì)復(fù)用庫(kù)中的資源進(jìn)行組織和管理,并提供相應(yīng)的服務(wù)。然而,用戶所需的許多構(gòu)件往往并不只在一個(gè)軟件復(fù)用庫(kù)中存在,而這些獨(dú)立的復(fù)用庫(kù)的存在就會(huì)要求用戶分別訪問(wèn)多個(gè)復(fù)用庫(kù)以獲取所需的構(gòu)件,這會(huì)導(dǎo)致冗余和檢索效率的降低。允許這些復(fù)用庫(kù)可以按照自己特定的方式管理和維護(hù)庫(kù)中存放的構(gòu)件,同時(shí)又使用戶通過(guò)一個(gè)界面透明地訪問(wèn)和檢索多個(gè)復(fù)用庫(kù)中的構(gòu)件,這對(duì)于提高構(gòu)件復(fù)用效率和復(fù)用的可能性非常必要,因此出現(xiàn)了軟件復(fù)用庫(kù)互操作方法。
本文引用地址:http://2s4d.com/article/156786.htm以前對(duì)于復(fù)用庫(kù)互操作方法的研究只是簡(jiǎn)單地從操作對(duì)象角度出發(fā),將復(fù)用庫(kù)的互操作分為描述資源的目錄層次上的互操作和實(shí)際資源層次上的互操作兩個(gè)層次,并沒有給出各種方法的全面綜合比較和分析。
1 復(fù)用庫(kù)互操作方法比較
本文將從互操作對(duì)象、交換的信息、使用的核心技術(shù)、支持的系統(tǒng)/工具以及互操作的效果五個(gè)方面對(duì)現(xiàn)有的復(fù)用庫(kù)的互操作方法BIDM、OML、UDDI、DCH、Uranus、DROO和統(tǒng)一檢索機(jī)制進(jìn)行分類比較。
1.1 在互操作對(duì)象上的分類比較
不同的方法進(jìn)行互操作的對(duì)象有所不同,如表1所示。
表1 在互操作的對(duì)象上的分類比較
1.2 在交換的信息上的分類比較
復(fù)用庫(kù)互操作的一個(gè)重要方面就是要在復(fù)用庫(kù)之間交換信息。要進(jìn)行信息交換,就需要特定的描述方法或者特定的表示格式來(lái)描述需要交換的信息,這可以劃分為三個(gè)層次。
(1)數(shù)據(jù)模型層:數(shù)據(jù)模型層抽象定義了復(fù)用庫(kù)之間要交換的信息。不同的方法由于互操作的對(duì)象不同,所以使用的數(shù)據(jù)模型通常都是不一樣的。
(2)表示格式層:表示格式層指定了如何正確描述數(shù)據(jù)模型實(shí)例的格式,常見的表示格式有HTML、XML、GML等。
(3)協(xié)議層:協(xié)議層描述了兩個(gè)結(jié)點(diǎn)之間用于交換信息的“會(huì)話”方式。主要分為通訊協(xié)議和目錄訪問(wèn)協(xié)議兩類。常見的通訊協(xié)議有HTTP、FTP、SOAP、Z39.50,常見的目錄訪問(wèn)協(xié)議有X.500[5]、URL、LDAP、ID等。
由于每個(gè)方法的互操作對(duì)象不同,從而導(dǎo)致每個(gè)方法在交換的信息上也有所不同。表2給出了復(fù)用庫(kù)互操作方法在交換的信息上具體的分類比較結(jié)果。
表2 在交換的信息上的分類比較
可以看出,大部分方法都支持Internet上的通訊協(xié)議,但是采用的目錄訪問(wèn)協(xié)議卻各有不同。每個(gè)方法使用的數(shù)據(jù)模型也有所差異,提供的表示格式也略有不同,但為了能在Internet上進(jìn)行交互,大部分方法都支持HTML或者XML的表示格式。
1.3 在核心技術(shù)上的分類比較
復(fù)用庫(kù)互操作方法主要解決交換數(shù)據(jù)信息和使用數(shù)據(jù)信息進(jìn)行可復(fù)用資源的查詢兩個(gè)問(wèn)題。“核心技術(shù)”角度說(shuō)明了這些方法在解決這兩個(gè)問(wèn)題上使用的主要技術(shù)和常見的體系結(jié)構(gòu)。
常見的體系結(jié)構(gòu)主要有集中式和分布式。在集中式方法中,存在一個(gè)虛擬庫(kù)核心結(jié)點(diǎn)或者中間轉(zhuǎn)換結(jié)點(diǎn),每個(gè)復(fù)用庫(kù)將自己的數(shù)據(jù)信息交換給該結(jié)點(diǎn),用戶通過(guò)這個(gè)結(jié)點(diǎn)使用這些數(shù)據(jù)信息。在分布式方法中,每個(gè)復(fù)用庫(kù)之間按照特定的通訊圖直接進(jìn)行數(shù)據(jù)信息的交換,用戶可以在復(fù)用庫(kù)結(jié)點(diǎn)直接使用這些數(shù)據(jù)信息。
表3給出了復(fù)用庫(kù)互操作方法在“核心技術(shù)”角度上的分類比較結(jié)果??梢园l(fā)現(xiàn),分布式體系結(jié)構(gòu)的系統(tǒng)大多都支持本地查詢,大部分方法都提供重定向技術(shù),因?yàn)橥綇?fù)制技術(shù)會(huì)造成數(shù)據(jù)冗余的問(wèn)題,但是同步復(fù)制機(jī)制能較好地保證數(shù)據(jù)一致性。
表3 在核心技術(shù)上的分類比較
評(píng)論