寧波諾丁漢大學(xué)總復(fù)習(xí)資料_第1頁
寧波諾丁漢大學(xué)總復(fù)習(xí)資料_第2頁
寧波諾丁漢大學(xué)總復(fù)習(xí)資料_第3頁
寧波諾丁漢大學(xué)總復(fù)習(xí)資料_第4頁
寧波諾丁漢大學(xué)總復(fù)習(xí)資料_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

寧波諾丁漢大學(xué)總復(fù)習(xí)資料2中間件(Middleware)是一種軟件,處于系統(tǒng)軟件〔操作系統(tǒng)和網(wǎng)絡(luò)軟件〕與應(yīng)用軟件之間,它能使應(yīng)用軟件之間進(jìn)展跨網(wǎng)絡(luò)的協(xié)同工作〔也就是互操作〕,這時(shí)允許各應(yīng)用軟件之下所涉及的“系統(tǒng)構(gòu)造、操作系統(tǒng)、通信協(xié)議、數(shù)據(jù)庫(kù)和其它應(yīng)用效勞〞各不一樣。34提供了合作對(duì)象透明設(shè)施T1:有了它,合作一方不必知道合作的另一方為誰和它在何處,只要說明自己需要怎樣的效勞,T1就能為其物色到一個(gè)適宜的合作方。提供了下層設(shè)備透明設(shè)施T2:有了它,合作一方不必關(guān)心合作的另一方所用的節(jié)點(diǎn)設(shè)備〔機(jī)器和操作系統(tǒng)〕與本節(jié)點(diǎn)的差異。

5按照IDC的分類方法,中間件分為:遠(yuǎn)程過程調(diào)用中間件分布式對(duì)象中間件數(shù)據(jù)庫(kù)訪問中間件事務(wù)處理中間件消息中間件6數(shù)據(jù)庫(kù)訪問中間件7連接應(yīng)用程序和數(shù)據(jù)庫(kù)的軟件,允許通過單一的、定義良好的接口訪問網(wǎng)絡(luò)中來自不同廠商的數(shù)據(jù)庫(kù)產(chǎn)品〔1〕通用網(wǎng)關(guān)接口CGI〔駐留在WebServer上〕〔2〕專用API:DLL形式NSAPI(Netscape)ISAPI(Microsoft)〔3〕通用數(shù)據(jù)庫(kù)接口JDBC〔SUN〕ODBC(Microsoft)8〔4〕數(shù)據(jù)庫(kù)引擎Borland公司開發(fā),類似于ODBC,支持與數(shù)據(jù)庫(kù)的直接連接,效率較ODBC高〔5〕數(shù)據(jù)庫(kù)網(wǎng)關(guān)用于分布式應(yīng)用環(huán)境,無需在客戶機(jī)進(jìn)展各種配置,如安裝各種ODBC驅(qū)動(dòng)、設(shè)置ODBC數(shù)據(jù)源等,使用網(wǎng)關(guān)來統(tǒng)一管理不同數(shù)據(jù)庫(kù)的訪問相關(guān)產(chǎn)品:EDA/SQL、RDA、DRDA

