基于分布構(gòu)件的體系結(jié)構(gòu).ppt_第1頁
基于分布構(gòu)件的體系結(jié)構(gòu).ppt_第2頁
基于分布構(gòu)件的體系結(jié)構(gòu).ppt_第3頁
基于分布構(gòu)件的體系結(jié)構(gòu).ppt_第4頁
基于分布構(gòu)件的體系結(jié)構(gòu).ppt_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第八章基于分布構(gòu)件的體系結(jié)構(gòu),1,基于分布構(gòu)件的系統(tǒng)體系結(jié)構(gòu),內(nèi)容,8.1EJB分布構(gòu)件框架 8.2DCOM分布構(gòu)件框架 8.3CORBA分布構(gòu)件框架,8.1 EJB分布構(gòu)件框架,簡介:EJB(Enterprise Java Bean)分布構(gòu)件框架由SUN公司主導(dǎo)制定,它基于Java語言,面向企業(yè)級的分布式系統(tǒng)開發(fā)。,8.1 EJB分布構(gòu)件框架,實例:HelloWorld EJB構(gòu)件HelloWorldBean 文件HelloWorldBean.java:,8.1 EJB分布構(gòu)件框架,實例:HelloWorld EJB構(gòu)件HelloWorldBean 文件HelloWorld.java:,8.

2、1 EJB分布構(gòu)件框架,實例:HelloWorld EJB構(gòu)件HelloWorldBean 編譯上述兩個文件,便能夠得到兩個類文件HelloWorldBean.class和HelloWorld.class,它們分別描述了EJB構(gòu)件HelloWorldBean和它的遠(yuǎn)程接口HelloWorld。將這兩個類放在Jboss安裝目錄的examplesserver子目錄下,然后打包成一個文件HelloWorld.jar。至此,EJB構(gòu)件HelloWorldBean就開發(fā)好了。,8.1 EJB分布構(gòu)件框架,實例:HelloWorld EJB構(gòu)件HelloWorldBean的部署 在開發(fā)完EJB構(gòu)件之后,需

3、要將其部署到EJB應(yīng)用服務(wù)器中。對于Jboss,在成功啟動之后,只需要將上述的文件HelloWorld.jar直接拷貝到Jboss安裝目錄下的一個特定子目錄中,Jboss就會自動完成EJB構(gòu)件HelloWorldBean的部署。,8.1 EJB分布構(gòu)件框架,實例:HelloWorld EJB客戶HelloWorldClient的開發(fā),8.1 EJB分布構(gòu)件框架,實例:HelloWorld 測試 編譯完文件HelloWorldClient.java后,即可運(yùn)行命令“java examples.client.HelloWorldClient”,結(jié)果如下所示:,8.1 EJB分布構(gòu)件框架,原理分析:

4、本實例中定義的三個類之間的關(guān)系如下圖所示。構(gòu)件HelloWorldBean的實例由構(gòu)件容器負(fù)責(zé)創(chuàng)建。,8.1 EJB分布構(gòu)件框架,原理分析:本實例中定義的三個類之間的關(guān)系如下圖所示。構(gòu)件HelloWorldBean的實例由構(gòu)件容器負(fù)責(zé)創(chuàng)建。,8.1 EJB分布構(gòu)件框架,原理分析:RMI原理,8.1 EJB分布構(gòu)件框架,其它說明:在EJB構(gòu)件框架下,客戶端可以有各種不同的形式。無論簡單的Java程序,還是Web容器或者客戶容器中的Java程序,它們都遵守上述的EJB構(gòu)件框架,即通過遠(yuǎn)程對象的存根訪問EJB容器中的會話Bean。,內(nèi)容,8.1EJB分布構(gòu)件框架 8.2DCOM分布構(gòu)件框架 8.3C

5、ORBA分布構(gòu)件框架,8.2 DCOM分布構(gòu)件框架,DCOM(Distributed Component Object Model,分布構(gòu)件對象模型)是一個二進(jìn)制代碼層面的構(gòu)件模型,由微軟公司于1995年左右提出,從COM(Component Object Model,構(gòu)件對象模型)擴(kuò)充而成。按照這個模型,以二進(jìn)制形式存在的構(gòu)件可以被遠(yuǎn)程客戶透明訪問。,8.2 DCOM分布構(gòu)件框架,基本概念 DCOM客戶:泛指所有與DCOM構(gòu)件交互的程序片斷。如果一個DCOM構(gòu)件要與其他DCOM構(gòu)件交互,那它同時也是一個DCOM客戶。 DCOM構(gòu)件:是具有特定格式要求的動態(tài)鏈接庫(DLL)文件或可執(zhí)行(EXE

6、)文件。 對象、類和類工廠 接口 接口的代理/殘樁DLL,8.2 DCOM分布構(gòu)件框架,整體結(jié)構(gòu),8.2 DCOM分布構(gòu)件框架,實例:HelloWorld, 1、開發(fā):共包含十個文件: HelloComponent.cpp、HelloComponent.h:包含EXE構(gòu)件的主函數(shù)WinMain()和相關(guān)代碼。 HelloClass.cpp、HelloClass.h:包含EXE構(gòu)件向外提供的類CHelloClass的定義、以及向外提供的工廠類CFactory的定義。 Hello.idl:定義類CHelloClass向外提供的接口IHello。既用于EXE構(gòu)件,也用于客戶程序。 HelloClie

7、nt.cpp:客戶程序。 Registry.cpp、Registry.h:包含一些輔助函數(shù)的定義,用于訪問Windows注冊表。 Makefile、HelloProxy.def,8.2 DCOM分布構(gòu)件框架,實例:HelloWorld 2、EXE構(gòu)件HelloComponent.exe的生成和部署:部署時,需要將HelloComponent.exe和HelloProxy.dll拷貝到服務(wù)器上,并應(yīng)該將它們都注冊到服務(wù)器上的DCOM系統(tǒng)中。 注冊HelloProxy.dll的命令是“Regsvr32 HelloProxy.dll”; 注冊HelloComponent.exe的命令是“HelloC

8、omponent.exe -regserver”,也就是說它能夠自我注冊。,8.2 DCOM分布構(gòu)件框架,實例:HelloWorld 3、客戶方的部署和測試: 將HelloClient.exe和HelloProxy.dll拷貝到客戶機(jī)上,并將HelloProxy.dll注冊到客戶機(jī)上的DCOM系統(tǒng)中。,內(nèi)容,8.1EJB分布構(gòu)件框架 8.2DCOM分布構(gòu)件框架 8.3CORBA分布構(gòu)件框架,8.3 CORBA分布構(gòu)件框架,CORBA(Common Object Request Broker Architecture,分布對象請求代理體系結(jié)構(gòu))是一種異構(gòu)平臺下的語言無關(guān)的分布對象互操作模型。由OMG(Object Management Group,對象管理組織)于1990年首次提出,后經(jīng)過多版改進(jìn),最新的CORBA規(guī)范是2008年發(fā)布的3.1版。,8.3 CORBA分布構(gòu)件框架,基本體系結(jié)構(gòu),8.3 CORBA分布構(gòu)件框架,單機(jī)環(huán)境

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論