分布對(duì)象技術(shù)知識(shí)點(diǎn)總結(jié)_第1頁
分布對(duì)象技術(shù)知識(shí)點(diǎn)總結(jié)_第2頁
分布對(duì)象技術(shù)知識(shí)點(diǎn)總結(jié)_第3頁
分布對(duì)象技術(shù)知識(shí)點(diǎn)總結(jié)_第4頁
分布對(duì)象技術(shù)知識(shí)點(diǎn)總結(jié)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章:軟件構(gòu)件與中間件1.分布式軟件的基本概念:分布式軟件指運(yùn)行在網(wǎng)絡(luò)環(huán)境中的軟件系統(tǒng),而網(wǎng)絡(luò)環(huán)境是一群通過網(wǎng)絡(luò)互相連接的處理系統(tǒng),每個(gè)處理節(jié)點(diǎn)由處理機(jī)硬件、操作系統(tǒng)及基本通信軟件等組成。(1)三層結(jié)構(gòu)相對(duì)于兩層結(jié)構(gòu)的改進(jìn):兩層結(jié)構(gòu)的缺點(diǎn):客戶端的負(fù)擔(dān)仍然比較重:客戶端仍要處理復(fù)雜的數(shù)據(jù)??蛻舳说目梢浦残圆缓茫禾幚韽?fù)雜必然牽涉更多的移植性問題;每個(gè)客戶端上都要安裝數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序。系統(tǒng)的可維護(hù)性不好:客戶端包含過多的商業(yè)邏輯;商業(yè)邏輯與人機(jī)交互界面交織在一起。數(shù)據(jù)的安全性不好。三層結(jié)構(gòu)的優(yōu)勢(shì):更好的性能和可伸縮性。大量的中間層中間件平臺(tái)提供豐富的系統(tǒng)級(jí)服務(wù),使得開發(fā)人員可以以更少的工作量開發(fā)出

2、更復(fù)雜、可靠、高效的軟件系統(tǒng)。剩下的內(nèi)容是對(duì)兩層結(jié)構(gòu)缺點(diǎn)的改進(jìn)。2.軟件構(gòu)件的基本概念:構(gòu)件指系統(tǒng)中可以明確辨識(shí)的構(gòu)成成分;軟件構(gòu)件指軟件系統(tǒng)中具有一定意義的、相對(duì)獨(dú)立的構(gòu)成成分,是可以被重用的軟件實(shí)體。3.中間件的基本概念:在操作系統(tǒng)與應(yīng)用系統(tǒng)之間的一層軟件,為分布式應(yīng)用的開發(fā)、部署、運(yùn)行與管理提供支持。(1)典型集成中間件為軟件開發(fā)提供的三種基本支撐:n提供構(gòu)件運(yùn)行環(huán)境管理構(gòu)件的生命周期管理構(gòu)件的實(shí)例管理構(gòu)件的元信息等n提供互操作機(jī)制集成中間件都提供了很強(qiáng)的高層通信協(xié)議以屏蔽節(jié)點(diǎn)的物理特性以及各節(jié)點(diǎn)在處理器、操作系統(tǒng)等方面的異構(gòu)性;基于中間件的互操作支持,開發(fā)人員在開發(fā)與調(diào)用分布式對(duì)象時(shí),

3、均不需自己編寫處理底層通信的代碼。共同特征就是幫助應(yīng)用程序完成編組與解組等跨越網(wǎng)絡(luò)通信的底層工作,實(shí)現(xiàn)遠(yuǎn)程過程/方法調(diào)用中間件的功能。n提供公共服務(wù)公共服務(wù)又稱為系統(tǒng)級(jí)服務(wù),指由中間件(應(yīng)用服務(wù)器)實(shí)現(xiàn)的、應(yīng)用程序使用的軟件系統(tǒng)中共性程度高的功能成分。n由中間件而非應(yīng)用程序?qū)崿F(xiàn)n應(yīng)用程序中通常會(huì)調(diào)用其實(shí)現(xiàn)的共性功能中間件提供的主要公共服務(wù)包括:n命名服務(wù)n事務(wù)服務(wù)n安全服務(wù)n持久性服務(wù)、消息服務(wù)、分布式垃圾回收服務(wù)、資源管理服務(wù)等3.互操作的基本原理與實(shí)例(1)樁/框架結(jié)構(gòu)第二章:CORBA的基本原理1.對(duì)象管理體系結(jié)構(gòu)(1)OMA參考模型(CORBA中的公共服務(wù)) OMA是CORBA所基于的

