軟構(gòu)件劉煥玉_第1頁
軟構(gòu)件劉煥玉_第2頁
軟構(gòu)件劉煥玉_第3頁
軟構(gòu)件劉煥玉_第4頁
軟構(gòu)件劉煥玉_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、實現(xiàn)方法目前制定構(gòu)件實現(xiàn)規(guī)范的機構(gòu)主要有OMG(Object Management Group)組件,Microsoft和SUN,它們制定的三種構(gòu)件規(guī)范如下: OMG組織CORBA(Common Object Request Broker Architecture) Microsoft公司DCOM (Distributed Component Object Model) SUN公司EJB(Enterprise JavaBean Development) 這三種構(gòu)件規(guī)范皆是針對二進制代碼構(gòu)件制定的,為基于構(gòu)件的軟件開發(fā)提供了對象管理的基礎(chǔ)設(shè)施,下面就規(guī)范角度對這三種實現(xiàn)方法進行介紹。1.DCOM

2、DCOM是Microsoft提出的一種分布構(gòu)件對象模型,起源于動態(tài)數(shù)據(jù)交換(DDE)技術(shù),通過剪切/粘貼(Cut/Paster)實現(xiàn)兩個應(yīng)用之間共享數(shù)據(jù)的動態(tài)交換。對象連接與嵌入(OLE)就是從DDE引伸而來的。隨后引入構(gòu)件對象模型COM(Component Object Model),形成了COM對象之間實現(xiàn)互操作的二進制標(biāo)準(zhǔn)。COM規(guī)定了對象模型的編程要求,使COM對象可以與其它對象相互操作。這些對象可以用不同的語言實現(xiàn)。DCOM是跨LAN、WAN和Internet的二進制COM對象的基本擴展,可以跨網(wǎng)絡(luò)實例化和綁定對象。DCOM是一個高層協(xié)議,它能使基于COM的組件位于不同機器上的兩個進

3、程間協(xié)作。DCOM使得程序員不必編寫網(wǎng)絡(luò)代碼去處理分布式組件跨網(wǎng)絡(luò)間協(xié)作。DCOM還提供自動化(Automation)的擴展功能。與Automation兼容的接口能夠采用對象定義語言(ODL)描述并且可以有選擇地在二進制類型程序庫中注冊。當(dāng)客戶方缺少編譯時的接口知識,就可以通過一個指定的COM接口(IDIispath)動態(tài)調(diào)用Automation接口。當(dāng)提供類型程序庫時,就能夠在運行時完成針對調(diào)用命令的類型檢查。Automation接口擁有屬性與方法,但DCOM接口只擁用方法。屬性定義與方法參數(shù)所使用的數(shù)據(jù)類型組成DCOM支持的數(shù)據(jù)類型定義的子集。為了搭建DCOM的應(yīng)用環(huán)境,Microsoft

4、提供了MTS(Microsoft Transaction Server)基礎(chǔ)結(jié)構(gòu),MTS為DCOM的使用提供了完善服務(wù)機制。例如:ORB (Object Request Broker)對象請求代理程序、進程代理程序、名字服務(wù)、事務(wù)處時監(jiān)視器TP-Monitor(Transaction Processing Monitor)等。DCOM的主要結(jié)構(gòu)如圖1 DCOM構(gòu)件對Windows的依賴性強,對其它操作系統(tǒng)的支持相對不足,構(gòu)件運行環(huán)境提供者僅限于Microsoft,但支持DCOM規(guī)范的開發(fā)工具比較多,例如VC、VB、VJ、C+Builder、Jbuilder等。2.EJB規(guī)范說明定義了JAVA的

