分布式計(jì)算模型探討_第1頁
分布式計(jì)算模型探討_第2頁
分布式計(jì)算模型探討_第3頁
分布式計(jì)算模型探討_第4頁
分布式計(jì)算模型探討_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、分布式計(jì)算模型探討張 軍(江蘇海事職業(yè)技術(shù)學(xué)院 信息工程系, 江蘇 南京 211000)摘 要:隨著Internet的普及,基于Web的應(yīng)用越來越廣泛,分布式計(jì)算在其中起了重要的作用。但傳統(tǒng)的分布式計(jì)算模型如DCOM、CORBA和 JAVA RMI的局限性越來越明顯。本文介紹了一種新的基于SOA的分布式計(jì)算模型Web Service,并對其結(jié)構(gòu)進(jìn)行了探討。關(guān)鍵詞:分布式計(jì)算,DCOM,CORBA,RMI,SOA,Web服務(wù)隨著Internet的普及,基于Web的應(yīng)用越來越廣泛,Jsp、Asp、J2EE等技術(shù)的普及在其中起著重要的推動(dòng)作用。隨著技術(shù)的進(jìn)一步發(fā)展,Web服務(wù)應(yīng)運(yùn)而生,這是一種基于W

2、eb的應(yīng)用程序,可以創(chuàng)造一種通用的平臺(tái),以方便商業(yè)進(jìn)程、應(yīng)用程序、企業(yè)、合作伙伴、客戶等之間的有效集成。建立在XML標(biāo)準(zhǔn)和Internet協(xié)議基礎(chǔ)上的Web服務(wù)是分布式計(jì)算的下一步發(fā)展方向。Web服務(wù)為那些由不同資源構(gòu)建的商業(yè)應(yīng)用程序之間的通訊和協(xié)作帶來了光明的前景,從而使它們在不受到各自底層實(shí)現(xiàn)方案的影響下彼此協(xié)作。而Web服務(wù)的關(guān)鍵因素則是一種基本的技術(shù)分布式計(jì)算技術(shù)。 分布式計(jì)算技術(shù)從概念上講,“分布式計(jì)算是一種計(jì)算方法,在這種算法中,組成應(yīng)用程序的不同組件和對象位于已連接到網(wǎng)絡(luò)上的不同計(jì)算機(jī)上?!睆纳鲜龆x可以看到在基于分布式計(jì)算的模型可以提供一種基礎(chǔ)結(jié)構(gòu),該結(jié)構(gòu)可以在網(wǎng)絡(luò)上的任何位置

3、調(diào)用對象函數(shù)。這些對象對于應(yīng)用程序來說都是透明的,并且可以提供處理功能,就好像和調(diào)用位于同一臺(tái)計(jì)算機(jī)上的應(yīng)用程序。目前最常用的分布式計(jì)算技術(shù)包括:Sun Java RMI(Remote Method Invocation,遠(yuǎn)程方法調(diào)用)、OMG CORBA(Common Object Request Broker Architecture,通用對象代理體系結(jié)構(gòu))、Microsoft DCOM(Distributed Component Object Model,分布式組建對象模型)和Mom(Message-Oriented,面向消息的中間件)。1.1 CORBA(通用對象代理體系結(jié)構(gòu))CORB

4、A是OMG(Object Management Group,對象管理組)最初開發(fā)的、為業(yè)界通用的一種開發(fā)標(biāo)準(zhǔn),用于支持豐富的開發(fā)環(huán)境的分布式計(jì)算。CORBA與傳統(tǒng)的客戶/服務(wù)器結(jié)構(gòu)不同,它提供了一種無需強(qiáng)制使用任何專有協(xié)議或特殊編程語言的操作系統(tǒng)或硬件平臺(tái),是面向?qū)ο蟮慕鉀Q方案。在CORBA體系結(jié)構(gòu)中,應(yīng)用程序可以在網(wǎng)絡(luò)任何位置的任何平臺(tái)上駐留和運(yùn)行,可以以任何與IDL(Interface Definition Language,接口定義語言)的中立接口定義相映射的語言編寫。CORBA還定義了一批系統(tǒng)級的服務(wù)來處理低級別的應(yīng)用程序服務(wù),如生命周期、永久性、事務(wù)、命名、安全性等。在CORBA中通

