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

下載本文檔

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

文檔簡介

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論