9事務(wù)處理中間件〔TransactionProcessingMiddleware,TPM〕10又稱分布式事務(wù)處理中間件。專門針對(duì)聯(lián)機(jī)交易處理系統(tǒng)而設(shè)計(jì)。事務(wù)是對(duì)共享的系統(tǒng)資源所完成的一件工作,它通常是由一些列操作所組成。事務(wù)必須具有ACID〔Atomicity,Consistency,Isolation和Durability〕屬性。11本地事務(wù)的管理由數(shù)據(jù)庫(kù)系統(tǒng)來完成。聯(lián)機(jī)交易處理系統(tǒng)需要處理大量的分布式事務(wù)。分布式事務(wù)涉及到多個(gè)數(shù)據(jù)庫(kù),且允許這些數(shù)據(jù)庫(kù)異構(gòu),如在不同的銀行間進(jìn)展資金轉(zhuǎn)賬。分布式事務(wù)需要處理大量并發(fā)進(jìn)程,涉及到操作系統(tǒng)、文件系統(tǒng)、編程語言、數(shù)據(jù)通訊、數(shù)據(jù)庫(kù)系統(tǒng)、系統(tǒng)管理及應(yīng)用軟件,是一個(gè)相當(dāng)艱巨的任務(wù)。通過事務(wù)處理中間件簡(jiǎn)化應(yīng)用開發(fā)。由它來負(fù)責(zé)處理聯(lián)機(jī)交易過程中分布式交易的完整性、并發(fā)控制、負(fù)載均衡以及出錯(cuò)恢復(fù)等。12X/OpenDTP模型包括3個(gè)組成局部:應(yīng)用程序〔ApplicationProgram,簡(jiǎn)稱AP〕是事務(wù)的使用者,它是開場(chǎng)〔Begin〕、提交〔Commit〕和回滾〔Rollback〕事務(wù)的發(fā)出者。它規(guī)定一個(gè)事務(wù)的界限,并給出事務(wù)所包含的操作。資源管理器〔ResourceManager,簡(jiǎn)稱RM〕:提供對(duì)共享資源的訪問,數(shù)據(jù)庫(kù)管理系統(tǒng)〔DBMS〕或文件訪問系統(tǒng)都可以成為RM。事務(wù)管理器〔TransactionManager,簡(jiǎn)稱TM〕:是AP與RM之間的協(xié)調(diào)員,它給每個(gè)事務(wù)分配標(biāo)示符,監(jiān)視其進(jìn)展,保證事務(wù)處理的順利進(jìn)展,并負(fù)責(zé)事務(wù)在失敗情況下的恢復(fù)。1314分布式事務(wù)涉及到多個(gè)結(jié)點(diǎn)的數(shù)據(jù)的更新,任何一個(gè)結(jié)點(diǎn)或結(jié)點(diǎn)間通信的失效都可能導(dǎo)致分布式事務(wù)的失敗。因此,為了保證事務(wù)的完整性,分布式事務(wù)通常采用兩階段提交協(xié)議(TwoPhaseCommitmentProtocol,簡(jiǎn)稱2PC)來提交。15階段1〔準(zhǔn)備階段〕TM詢問所有的RM是否已準(zhǔn)備提交。階段2〔提交階段〕TM檢查所有RM的答復(fù),只要有一個(gè)RM給出否認(rèn)的答復(fù),TM指示所有的RM進(jìn)展回滾。否那么,TM指示所有的RM進(jìn)展提交。16常見的TPM產(chǎn)品有Microsoft的MTSSUN的JTSOMG的OTS東方通的TongEasy17消息中間件〔Message-OrientedMiddleware,MOM〕18動(dòng)機(jī):RPC調(diào)用的缺點(diǎn)〔1〕客戶端與效勞器端需要同時(shí)在線;〔2〕客戶端需要知道效勞器端的調(diào)用接口,假設(shè)調(diào)用接口發(fā)生改變,客戶端需要做相應(yīng)變化,如通過ODBC連接訪問數(shù)據(jù)庫(kù),客戶端需要知道遠(yuǎn)程數(shù)據(jù)庫(kù)的類型,假設(shè)類型發(fā)生改變,還需要重新裝載相應(yīng)的驅(qū)動(dòng)程序。19〔3〕操作過程中需要一直保持與效勞器端的連接,直到操作完畢。因而,〔a〕一旦連接中斷,就意味著操作失敗或數(shù)據(jù)喪失;〔b〕通常判斷連接中斷的時(shí)間較長(zhǎng),假設(shè)信道的可靠性較差,容易造成連接中斷,那么應(yīng)用效率將嚴(yán)重低下;〔c〕效勞器端在執(zhí)行操作的過程中,并不涉及網(wǎng)上數(shù)據(jù)傳輸,但連接的保持占用信道,容易造成網(wǎng)絡(luò)堵塞。20這個(gè)問題可用消息中間件來解決,應(yīng)用間通過傳遞消息來進(jìn)展協(xié)作,是一種異步通信模式主要功能是在不同的網(wǎng)絡(luò)協(xié)議、不同的操作系統(tǒng)和不同的應(yīng)用程序之間提供可靠的和可恢復(fù)的〔假設(shè)發(fā)生意外〕消息傳送。這時(shí)應(yīng)用并不需要消息即時(shí)即刻傳遞到達(dá)對(duì)方。21工作原理:應(yīng)用之間以一系列消息的方式進(jìn)展通信。在消息傳遞過程中,為了防止消息被喪失,消息被保存在消息隊(duì)列中。應(yīng)用把消息發(fā)送到與接收者有關(guān)的隊(duì)列中。消息傳遞機(jī)制保證將消息傳送到目的地且只傳送一次。在消息傳遞過程中,應(yīng)用之間不必建立聯(lián)系,發(fā)送者僅需將消息放入到與接收者有關(guān)的隊(duì)列中,而不必關(guān)心接收者是否在線。接收者僅需從自己的隊(duì)列中提取消息即可。22常見的MOM產(chǎn)品有IBM的MQSeriesMicrosoft的MSMQ東方通的TongLink/Q23寧波諾丁漢大學(xué)總復(fù)習(xí)資料1對(duì)象〔Object〕是具有一些狀態(tài)和行為的實(shí)體,其內(nèi)部實(shí)現(xiàn)是不可見的。對(duì)象的狀態(tài)反映對(duì)象所處的情形,通常由對(duì)象的屬性值來表示;對(duì)象的行為定義對(duì)象如何運(yùn)作和反響,通常表示為對(duì)象的接口〔Interface〕、函數(shù)〔Function〕或方法〔Method〕。類〔Class〕是一系列相近對(duì)象的一般性定義,它提供了對(duì)象屬性和行為的標(biāo)準(zhǔn)。 24寧波諾丁漢大學(xué)總復(fù)習(xí)資料1繼承〔Inheritance〕是基于原有對(duì)象創(chuàng)立新對(duì)象的代碼重用機(jī)制,它定義了一個(gè)類共享一個(gè)或多個(gè)其它類的構(gòu)造和行為的關(guān)系。封裝〔Encapsulation〕就是隱藏對(duì)象的具體實(shí)現(xiàn)細(xì)節(jié),只能通過所定義的界面來訪問和操作對(duì)象的數(shù)據(jù)。25寧波諾丁漢大學(xué)總復(fù)習(xí)資料1抽象〔Abstract〕是指從一組不同的實(shí)體中提取出公共特性〔抽象類〕的過程。抽象類局部定義了類的數(shù)據(jù)構(gòu)造和行為,且這些數(shù)據(jù)構(gòu)造和行為通常無具體的實(shí)現(xiàn)。而完整的數(shù)據(jù)構(gòu)造和行為以及它們的具體實(shí)現(xiàn)那么由其子類進(jìn)一步確定。因此,抽象類通常不能被實(shí)例化為一個(gè)對(duì)象。26寧波諾丁漢大學(xué)總復(fù)習(xí)資料1多態(tài)〔Polymorphism〕是指對(duì)同一界面或行為可以有多種不同的實(shí)現(xiàn)的能力。使用單一的消息可以調(diào)用不同的行為。例如由形狀類派生出的矩形和圓形類,都具有“繪制〞方法。調(diào)用矩形對(duì)象的繪制方法將畫出一個(gè)矩形,而調(diào)用圓形對(duì)象的繪制方法將畫出一個(gè)圓形,同樣是“繪制〞方法,不同的類有不同的實(shí)現(xiàn)。 27寧波諾丁漢大學(xué)總復(fù)習(xí)資料1以上幾個(gè)概念既是對(duì)面向?qū)ο蟮亩x,也是對(duì)象的特性。從面向?qū)ο蟮木幊陶Z言來看,面向?qū)ο缶褪菍?duì)象、類和繼承的組合;從面向?qū)ο蟮南到y(tǒng)特性來看,面向?qū)ο髴?yīng)包括封裝、抽象和多態(tài)。 28設(shè)計(jì)面向?qū)ο筌浖杩紤]:如何找到相關(guān)的對(duì)象并以適當(dāng)粒度將它們歸類定義類的接口和繼承層次建立對(duì)象之間的根本關(guān)系設(shè)計(jì)既要對(duì)當(dāng)前的問題具有針對(duì)性,又要求對(duì)將來的問題有通用性。對(duì)上述問題的一個(gè)有效解決途徑是使用設(shè)計(jì)模式29“模式描述了一個(gè)在我們周圍不斷重復(fù)發(fā)生的問題以及該問題的解決方案的核心。這樣,你就能一次又一次地使用該方案而不必做重復(fù)勞動(dòng)〞30表設(shè)計(jì)模式空間目的創(chuàng)建型結(jié)構(gòu)型行為型范圍類FactoryMethodAdapterInterpreterTemplateMethod對(duì)象AbstractFactoryBuilderPrototypeSingletonAdapterBridgeCompositeDecoratorFa?adeFlyweightProxyChainofResponsibilityCommandIteratorMediatorMementoObserverStateStrategyVisitor31模式分類準(zhǔn)那么:1.目的準(zhǔn)那么:模式用來完成什么工作的創(chuàng)立型,構(gòu)造型,行為型(1)創(chuàng)立型模式與對(duì)象的創(chuàng)立有關(guān)(2)構(gòu)造型模式處理類或?qū)ο蟮慕M合(3)行為型模式對(duì)類或?qū)ο笤鯓咏换ズ头峙渎氊?zé)進(jìn)展描述322.范圍準(zhǔn)那么:指定模式主要是用于類還是用于對(duì)象類模式用于處理類和子類之間的關(guān)系,這些關(guān)系通過繼承建立,是靜態(tài)的,在編譯時(shí)刻便確定下來了。對(duì)象模式處理對(duì)象間的關(guān)系,這些關(guān)系在運(yùn)行時(shí)刻是可以變化的,更具動(dòng)態(tài)性33可復(fù)用的面向?qū)ο笤O(shè)計(jì)的兩個(gè)原那么34第一個(gè)原那么:針對(duì)接口編程,而不是針對(duì)實(shí)現(xiàn)編程35類繼承與接口繼承類繼承是一個(gè)通過復(fù)用父類功能而擴(kuò)展應(yīng)用功能的根本機(jī)制。接口繼承描述了一個(gè)對(duì)象什么時(shí)候能被用來替代另一個(gè)對(duì)象。當(dāng)繼承被恰當(dāng)使用時(shí),所有從抽象類導(dǎo)出的類將共享該抽象類的接口。這時(shí),所有的子類都能響應(yīng)抽象類接口中的請(qǐng)求。支持多態(tài)機(jī)制。36根據(jù)抽象類中定義的接口來操縱對(duì)象有以下兩個(gè)好處:(1)客戶無須知道他們使用對(duì)象的特定類型,只須對(duì)象有客戶所期望的接口(2)客戶無須知道他們使用的對(duì)象是用什么類來實(shí)現(xiàn)的,他們只須知道定義接口的抽象類