5、過實(shí)現(xiàn)IIOP(Internet Inter-ORB Protocol)增加了不同ORB(Object Request Broker,對象請求代理)供應(yīng)商的互操作性。IIOP定義了ORB骨干,其它ORB可通過骨干連接并提供與其關(guān)聯(lián)的服務(wù)之間的互操作。在基于CORBA的解決方案中,ORB是一種對象總線,提供了向?qū)ο蟀l(fā)送請求和接受來自對象的響應(yīng),而無需考慮其位置的透明機(jī)制。ORB截獲客戶端的調(diào)用并負(fù)責(zé)查找實(shí)現(xiàn)該請求的服務(wù)器對象、傳遞該對象的參數(shù)、激活其方法,并將結(jié)果返回客戶端。ORB作為CORBA實(shí)現(xiàn)方案的一部分,為CORBA服務(wù)提供了接口,用于構(gòu)建自定義的分布式應(yīng)用環(huán)境。圖1是CORBA模型的結(jié)

6、構(gòu)圖1 CORBA-ORB模型結(jié)構(gòu)示例1.2 Java RMI(Java遠(yuǎn)程方法調(diào)用)Java RMI是Java的一組用于開發(fā)分布式應(yīng)用程序的API。RMI使用Java語言接口定義了遠(yuǎn)程對象(在不同機(jī)器操作系統(tǒng)中的程序?qū)ο螅Y(jié)合了Java serialization(Java序列化)和JRMP(Java Remote Method Protocol,Java遠(yuǎn)程方法協(xié)議)。簡單說,這樣使原先只能在同一操作系統(tǒng)中的方法調(diào)用的程序,變成了可在不同操作系統(tǒng)之間的方法調(diào)用。在基于RMI的應(yīng)用程序體系結(jié)構(gòu)中,面向注冊表的機(jī)制提供了一種簡單、非永久性的命名查找服務(wù),該服務(wù)用于存儲(chǔ)遠(yuǎn)程對象引用、啟發(fā)來自

7、客戶應(yīng)用程序的查找?;贘RMP的RMI結(jié)構(gòu)充當(dāng)RMI客戶程序和遠(yuǎn)程對象之間的介質(zhì)。它截獲客戶請求,傳遞調(diào)用參數(shù)、將調(diào)用請求委托給RMI骨干,最后將方法執(zhí)行的返回值傳遞給客戶站位程序。它還支持從服務(wù)器到客戶應(yīng)用程序的回調(diào),以便實(shí)現(xiàn)異步通知功能。隨著J2EE的廣泛應(yīng)用,作為其體系核心的RMI也起著越來越重要的作用。但是只能應(yīng)用于java平臺(tái)是它的最大的局限。圖2展現(xiàn)了RMI模型的結(jié)構(gòu)。圖2 Java RMI 結(jié)構(gòu)模型1.3 DCOM(分布式組件對象模型)Microsoft COM通過定義Windows操作環(huán)境中的二進(jìn)制標(biāo)準(zhǔn)和網(wǎng)絡(luò)標(biāo)準(zhǔn),為基于Windows的軟件組件相互通信提供了方法。它采用Win