5、服務(wù)器端構(gòu)件模型。EJB方法擴充了Java的客戶端構(gòu)件模型JavaBean以支持服務(wù)器端應(yīng)用系統(tǒng)的開發(fā)。SUN發(fā)布的文檔中對EJB的定義是:EJB是用于開發(fā)和部署多層結(jié)構(gòu)的、分布的、面向?qū)ο蟮?、跨平臺的Java應(yīng)用系統(tǒng)構(gòu)件體系結(jié)構(gòu)。EJB把Java的“Write once,run anywhere”的思想提到一個新的高度,服務(wù)器端構(gòu)件在構(gòu)件執(zhí)行系統(tǒng)內(nèi)運行,規(guī)范說明定義了構(gòu)件執(zhí)行所需要的服務(wù)。遵從EJB規(guī)范說明開發(fā)的構(gòu)件可以在任何一個支持EJB的系統(tǒng)中運行。通過使用RMI (Remote Method Invocation),EJB支持遠(yuǎn)程的客戶端存取。RMI是一個高級程序設(shè)計接口,它使得服務(wù)器

6、的位置對于客戶機來說是透明的,RMI產(chǎn)生一個對象,這個對象被安裝在客戶機系統(tǒng)中,作為存取服務(wù)器對象的代理對象,EJB開發(fā)人員為每一個可存取的接口定義一個JAVA遠(yuǎn)程接口。通過使用IIOP協(xié)議(Internet Inter ORB Protocol), EJB也可以和其它的非JAVA客戶機進行通信。IIOP允許EJB系統(tǒng)和CORBA的集成,EJB可以存取CORBA構(gòu)件,CORBA構(gòu)件也可以存取EJB構(gòu)件。EJB的主要結(jié)構(gòu)如圖2 EJB各組成部分的含義為:JDBC(Java Database Connectivity):基于SQL標(biāo)準(zhǔn)Java數(shù)據(jù)庫連接,其基本功能和設(shè)計與ODBC相似。Java R

7、MI(Java Remote Method Invocation):Java遠(yuǎn)程方法調(diào)用。JNDI(Java Naming and Directory Interface):Java名字的目錄服務(wù)Java IDL:Java和CORBA之間的連接。JTS(Java Transaction Service):Java事務(wù)管理服務(wù)JMAPI(Java Management API):Java網(wǎng)絡(luò)管理APT。JMS(Java Message Service):Java消息傳遞服務(wù)。目前推出EJB實現(xiàn)平臺的公司有: IBM、Inprise、Gemstone、Informix、NCR、Netscape、N

8、ovell、Oracle、Oracle、Sybase等眾多的公司,因此EJB技術(shù)得到了工業(yè)界廣泛的支持,EJB己成為Java技術(shù)研究中的重點。為EJB提供開發(fā)工具的有IBM、Inprise、Oracle、Sybase等眾多的公司。但可使用的開發(fā)語言為通用的JAVA。3.CORBA規(guī)范是由OMG提出的OMG是一個非盈利性組織。自1989年成立以來,在分布式系統(tǒng)的互操作性領(lǐng)域已經(jīng)開展了大量的研究工作,促進了在軟件發(fā)展過程中面向?qū)ο蠹夹g(shù)的理論和實踐。到目前為止,OMG己擁有包括IBM、Hewlett-Packward、NEC、Sun等公司在內(nèi)的超過750個會員,包括信息系統(tǒng)方面的成員,軟件開發(fā)商和用

9、戶。OMG的宗旨就是產(chǎn)生一套標(biāo)準(zhǔn)的語言、接口和協(xié)議,以支持異構(gòu)應(yīng)用間的互操作性。另外還包括企業(yè)指導(dǎo)方針和對象管理規(guī)范說明書的建立,提供應(yīng)用開發(fā)的公共支架。它遵循一個新的技術(shù)途徑,即面向?qū)ο蠹夹g(shù),并同時考慮商業(yè)可行性技術(shù),采用自底向上的方式,于1990年提出了CORBA的核心結(jié)構(gòu)-對象管理結(jié)構(gòu)OMA(Object Management Architecture),即在一個結(jié)構(gòu)方式下選擇技術(shù)的基礎(chǔ),產(chǎn)生了公認(rèn)的基于可商用對象技術(shù)的事實標(biāo)準(zhǔn)。CORBA主要的目標(biāo)是實現(xiàn)重用性、移植性和分布的、異種的環(huán)境中的基于對象軟件的互操作性。這些規(guī)格的一致性將可能開發(fā)出一種異種的、跨所有主要硬件平臺和操作系統(tǒng)的應(yīng)

