版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一個(gè)RMI的分
,用RMI編寫一個(gè)分布式應(yīng)用,核心有以下三方面、:
?定位遠(yuǎn)程對(duì)象
-.1一個(gè)應(yīng)用可以利用RMI的名字服務(wù)功能注冊器遠(yuǎn)程
對(duì)象。
-2.可以象操作普通對(duì)象一樣傳送并返回一個(gè)遠(yuǎn)程對(duì)象
的引用G旨針)。
-與遠(yuǎn)程對(duì)象通信:
-底層的通信由RMI實(shí)現(xiàn),對(duì)于系統(tǒng)開發(fā)人員來說,遠(yuǎn)
程調(diào)用和標(biāo)準(zhǔn)的Java方法調(diào)用沒有什么區(qū)別。
?為需要傳遞的對(duì)象裝載類的字節(jié)碼
-RMI允許調(diào)用者向遠(yuǎn)程對(duì)象傳遞一個(gè)對(duì)象,因此RMI
提供這種裝載對(duì)象的機(jī)制。.
、問題的提出
Remote
object
Server
?分布特點(diǎn):
-engin開發(fā),先運(yùn)行,task后定義寫engin時(shí)不對(duì)執(zhí)行什么
任務(wù)作任何規(guī)定.任務(wù)可以是任意定制的.
?前提條件:
-定義任務(wù)的類,要規(guī)定任務(wù)的實(shí)現(xiàn)步驟,使得這個(gè)任務(wù)
能夠提交給engin去執(zhí)行.使用server上的CPU資源.
?技術(shù)支持:
-RMI的動(dòng)態(tài)裝載功能.
遠(yuǎn)程對(duì)象必須繼承遠(yuǎn)程接口
確定那些方法是遠(yuǎn)程方法,為此定義遠(yuǎn)程接口
遠(yuǎn)程接口只負(fù)責(zé)提供方法名,不一共實(shí)現(xiàn)細(xì)節(jié),因此必須由一個(gè)對(duì)
象來實(shí)現(xiàn)接口
?二、設(shè)計(jì)一個(gè)服務(wù)器
?核心協(xié)議:提交任務(wù),執(zhí)行任務(wù),返回結(jié)果
client---------------?client
?在java中遠(yuǎn)程調(diào)用是通過定義遠(yuǎn)程接口來實(shí)現(xiàn)的,
一個(gè)接口只能有一個(gè)方法
?不同類型的任多只要他們實(shí)現(xiàn)了Task類型,就可
以在engin上運(yùn)行.
?實(shí)現(xiàn)這個(gè)接口的類,可以包含任何任務(wù)計(jì)算需要的
數(shù)據(jù)以及和任何任務(wù)計(jì)算需要的方法.
6
(1)定義遠(yuǎn)程接口
?第一個(gè)接口:compute
packagecompute;
importjava.rmi.Remote;
importjava.rmi.RemoteException;
publicinterfaceComputeextendsRemote
{ObjectexecuteTask(Taskt)
throwsRemoteException;}
7
?Coi叩的設(shè)計(jì)要考慮以下問題:
?1.compute加《是一個(gè)類ComputeEngine,它實(shí)現(xiàn)
了Compute接口,只要調(diào)用該類的方法executeTask,
任務(wù)就能提交上來.
?2.提交任務(wù)的Client端程序并不知道任務(wù)是被下載
到engin上執(zhí)行的.因此client在定義任務(wù)時(shí)并不需要
包含如何安裝的server端的代碼.
?3.返回類型是對(duì)象,如果結(jié)果是基本類型,需要轉(zhuǎn)化
成相應(yīng)的對(duì)等類.
?4.用規(guī)定任務(wù)如何執(zhí)行的代碼填寫execute方法.
8
(2)實(shí)現(xiàn)遠(yuǎn)程接口
?一般說來,實(shí)現(xiàn)一個(gè)遠(yuǎn)程接口的類至少有以下步驟:
?1.聲明遠(yuǎn)程接口
?2.為遠(yuǎn)程對(duì)象定義構(gòu)造函數(shù)
?3.實(shí)現(xiàn)遠(yuǎn)程方法
engin中創(chuàng)建對(duì)象的工作可以在實(shí)現(xiàn)遠(yuǎn)程接口類的
main函數(shù)中實(shí)現(xiàn):
?L創(chuàng)建一個(gè)或更多的遠(yuǎn)程對(duì)象的實(shí)例
?2.至少注冊一個(gè)遠(yuǎn)程對(duì)象
?在構(gòu)造函數(shù)中,通過super。,aUnicastRemoteObject
被啟動(dòng),即它可以偵聽客戶端來的請求輸入
?只有一個(gè)遠(yuǎn)程方法,參數(shù)是客戶端遠(yuǎn)程調(diào)用這個(gè)方法
時(shí)傳來的任務(wù).這個(gè)任務(wù)被下載到engin,遠(yuǎn)程方法的
內(nèi)容就是調(diào)用客戶端任務(wù)的方法,并把結(jié)果回送給調(diào)
用者.實(shí)際上這個(gè)結(jié)果是在客戶的任務(wù)的方法中體現(xiàn)
?通過引用傳遞一個(gè)對(duì)象,意味著任何由于遠(yuǎn)程調(diào)
用引起的變化都能反映在原始的對(duì)象中。
?當(dāng)傳遞一個(gè)遠(yuǎn)程對(duì)象時(shí),只有遠(yuǎn)程接口是可用的,
而在實(shí)現(xiàn)類中定義的方法或者是非遠(yuǎn)程接口中的
方法,對(duì)接收者來說是不可用的
?在遠(yuǎn)程方法調(diào)用中,參數(shù),返回值,異常等非對(duì)
象是值傳送.這意味著對(duì)象的拷貝被傳送到接受
方。任何在對(duì)象上發(fā)生的變化不影響原始的對(duì)象
?一旦服務(wù)器用rmi注冊了,main方法就存在了,
不需要一個(gè)守護(hù)統(tǒng)程工作維護(hù)服務(wù)器的工作狀態(tài),
只要有一個(gè)computerengin吵引用在另一個(gè)虛叫/
機(jī),computerengin就不會(huì)關(guān)閉n
三、實(shí)現(xiàn)一個(gè)客戶程序
?目標(biāo):創(chuàng)建一個(gè)任務(wù),并規(guī)定如何執(zhí)行這個(gè)任務(wù)。
packagecompute;client
publicinterfaceTaskextends
java.io.Serializable{
Objectexecute();
溫馨提示
- 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《計(jì)算機(jī)應(yīng)用基礎(chǔ) 》課件-第1章
- 2025-2030全球定制基因合成行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國理財(cái)預(yù)算記賬服務(wù)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國智能家用洗衣機(jī)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球鼓式限位開關(guān)行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國偽造 GPS 定位 App行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國冷凍毛發(fā)研磨儀行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國電動(dòng)汽車綠地制造行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球速凍青豆行業(yè)調(diào)研及趨勢分析報(bào)告
- 必殺04 第七單元 我們鄰近的地區(qū)和國家(綜合題20題)(解析版)
- 2025年南京信息職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025-2030年中國硫酸鉀行業(yè)深度調(diào)研及投資戰(zhàn)略研究報(bào)告
- 課題申報(bào)參考:社會(huì)網(wǎng)絡(luò)視角下村改居社區(qū)公共空間優(yōu)化與“土客關(guān)系”重構(gòu)研究
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院2025年工作計(jì)劃
- 2024年山東省泰安市初中學(xué)業(yè)水平生物試題含答案
- 機(jī)械工程類基礎(chǔ)知識(shí)單選題100道及答案解析
- 冠心病課件完整版本
- 2024年衛(wèi)生資格(中初級(jí))-中醫(yī)外科學(xué)主治醫(yī)師考試近5年真題集錦(頻考類試題)帶答案
- 中國大百科全書(第二版全32冊)08
- 四川省宜賓市中學(xué)2025屆九上數(shù)學(xué)期末統(tǒng)考模擬試題含解析
- 微生物組與膽汁性肝硬化
評(píng)論
0/150
提交評(píng)論