




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章:軟件構件與中間件1.分布式軟件的基本概念:分布式軟件指運行在網絡環境中的軟件系統,而網絡環境是一群通過網絡互相連接的處理系統,每個處理節點由處理機硬件、操作系統及基本通信軟件等組成。(1)三層結構相對于兩層結構的改進:兩層結構的缺點:客戶端的負擔仍然比較重:客戶端仍要處理復雜的數據??蛻舳说目梢浦残圆缓茫禾幚韽碗s必然牽涉更多的移植性問題;每個客戶端上都要安裝數據庫驅動程序。系統的可維護性不好:客戶端包含過多的商業邏輯;商業邏輯與人機交互界面交織在一起。數據的安全性不好。三層結構的優勢:更好的性能和可伸縮性。大量的中間層中間件平臺提供豐富的系統級服務,使得開發人員可以以更少的工作量開發出
2、更復雜、可靠、高效的軟件系統。剩下的內容是對兩層結構缺點的改進。2.軟件構件的基本概念:構件指系統中可以明確辨識的構成成分;軟件構件指軟件系統中具有一定意義的、相對獨立的構成成分,是可以被重用的軟件實體。3.中間件的基本概念:在操作系統與應用系統之間的一層軟件,為分布式應用的開發、部署、運行與管理提供支持。(1)典型集成中間件為軟件開發提供的三種基本支撐:n提供構件運行環境管理構件的生命周期管理構件的實例管理構件的元信息等n提供互操作機制集成中間件都提供了很強的高層通信協議以屏蔽節點的物理特性以及各節點在處理器、操作系統等方面的異構性;基于中間件的互操作支持,開發人員在開發與調用分布式對象時,
3、均不需自己編寫處理底層通信的代碼。共同特征就是幫助應用程序完成編組與解組等跨越網絡通信的底層工作,實現遠程過程/方法調用中間件的功能。n提供公共服務公共服務又稱為系統級服務,指由中間件(應用服務器)實現的、應用程序使用的軟件系統中共性程度高的功能成分。n由中間件而非應用程序實現n應用程序中通常會調用其實現的共性功能中間件提供的主要公共服務包括:n命名服務n事務服務n安全服務n持久性服務、消息服務、分布式垃圾回收服務、資源管理服務等3.互操作的基本原理與實例(1)樁/框架結構第二章:CORBA的基本原理1.對象管理體系結構(1)OMA參考模型(CORBA中的公共服務) OMA是CORBA所基于的
4、概念框架,它描述了一個較高層次的分布式計算環境。2. ORB結構ORB是OMA參考模型的核心,它提供了分布式對象之間透明的地發送請求或接收響應的基本機制,獨立于實現對象的特定平臺與技術。(1) 樁/框架結構3.CORBA對于可互操作的支持(1)不同平臺與語言之間的互操作性IDL標準和IDL到程序設計語言的映射使得使用同一廠商的ORB產品開發的客戶程序與服務程序可以交互。(2) 不同廠商的ORB產品之間的互操作性CORBA 2.0引入了GIOP和IIOP(3) 不同體系結構中的組件的互操作性如一個CORBA對象如何操作一個DCOM對象。ESIOP可以解決一部分問題。還有許多工作要做。第3章 :基
5、于CORBA的開發過程設計基于CORBA的分布式系統時,一般應考慮如下幾個問題:運行平臺:網絡傳輸:多樣化的網絡傳輸選擇;設計CORBA應用時確保ORB能使用必要的網絡傳輸消息傳遞:同步方式;異步方式(延遲同步方式);單向方式資源優化:分布式環境下,跨網絡的通信開銷是相當可觀的,占用相當多的系統資源;避免頻繁的跨網絡(尤其是廣域網)通信其它:安全性、可靠性、事務處理、并發控制;錯誤處理1基本開發過程 自動生成的樁和框架是按照標準提供了底層通信等公共服務的接口接口定義是獨立于程序設計語言的,只要能夠實現IDL到程序設計語言的映射,CORBA可以支持任何程序設計語言第四章:編寫對象接口(CORBA
6、)1.OMG IDL的語法與語義 兩點說明:OMGIDL是獨立于程序設計語言的。(一般IDL的特性);是一種說明性語言語法規則:采用類似ANSI C+的詞法規則和預處理特性(如編譯指令#include)。IDL文件 本身采用ASCII字符集,但字符與字符串文字常量則采用Unicode。 關鍵字是大小寫敏感的,但標識符卻是大小寫無關的模塊:模塊用于限制標識符的作用域。一個IDL模塊被映射為一個同名的Java程序包,該模塊中的所有IDL類型被映射到相應程序包中的Java類或接口。不包含在任何模塊之中的IDL聲明被映射到一個無名的Java全局作用域程序包類型:用來說明在客戶和服務對象之間要交換的數據
7、的類型(如參數和返回值的類型)常量:用來說明在客戶和服務對象之間要交換的常量數據異常:異常聲明用來說明在接口中包含的操作可能會引發的異常接口:接口聲明是IDL規格說明的核心內容,用來說明分布式對象所提供的服務。接口映射到Java語言的接口值:屬性不應看作對象的狀態數據,最好將它們理解為一種特殊的操作。同方法聲明一樣,屬性也映射到Java語言接口中的方法2. 使用值類型(valuetype)值類型是一類特殊的類型聲明。值類型主要用于在網絡中傳遞對象的狀態信息,相當于提供了一種和程序設計語言無關的聲明類的方式。值類型有兩種典型用法:一是在按值調用的參數傳遞方式中創建對象副本(即參數類型是值類型),
8、二是在遠程操作返回一個對象時創建對象副本(即返回值類型是值類型)。(1)對象副本的狀態變化不會影響原來的對象(2)如何正確使用3.編寫對象接口的準則 1:一個IDL接口應該與現實世界中的業務系統中的某個工作實體相對應 2:開發人員在設計分布式對象接口時必須始終貫徹這樣的指導思想,即隨時注意到同一進程中對象的接口與分布式對象的接口通常存在很大的區別,忽視這種區別會給分布式對象系統的可靠性、可伸縮性、可重用性等質量因素帶來危害。 3:區別會話型接口與實體型接口有利于設計人員組織眾多的分布式對象。 4:事務處理在許多分布式數據處理系統中也是必須考慮的重要問題之一第五章:編寫服務端程序(CORBA)1
9、.POA體系架構2. 設計POA策略線程策略;生存期策略;活動對象保持策略;對象查找策略3.使用POA4.伺服對象管理器(1)伺服對象激活器(如何管理大量服務端對象):真正提供完成客戶程序請求的操作,通常由程序設計語言對象實現,可以進行實例化并訪問其提供的成員方法;通過CORBA對象提供服務(2)伺服對象定位器 伺服對象管理器幫助POA管理服務端未激活對象,實現對象查找、激活和凍結n伺服對象管理器使程序員可以按照多種方式控制并使用對象,但必須注冊到POA才能被使用;伺服對象管理器的功能可以進一步擴充,只要滿足CORBA標準中聲明的接口定義5. 適配器激活器如果一個服務程序在啟動時就創建了它所需
10、的全部POA,那么就無需使用或提供任何適配器激活器。僅當需要在處理請求的過程中自動創建新的POA時,才需要用到適配器激活器第六章:J2EE體系架構1.J2EE構件:由開發人員實現,構成應用系統,運行在J2EE平臺上客戶端構件AppletsApplication Clients服務端構件Web構件(Servlets, JSPs)EJBs 2.J2EE公共服務:J2EE應用構件所使用的功能,由J2EE平臺提供商實現(1)Service API(開發時使用)(2)運行時服務3.通信支持:支持協作構件之間的通信;由Container提供。4.J2EE應用程序5.基于角色的開發l將構建整個軟件系統的任務
11、劃分到不同的角色n明確的劃分任務與責任n不同的階段有不同的關注重點,這種劃分使得每個角色僅關注他所要完成的工作n實現了開發與部署的分離第七章:EJB技術基礎1.EJB體系結構(1)EJB與java Bean對比構件模型定義了開發可重用構件的方式 EJB與Javabeans都是基于java語言的構件模型 開發應用時,可以選擇EJB模型,也可以選擇JavaBeans模型 EJB用于服務端應用開發JavaBeans用于客戶端應用開發n也可以使用JavaBeans進行服務端應用開發,但JavaBeans模型沒有提供服務框架,當應用需要使用系統級服務(如事務管理)時,不適合。 EJB構件是可部署的nEJ
12、B構件可以作為獨立的單元被部署到EJB應用服務器上,是應用構件(application components)。JavaBeans構件是不可部署的nJavaBeans構件是開發構件,不能被部署為獨立的單元。 EJB構件是部署時可定制的n使用部署描述符可以在部署EJB時對其運行時配置進行定制JavaBeans構件在部署時不能進行定制nJavaBeans構件的定制僅發生在開發階段n只能利用開發工具創建并組裝JavaBeans構件,部署時不能定制 EJB構件是分布式對象n可以被客戶應用或者其它EJB構件進行遠程訪問JavaBeans構件不是分布式對象nJavaBeans構件只能在其構成的應用中使用n
13、不能提供遠程訪問能力 EJB構件對終端用戶不可見n運行在服務端,沒有人機交互界面11部分JavaBeans構件對終端用戶可見n如GUI應用中使用的按鈕構件(2)EJB體系結構中的構件(兩個接口+一個類)EJB體系結構由6種構件組成n Enterprise Beann Home Interfacen Remote Interfacen EJB Containern EJB Servern EJB Client lEnterprise Beann包含商業邏輯代碼的Java類n提供商業方法供調用n被部署到EJB應用服務器上n可以被組裝形成大型的EJB應用 EJB體系結構中的另一類構件是Home In
14、terfacenHome Interface包含enterprise bean生命周期管理的相關方法n客戶程序使用Home Interface創建或刪除enterprise bean的實例 EJB體系結構中的另一類構件是Remote InterfacenRemote Interface包含enterprise bean實現的商業方法的定義n定義了enterprise bean提供的服務n客戶程序只能通過remote interface訪問enterprise bean實現的商業方法,不能直接調用。2.EJB設計原則理解作用,了解對應關系第八章:EJB構件開發過程1.無狀態會話構件開發與使用(1
15、)生命周期特征Method Ready No State包含兩個狀態:Method Ready state 和 No state No 狀態表明EBJ容器不存在無狀態會話bean實例1.實例的創建和刪除是有容器自動來控制的,并不是由Home接口中的Create或Remove創建或刪除。2.會話bean只能有無參數的create或ebjCreate方法創建,所以別人初始化的EBJ實例也可以使用 從No狀態->就緒態:調用enterprise類中的setSessionContext和ebjCreate就緒態->No狀態:調用ebjRemove方法(2) 為什么會設計為無狀態會話構件平臺
16、無關性(3)客戶端(對構建生命周期的影響) 只要EBJ認為實例池中需要更多的實例為客戶端服務,就會創建新的實例,實例從No狀態到就緒態。同理,如果不需要更多實例,則根據某種策略刪除某些實例,刪除的某些實例從就緒態到No狀態2.有狀態會話構件開發與使用(ZD)(1)生命周期特征(2) 為什么會設計為有狀態會話構件(3) 客戶端(對構建生命周期的影響)只要有新的客戶端請求就會創造新的新的實例,這時新創建的實例從No狀態到就緒態如果客戶端不需要使用實例或者客戶程序超時,容器會刪除該實例,因此從就緒態到No狀態因為每個客戶端需要一個專門的有狀態會話bean為其服務,當bean過多時,容器只保存剛被使用
17、或者正在使用的bean,其他移動到持久存儲介質上,此時被轉移到持久存儲介質上就是Passivated狀態當客服端再次使用Passivated狀態時恢復到內存,變為就緒態3.實體構件的開發與使用第九章:EJB高級特性1.環境條目(1)動因(2)效果2.事務控制(ZD)(1)事務控制的基本要求 事務相關的一系列操作的原子性(2) CMT系統級異常 程序員在bean的源程序中沒有事務邊界控制的代碼 再部署描述符中指定事物屬性,有容器控制事務的邊界容器維護的事務是方法級的(3) BMT(事務結束) 程序員在bean的源程序中控制事務邊界 再部署描述符中指定由bean控制邊界3.安全性控制(1)安全性控
18、制的兩個級別 認證和授權(2) 配置的主要內容(定義角色、選擇認證方式、配置WEB模塊授權規則、配置EJB模塊授權規則、將角色映射到實際安全域)定義角色:Supervisor和Normaluser選擇認證方式:basic :系統彈出對話框,用戶輸入用戶名和密碼 Client Certificate:電子證書方式 Form Basic:程序員用戶登錄界面配置WEB模塊授權規則: 設置認證方式 設置授權方式配置EJB模塊授權規則: 設置代理身份 設置方法訪問授權將角色映射到實際安全域: Normaluser映射到Account Manager Bean,可以訪問getbalance但是不能CreeateAccount Supervisor映射到Account Manager Bean,可以訪問CreeateAccount 第十章:WEB Service概述1.WEB服務體系結構(1)SOA架構(三個參與者、三個基本操作、基本工作過程)三個參與者
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國治療性抗體藥物行業市場現狀分析及競爭格局與投資發展研究報告
- Module 7Unit 2 Writing教學設計2023-2024學年外研版英語八年級下冊
- 動物科學單招試題及答案
- 2025年全科執業助理醫師考試心理學應用探討試題及答案
- 2025屆貴州省貴陽附中高考仿真卷物理試卷含解析
- 精耕細作2025年稅務師考試的復習方案試題及答案
- 烘焙專業考試題及答案
- 特崗試題數學解析及答案
- 2025年育嬰師考試的各科備考葉子試題及答案
- 臨檢組考試試題及答案
- 內墻石膏抹灰合同樣本
- 生物制藥考試題(附答案)
- 消防安全知識四懂四會
- 電梯電磁兼容檢驗技術解決方案
- 2024上海市招聘社區工作者考試題及參考答案
- 第七章-《新制度經濟學》制度變遷理論
- 收支業務管理流程圖
- 抗生素的生物效價測定法(管碟法)
- 標準型號鏈條參數表-鏈節參數表
- 外輸管道工程施工組織設計
- 焊接變位器課程設計200kg座式焊接變位機
評論
0/150
提交評論