10、用環(huán)境。CORBA基于面向?qū)ο蠹夹g(shù)和商業(yè)可行性技術(shù),采用自底向上的方式,從網(wǎng)絡(luò)層開始,向上一直到應(yīng)用接口形成事實上的標(biāo)準(zhǔn)。它首先給出一種參考模型對象管理結(jié)構(gòu)OMA,即在一個結(jié)構(gòu)化方式下選擇技術(shù)的基礎(chǔ)。然后,基于這一模型廣泛征集信息和建議,從OMG成員中獲得關(guān)于現(xiàn)有產(chǎn)品的詳細(xì)技術(shù)和商業(yè)可行性信息,用來充實參考模式結(jié)構(gòu)中的不同部分。經(jīng)過技術(shù)和商業(yè)委員會審查這些反饋信息后,由OMG的決策者最終決定采用哪種技術(shù)。OMA由一組工具和協(xié)議構(gòu)成,它提供了一個支持“可互操作的軟件部件標(biāo)準(zhǔn)的接口”的體系結(jié)構(gòu)。該系統(tǒng)可以以一種分布式對象管理的概念支持分布式應(yīng)用,即一個對象管理結(jié)構(gòu)OMA系統(tǒng)包含各種分布在整個計算機

11、網(wǎng)絡(luò)中的對象,每一個對象提供一個可使其它對象通過RPC方式與之通信的接口。在OMA模式中,每一個軟件代表一個對象,它們通過對象請求中介與其它對象通信。對象請求中介(ORB)是一個關(guān)鍵的通信機制,在高互操作性方式下,處理應(yīng)用對象之間的消息分布?;跇?biāo)準(zhǔn)化過程的相對重要性,ORB將對象分布三大類:對象服務(wù)、通用功能和應(yīng)用對象。其中,對象服務(wù)提供實現(xiàn)基本對象功能的主要函數(shù),它使用對象請求中介處理對象的邏輯模式和對象的物理存儲,如加密和認(rèn)證,結(jié)構(gòu)轉(zhuǎn)換等,這些服務(wù)所實現(xiàn)的是低層的;通用功能包括許多應(yīng)用領(lǐng)域都有的功能,通過OMG所允許的類型而實現(xiàn)。如電子郵件和其它應(yīng)用層的服務(wù)等,這些服務(wù)的實現(xiàn)是高層的;在

12、這一模式中所標(biāo)明的應(yīng)用功能是一片屬于應(yīng)用開發(fā)者的廣闊開地。OMG在這一領(lǐng)域中將不規(guī)定任何標(biāo)準(zhǔn)。OMG參考模型OMA由以下四個部分成組:*對象請求中介ORB(Object Request broker),使對象在分布式環(huán)境中透明地收發(fā)請求和響應(yīng)。它是構(gòu)造分布式對象應(yīng)用,使應(yīng)用在不同層次和異構(gòu)環(huán)境下互操作的基礎(chǔ)。*對象服務(wù)(Object Services)是為使用和實現(xiàn)對象而提供的基本服務(wù)集合,對于分布式應(yīng)用這些是基本服務(wù),同時服務(wù)獨立于應(yīng)用領(lǐng)域。它提供的服務(wù)有:命名、生命周期服務(wù)和事務(wù)服務(wù)等,它不考慮對象在應(yīng)用中如何實現(xiàn)。*公共設(shè)施(Common Facilities)是為許多應(yīng)用提供的共享服務(wù)