8、dows基于注冊表的對象組織機(jī)制,為ActiveX組件提供分布式應(yīng)用程序模型。而DCOM利用RPC機(jī)制解決了Microsoft Windows平臺(tái)中的分布式計(jì)算問題,使得COM應(yīng)用程序彼此之間可以實(shí)現(xiàn)通信,在RPC機(jī)制中采用了DCOM協(xié)議。DCOM模型可以通過網(wǎng)絡(luò)遠(yuǎn)程調(diào)用已發(fā)布COM對象方法的已定義接口,除了需要一個(gè)本地COM對象作為占位外,這種調(diào)用和對本地COM對象的調(diào)用相同。占位程序封裝COM服務(wù)器對象的網(wǎng)絡(luò)位置信息并充當(dāng)客戶端上的代理。服務(wù)器可以駐留多個(gè)COM對象,這些對象在注冊表中注冊自己以后,客戶端可以通過查找機(jī)制發(fā)現(xiàn)并訪問這些對象。DCOM成功地實(shí)現(xiàn)了Windows平臺(tái)上的分布式計(jì)

9、算,但它的最大局限是只能用于專一的操作系統(tǒng)平臺(tái)。圖3展現(xiàn)了DCOM模型的結(jié)構(gòu)。圖3 DCOM結(jié)構(gòu)模型對于以上三種體系結(jié)構(gòu)來說,它們都采用了緊密耦合的同步模型機(jī)制,都是基于二進(jìn)制通信協(xié)議,采用跨邏輯層的緊密集成,從而帶來了不具伸縮性的問題。1.4 MOM(面向消息的中間件)MOM則是基于松散耦合的異步通信模型,在這種模型中,客戶端無需知道應(yīng)用程序的接收方式或其它方法參數(shù)。MOM使應(yīng)用程序可以使用消息隊(duì)列間接進(jìn)行通信??蛻魬?yīng)用程序?qū)⑾l(fā)送給消息隊(duì)列(保存消息的區(qū)域),而接收應(yīng)用程序則從該隊(duì)列中獲取消息。在這種模型中,向另一應(yīng)用程序發(fā)送消息的應(yīng)用程序不用等待目標(biāo)應(yīng)用程序返回響應(yīng)而繼續(xù)運(yùn)行。上述的分

10、布式計(jì)算模型各自具有自己的優(yōu)勢,但是由于它們的專有特性而難以被廣泛接受。比如說:DCOM局限于微軟平臺(tái),因此不能深入的應(yīng)用于企業(yè);RMI雖然可以跨平臺(tái),但是Java技術(shù)標(biāo)準(zhǔn)被Sun控制;CORBA雖然被OMG這樣的標(biāo)準(zhǔn)化組織控制,但是由于其軟件可用性卻是一個(gè)問題,真正基于CORBA的應(yīng)用程序少得可憐。 Web ServiceWeb服務(wù)是一段位于Internet上的業(yè)務(wù)邏輯,可以通過基于標(biāo)準(zhǔn)的Internet協(xié)議進(jìn)行訪問。與其它的一些技術(shù)相比,Web與它們的區(qū)別在于“標(biāo)準(zhǔn)化”,Web服務(wù)新技術(shù)是建立在被全球大多數(shù)技術(shù)企業(yè)支持的XML的基礎(chǔ)上的。XML提供了一種與語言無關(guān)的方法表示數(shù)據(jù),這些確保了

11、每種主要的新技術(shù)在近年內(nèi)都會(huì)采用Web服務(wù)策略。對于Web服務(wù)而言,它具有如下的行為特征:基于XML,松散耦合,粗粒度,同步或者異步的能力,支持遠(yuǎn)程過程調(diào)用,支持文檔交換。在Web服務(wù)中出現(xiàn)了三種作為全球標(biāo)準(zhǔn)的主要技術(shù),它們構(gòu)成了今天Web服務(wù)技術(shù)的核心。這些技術(shù)是:2.1 SOAP(Simple Object Access Protocol,簡單對象訪問協(xié)議)SOAP提供一個(gè)標(biāo)準(zhǔn)的包裝結(jié)構(gòu)用以在多種標(biāo)準(zhǔn)Internet技術(shù)之上傳輸文檔。它還定義了用XML傳送非XML RPC調(diào)用的編碼和綁定標(biāo)準(zhǔn)。SOAP為RPC提供一個(gè)簡單的結(jié)構(gòu):文檔交換。采用標(biāo)準(zhǔn)傳輸機(jī)制后,異構(gòu)的客戶和服務(wù)器之間可互操作。

