中間件實驗報告_第1頁
中間件實驗報告_第2頁
中間件實驗報告_第3頁
中間件實驗報告_第4頁
中間件實驗報告_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-學生*實驗課成績學生實驗報告書實驗課程名稱軟件構(gòu)件與中間件技術開 課 學 院計算機科學與技術學院指導教師石兵學 生 姓 名廖錫峰學生專業(yè)班級軟件14022016-2017學年第二學期實驗課程名稱: 軟件構(gòu)件與中間件技術 實驗工程名稱基于 JAVA CORBA的四則運算分布式系統(tǒng)開發(fā)實驗成績實驗者廖錫峰專業(yè)班級軟件1402組別同組者實驗日期2017年5月 15日第一局部:實驗分析與設計可加頁實驗步驟:1、 安裝 JDK1.6 并配置系統(tǒng)參數(shù) PATH 和 CLASSPATH,翻開一個 DOS 窗口鍵入命令 java version驗證是否已經(jīng)正確地安裝了JDK。2、 翻開一個文本編輯器,編寫以

2、下 IDL 接口定義文件,并命名為 BA.idl,保存到一個文件 夾下,這里是D:shiyan。3、 編譯 IDL文件。4、 實現(xiàn)遠程對象。翻開記事本,復制以下代碼。文件名:BAImpl.java。保存到文件夾5、 編寫效勞器。注意要把 IP 地址換成當前這臺物理機器的 IP 地址。翻開記事本,復制以 下代碼。文件名:Server.java。保存到文件夾 D:shiyanBAPkg之下。六、編寫客戶端。注意要把 IP 地址換成當前這臺物理機器的 IP 地址。翻開記事本,復制以 下代碼。文件名:Client.java。保存到文件夾 D:shiyanBAPkg之下。七、編譯 JAVA源代碼。八、系

3、統(tǒng)布置。剛剛是在機器 A 上開發(fā)的,機器 A 是效勞器,IP 地址是機器 A 的 IP 地址。 現(xiàn)在,在另一臺機器,機器 B 上安裝 JDK1.6 并配置 PATH 和 CLASSPATH 系統(tǒng)參數(shù),并把代碼 及字節(jié)碼打包復制到機器 B上,它是一個客戶端。九、運行系統(tǒng)。在機器 A 上翻開一個 DOS 窗口,運行 JAVA CORBA 命名目錄效勞器.第二局部:實驗調(diào)試與結(jié)果分析可加頁一、 實驗小結(jié)、建議及體會 通過本次實驗,了解了基于 JAVA CORBA的四則運算分布式系統(tǒng)開發(fā),對中間件有了更深的理解。2、 思考題(1) 假定使用 JDK1.6,編譯 idl文件的命令是什么?idlj fal

4、l BA.idl (2) 編譯后,產(chǎn)生了哪幾個文件?簡要說明生成的各個 Java 類的作用。尤其是,客戶端的碼根和效勞器端的框架是哪個類。對于BAInterface 接口,編譯后共產(chǎn)生以下六個 JAVA 類或接口:BAInterface.java, BAInterfaceOperations.java, BAInterfaceHelper.java, BAInterfaceHolder.java, BAInterfacePOA.java, _BAInterfaceStub.java。前兩個文件是對應 IDL 接口的 JAVA 接口, HELPER 類提供 CORBA 類型轉(zhuǎn)換等輔助功能,HOL

5、DER 類提供 ORB 中間件網(wǎng)絡輸入、輸 出流等方法,而 POA 和 STUB 類分別是效勞器端框架和客戶端的碼根,主要負責遠程方法 調(diào)用參數(shù)的打包和解包。(三) Idl 文件中的 BAPkg模塊映射成了什么?在 IDL 文件中的 BAPkg 模塊被編譯成對應的 JAVA 包。(4) 實現(xiàn)遠程對象要注意什么問題?所實現(xiàn)的遠程對象必須是對應 POA 類的一個子類,換句話說,遠程對象類必須 繼承對應的 POA 類。(5) 實現(xiàn)效勞器端的步驟是什么? 1、設置效勞器參數(shù),主要是 命名目錄效勞器的 IP 地址和端口號;2、根據(jù)系統(tǒng)參數(shù)作為實參,創(chuàng)立一個 ORB 對象。再 根據(jù) ORB 對象以及 Ro

6、otPOA 名稱解析出 POA 對象參照,根據(jù) POAHelper 類的靜態(tài)細化方 法把 POA 對象參照轉(zhuǎn)換成 POA 對象。根據(jù) POA 對象創(chuàng)立 POA 管理器類對象,并激活之。 3、創(chuàng)立遠程伺服對象,并把它登記到 POA 對象,返回伺服對象的一個 CORBA 對象參照, 根據(jù)其 Helper 類的細化方法,將對象參照轉(zhuǎn)換成真正意義上的遠程對象。我們這里有三個 概念:伺服對象、伺服對象參照和對應的遠程對象。4、根據(jù) ORB 對象和 NameService 名稱 解析出命名目錄效勞器中 JNDI 節(jié)點對象 CORBA 參照,再根據(jù)其 Helper 類的靜態(tài)細化方法 把節(jié)點對象參照轉(zhuǎn)換成真正

