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

下載本文檔

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

文檔簡(jiǎn)介

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)件框架,簡(jiǎn)介:EJB(Enterprise Java Bean)分布構(gòu)件框架由SUN公司主導(dǎo)制定,它基于Java語(yǔ)言,面向企業(yè)級(jí)的分布式系統(tǒng)開(kāi)發(fā)。,8.1 EJB分布構(gòu)件框架,實(shí)例:HelloWorld EJB構(gòu)件HelloWorldBean 文件HelloWorldBean.java:,8.1 EJB分布構(gòu)件框架,實(shí)例:HelloWorld EJB構(gòu)件HelloWorldBean 文件HelloWorld.java:,8.

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

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

4、本實(shí)例中定義的三個(gè)類之間的關(guān)系如下圖所示。構(gòu)件HelloWorldBean的實(shí)例由構(gòu)件容器負(fù)責(zé)創(chuàng)建。,8.1 EJB分布構(gòu)件框架,原理分析:本實(shí)例中定義的三個(gè)類之間的關(guān)系如下圖所示。構(gòu)件HelloWorldBean的實(shí)例由構(gòu)件容器負(fù)責(zé)創(chuàng)建。,8.1 EJB分布構(gòu)件框架,原理分析:RMI原理,8.1 EJB分布構(gòu)件框架,其它說(shuō)明:在EJB構(gòu)件框架下,客戶端可以有各種不同的形式。無(wú)論簡(jiǎn)單的Java程序,還是Web容器或者客戶容器中的Java程序,它們都遵守上述的EJB構(gòu)件框架,即通過(guò)遠(yuǎn)程對(duì)象的存根訪問(wèn)EJB容器中的會(huì)話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)件對(duì)象模型)是一個(gè)二進(jìn)制代碼層面的構(gòu)件模型,由微軟公司于1995年左右提出,從COM(Component Object Model,構(gòu)件對(duì)象模型)擴(kuò)充而成。按照這個(gè)模型,以二進(jìn)制形式存在的構(gòu)件可以被遠(yuǎn)程客戶透明訪問(wèn)。,8.2 DCOM分布構(gòu)件框架,基本概念 DCOM客戶:泛指所有與DCOM構(gòu)件交互的程序片斷。如果一個(gè)DCOM構(gòu)件要與其他DCOM構(gòu)件交互,那它同時(shí)也是一個(gè)DCOM客戶。 DCOM構(gòu)件:是具有特定格式要求的動(dòng)態(tài)鏈接庫(kù)(DLL)文件或可執(zhí)行(EXE

6、)文件。 對(duì)象、類和類工廠 接口 接口的代理/殘樁DLL,8.2 DCOM分布構(gòu)件框架,整體結(jié)構(gòu),8.2 DCOM分布構(gòu)件框架,實(shí)例:HelloWorld, 1、開(kāi)發(fā):共包含十個(gè)文件: 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ù)的定義,用于訪問(wèn)Windows注冊(cè)表。 Makefile、HelloProxy.def,8.2 DCOM分布構(gòu)件框架,實(shí)例:HelloWorld 2、EXE構(gòu)件HelloComponent.exe的生成和部署:部署時(shí),需要將HelloComponent.exe和HelloProxy.dll拷貝到服務(wù)器上,并應(yīng)該將它們都注冊(cè)到服務(wù)器上的DCOM系統(tǒng)中。 注冊(cè)HelloProxy.dll的命令是“Regsvr32 HelloProxy.dll”; 注冊(cè)HelloComponent.exe的命令是“HelloC

8、omponent.exe -regserver”,也就是說(shuō)它能夠自我注冊(cè)。,8.2 DCOM分布構(gòu)件框架,實(shí)例:HelloWorld 3、客戶方的部署和測(cè)試: 將HelloClient.exe和HelloProxy.dll拷貝到客戶機(jī)上,并將HelloProxy.dll注冊(cè)到客戶機(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,分布對(duì)象請(qǐng)求代理體系結(jié)構(gòu))是一種異構(gòu)平臺(tái)下的語(yǔ)言無(wú)關(guān)的分布對(duì)象互操作模型。由OMG(Object Management Group,對(duì)象管理組織)于1990年首次提出,后經(jīng)過(guò)多版改進(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論