12、比如說:Java客戶可以調(diào)用SOAP包裝的.Net組件,而.Net客戶能調(diào)用SOAP包裝的EJB。2.2 WSDL(Web Service Description Language,Web服務(wù)描述語言)WSDL是一種以標(biāo)準(zhǔn)方式描述Web服務(wù)接口的XML技術(shù)。WSDL對Web服務(wù)如何表示外部調(diào)閱所需的輸入輸出參數(shù)、函數(shù)結(jié)構(gòu)、調(diào)用特性以及服務(wù)的協(xié)定綁定進(jìn)行標(biāo)準(zhǔn)化。WSDL允許不同的客戶自動(dòng)理解該如何與Web服務(wù)發(fā)生交互。2.3 UDDI(Universal Description,Discovery and Integration,通用描述、發(fā)現(xiàn)和集成)UDDI提供一個(gè)全世界范圍的注冊中心,以便于

13、Web服務(wù)的宣傳、發(fā)現(xiàn)和集成。通過搜索名字、標(biāo)示符、分類或由Web服務(wù)提供的規(guī)范,業(yè)務(wù)分析師和技術(shù)人員可使用UDDI發(fā)現(xiàn)可用的Web服務(wù)。UDDI提供一個(gè)結(jié)構(gòu)用來表示業(yè)務(wù)、業(yè)務(wù)關(guān)系、Web服務(wù)、規(guī)范原數(shù)據(jù)和Web服務(wù)訪問點(diǎn)。這些內(nèi)容(SOAP、WSDL和UDDI)之間的關(guān)系如圖4所示:一個(gè)作為Web服務(wù)客戶角色的應(yīng)用程序需要找出位于網(wǎng)絡(luò)上某處的另外一個(gè)應(yīng)用程序或者業(yè)務(wù)邏輯單元??蛻敉ㄟ^名字、分類、標(biāo)示符或者支持的規(guī)范查詢UDDI注冊中心。一旦找到,客戶便從UDDI注冊中心獲取WSDL文檔的位置信息。WSDL文檔包含了關(guān)于如何聯(lián)系Web服務(wù)的信息,以及XML模式中的請求消息格式??蛻舭凑誛SDL

14、中發(fā)現(xiàn)的XML模式生成一個(gè)SOAP消息,并發(fā)送一個(gè)消息給服務(wù)方。圖4 WEB服務(wù)交互一個(gè)Web服務(wù)可能與少數(shù)獨(dú)立的進(jìn)程或函數(shù)通信,或者參與一個(gè)復(fù)雜的、綜合性的業(yè)務(wù)過程。它可以在企業(yè)中或Web的任何地方發(fā)布、定位和調(diào)用。無論它是實(shí)現(xiàn)分散操作的細(xì)粒度組件,還是完成整個(gè)業(yè)務(wù)功能的程序套件,都可以設(shè)計(jì)成一個(gè)大型生態(tài)系統(tǒng)中自包含的、自描述的單元實(shí)體。Web服務(wù)還能訪問和封裝其它的Web服務(wù),以完成其功能。這些小的系統(tǒng)還可以相互結(jié)合完成更大、更復(fù)雜的工作。我們可以看到,Web服務(wù)模型本身是一個(gè)良好的、高度分布式的、面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)。這