4、概念框架,它描述了一個(gè)較高層次的分布式計(jì)算環(huán)境。2. ORB結(jié)構(gòu)ORB是OMA參考模型的核心,它提供了分布式對(duì)象之間透明的地發(fā)送請(qǐng)求或接收響應(yīng)的基本機(jī)制,獨(dú)立于實(shí)現(xiàn)對(duì)象的特定平臺(tái)與技術(shù)。(1) 樁/框架結(jié)構(gòu)3.CORBA對(duì)于可互操作的支持(1)不同平臺(tái)與語言之間的互操作性IDL標(biāo)準(zhǔn)和IDL到程序設(shè)計(jì)語言的映射使得使用同一廠商的ORB產(chǎn)品開發(fā)的客戶程序與服務(wù)程序可以交互。(2) 不同廠商的ORB產(chǎn)品之間的互操作性CORBA 2.0引入了GIOP和IIOP(3) 不同體系結(jié)構(gòu)中的組件的互操作性如一個(gè)CORBA對(duì)象如何操作一個(gè)DCOM對(duì)象。ESIOP可以解決一部分問題。還有許多工作要做。第3章 :基

5、于CORBA的開發(fā)過程設(shè)計(jì)基于CORBA的分布式系統(tǒng)時(shí),一般應(yīng)考慮如下幾個(gè)問題:運(yùn)行平臺(tái):網(wǎng)絡(luò)傳輸:多樣化的網(wǎng)絡(luò)傳輸選擇;設(shè)計(jì)CORBA應(yīng)用時(shí)確保ORB能使用必要的網(wǎng)絡(luò)傳輸消息傳遞:同步方式;異步方式(延遲同步方式);單向方式資源優(yōu)化:分布式環(huán)境下,跨網(wǎng)絡(luò)的通信開銷是相當(dāng)可觀的,占用相當(dāng)多的系統(tǒng)資源;避免頻繁的跨網(wǎng)絡(luò)(尤其是廣域網(wǎng))通信其它:安全性、可靠性、事務(wù)處理、并發(fā)控制;錯(cuò)誤處理1基本開發(fā)過程 自動(dòng)生成的樁和框架是按照標(biāo)準(zhǔn)提供了底層通信等公共服務(wù)的接口接口定義是獨(dú)立于程序設(shè)計(jì)語言的,只要能夠?qū)崿F(xiàn)IDL到程序設(shè)計(jì)語言的映射,CORBA可以支持任何程序設(shè)計(jì)語言第四章:編寫對(duì)象接口(CORBA

6、)1.OMG IDL的語法與語義 兩點(diǎn)說明:OMGIDL是獨(dú)立于程序設(shè)計(jì)語言的。(一般IDL的特性);是一種說明性語言語法規(guī)則:采用類似ANSI C+的詞法規(guī)則和預(yù)處理特性(如編譯指令#include)。IDL文件 本身采用ASCII字符集,但字符與字符串文字常量則采用Unicode。 關(guān)鍵字是大小寫敏感的,但標(biāo)識(shí)符卻是大小寫無關(guān)的模塊:模塊用于限制標(biāo)識(shí)符的作用域。一個(gè)IDL模塊被映射為一個(gè)同名的Java程序包,該模塊中的所有IDL類型被映射到相應(yīng)程序包中的Java類或接口。不包含在任何模塊之中的IDL聲明被映射到一個(gè)無名的Java全局作用域程序包類型:用來說明在客戶和服務(wù)對(duì)象之間要交換的數(shù)據(jù)

7、的類型(如參數(shù)和返回值的類型)常量:用來說明在客戶和服務(wù)對(duì)象之間要交換的常量數(shù)據(jù)異常:異常聲明用來說明在接口中包含的操作可能會(huì)引發(fā)的異常接口:接口聲明是IDL規(guī)格說明的核心內(nèi)容,用來說明分布式對(duì)象所提供的服務(wù)。接口映射到Java語言的接口值:屬性不應(yīng)看作對(duì)象的狀態(tài)數(shù)據(jù),最好將它們理解為一種特殊的操作。同方法聲明一樣,屬性也映射到Java語言接口中的方法2. 使用值類型(valuetype)值類型是一類特殊的類型聲明。值類型主要用于在網(wǎng)絡(luò)中傳遞對(duì)象的狀態(tài)信息,相當(dāng)于提供了一種和程序設(shè)計(jì)語言無關(guān)的聲明類的方式。值類型有兩種典型用法:一是在按值調(diào)用的參數(shù)傳遞方式中創(chuàng)建對(duì)象副本(即參數(shù)類型是值類型),

8、二是在遠(yuǎn)程操作返回一個(gè)對(duì)象時(shí)創(chuàng)建對(duì)象副本(即返回值類型是值類型)。(1)對(duì)象副本的狀態(tài)變化不會(huì)影響原來的對(duì)象(2)如何正確使用3.編寫對(duì)象接口的準(zhǔn)則 1:一個(gè)IDL接口應(yīng)該與現(xiàn)實(shí)世界中的業(yè)務(wù)系統(tǒng)中的某個(gè)工作實(shí)體相對(duì)應(yīng) 2:開發(fā)人員在設(shè)計(jì)分布式對(duì)象接口時(shí)必須始終貫徹這樣的指導(dǎo)思想,即隨時(shí)注意到同一進(jìn)程中對(duì)象的接口與分布式對(duì)象的接口通常存在很大的區(qū)別,忽視這種區(qū)別會(huì)給分布式對(duì)象系統(tǒng)的可靠性、可伸縮性、可重用性等質(zhì)量因素帶來危害。 3:區(qū)別會(huì)話型接口與實(shí)體型接口有利于設(shè)計(jì)人員組織眾多的分布式對(duì)象。 4:事務(wù)處理在許多分布式數(shù)據(jù)處理系統(tǒng)中也是必須考慮的重要問題之一第五章:編寫服務(wù)端程序(CORBA)1

9、.POA體系架構(gòu)2. 設(shè)計(jì)POA策略線程策略;生存期策略;活動(dòng)對(duì)象保持策略;對(duì)象查找策略3.使用POA4.伺服對(duì)象管理器(1)伺服對(duì)象激活器(如何管理大量服務(wù)端對(duì)象):真正提供完成客戶程序請(qǐng)求的操作,通常由程序設(shè)計(jì)語言對(duì)象實(shí)現(xiàn),可以進(jìn)行實(shí)例化并訪問其提供的成員方法;通過CORBA對(duì)象提供服務(wù)(2)伺服對(duì)象定位器 伺服對(duì)象管理器幫助POA管理服務(wù)端未激活對(duì)象,實(shí)現(xiàn)對(duì)象查找、激活和凍結(jié)n伺服對(duì)象管理器使程序員可以按照多種方式控制并使用對(duì)象,但必須注冊(cè)到POA才能被使用;伺服對(duì)象管理器的功能可以進(jìn)一步擴(kuò)充,只要滿足CORBA標(biāo)準(zhǔn)中聲明的接口定義5. 適配器激活器如果一個(gè)服務(wù)程序在啟動(dòng)時(shí)就創(chuàng)建了它所需

10、的全部POA,那么就無需使用或提供任何適配器激活器。僅當(dāng)需要在處理請(qǐng)求的過程中自動(dòng)創(chuàng)建新的POA時(shí),才需要用到適配器激活器第六章:J2EE體系架構(gòu)1.J2EE構(gòu)件:由開發(fā)人員實(shí)現(xiàn),構(gòu)成應(yīng)用系統(tǒng),運(yùn)行在J2EE平臺(tái)上客戶端構(gòu)件AppletsApplication Clients服務(wù)端構(gòu)件Web構(gòu)件(Servlets, JSPs)EJBs 2.J2EE公共服務(wù):J2EE應(yīng)用構(gòu)件所使用的功能,由J2EE平臺(tái)提供商實(shí)現(xiàn)(1)Service API(開發(fā)時(shí)使用)(2)運(yùn)行時(shí)服務(wù)3.通信支持:支持協(xié)作構(gòu)件之間的通信;由Container提供。4.J2EE應(yīng)用程序5.基于角色的開發(fā)l將構(gòu)建整個(gè)軟件系統(tǒng)的任務(wù)

11、劃分到不同的角色n明確的劃分任務(wù)與責(zé)任n不同的階段有不同的關(guān)注重點(diǎn),這種劃分使得每個(gè)角色僅關(guān)注他所要完成的工作n實(shí)現(xiàn)了開發(fā)與部署的分離第七章:EJB技術(shù)基礎(chǔ)1.EJB體系結(jié)構(gòu)(1)EJB與java Bean對(duì)比構(gòu)件模型定義了開發(fā)可重用構(gòu)件的方式 EJB與Javabeans都是基于java語言的構(gòu)件模型 開發(fā)應(yīng)用時(shí),可以選擇EJB模型,也可以選擇JavaBeans模型 EJB用于服務(wù)端應(yīng)用開發(fā)JavaBeans用于客戶端應(yīng)用開發(fā)n也可以使用JavaBeans進(jìn)行服務(wù)端應(yīng)用開發(fā),但JavaBeans模型沒有提供服務(wù)框架,當(dāng)應(yīng)用需要使用系統(tǒng)級(jí)服務(wù)(如事務(wù)管理)時(shí),不適合。 EJB構(gòu)件是可部署的nEJ

12、B構(gòu)件可以作為獨(dú)立的單元被部署到EJB應(yīng)用服務(wù)器上,是應(yīng)用構(gòu)件(application components)。JavaBeans構(gòu)件是不可部署的nJavaBeans構(gòu)件是開發(fā)構(gòu)件,不能被部署為獨(dú)立的單元。 EJB構(gòu)件是部署時(shí)可定制的n使用部署描述符可以在部署EJB時(shí)對(duì)其運(yùn)行時(shí)配置進(jìn)行定制JavaBeans構(gòu)件在部署時(shí)不能進(jìn)行定制nJavaBeans構(gòu)件的定制僅發(fā)生在開發(fā)階段n只能利用開發(fā)工具創(chuàng)建并組裝JavaBeans構(gòu)件,部署時(shí)不能定制 EJB構(gòu)件是分布式對(duì)象n可以被客戶應(yīng)用或者其它EJB構(gòu)件進(jìn)行遠(yuǎn)程訪問JavaBeans構(gòu)件不是分布式對(duì)象nJavaBeans構(gòu)件只能在其構(gòu)成的應(yīng)用中使用n

13、不能提供遠(yuǎn)程訪問能力 EJB構(gòu)件對(duì)終端用戶不可見n運(yùn)行在服務(wù)端,沒有人機(jī)交互界面11部分JavaBeans構(gòu)件對(duì)終端用戶可見n如GUI應(yīng)用中使用的按鈕構(gòu)件(2)EJB體系結(jié)構(gòu)中的構(gòu)件(兩個(gè)接口+一個(gè)類)EJB體系結(jié)構(gòu)由6種構(gòu)件組成n Enterprise Beann Home Interfacen Remote Interfacen EJB Containern EJB Servern E JB Client lEnterprise Beann包含商業(yè)邏輯代碼的Java類n提供商業(yè)方法供調(diào)用n被部署到EJB應(yīng)用服務(wù)器上n可以被組裝形成大型的EJB應(yīng)用 EJB體系結(jié)構(gòu)中的另一類構(gòu)件是Home I

14、nterfacenHome Interface包含enterprise bean生命周期管理的相關(guān)方法n客戶程序使用Home Interface創(chuàng)建或刪除enterprise bean的實(shí)例 EJB體系結(jié)構(gòu)中的另一類構(gòu)件是Remote InterfacenRemote Interface包含enterprise bean實(shí)現(xiàn)的商業(yè)方法的定義n定義了enterprise bean提供的服務(wù)n客戶程序只能通過remote interface訪問enterprise bean實(shí)現(xiàn)的商業(yè)方法,不能直接調(diào)用。2.EJB設(shè)計(jì)原則理解作用,了解對(duì)應(yīng)關(guān)系第八章:EJB構(gòu)件開發(fā)過程1.無狀態(tài)會(huì)話構(gòu)件開發(fā)與使用(

15、1)生命周期特征Method Ready No State包含兩個(gè)狀態(tài):Method Ready state 和 No state No 狀態(tài)表明EBJ容器不存在無狀態(tài)會(huì)話bean實(shí)例1.實(shí)例的創(chuàng)建和刪除是有容器自動(dòng)來控制的,并不是由Home接口中的Create或Remove創(chuàng)建或刪除。2.會(huì)話bean只能有無參數(shù)的create或ebjCreate方法創(chuàng)建,所以別人初始化的EBJ實(shí)例也可以使用 從No狀態(tài)->就緒態(tài):調(diào)用enterprise類中的setSessionContext和ebjCreate就緒態(tài)->No狀態(tài):調(diào)用ebjRemove方法(2) 為什么會(huì)設(shè)計(jì)為無狀態(tài)會(huì)話構(gòu)件平

16、臺(tái)無關(guān)性(3)客戶端(對(duì)構(gòu)建生命周期的影響) 只要EBJ認(rèn)為實(shí)例池中需要更多的實(shí)例為客戶端服務(wù),就會(huì)創(chuàng)建新的實(shí)例,實(shí)例從No狀態(tài)到就緒態(tài)。同理,如果不需要更多實(shí)例,則根據(jù)某種策略刪除某些實(shí)例,刪除的某些實(shí)例從就緒態(tài)到No狀態(tài)2.有狀態(tài)會(huì)話構(gòu)件開發(fā)與使用(ZD)(1)生命周期特征(2) 為什么會(huì)設(shè)計(jì)為有狀態(tài)會(huì)話構(gòu)件(3) 客戶端(對(duì)構(gòu)建生命周期的影響)只要有新的客戶端請(qǐng)求就會(huì)創(chuàng)造新的新的實(shí)例,這時(shí)新創(chuàng)建的實(shí)例從No狀態(tài)到就緒態(tài)如果客戶端不需要使用實(shí)例或者客戶程序超時(shí),容器會(huì)刪除該實(shí)例,因此從就緒態(tài)到No狀態(tài)因?yàn)槊總€(gè)客戶端需要一個(gè)專門的有狀態(tài)會(huì)話bean為其服務(wù),當(dāng)bean過多時(shí),容器只保存剛被使

