版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、分布式計(jì)算模型探討張 軍(江蘇海事職業(yè)技術(shù)學(xué)院 信息工程系, 江蘇 南京 211000)摘 要:隨著Internet的普及,基于Web的應(yīng)用越來越廣泛,分布式計(jì)算在其中起了重要的作用。但傳統(tǒng)的分布式計(jì)算模型如DCOM、CORBA和 JAVA RMI的局限性越來越明顯。本文介紹了一種新的基于SOA的分布式計(jì)算模型Web Service,并對(duì)其結(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é)作帶來了光明的前景,從而使它們?cè)诓皇艿礁髯缘讓訉?shí)現(xiàn)方案的影響下彼此協(xié)作。而Web服務(wù)的關(guān)鍵因素則是一種基本的技術(shù)分布式計(jì)算技術(shù)。 分布式計(jì)算技術(shù)從概念上講,“分布式計(jì)算是一種計(jì)算方法,在這種算法中,組成應(yīng)用程序的不同組件和對(duì)象位于已連接到網(wǎng)絡(luò)上的不同計(jì)算機(jī)上?!睆纳鲜龆x可以看到在基于分布式計(jì)算的模型可以提供一種基礎(chǔ)結(jié)構(gòu),該結(jié)構(gòu)可以在網(wǎng)絡(luò)上的任何位置
3、調(diào)用對(duì)象函數(shù)。這些對(duì)象對(duì)于應(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,通用對(duì)象代理體系結(jié)構(gòu))、Microsoft DCOM(Distributed Component Object Model,分布式組建對(duì)象模型)和Mom(Message-Oriented,面向消息的中間件)。1.1 CORBA(通用對(duì)象代理體系結(jié)構(gòu))CORB
4、A是OMG(Object Management Group,對(duì)象管理組)最初開發(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)級(jí)的服務(wù)來處理低級(jí)別的應(yīng)用程序服務(wù),如生命周期、永久性、事務(wù)、命名、安全性等。在CORBA中通
5、過實(shí)現(xiàn)IIOP(Internet Inter-ORB Protocol)增加了不同ORB(Object Request Broker,對(duì)象請(qǐng)求代理)供應(yīng)商的互操作性。IIOP定義了ORB骨干,其它ORB可通過骨干連接并提供與其關(guān)聯(lián)的服務(wù)之間的互操作。在基于CORBA的解決方案中,ORB是一種對(duì)象總線,提供了向?qū)ο蟀l(fā)送請(qǐng)求和接受來自對(duì)象的響應(yīng),而無需考慮其位置的透明機(jī)制。ORB截獲客戶端的調(diào)用并負(fù)責(zé)查找實(shí)現(xiàn)該請(qǐng)求的服務(wù)器對(duì)象、傳遞該對(duì)象的參數(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)程對(duì)象(在不同機(jī)器操作系統(tǒng)中的程序?qū)ο螅?,它結(jié)合了Java serialization(Java序列化)和JRMP(Java Remote Method Protocol,Java遠(yuǎn)程方法協(xié)議)。簡(jiǎn)單說,這樣使原先只能在同一操作系統(tǒng)中的方法調(diào)用的程序,變成了可在不同操作系統(tǒng)之間的方法調(diào)用。在基于RMI的應(yīng)用程序體系結(jié)構(gòu)中,面向注冊(cè)表的機(jī)制提供了一種簡(jiǎn)單、非永久性的命名查找服務(wù),該服務(wù)用于存儲(chǔ)遠(yuǎn)程對(duì)象引用、啟發(fā)來自
7、客戶應(yīng)用程序的查找?;贘RMP的RMI結(jié)構(gòu)充當(dāng)RMI客戶程序和遠(yuǎn)程對(duì)象之間的介質(zhì)。它截獲客戶請(qǐng)求,傳遞調(diào)用參數(shù)、將調(diào)用請(qǐng)求委托給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(分布式組件對(duì)象模型)Microsoft COM通過定義Windows操作環(huán)境中的二進(jìn)制標(biāo)準(zhǔn)和網(wǎng)絡(luò)標(biāo)準(zhǔn),為基于Windows的軟件組件相互通信提供了方法。它采用Win
8、dows基于注冊(cè)表的對(duì)象組織機(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對(duì)象方法的已定義接口,除了需要一個(gè)本地COM對(duì)象作為占位外,這種調(diào)用和對(duì)本地COM對(duì)象的調(diào)用相同。占位程序封裝COM服務(wù)器對(duì)象的網(wǎng)絡(luò)位置信息并充當(dāng)客戶端上的代理。服務(wù)器可以駐留多個(gè)COM對(duì)象,這些對(duì)象在注冊(cè)表中注冊(cè)自己以后,客戶端可以通過查找機(jī)制發(fā)現(xiàn)并訪問這些對(duì)象。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)模型對(duì)于以上三種體系結(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)勢(shì),但是由于它們的專有特性而難以被廣泛接受。比如說: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ù)策略。對(duì)于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,簡(jiǎn)單對(duì)象訪問協(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ǎn)單的結(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對(duì)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è)全世界范圍的注冊(cè)中心,以便于
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注冊(cè)中心。一旦找到,客戶便從UDDI注冊(cè)中心獲取WSDL文檔的位置信息。WSDL文檔包含了關(guān)于如何聯(lián)系Web服務(wù)的信息,以及XML模式中的請(qǐng)求消息格式??蛻舭凑誛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建立在三種角色的交互之上:提供者、注冊(cè)中心和請(qǐng)求者。這些角色之間的交換包括發(fā)布服務(wù)信息、發(fā)現(xiàn)那些服務(wù)可用以及綁定到那些服務(wù)。在典型的情況下,提供者提供服務(wù)的實(shí)現(xiàn),為服務(wù)定義描述并且將它們發(fā)布到注冊(cè)中心。然后,服務(wù)請(qǐng)求者使用注冊(cè)中心找到想使用的Web服務(wù)的描述,利用所掌握的Web服務(wù)描述,服務(wù)請(qǐng)求者可以綁定到一個(gè)服務(wù)(即生成一個(gè)服務(wù)請(qǐng)求)。圖5 面向服務(wù)的體系結(jié)構(gòu)在SOA中,幾乎任何一段邏輯都可以暴露為服務(wù)從一個(gè)獨(dú)立組件到
16、全面的、基于大型主機(jī)的處理。同時(shí),暴露為服務(wù)的方式由提供者決定,可以通過位于HTTP協(xié)議之上的SOAP、JMS消息隊(duì)列或者其它技術(shù)來訪問它。它可以是一個(gè)同步的請(qǐng)求/響應(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)對(duì)企業(yè)業(yè)務(wù)通信帶來了變革。許多公司開始意識(shí)到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ù)模型仍然是不可避免的趨勢(shì)。參考文獻(xiàn):1M北京:機(jī)械工業(yè)出版社,20031201242M北京:機(jī)械工業(yè)出版社,200470753 James Snell, Doug Tidwell, Pavel KulchenkoSoap Web服務(wù)開發(fā)M北京:中國電力出版社, 200260624 柴曉路,梁宇奇Web Services技術(shù)、架構(gòu)和應(yīng)用M北京:電子工業(yè)出
18、版社,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 com
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國半導(dǎo)體用水溶性助焊劑行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國第一人稱視角射擊游戲行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國HDPE模制容器行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國茂金屬線型低密度聚乙烯樹脂行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 合同起草范本
- 汽車自駕租賃合同
- 房屋委托代管合同
- 2025贈(zèng)與合同公證書
- 維修工聘用合同范本
- 收獲成長(zhǎng)迎接新起點(diǎn)主題班會(huì)
- 2024年江西省南昌市南昌縣中考一模數(shù)學(xué)試題(含解析)
- 繪本的分鏡設(shè)計(jì)-分鏡的編排
- 查干淖爾一號(hào)井環(huán)評(píng)
- 體檢中心分析報(bào)告
- 人教版初中英語七八九全部單詞(打印版)
- 臺(tái)球運(yùn)動(dòng)中的理論力學(xué)
- 最高人民法院婚姻法司法解釋(二)的理解與適用
- 關(guān)于醫(yī)保應(yīng)急預(yù)案
- 新人教版五年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題大全doc
- 2022年版義務(wù)教育勞動(dòng)課程標(biāo)準(zhǔn)學(xué)習(xí)培訓(xùn)解讀課件筆記
- 2022年中國止血材料行業(yè)概覽:發(fā)展現(xiàn)狀對(duì)比分析研究報(bào)告(摘要版) -頭豹
評(píng)論
0/150
提交評(píng)論