7、的節(jié)點對象。指定一個將綁定遠程對象的字符名稱,利用節(jié)點對 象將該名稱轉(zhuǎn)換成連在該節(jié)點上的路徑對象,最后再把在第三步中創(chuàng)立的遠程對象綁定到該 路徑上。5、啟動 ORB 對象。(6) 實現(xiàn)客戶端的步驟是什么?1、設置效勞器參數(shù),主 要是命名目錄效勞器的 IP 地址和端口號;2、根據(jù)系統(tǒng)參數(shù)作為實參,創(chuàng)立一個 ORB 對象。 、根據(jù) ORB 對象和 NameService 名稱解析出命名目錄效勞器中 JNDI 節(jié)點對象 CORBA 3 參照,再根據(jù)其 Helper 類的靜態(tài)細化方法把節(jié)點對象參照轉(zhuǎn)換成真正的節(jié)點對象。、根 據(jù)遠程對象字符名稱從節(jié)點對象中解析出遠程對象的參照,再根據(jù)其 類的靜態(tài)細化方法

8、把對象參照轉(zhuǎn)換成遠程對象本身。5、調(diào)用遠程對象的遠程方 法。 (7) 運行效勞器和客戶程序的命令是什么?首先運行命名目錄效勞器 : orbd ORBInitialPort 1050, 再運行效勞器 : java BAPkg.Server, 最后運行客戶端: java BAPkg.Client(八) 談一談你對 Java CORBA的認識。Java CORBA 是一個完全面向?qū)ο蟮姆植际綉瞄_發(fā)中間件及規(guī)。它使用 ORB 即對象請求代理作為中間件模塊,IIOP 作為效勞器端和客戶端 ORB 的通訊協(xié)議,以及使用 IDL 作為接口定義語言。ORB 中間件跨平臺、跨語言,充分屏蔽了分布式網(wǎng)絡的異構(gòu)性

9、。 Java CORBA 使用 Java 編程語言,和 C+相比,更簡潔、一致、明快,大大減少了效勞端和 客戶端派生的代碼,且派生的代碼容易理解,便于使用。在*種意義上,JavaCORBA 已經(jīng)完全取代了 C+ CORBA。實驗課程名稱: 軟件構(gòu)件與中間件技術 實驗工程名稱基于 RMI/IIOP的分布式一元二次方程求解系統(tǒng)實驗成績實驗者廖錫峰專業(yè)班級軟件1402組別同組者實驗日期2017年5月 15日第一局部:實驗分析與設計可加頁實驗步驟:一、安裝 jdk1.6,并配置系統(tǒng)參數(shù) Path 和Classpath。二、創(chuàng)立以下目錄構(gòu)造 D:E*p02rmiiiop_equation。把后面所有 J

10、ava源代碼文件都復制到該文件夾下。三、翻開記事本,編寫封閉兩個根的 JavaBean四、編寫遠程接口五、實現(xiàn)遠程接口六、開發(fā)效勞器程序七、開發(fā)客戶端程序八、在兩臺機器 A 和 B 上創(chuàng)立一樣的文件夾:D:E*p02rmiiiop_equation,把上面所有的源 代碼文件復制到兩臺機器的對應的文件夾下,分別編譯。假定機器 B是效勞器。九、編譯方法十、運行系統(tǒng)第二局部:實驗調(diào)試與結(jié)果分析可加頁一、實驗結(jié)果二、實驗小結(jié)、建議及體會通過本次試驗,了解了基于 RMI/IIOP的分布式一元二次方程求解系統(tǒng),體會到了與CORBA的不同。3、 思考題(1) RMI/IIOP 和傳統(tǒng)的RMI 有什么差異?R

11、MI, Remote Method Invocztion, 即遠程方法調(diào)用。和 RMI/IIOP 一樣的地方是兩 種方法都使用 JAVA 創(chuàng)立遠程對象的接口,而兩者使用的網(wǎng)絡協(xié)議有所不同。后者使用 CORBA 規(guī)的通用協(xié)議 IIOP,所以可以和 CORBA 應用通訊。換句話說,一個 CORBA 客 戶端可以訪問一個 RMI/IIOP 效勞器。(2) RMI/IIOP 的開發(fā)步驟。1、用 JAVA 定義遠 程接口。注意,遠程接口要繼承 java.rmi.Remote, 遠程方法要拋出 java.rmi.RemoteE*ception。 2 、實現(xiàn)遠程接口。注意,實現(xiàn)遠程接口的類必須繼承可移植遠程

12、對象,即 java*.rmi.PortableRemoteObject。3、開發(fā)效勞器程序。4、開發(fā)客戶端程序。5、編譯所有 JAVA 源代碼。6、使用 rmic 編譯遠程對象實現(xiàn)的字節(jié)碼文件,產(chǎn)生客戶端的碼根和效勞器端的框 架。例如:rmic iiop RMIIIOPApp.RemoteObjectImpl。注意,rmic 要使用 iiop 選項。(三) 實現(xiàn)遠程接口應注意什么?實現(xiàn)遠程接口的類必須繼承可移植遠程對象,即 java*.rmi.PortableRemoteObject。(4) 定義遠程接口應注意什么?遠程接口要繼承 java.rmi.Remote, 遠程方法要拋出 java.rmi.RemoteE*ception。(5) 客戶端和效勞器的系統(tǒng)參數(shù)的含意是什么?IP地址和端口號。(6) 如何產(chǎn)生客戶端和效勞器端的鏡像代碼?客戶端的碼根是遠程對象的本地鏡 像,也就是遠程對象的本地代理,主要負責遠程方法參數(shù)打包和遠程方法調(diào)用返回結(jié)果的解 包。效勞器端的框架是效勞器的碼根。(7) 修改客戶端程序,使用輸入流,使得用戶能夠輸入任意三個系數(shù)。Scanner input = new Scanner(System.in);double a,b,c;System.out.println(please

溫馨提示

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

評論

0/150

提交評論