這極大地減少了對(duì)象實(shí)現(xiàn)之間的相互依賴性。37第二個(gè)原那么:優(yōu)先使用對(duì)象組合,而不是類繼承

38類繼承通過繼承的方式來復(fù)用并擴(kuò)展父類功能。通過生成子類的復(fù)用稱為白箱復(fù)用(white-boxreuse)。在此方式中,父類的內(nèi)部細(xì)節(jié)對(duì)子類可見。新的更復(fù)雜的功能可以通過組合對(duì)象來獲得,且被組合的對(duì)象通過彼此間良好定義的接口來進(jìn)展協(xié)作。這種復(fù)用風(fēng)格稱為黑箱復(fù)用(black-boxreuse)。在對(duì)象組合方式中,對(duì)象的內(nèi)部細(xì)節(jié)不可見。39組合的優(yōu)點(diǎn):(1)組合是通過獲得對(duì)其他對(duì)象的引用而在運(yùn)行時(shí)刻動(dòng)態(tài)定義的(2)對(duì)象只通過接口訪問,不破壞封裝性(3)只要類型一致,運(yùn)行時(shí)刻可用一個(gè)對(duì)象來替代另一個(gè)對(duì)象(4)因?yàn)閷?duì)象的實(shí)現(xiàn)是基于接口寫的,所以實(shí)現(xiàn)上存在較少的依賴關(guān)系(5)優(yōu)先使用組合有助于保持每個(gè)類的封裝性,且讓每個(gè)類集中在單個(gè)任務(wù)上40FactoryMethod定義一個(gè)用于創(chuàng)立對(duì)象的接口,讓子類決定將哪一個(gè)類實(shí)例化。41AbstractFactory提供一個(gè)創(chuàng)立一系列相關(guān)或相互依賴對(duì)象的接口,而無需指定它們具體的類42Bridge將抽象局部與實(shí)現(xiàn)局部別離,使它們可以獨(dú)立變化43Proxy為其他對(duì)象提供一種代理來控制對(duì)這個(gè)對(duì)象的訪問。4

溫馨提示

  • 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)論