13、集合,如系統(tǒng)管理、電子郵件等。*應(yīng)用對象(Application Objects)相應(yīng)于傳統(tǒng)的應(yīng)用表示,可由單個廠商生產(chǎn),是參考模型中的最高層,OMG對此不作規(guī)定。在OMA中,ORB提供了透明發(fā)出請求和接收響應(yīng)的基本機制,ORB使得分布對象可以構(gòu)成實際的應(yīng)用并使應(yīng)用之間能夠互操作,是對象間的“通信總線”。下面描述了CORBA參考模型OMA結(jié)構(gòu)的主要組成結(jié)構(gòu)如圖3。目前有大量的公司支持CORBA規(guī)范的實現(xiàn)平臺,如IBM、Inprise、Informix、Oracle、Sybase、IONA、SUN等眾多的公司,CORBA提供開發(fā)工具的有IBM、Inprise、Oracle、Sybase等的公司。

14、開發(fā)語言可用JAVA,C等。三種構(gòu)件模型之間的比較下面表1從集成性、可用性、可擴展性三個方面,給出了三種軟件構(gòu)件技術(shù)的比較結(jié)果。表1只代表經(jīng)驗的分析結(jié)構(gòu),不代表統(tǒng)計調(diào)查結(jié)果。表1三種構(gòu)件模型的比較結(jié)果 在這三種構(gòu)件模型中,EJB同CORBA之間具有較好的互補性和互通性。EJB提供了一個概念清晰、結(jié)構(gòu)緊湊的分布計算模型和構(gòu)件互操作的方法,為構(gòu)件應(yīng)用開發(fā)提供了相當(dāng)?shù)撵`活性。但由于它還處于發(fā)展初期,因此其形態(tài)很難界定。CORBA是一種集成技術(shù),而不是編程技術(shù)。它提供了對各種功能模塊進行構(gòu)件化處理并將它們捆綁在一起的粘合劑。EJB和CORBA在很大的程序是可以看作為互補的。這個適應(yīng)WEB應(yīng)用的發(fā)展要求

15、,許多廠商多非常重視促進EJB和CORBA技術(shù)的結(jié)合,將來RMI可能建立在IIOP之上。CORBA不只是對象請求代理ORB,也是一個非常完整的分布式對象平臺。CORBA可以擴展EJB在網(wǎng)絡(luò)、語言、組件邊界、操作系統(tǒng)中的各種應(yīng)用。目前許多平臺都能實現(xiàn)EJB構(gòu)件和CORBA構(gòu)件的互操作。 同EJB和CORBA之間相互之間方便的互操作性相比,DOCM和CORBA之間的互操作性要相對復(fù)雜些,雖然DCOM和CORBA極其類似。DOCM的接口指針大體相當(dāng)于CORBA的對象引用。為了實現(xiàn)CORBA和DCOM的互操作,OMG在CORBA 3。0的規(guī)范中,加入了有關(guān)的CORBA和DCOM互操作的實現(xiàn)規(guī)范,并提供

16、了接口方法。為闡明如何在實際應(yīng)用中實現(xiàn)互操作,用圖4來進行說明。在圖中居左的是充當(dāng)客戶方的對象系統(tǒng)A,它要向居于右側(cè)的對象系統(tǒng)B中的目標(biāo)結(jié)象發(fā)送請求。我們將提供是映射的全部概念實體稱為橋,其作途是從客戶方至目標(biāo)對象實現(xiàn)請求的透明映射及分發(fā)。系統(tǒng)A中的對象稱為視圖(View)的對象。視圖作為系統(tǒng)A中的對象,代表著系統(tǒng)B的目標(biāo)對象映射到系統(tǒng)A中的身份標(biāo)識與接口,稱之為B目標(biāo)對象A的視圖。視圖所公開的接口稱為視圖接口,與系統(tǒng)B中的目標(biāo)對象同構(gòu)。視圖接口提供的方法將系統(tǒng)A的客戶請求轉(zhuǎn)化為對系統(tǒng)B目標(biāo)對象的請求。視圖是橋的一個成員,而橋則可以由許多視圖組成。橋是不同對象系統(tǒng)間映射接口與身份標(biāo)識,盡管物理上橋并不需要系統(tǒng)B中目標(biāo)對象的引用,但從概念上講,橋還是保留了該引用。橋必須在系統(tǒng)A和系統(tǒng)B之間提供

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論