15、樣的一種結(jié)構(gòu)描述了未來計(jì)算模式的前景。在這個(gè)體系結(jié)構(gòu)中,作為SOA組件的Web服務(wù)由兩部分組成:1)服務(wù)指服務(wù)的實(shí)現(xiàn);2)服務(wù)描述由XML語言描述的服務(wù)接口。如圖5所示,SOA建立在三種角色的交互之上:提供者、注冊中心和請求者。這些角色之間的交換包括發(fā)布服務(wù)信息、發(fā)現(xiàn)那些服務(wù)可用以及綁定到那些服務(wù)。在典型的情況下,提供者提供服務(wù)的實(shí)現(xiàn),為服務(wù)定義描述并且將它們發(fā)布到注冊中心。然后,服務(wù)請求者使用注冊中心找到想使用的Web服務(wù)的描述,利用所掌握的Web服務(wù)描述,服務(wù)請求者可以綁定到一個(gè)服務(wù)(即生成一個(gè)服務(wù)請求)。圖5 面向服務(wù)的體系結(jié)構(gòu)在SOA中,幾乎任何一段邏輯都可以暴露為服務(wù)從一個(gè)獨(dú)立組件到

16、全面的、基于大型主機(jī)的處理。同時(shí),暴露為服務(wù)的方式由提供者決定,可以通過位于HTTP協(xié)議之上的SOAP、JMS消息隊(duì)列或者其它技術(shù)來訪問它。它可以是一個(gè)同步的請求/響應(yīng)機(jī)制,也可以是一個(gè)接收消息后再發(fā)送的異步響應(yīng)機(jī)制。從上面的討論可以看到,Web服務(wù)于過去的分布式計(jì)算相比,最大的優(yōu)點(diǎn)在于Web服務(wù)采用了開放的標(biāo)準(zhǔn)。由于Web服務(wù)支持不同平臺(tái)和不同應(yīng)用程序的通信,因此標(biāo)準(zhǔn)化和互操作性至關(guān)重要。當(dāng)然萬維網(wǎng)聯(lián)盟和各個(gè)重要的軟件廠商都在相互協(xié)商共同促進(jìn)Web服務(wù)實(shí)現(xiàn)版本的互操作性。 結(jié)論盡管Web服務(wù)還沒有充分發(fā)揮所有潛力,但已經(jīng)對企業(yè)業(yè)務(wù)通信帶來了變革。許多公司開始意識到Web服務(wù)的好處,并開始部署

17、Web服務(wù)解決特定業(yè)務(wù)需要。當(dāng)然Web服務(wù)帶來這些好處的同時(shí)也給應(yīng)用程序開發(fā)人員和IT人員帶來了許多挑戰(zhàn)。關(guān)鍵的問題在于推動(dòng)Web服務(wù)的標(biāo)準(zhǔn)仍然處于草案形式,另外的問題就是沒有標(biāo)準(zhǔn)的安全過程。雖然存在這些問題,傳統(tǒng)的分布式計(jì)算模型改變?yōu)閃eb服務(wù)模型仍然是不可避免的趨勢。參考文獻(xiàn):1 H.M.DeitelJava Web服務(wù)高級教程M北京:機(jī)械工業(yè)出版社,20031201242 H.M.DeitelWeb服務(wù)實(shí)用技術(shù)教程M北京:機(jī)械工業(yè)出版社,200470753 James Snell, Doug Tidwell, Pavel KulchenkoSoap Web服務(wù)開發(fā)M北京:中國電力出版社,

18、 200260624 柴曉路,梁宇奇Web Services技術(shù)、架構(gòu)和應(yīng)用M北京:電子工業(yè)出版社,20031001065 Corry,Mayfield,CadmanCOM/DCOM 編程指南M北京:清華大學(xué)出版社,200088896 R.Otte,P.Patrick,M.RoyCORBA教程M北京:清華大學(xué)出版社,19991081097 Nadir Gulzar實(shí)用J2EE應(yīng)用程序體系結(jié)構(gòu)M北京:清華大學(xué)出版社,2003140142Discussion on Distributed Computing ModelZHANG Jun(Jiangsu Martime Instiute,Nanjing,Jiangsu 211170)Abstract:With the popularization of Internet, application based on Web has been more and more extensive, and distributed computing performs an important function in it. But some limitations of traditional distributed c

溫馨提示

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

評論

0/150

提交評論