17、用或者正在使用的bean,其他移動(dòng)到持久存儲(chǔ)介質(zhì)上,此時(shí)被轉(zhuǎn)移到持久存儲(chǔ)介質(zhì)上就是Passivated狀態(tài)當(dāng)客服端再次使用Passivated狀態(tài)時(shí)恢復(fù)到內(nèi)存,變?yōu)榫途w態(tài)3.實(shí)體構(gòu)件的開發(fā)與使用第九章:EJB高級(jí)特性1.環(huán)境條目(1)動(dòng)因(2)效果2.事務(wù)控制(ZD)(1)事務(wù)控制的基本要求 事務(wù)相關(guān)的一系列操作的原子性(2) CMT系統(tǒng)級(jí)異常 程序員在bean的源程序中沒有事務(wù)邊界控制的代碼 再部署描述符中指定事物屬性,有容器控制事務(wù)的邊界容器維護(hù)的事務(wù)是方法級(jí)的(3) BMT(事務(wù)結(jié)束) 程序員在bean的源程序中控制事務(wù)邊界 再部署描述符中指定由bean控制邊界3.安全性控制(1)安全性

18、控制的兩個(gè)級(jí)別 認(rèn)證和授權(quán)(2) 配置的主要內(nèi)容(定義角色、選擇認(rèn)證方式、配置WEB模塊授權(quán)規(guī)則、配置EJB模塊授權(quán)規(guī)則、將角色映射到實(shí)際安全域)定義角色:Supervisor和Normaluser選擇認(rèn)證方式:basic :系統(tǒng)彈出對(duì)話框,用戶輸入用戶名和密碼 Client Certificate:電子證書方式 Form Basic:程序員用戶登錄界面配置WEB模塊授權(quán)規(guī)則: 設(shè)置認(rèn)證方式 設(shè)置授權(quán)方式配置EJB模塊授權(quán)規(guī)則: 設(shè)置代理身份 設(shè)置方法訪問授權(quán)將角色映射到實(shí)際安全域: Normaluser映射到Account Manager Bean,可以訪問getbalance但是不能CreeateAccount Supervisor映射到Account Manager Bean,可以訪問CreeateAccount 第十章:WEB Service概述1.WEB服務(wù)體系結(jié)構(gòu)(1)SOA架構(gòu)(三個(gè)參與者、三個(gè)基本

溫馨提示

  • 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. 人人文庫(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)論