




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第一章:軟件構(gòu)件與中間件1.分布式軟件的基本概念:分布式軟件指運行在網(wǎng)絡環(huán)境中的軟件系統(tǒng),而網(wǎng)絡環(huán)境是一群通過網(wǎng)絡互相連接的處理系統(tǒng),每個處理節(jié)點由處理機硬件、操作系統(tǒng)及基本通信軟件等組成。(1)三層結(jié)構(gòu)相對于兩層結(jié)構(gòu)的改進:兩層結(jié)構(gòu)的缺點:客戶端的負擔仍然比較重:客戶端仍要處理復雜的數(shù)據(jù)??蛻舳说目梢浦残圆缓茫禾幚韽碗s必然牽涉更多的移植性問題;每個客戶端上都要安裝數(shù)據(jù)庫驅(qū)動程序。系統(tǒng)的可維護性不好:客戶端包含過多的商業(yè)邏輯;商業(yè)邏輯與人機交互界面交織在一起。數(shù)據(jù)的安全性不好。三層結(jié)構(gòu)的優(yōu)勢:更好的性能和可伸縮性。大量的中間層中間件平臺提供豐富的系統(tǒng)級服務,使得開發(fā)人員可以以更少的工作量開發(fā)出更復雜、可靠、高效的軟件系統(tǒng)。剩下的內(nèi)容是對兩層結(jié)構(gòu)缺點的改進。2.軟件構(gòu)件的基本概念:構(gòu)件指系統(tǒng)中可以明確辨識的構(gòu)成成分;軟件構(gòu)件指軟件系統(tǒng)中具有一定意義的、相對獨立的構(gòu)成成分,是可以被重用的軟件實體。3.中間件的基本概念:在操作系統(tǒng)與應用系統(tǒng)之間的一層軟件,為分布式應用的開發(fā)、部署、運行與管理提供支持。(1)典型集成中間件為軟件開發(fā)提供的三種基本支撐:n提供構(gòu)件運行環(huán)境管理構(gòu)件的生命周期管理構(gòu)件的實例管理構(gòu)件的元信息等n提供互操作機制集成中間件都提供了很強的高層通信協(xié)議以屏蔽節(jié)點的物理特性以及各節(jié)點在處理器、操作系統(tǒng)等方面的異構(gòu)性;基于中間件的互操作支持,開發(fā)人員在開發(fā)與調(diào)用分布式對象時,均不需自己編寫處理底層通信的代碼。共同特征就是幫助應用程序完成編組與解組等跨越網(wǎng)絡通信的底層工作,實現(xiàn)遠程過程/方法調(diào)用中間件的功能。n提供公共服務公共服務又稱為系統(tǒng)級服務,指由中間件(應用服務器)實現(xiàn)的、應用程序使用的軟件系統(tǒng)中共性程度高的功能成分。n由中間件而非應用程序?qū)崿F(xiàn)n應用程序中通常會調(diào)用其實現(xiàn)的共性功能中間件提供的主要公共服務包括:n命名服務n事務服務n安全服務n持久性服務、消息服務、分布式垃圾回收服務、資源管理服務等3.互操作的基本原理與實例(1)樁/框架結(jié)構(gòu)第二章:CORBA的基本原理1.對象管理體系結(jié)構(gòu)(1)OMA參考模型(CORBA中的公共服務) OMA是CORBA所基于的概念框架,它描述了一個較高層次的分布式計算環(huán)境。2. ORB結(jié)構(gòu)ORB是OMA參考模型的核心,它提供了分布式對象之間透明的地發(fā)送請求或接收響應的基本機制,獨立于實現(xiàn)對象的特定平臺與技術。(1) 樁/框架結(jié)構(gòu)3.CORBA對于可互操作的支持(1)不同平臺與語言之間的互操作性IDL標準和IDL到程序設計語言的映射使得使用同一廠商的ORB產(chǎn)品開發(fā)的客戶程序與服務程序可以交互。(2) 不同廠商的ORB產(chǎn)品之間的互操作性CORBA 2.0引入了GIOP和IIOP(3) 不同體系結(jié)構(gòu)中的組件的互操作性如一個CORBA對象如何操作一個DCOM對象。ESIOP可以解決一部分問題。還有許多工作要做。第3章 :基于CORBA的開發(fā)過程設計基于CORBA的分布式系統(tǒng)時,一般應考慮如下幾個問題:運行平臺:網(wǎng)絡傳輸:多樣化的網(wǎng)絡傳輸選擇;設計CORBA應用時確保ORB能使用必要的網(wǎng)絡傳輸消息傳遞:同步方式;異步方式(延遲同步方式);單向方式資源優(yōu)化:分布式環(huán)境下,跨網(wǎng)絡的通信開銷是相當可觀的,占用相當多的系統(tǒng)資源;避免頻繁的跨網(wǎng)絡(尤其是廣域網(wǎng))通信其它:安全性、可靠性、事務處理、并發(fā)控制;錯誤處理1基本開發(fā)過程 自動生成的樁和框架是按照標準提供了底層通信等公共服務的接口接口定義是獨立于程序設計語言的,只要能夠?qū)崿F(xiàn)IDL到程序設計語言的映射,CORBA可以支持任何程序設計語言第四章:編寫對象接口(CORBA)1.OMG IDL的語法與語義 兩點說明:OMGIDL是獨立于程序設計語言的。(一般IDL的特性);是一種說明性語言語法規(guī)則:采用類似ANSI C+的詞法規(guī)則和預處理特性(如編譯指令#include)。IDL文件 本身采用ASCII字符集,但字符與字符串文字常量則采用Unicode。 關鍵字是大小寫敏感的,但標識符卻是大小寫無關的模塊:模塊用于限制標識符的作用域。一個IDL模塊被映射為一個同名的Java程序包,該模塊中的所有IDL類型被映射到相應程序包中的Java類或接口。不包含在任何模塊之中的IDL聲明被映射到一個無名的Java全局作用域程序包類型:用來說明在客戶和服務對象之間要交換的數(shù)據(jù)的類型(如參數(shù)和返回值的類型)常量:用來說明在客戶和服務對象之間要交換的常量數(shù)據(jù)異常:異常聲明用來說明在接口中包含的操作可能會引發(fā)的異常接口:接口聲明是IDL規(guī)格說明的核心內(nèi)容,用來說明分布式對象所提供的服務。接口映射到Java語言的接口值:屬性不應看作對象的狀態(tài)數(shù)據(jù),最好將它們理解為一種特殊的操作。同方法聲明一樣,屬性也映射到Java語言接口中的方法2. 使用值類型(valuetype)值類型是一類特殊的類型聲明。值類型主要用于在網(wǎng)絡中傳遞對象的狀態(tài)信息,相當于提供了一種和程序設計語言無關的聲明類的方式。值類型有兩種典型用法:一是在按值調(diào)用的參數(shù)傳遞方式中創(chuàng)建對象副本(即參數(shù)類型是值類型),二是在遠程操作返回一個對象時創(chuàng)建對象副本(即返回值類型是值類型)。(1)對象副本的狀態(tài)變化不會影響原來的對象(2)如何正確使用3.編寫對象接口的準則 1:一個IDL接口應該與現(xiàn)實世界中的業(yè)務系統(tǒng)中的某個工作實體相對應 2:開發(fā)人員在設計分布式對象接口時必須始終貫徹這樣的指導思想,即隨時注意到同一進程中對象的接口與分布式對象的接口通常存在很大的區(qū)別,忽視這種區(qū)別會給分布式對象系統(tǒng)的可靠性、可伸縮性、可重用性等質(zhì)量因素帶來危害。 3:區(qū)別會話型接口與實體型接口有利于設計人員組織眾多的分布式對象。 4:事務處理在許多分布式數(shù)據(jù)處理系統(tǒng)中也是必須考慮的重要問題之一第五章:編寫服務端程序(CORBA)1.POA體系架構(gòu)2. 設計POA策略線程策略;生存期策略;活動對象保持策略;對象查找策略3.使用POA4.伺服對象管理器(1)伺服對象激活器(如何管理大量服務端對象):真正提供完成客戶程序請求的操作,通常由程序設計語言對象實現(xiàn),可以進行實例化并訪問其提供的成員方法;通過CORBA對象提供服務(2)伺服對象定位器 伺服對象管理器幫助POA管理服務端未激活對象,實現(xiàn)對象查找、激活和凍結(jié)n伺服對象管理器使程序員可以按照多種方式控制并使用對象,但必須注冊到POA才能被使用;伺服對象管理器的功能可以進一步擴充,只要滿足CORBA標準中聲明的接口定義5. 適配器激活器如果一個服務程序在啟動時就創(chuàng)建了它所需的全部POA,那么就無需使用或提供任何適配器激活器。僅當需要在處理請求的過程中自動創(chuàng)建新的POA時,才需要用到適配器激活器第六章:J2EE體系架構(gòu)1.J2EE構(gòu)件:由開發(fā)人員實現(xiàn),構(gòu)成應用系統(tǒng),運行在J2EE平臺上客戶端構(gòu)件AppletsApplication Clients服務端構(gòu)件Web構(gòu)件(Servlets, JSPs)EJBs 2.J2EE公共服務:J2EE應用構(gòu)件所使用的功能,由J2EE平臺提供商實現(xiàn)(1)Service API(開發(fā)時使用)(2)運行時服務3.通信支持:支持協(xié)作構(gòu)件之間的通信;由Container提供。4.J2EE應用程序5.基于角色的開發(fā)l將構(gòu)建整個軟件系統(tǒng)的任務劃分到不同的角色n明確的劃分任務與責任n不同的階段有不同的關注重點,這種劃分使得每個角色僅關注他所要完成的工作n實現(xiàn)了開發(fā)與部署的分離第七章:EJB技術基礎1.EJB體系結(jié)構(gòu)(1)EJB與java Bean對比構(gòu)件模型定義了開發(fā)可重用構(gòu)件的方式 EJB與Javabeans都是基于java語言的構(gòu)件模型 開發(fā)應用時,可以選擇EJB模型,也可以選擇JavaBeans模型 EJB用于服務端應用開發(fā)JavaBeans用于客戶端應用開發(fā)n也可以使用JavaBeans進行服務端應用開發(fā),但JavaBeans模型沒有提供服務框架,當應用需要使用系統(tǒng)級服務(如事務管理)時,不適合。 EJB構(gòu)件是可部署的nEJB構(gòu)件可以作為獨立的單元被部署到EJB應用服務器上,是應用構(gòu)件(application components)。JavaBeans構(gòu)件是不可部署的nJavaBeans構(gòu)件是開發(fā)構(gòu)件,不能被部署為獨立的單元。 EJB構(gòu)件是部署時可定制的n使用部署描述符可以在部署EJB時對其運行時配置進行定制JavaBeans構(gòu)件在部署時不能進行定制nJavaBeans構(gòu)件的定制僅發(fā)生在開發(fā)階段n只能利用開發(fā)工具創(chuàng)建并組裝JavaBeans構(gòu)件,部署時不能定制 EJB構(gòu)件是分布式對象n可以被客戶應用或者其它EJB構(gòu)件進行遠程訪問JavaBeans構(gòu)件不是分布式對象nJavaBeans構(gòu)件只能在其構(gòu)成的應用中使用n不能提供遠程訪問能力 EJB構(gòu)件對終端用戶不可見n運行在服務端,沒有人機交互界面11部分JavaBeans構(gòu)件對終端用戶可見n如GUI應用中使用的按鈕構(gòu)件(2)EJB體系結(jié)構(gòu)中的構(gòu)件(兩個接口+一個類)EJB體系結(jié)構(gòu)由6種構(gòu)件組成n Enterprise Beann Home Interfacen Remote Interfacen EJB Containern EJB Servern EJB Client lEnterprise Beann包含商業(yè)邏輯代碼的Java類n提供商業(yè)方法供調(diào)用n被部署到EJB應用服務器上n可以被組裝形成大型的EJB應用 EJB體系結(jié)構(gòu)中的另一類構(gòu)件是Home InterfacenHome Interface包含enterprise bean生命周期管理的相關方法n客戶程序使用Home Interface創(chuàng)建或刪除enterprise bean的實例 EJB體系結(jié)構(gòu)中的另一類構(gòu)件是Remote InterfacenRemote Interface包含enterprise bean實現(xiàn)的商業(yè)方法的定義n定義了enterprise bean提供的服務n客戶程序只能通過remote interface訪問enterprise bean實現(xiàn)的商業(yè)方法,不能直接調(diào)用。2.EJB設計原則理解作用,了解對應關系第八章:EJB構(gòu)件開發(fā)過程1.無狀態(tài)會話構(gòu)件開發(fā)與使用(1)生命周期特征Method Ready No State包含兩個狀態(tài):Method Ready state 和 No state No 狀態(tài)表明EBJ容器不存在無狀態(tài)會話bean實例1.實例的創(chuàng)建和刪除是有容器自動來控制的,并不是由Home接口中的Create或Remove創(chuàng)建或刪除。2.會話bean只能有無參數(shù)的create或ebjCreate方法創(chuàng)建,所以別人初始化的EBJ實例也可以使用 從No狀態(tài)-就緒態(tài):調(diào)用enterprise類中的setSessionContext和ebjCreate就緒態(tài)-No狀態(tài):調(diào)用ebjRemove方法(2) 為什么會設計為無狀態(tài)會話構(gòu)件平臺無關性(3)客戶端(對構(gòu)建生命周期的影響) 只要EBJ認為實例池中需要更多的實例為客戶端服務,就會創(chuàng)建新的實例,實例從No狀態(tài)到就緒態(tài)。同理,如果不需要更多實例,則根據(jù)某種策略刪除某些實例,刪除的某些實例從就緒態(tài)到No狀態(tài)2.有狀態(tài)會話構(gòu)件開發(fā)與使用(ZD)(1)生命周期特征(2) 為什么會設計為有狀態(tài)會話構(gòu)件(3) 客戶端(對構(gòu)建生命周期的影響)只要有新的客戶端請求就會創(chuàng)造新的新的實例,這時新創(chuàng)建的實例從No狀態(tài)到就緒態(tài)如果客戶端不需要使用實例或者客戶程序超時,容器會刪除該實例,因此從就緒態(tài)到No狀態(tài)因為每個客戶端需要一個專門的有狀態(tài)會話bean為其服務,當bean過多時,容器只保存剛被使用或者正在使用的bean,其他移動到持久存儲介質(zhì)上,此時被轉(zhuǎn)移到持久存儲介質(zhì)上就是Passivated狀態(tài)當客服端再次使用Passivated狀態(tài)時恢復到內(nèi)存,變?yōu)榫途w態(tài)3.實體構(gòu)件的開發(fā)與使用第九章:EJB高級特性1.環(huán)境條目(1)動因(2)效果2.事務控制(ZD)(1)事務控制的基本要求 事務相關的一系列操作的原子性(2) CMT系統(tǒng)級異常 程序員在bean的源程序中沒有事務邊界控制的代碼 再部署描述符中指定事物屬性,有容器控制事務的邊界容器維護的事務是方法級的(3) BMT(事務結(jié)束) 程序員在bean的源程序中控制事務邊界 再部署描述符中指定由bean控制邊界3.安全性控制(1)安全性控制的兩個級別 認證和授權(2) 配置的主要內(nèi)容(定義角色、選擇認證方式、配置WEB模塊授權規(guī)則、配置EJB模塊授權規(guī)則、將角色映射到實際安全域)定義角色:Supervisor和Normaluser選擇認證方式:basic :系統(tǒng)彈出對話框,用戶輸入用戶名和密碼 Client Certificate:電子證書方式 Form Basic:程序員用戶登錄界面配置WEB模塊授權規(guī)則: 設置認證方式 設置授權方式配置EJB模塊授權規(guī)則: 設置代理身份 設置方法訪問授權將角色映射到實際安全域: Normaluser映射到Account Manager Bean,可以訪問getbalance但是不能CreeateAccount Supervisor映射到Account Manager Bean,可以訪問CreeateAccount 第十章:WEB Service概述1.WEB服務體系結(jié)構(gòu)(1)SOA架構(gòu)(三個參與者、三個基本操
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒中班《面包汽車》主題課件
- 2024年基礎醫(yī)學試題庫(附答案解析)
- 《創(chuàng)業(yè)心得交流張華》課件
- 社會工作在孤殘兒童收養(yǎng)中的作用考核試卷
- 《神奇的視覺圖形之旅》課件
- 海洋旅游發(fā)展趨勢考核試卷
- 船舶拆除項目環(huán)境保護措施與實施考核試卷
- 消費機器人市場競爭策略研究考核試卷
- 證券市場跨境監(jiān)管合作與協(xié)調(diào)考核試卷
- 《IMO新要求解讀》課件
- 2025四川西南發(fā)展控股集團有限公司招聘工作人員65人筆試參考題庫附帶答案詳解
- 醫(yī)院培訓課件:《走進康復》
- 2025年河南省鄭州市外國語中學高考生物三模試卷含解析
- 美團代運營合同協(xié)議模板
- 2025屆貴州省遵義第四中學高考全國統(tǒng)考預測密卷英語試卷含解析
- 2025年北京市豐臺區(qū)九年級初三一模物理試卷(含答案)
- 中醫(yī)內(nèi)科學胸痹課件
- 2025廣西廣投臨港工業(yè)有限公司社會招聘45人筆試參考題庫附帶答案詳解
- 銅川易源電力實業(yè)有限責任公司招聘筆試真題2024
- 工業(yè)用氣體租賃合同協(xié)議
- 2024年北京高考化學試卷知識點分布
評論
0/150
提交評論