版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、系統(tǒng)集成項目管理工程師課程輔導(dǎo)3,北京理工大學(xué) 計算機學(xué)院徐 進(jìn),1,3.5 系統(tǒng)架構(gòu)設(shè)計,2,3.5.1 軟件體系結(jié)構(gòu)基本概念3.5.2 軟件體系結(jié)構(gòu)風(fēng)格3.5.3 軟件體系結(jié)構(gòu)應(yīng)用框架3.5.4 軟件設(shè)計模式,3,3.5.1 軟件體系結(jié)構(gòu)基本概念 1.定義軟件體系結(jié)構(gòu),也稱軟件架構(gòu),是軟件工程的重要研究領(lǐng)域。從90年代開始,很多專家學(xué)者對軟件體系結(jié)構(gòu)引起廣泛的關(guān)注,到目前為止,軟件體系結(jié)構(gòu)并沒有統(tǒng)一的定義,
2、綜合軟件體系結(jié)構(gòu)的定義,只有比較權(quán)威的定義性論述。權(quán)威的定義性論述軟件體系結(jié)構(gòu)是設(shè)計過程的一個層次,它處理那些超越算法和數(shù)據(jù)結(jié)構(gòu)的設(shè)計,研究整體結(jié)構(gòu)設(shè)計和描述方法。體系結(jié)構(gòu)包括:總體組織結(jié)構(gòu)、全局控制結(jié)構(gòu)、通信和同步以及數(shù)據(jù)存取的協(xié)議、設(shè)計元素的功能、物理分布與合成、設(shè)計方案的選擇、評估和實現(xiàn)等。,4,理解要點: 軟件體系結(jié)構(gòu)是軟件設(shè)計過程的一個層面,是相對獨立的、有價值的軟件設(shè)計方法的總結(jié),可作為軟件開發(fā)指導(dǎo)性的策略和途徑強調(diào)
3、設(shè)計過程,而非分析的過程。分析的目標(biāo)是理解和表達(dá),而設(shè)計的目標(biāo)是實現(xiàn)非用戶的觀點,即非功能的觀點。對于用戶,結(jié)構(gòu)是軟件系統(tǒng)功能的組合,而對于設(shè)計者,結(jié)構(gòu)是為特定目標(biāo)而設(shè)立的、軟件成分以及成分之間的關(guān)系。軟件體系結(jié)構(gòu)的研究,包括:怎樣選擇、怎樣評估,以及怎樣實現(xiàn)一個軟件結(jié)構(gòu)的問題,5,2. 軟件的基本結(jié)構(gòu)軟件技術(shù)的發(fā)展與硬件技術(shù)密不可分。軟件結(jié)構(gòu)的基礎(chǔ)受硬件結(jié)構(gòu)的制約,目前,在計算機基本硬件結(jié)構(gòu)的基礎(chǔ)之上,軟件體系結(jié)構(gòu)的基本元素和結(jié)
4、構(gòu)包括如下幾種:數(shù)據(jù)類型結(jié)構(gòu),包括基本數(shù)據(jù)類型結(jié)構(gòu)、抽象數(shù)據(jù)類型結(jié)構(gòu)控制流連接結(jié)構(gòu),也稱調(diào)用結(jié)構(gòu)包括:條件連接結(jié)構(gòu)、循環(huán)連接結(jié)構(gòu)、控制轉(zhuǎn)移結(jié)構(gòu);其調(diào)用連接方式,包括鏈詢式、分析式、代理式中斷觸發(fā)連接結(jié)構(gòu),包括內(nèi)部進(jìn)程連接結(jié)構(gòu)、獨立進(jìn)程同步連接結(jié)構(gòu)、獨立進(jìn)程異步連接結(jié)構(gòu)層次結(jié)構(gòu),包括單向依賴層次結(jié)構(gòu)、開放式層次結(jié)構(gòu),6,3.軟件體系結(jié)構(gòu)設(shè)計的基本策略和原則在大量的軟件開發(fā)的設(shè)計實踐中,始終存在對設(shè)計原則和策略的探討和總結(jié),很多被
5、普遍性采用的原則和策略,一直被廣泛使用,并不斷驗證和改進(jìn),它們獨立于具體的軟件開發(fā)方法。這些原則和策略包括:,?抽象 ?分而治之,層次化分解 ?封裝和信息隱蔽 ?模塊化,?高內(nèi)聚和低耦合?關(guān)注點分離?策略和實現(xiàn)分離?接口和實現(xiàn)分離,7,抽象抽象,是人們認(rèn)識復(fù)雜事物的基本方法。它的實質(zhì)是集中表現(xiàn)事物的主要特征和屬性,隱蔽和忽略細(xì)節(jié)部分。運用抽象,能概括普遍的、具有相同特征和屬性的事物,簡化表達(dá)和理解,便于利用。軟
6、件設(shè)計中運用的抽象包括:數(shù)據(jù)抽象:描述特定數(shù)據(jù)對象的屬性集合過程抽象:特定操作過程命名的操作序列控制抽象:隱含內(nèi)部細(xì)節(jié)的控制邏輯,8,分而治之,層次式分解將大問題分解,從小問題入手,逐一解決整個大問題,這是人們處理問題的通常的方式。軟件設(shè)計中運用的分解包括:橫向分解:按照從基礎(chǔ)問題到上層問題的分解方式,將大問題按照層次分解成相互依賴的多層,每層完成的局部解,提供對上層的支持縱向分解:在橫向分解的基礎(chǔ)上,對每層的求解,再分解成
7、相互獨立的多項求解,9,封裝和信息隱蔽封裝是為了信息隱蔽,隱蔽是為了減小出錯帶來損失,而出錯是軟件系統(tǒng)不可避免的事實。無論是多么精心設(shè)計,嚴(yán)格實施,以及反復(fù)測試,軟件系統(tǒng)的錯誤就像與生俱來不可回避。局部化設(shè)計將處理信息限制在局部處理過程中,避免與外部其它處理共享,減少出錯的幾率,并且,出錯后的影響面也會較小。封裝性設(shè)計將處理過程盡量隱蔽,使外界得不到,只留出簡單而統(tǒng)一的訪問接口。這樣,使軟件處理的各個部分相互獨立,減小系統(tǒng)擴(kuò)充
8、或修改時的出錯的機率。,10,模塊化模塊是可被獨立命名、具有獨立作用的軟件成分。軟件設(shè)計的模塊化,是以提高系統(tǒng)的可構(gòu)造性為目標(biāo)的。為了軟件系統(tǒng)的可擴(kuò)充性、可修改性,設(shè)計可靈活的拆解,或者可靈活組裝的軟件構(gòu)造,則成為軟件設(shè)計者的愿望和責(zé)任。模塊設(shè)計的原則包括:可分解性:問題本身可由多個部分的解合成,則應(yīng)分解問題成為多個處理模塊可組裝性:可作為獨立的部分被組裝利用,得到一個更大的解,則包裝它成為獨立的模塊可理解性:模塊需要容易理解,
9、不能被理解或者理解多義的軟件成分不能作為獨立模塊連續(xù)性: 對于一個軟件成分的修改,只作用于它自身,這樣的模塊才是好的模塊保護(hù)性: 如果模塊出現(xiàn)異常,對于系統(tǒng)的影響較小,甚至沒有影響,這樣的模塊才是好的模塊,11,高內(nèi)聚和低耦合內(nèi)聚性內(nèi)聚性是指軟件成份的內(nèi)部特性。成份中各處理元素的關(guān)系越緊密越好。耦合性耦合性是指軟件成份之間的關(guān)系特性。軟件成份之間的關(guān)系越松散越好。,12,12,偶然內(nèi)聚:各處理元素之間并沒有關(guān)系,只是把分
10、散在多處的功能合在一起邏輯內(nèi)聚:僅僅是邏輯功能相關(guān)的處理元素合在一起時間內(nèi)聚:需要在同一時間執(zhí)行,并無功能邏輯的處理元素合在一起過程內(nèi)聚:過程順序相關(guān)的功能元素合在一起通訊內(nèi)聚:需要對相同的外部數(shù)據(jù)進(jìn)行操作的處理元素合在一起順序內(nèi)聚:一個軟件成份的輸出是另一個軟件成份的輸入,將它們合起來功能內(nèi)聚:只完成單一的功能,,內(nèi)容耦合:一個軟件成份直接修改另一個軟件成份的內(nèi)容公共耦合:兩個以上的軟件成份共同處理外部的一個公共數(shù)據(jù)控
11、制耦合:軟件成份的動作依賴于接收的控制信號標(biāo)記耦合:軟件成份的接口參數(shù)具有一個復(fù)雜的內(nèi)部結(jié)構(gòu)數(shù)據(jù)耦合:軟件成份之間僅是數(shù)據(jù)傳遞,,內(nèi)聚,耦合,緊密,松散,松散,緊密,13,關(guān)注點分離關(guān)注點:關(guān)注點是軟件系統(tǒng)中特別需要考慮的多變部分。例如,軟件成分的執(zhí)行會受到運行環(huán)境、設(shè)備條件,以及通信設(shè)施等的制約和限制,為了適應(yīng)不同的運行環(huán)境和條件,需要進(jìn)行必要的參數(shù)調(diào)整和驅(qū)動配置。為此進(jìn)行的這部分設(shè)計和開發(fā),即是所謂的關(guān)注點。關(guān)注點分離設(shè)計
12、:軟件系統(tǒng)中涉及關(guān)注點的成分應(yīng)該與非關(guān)注點的成分分為相互獨立的部分,這樣的設(shè)計會使未來的系統(tǒng)容易配置,靈活適應(yīng)多種不同的情況。,14,策略和實現(xiàn)分離策略策略是指軟件中用于處理選擇控制的決策成分。通過信息語義解釋、參數(shù)條件等,進(jìn)行分析判斷,以決定怎樣的具體數(shù)據(jù)加工和功能實現(xiàn)。實現(xiàn)實現(xiàn)是指軟件系統(tǒng)中,有規(guī)范步驟及完整執(zhí)行算法的成分。策略和實現(xiàn)分離的設(shè)計通常,決策部分是異變的成分,而實現(xiàn)部分相對穩(wěn)定,并可多次復(fù)用。將策略成分和實
13、現(xiàn)成分分別設(shè)計成獨立的部分,使系統(tǒng)維護(hù)的范圍減小,以提高系統(tǒng)的維護(hù)性和復(fù)用性。,15,接口和實現(xiàn)分離接口接口是軟件成分對外統(tǒng)一形式的、可直接訪問的操作集合,其操作提供了該軟件成分的功能及使用方式。一個軟件成分可以不只一個接口,每個接口提供不同的一組相關(guān)的操作。實現(xiàn)實現(xiàn)是軟件成分外部不可見的操作執(zhí)行部分接口和實現(xiàn)分離的設(shè)計為了達(dá)到軟件成分的高復(fù)用,對于不同的訪問形式的適應(yīng)問題,可以采用分設(shè)不同的訪問接口來實現(xiàn)。因此,采用接口和
14、實現(xiàn)分離的設(shè)計,會極大地提高系統(tǒng)的可移植性和復(fù)用性,而這些正是軟件性能評價的重要指標(biāo)。,16,4.風(fēng)格、框架、模式在軟件體系結(jié)構(gòu)的研究中,有三個重要的術(shù)語需要明確:軟件體系結(jié)構(gòu)風(fēng)格(Architecture Styles),風(fēng)格是描述特定系統(tǒng)組織方式的慣用范例(idiomatic paradigm),強調(diào)組織方式和習(xí)慣用法;組織方式是用靜態(tài)形式表述的系統(tǒng)結(jié)構(gòu),而慣用范式,則可反映眾多系統(tǒng)共有的結(jié)構(gòu)和語義。應(yīng)用框架(Applicat
15、ion Framework),框架是待實例化的、可復(fù)用的大粒度部件結(jié)構(gòu)??蚣苊嫦虿煌?guī)模的應(yīng)用問題,是通用的結(jié)構(gòu)。強調(diào)針對實際的應(yīng)用問題和通用結(jié)構(gòu)。軟件設(shè)計模式(Design Pattern),設(shè)計模式是軟件問題高效和成熟的設(shè)計模板(pattern),模板包含了固有的問題的處理邏輯,強調(diào)處理邏輯采用方式的直接復(fù)用。,17,3.5.2 軟件體系結(jié)構(gòu)風(fēng)格體系結(jié)構(gòu)風(fēng)格是對軟件系統(tǒng)組織結(jié)構(gòu)的慣用形式總結(jié)。認(rèn)識特定軟件結(jié)的原理及適合的計算模式
16、,為軟件體系結(jié)構(gòu)設(shè)計提供必要的選擇空間,對于軟件設(shè)計來說是重要的技術(shù)途徑。目前經(jīng)典的體系結(jié)構(gòu)風(fēng)格包括:管道過濾器風(fēng)格主程序與子過程風(fēng)格面向?qū)ο箫L(fēng)格黑板知識庫風(fēng)格虛擬機(解釋器)風(fēng)格事件驅(qū)動隱式調(diào)用風(fēng)格過程控制回路風(fēng)格 部件鏈接器C2風(fēng)格相關(guān)的信息系統(tǒng)開發(fā),僅介紹其中幾種經(jīng)典體系結(jié)構(gòu)風(fēng)格,18,1 .管道過濾器 (Pipes and Filters),過濾器A,過濾器B,過濾器C,過濾器D,過濾器E,,,,,,,,
17、,,,,,,,,增量計算的 功能模塊,輸入/輸出 數(shù)據(jù)流,管道過濾器風(fēng)格的特征以數(shù)據(jù)流向的過程為核心,因此也被稱為:數(shù)據(jù)流風(fēng)格過濾器自身功能獨立而完整,不需要知道其他過濾器的存在與否,相互之間無狀態(tài)交互過濾器對輸入的數(shù)據(jù)流有限制,并必須保證輸出流的正確性系統(tǒng)內(nèi),各部分的執(zhí)行與整體系統(tǒng)的最終輸出不相關(guān)適用于無交互的批量加工過程處理系統(tǒng),管道1,管道2,管道3,管道4,管道5,管道6,管道8,管道7,19,2.主程序與子過
18、程 (Main Program/Subroutine),主程序,子過程1,子過程2,子過程n,?????,,,,,,,子過程k1,子過程k2,調(diào)用,返回,,,,,,,,,子過程f,,,,,主程序與子過程特征與過程性語言的概念相對應(yīng),適當(dāng)?shù)脑O(shè)計會使代碼效率很高層次式的結(jié)構(gòu)調(diào)用,幾乎可以應(yīng)對所有的軟件問題單純的過程劃分基于特定問題,不具普遍性,復(fù)用性差數(shù)據(jù)結(jié)構(gòu)的變化會引起復(fù)雜關(guān)聯(lián)的變化,維護(hù)性差適用于需求穩(wěn)定且高效的系統(tǒng)問題,20
19、,3 .數(shù)據(jù)抽象和面向?qū)ο?Data Abstraction and Object-Oriented),,對象實體,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,對象實體,對象實體,對象實體,對象實體,對象實體,對象實體,對象實體,消息,消息,消息,消息,消息,消息,消息,消息,消息,消息,消息,?對象實體是具有自身屬性和行為能力的獨立個體。?對象實體是主動的管理者,包括待處理的對象數(shù)據(jù)和所有參與過 程
20、的實體。?任何事務(wù)處理都是對象相互發(fā)送“消息”作用的結(jié)果。發(fā)送消息是“請求”,接受消息是對請求的“響應(yīng)”。?響應(yīng)“消息”的動作是接受請求對象自身的行為能力。并且它也可以 向其他對象發(fā)出請求。,面向?qū)ο蠼Y(jié)構(gòu)的特征,21,4.事件驅(qū)動和隱式調(diào)用(Event-Based,Implicit Invocation),外部實體1,,,,外部實體n,,,,消息過濾1,消息過濾n,中斷服務(wù)n,中斷服務(wù)1,?????,?????,系統(tǒng)消息隊列,應(yīng)用
21、A 消息 隊列,應(yīng)用線程1,應(yīng)用線程n,?????,應(yīng)用B 消息 隊列,,,,,,,,,,,,,,,系統(tǒng)傳送,系統(tǒng)傳送,消息發(fā)送,消息發(fā)送,事件,事件,應(yīng)用線程1,應(yīng)用線程n,?????,消息循環(huán) B,消息循環(huán) A,,,,?????,事件驅(qū)動和隱式調(diào)用特征事件不直接被各響應(yīng)處理接收,而是通過隱藏在中間的層次間接地被接收和處理中間的層次,完成消息形式的統(tǒng)一處理及調(diào)整和調(diào)度,這樣,可以對接受事件進(jìn)行必要操控請求與響應(yīng)成
22、分之間構(gòu)成松散耦合,為靈活設(shè)計創(chuàng)造了條件對于資源不對等的異步并發(fā)系統(tǒng)是一種極好的控制方式,22,5. 黑板知識庫 (倉儲) (Repository),黑板(共享狀態(tài) 和策略數(shù)據(jù)),,知識源1,知識源8,知識源7,知識源6,知識源3,知識源4,知識源2,知識源5,,,,,,,,,黑板知識庫風(fēng)格的特征每個知識源的動作依據(jù)是黑板中的信息,包括需要的交互及協(xié)同 系統(tǒng)中的執(zhí)行者和決策者享有同等的地位 使系統(tǒng)中多對多的關(guān)系,以及執(zhí)行者
23、和決策者的復(fù)雜關(guān)系變得簡單而清晰對于協(xié)同求解等專家系統(tǒng)是極好的控制方式,23,虛擬機,6. 虛擬機(解釋器)(Interpreter),程序的交互輸入,被解釋的 程序,執(zhí)行偽碼,解釋引擎,,輸出,輸入,選擇指示,,,,解釋狀態(tài),虛擬機(解釋器)結(jié)構(gòu)的優(yōu)勢? 易于擴(kuò)充文法,以適應(yīng)系統(tǒng)的改變。特別是采用面向?qū)ο蟮睦^承方式。? 高效的解釋通常采用狀態(tài)機方式。狀態(tài)機方式仍然適用于解釋器結(jié)構(gòu)。,,,24,7. 部件連接器(Co
24、mponents and Connectors),?部件和連接器是軟件結(jié)構(gòu)成分的兩大部分。?部件是軟件的組成成分,在系統(tǒng)構(gòu)架中起結(jié)構(gòu)塊的作用。?連接件是建立部件和部件之間連接的成分,是專門承接連接作用 的特殊部件。?部件可以組合,連接器可以相互連接。,,,,,,,,,,,,,,部件,部件,部件,部件,部件,部件,部件,,部件,,復(fù)合部件,部件和連接器也稱為 C2 (Components and Connectors)風(fēng)格。它總結(jié)
25、了所有體系結(jié)構(gòu)的成分,歸納并深入探討其規(guī)律、特性,引導(dǎo)了軟件體系結(jié)構(gòu)研究的新途徑。,25,軟件體系結(jié)構(gòu)成分列表,26,?部件的類別?部件的表達(dá)形式?部件的特性,接口特性運行特性遠(yuǎn)程服務(wù)特性關(guān)聯(lián)特性動態(tài)特性等級或?qū)哟翁匦?,?連接的種類?連接的實現(xiàn)?連接協(xié)議?連接的特性,連接方向性連接的角色連接的激發(fā)連接的響應(yīng)連接的匹配性,,討論部件連接器的內(nèi)容包括:,27,連接的種類,從連接目的分:操作/過程調(diào)用、控制/事件
26、/消息發(fā)送、數(shù)據(jù)傳輸從連接機能分:有返回連接和無返回連接從連接響應(yīng)分:同步連接和異步連接。,連接的實現(xiàn),計算機硬件提供了實現(xiàn)一切連接的基礎(chǔ)。在此基礎(chǔ)上構(gòu)筑了各層的連接方式。無論怎樣復(fù)雜的連接,都是在基本連接的基礎(chǔ)上實現(xiàn)的。,串行輸入/輸出并行輸入輸出DMA(直接存儲訪問)循環(huán)掃描代碼塊連接,進(jìn)程線程共享同步并行,過程調(diào)用中斷存儲棧,分時并發(fā)事件消息異常處理,基本連接,28,3.5.3 軟件體系結(jié)構(gòu)應(yīng)用框架
27、軟件體系結(jié)構(gòu)應(yīng)用框架,是在大量成功的應(yīng)用系統(tǒng)中,被廣泛使用并得到驗證的系統(tǒng)結(jié)構(gòu)。它們大都有相應(yīng)的軟件產(chǎn)品或開發(fā)環(huán)境的工具所支持。各大軟件開發(fā)商,都在相互競爭地圍繞這些應(yīng)用的軟件體系結(jié)構(gòu),發(fā)展自己獨特性能的構(gòu)造工具和產(chǎn)品,并且,不斷創(chuàng)造新的更具優(yōu)勢的結(jié)構(gòu)概念,以研制更多的產(chǎn)品占領(lǐng)軟件開發(fā)市場。,29,1.客戶/服務(wù)器 ( Client/Server)C/S結(jié)構(gòu)在信息產(chǎn)業(yè)的系統(tǒng)結(jié)構(gòu)中占有重要地位。是隨著網(wǎng)絡(luò)時代的發(fā)展,從集中式計算到分布式
28、計算重大演變的產(chǎn)物。基本概念C/S結(jié)構(gòu)是分布式系統(tǒng)結(jié)構(gòu) 分布式系統(tǒng)是由多個自主的處理器,平行地處理所各自獨立的系統(tǒng)部分,來同共完成一個業(yè)務(wù)過程。它們之間不共享存儲,僅通過封裝的接口傳遞信息。C/S結(jié)構(gòu)是分布式系統(tǒng)結(jié)構(gòu)。C/S結(jié)構(gòu)的消息傳遞特征 消息傳遞是分布系統(tǒng)結(jié)構(gòu)的基礎(chǔ),C/S結(jié)構(gòu)采用消息傳遞的關(guān)系模式。即客戶向服務(wù)者發(fā)送消息,客戶是消息的發(fā)送者,也是請求服務(wù)者;而服務(wù)器是消息的接收者,它響應(yīng)消息并執(zhí)行服務(wù)。C/S結(jié)構(gòu)既是
29、指硬件也是指軟件。并且,通常用來表明一種消息交互的形式,30,C/S體系結(jié)構(gòu)硬件,,,,,,,,,,,,Internet,,,,,,,,,,客戶機1,打印機,調(diào)制解調(diào)器,服務(wù)器,其他公用設(shè)備,客戶機2,客戶機3,客戶機4,客戶機5,客戶機通常采用個人微機,在自身操作系統(tǒng)控制下,執(zhí)行系統(tǒng)的應(yīng)用程序。服務(wù)器,采用高級計算機系統(tǒng),提供多用戶方式下的數(shù)據(jù)庫服務(wù)、文件服務(wù)、網(wǎng)絡(luò)通信、打印服務(wù)、電傳及傳真等設(shè)備服務(wù)等。,,,,31,,應(yīng)用接口,數(shù)
30、據(jù)庫系統(tǒng) Core,操作系統(tǒng),用戶界面,應(yīng)用系統(tǒng),數(shù)據(jù)庫系統(tǒng) 運行環(huán)境,Form Report SQL,操作系統(tǒng),,,,跨平臺跨地域,接口,數(shù)據(jù)存儲管理,Server,Client,C/S結(jié)構(gòu)的軟件系統(tǒng)分布,C/S結(jié)構(gòu)是資源不對等結(jié)構(gòu)。常被形象地稱為“胖客戶機結(jié)構(gòu)”客戶處理機擔(dān)任應(yīng)用程序的全部系統(tǒng)處理,包括:操作界面、業(yè)務(wù)邏輯及數(shù)據(jù)計算的所有處理運行。服務(wù)處理機擔(dān)任多個客戶應(yīng)用的數(shù)據(jù)管理,包括:數(shù)據(jù)庫服務(wù)器、網(wǎng)絡(luò)服
31、務(wù)、應(yīng)用請求響應(yīng)服務(wù)。,…,32,C/S結(jié)構(gòu)的處理流程早期的C/S結(jié)構(gòu)處理方式是兩層方式的。由于所有的應(yīng)用系統(tǒng)程序都在Client側(cè),程序之間的訪問,是采用的共享內(nèi)存的本地過程調(diào)用LPC(Local Procedure Call)方式。,33,C/S結(jié)構(gòu)發(fā)展的必然趨勢1)在應(yīng)用系統(tǒng)中,有時一個數(shù)據(jù)查詢,需要多次循環(huán)的查詢數(shù)據(jù)集合,由于全部數(shù)據(jù)運算都在Client端,需要多次頻繁而大量的數(shù)據(jù)從服務(wù)器端傳過來,造成網(wǎng)絡(luò)傳輸?shù)娘L(fēng)險和壓力。
32、2)隨著計算機硬件技術(shù)的發(fā)展,以及遠(yuǎn)程過程存儲及遠(yuǎn)程過程調(diào)用RPC(Remote Procedure Call)技術(shù)的發(fā)展,使分布式系統(tǒng)結(jié)構(gòu)得以實現(xiàn)3)隨著Internet網(wǎng)絡(luò)技術(shù),以及WWW技術(shù)的發(fā)展,三層的C/S結(jié)構(gòu),直接對應(yīng)瀏覽器/服務(wù)器結(jié)構(gòu)的基本結(jié)構(gòu)形式。,,,,34,RPC運行,Skeleton,RPC API,過程存儲,數(shù)據(jù)庫,操作系統(tǒng),用戶界面,RPC運行,Stub,RPC API,應(yīng)用系統(tǒng),操作系統(tǒng),,,跨平臺跨地
33、域,遠(yuǎn)程過程存儲及RPC,Server,Client,客戶端向服務(wù)器發(fā)出請求---向指定的服務(wù)器請求數(shù)據(jù)訪問服務(wù)器接收請求----向客戶提供相應(yīng)的數(shù)據(jù)服務(wù)RPC接口----為應(yīng)用提供的過程存儲調(diào)用IDL(Interface Description Language)----可產(chǎn)生C/S兩端的RPC接口,,…,35,三層C/S結(jié)構(gòu)處理流程將服務(wù)器分為邏輯上獨立的兩部分:業(yè)務(wù)功能處理和數(shù)據(jù)訪問處理。將原來客戶端處理的內(nèi)容只保留界面操
34、作請求驗證處理部分,而將驗證過的操作請求及數(shù)據(jù),整體發(fā)送給服務(wù)器,服務(wù)器經(jīng)過業(yè)務(wù)處后,客戶端僅將結(jié)果數(shù)據(jù)取回。,36,2.瀏覽器/服務(wù)器結(jié)構(gòu)( Browser/Server,B/S)B/S結(jié)構(gòu),針對Internet國際互聯(lián)網(wǎng)絡(luò)形式的系統(tǒng)應(yīng)用問題,結(jié)合了成熟的WWW(World Wide Web)技術(shù),是三層C/S結(jié)構(gòu)的一種特定形式的實現(xiàn)。WWW技術(shù)的基本原理采用超文本標(biāo)記語言(Hypertext Markup Language ,
35、HTML),以互聯(lián)網(wǎng)絡(luò)上全體共識的格式,在瀏覽器中展現(xiàn)資源信息。WWW技術(shù)仍然采用的C/S消息傳遞方式:瀏覽器作為信息系統(tǒng)的前端,僅負(fù)責(zé)操作請求及取回信息展示給外界服務(wù)器以多用戶處理方式,響應(yīng)瀏覽器的請求,執(zhí)行搜索、整理和存儲各種WWW資源。,37,B/S結(jié)構(gòu)的基本形式WWW技術(shù)僅針對HTML文本資源的處理,而B/S結(jié)構(gòu)所面對的除了HTML文本資源,主要是針對應(yīng)用系統(tǒng)程序的運行資源。因為,大量的應(yīng)用系統(tǒng)越來越多地建立在Intern
36、et互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)之上。,客戶端計算機運行瀏覽器,服務(wù)器計算機運行邏輯上劃分的Web服務(wù)器和數(shù)據(jù)服務(wù)器,38,客戶瀏覽器1)用統(tǒng)一資源定位器URL來識別對應(yīng)請求的Web服務(wù)器2)通過解釋HTML頁面來顯示信息3)用超文本傳輸協(xié)議HTTP來傳輸請求4)取回處理結(jié)果,轉(zhuǎn)換成HTML頁面信息服務(wù)器各個業(yè)務(wù)的處理包裝成對應(yīng)的應(yīng)用服務(wù),并執(zhí)行下列任務(wù):1)驗證客戶端的業(yè)務(wù)請求2)執(zhí)行相應(yīng)的業(yè)務(wù)處理代碼程序3)發(fā)送必要的請求給數(shù)
37、據(jù)服務(wù)器,并取回結(jié)果數(shù)據(jù)4)按事先給定的結(jié)果頁面準(zhǔn)備好執(zhí)行結(jié)果數(shù)據(jù)服務(wù)器數(shù)據(jù)服務(wù)接受對應(yīng)的數(shù)據(jù)請求與數(shù)據(jù)庫及文件系統(tǒng)交互,建立并管理數(shù)據(jù),執(zhí)行檢索、修改、刪除等數(shù)據(jù)操作,39,B/S多層結(jié)構(gòu)基本B/S結(jié)構(gòu)存在如下問題:應(yīng)用服務(wù)的表示邏輯和處理邏輯緊密相關(guān),不能獨立修改和復(fù)用業(yè)務(wù)的顯示信息是以全體共識的方式直接被客戶端獲取,因此,系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)直接暴露,造成極高的信息安全風(fēng)險Web服務(wù)器既要處理界面操作驗證,又要處理業(yè)務(wù)計
38、算,還要負(fù)責(zé)與數(shù)據(jù)服務(wù)器的聯(lián)系,使其負(fù)擔(dān)過重,造成系統(tǒng)性能下降,抗風(fēng)險能力低,40,多層B/S結(jié)構(gòu)的形式將Web服務(wù)器的工作適當(dāng)分解為多個部分,將界面操作驗證等處理邏輯分成獨立的部分,不但減輕了各部分的負(fù)擔(dān),使風(fēng)險分散,最重要的是可以提高系統(tǒng)的安全性,并提高系統(tǒng)的復(fù)用性和構(gòu)造性。,41,3.對象中間件結(jié)構(gòu)中間件基本概念中間件的產(chǎn)生與C/S結(jié)構(gòu)的發(fā)展密不可分。由于C/S結(jié)構(gòu)存在著操作系統(tǒng)、文件格式、網(wǎng)絡(luò)協(xié)議、服務(wù)等相互多元異構(gòu)的問題
39、。希望通過中間件,能夠屏蔽差異,實現(xiàn)異構(gòu)環(huán)境下,建立具有可擴(kuò)展能力的分布式軟件框架。中間件的定義:中間件是為解決異構(gòu)環(huán)境的分布計算問題,是位于平臺和應(yīng)用之間、具有標(biāo)準(zhǔn)接口和協(xié)議的通用服務(wù)。,42,早期的中間件類型早在中間件概念被提出之前,很多系統(tǒng)在解決分布式互聯(lián)方面就已經(jīng)采用過很好的中間件解決方案。例如:遠(yuǎn)程過程調(diào)用(Remote Procedure Call,RPC),同步方式的分布式互聯(lián)技術(shù)消息發(fā)布/訂閱(publish/
40、subscribe),準(zhǔn)異步的分布式互聯(lián)消息隊列(Message queue),異步方式的分布式互聯(lián)技術(shù)開放數(shù)據(jù)庫互連(Open Database Connectivity,ODBC),異構(gòu)數(shù)據(jù)庫系統(tǒng)互聯(lián)然而,上述中間件系統(tǒng)中,軟件成分之間的互聯(lián)訪問,其雙方的位置和身份是固定的。,43,對象中間件隨著軟件技術(shù)的不斷發(fā)展,軟件結(jié)構(gòu)設(shè)計的抽象程度越來越高,從基本數(shù)據(jù)結(jié)構(gòu)、模塊,子程序、對象類,直到對象構(gòu)件。以對象構(gòu)件為基礎(chǔ)建造的系
41、統(tǒng),不但需要對象構(gòu)件本身,還需要對象構(gòu)件的運行機制來管理和控制,以實現(xiàn)構(gòu)件的建立和撤銷、構(gòu)件的加入與退出,以及構(gòu)件之間的相互訪問等,這個機制就是“對象中間件”。對象中間件的理解要點:對象構(gòu)件是包含獨立數(shù)據(jù)和功能的大粒度的對象實體,是系統(tǒng)建設(shè)的構(gòu)造塊在分布式網(wǎng)絡(luò)環(huán)境下的對象構(gòu)件系統(tǒng)中,對象構(gòu)件不分客戶還是服務(wù)者,它們的角色可以互換,并可以即插即用,44,對象中間件的三大主流結(jié)構(gòu)由國際OMG(Object Management Gr
42、oup)制定的ORB和CORBA對象中間件規(guī)范以SUN公司Java技術(shù)為基礎(chǔ)的對象組件和中間件體系EJBMicrosoft公司W(wǎng)indows環(huán)境的COM/DCOM/COM+構(gòu)件技術(shù)系列,45,① CORBA對象中間件由國際OMG(Object Management Group)制定的軟件跨平臺交互操作標(biāo)準(zhǔn)。目標(biāo)是:無論在什么地方,用的什么語言或是什么操作系統(tǒng),應(yīng)用程序都能在獨立的情況下,透明訪問對象。在此目標(biāo)下,制定統(tǒng)一的應(yīng)用軟件
43、標(biāo)準(zhǔn),規(guī)劃分布對象的體系結(jié)構(gòu),以及在此結(jié)構(gòu)下對象的產(chǎn)生、消亡和運用方式。這套規(guī)定包括:OMA(Object Management Architecture) 對象管理體系結(jié)構(gòu)ORB(Object Request Broker)對象請求代理者CORBA(Common Object Request Broker Architecture)公共對象請求代理者體系結(jié)構(gòu),46,對象服務(wù),提供用于實現(xiàn)對象的一些基本功能,如對象的命名服務(wù)、對象
44、并行、對象存儲、對象產(chǎn)生和消亡、事件消息響應(yīng),以及事務(wù)交易的一致性保障等應(yīng)用對象,是廣泛概念的分布系統(tǒng)中的任何成分??梢允菓?yīng)用程序、進(jìn)程、類實例公共設(shè)施,提供運行在應(yīng)用程序中的公共服務(wù),例如:菜單、窗口、繪圖板、電子郵件等ORB是OMA的核心部分。對象系統(tǒng)中對象構(gòu)件之間的交互,都是通過ORB進(jìn)行的,OMA對象管理體系結(jié)構(gòu),47,ORB核心,ORB核心提供底層消息通信協(xié)議GIOP(Global Internet-ORB Protoc
45、ol)接口定義語言IDL,提供對象的接口定義機制,通過編譯的接口,產(chǎn)生stub和skeleton樁(stub),客戶請求所需要的對象代理,或者遠(yuǎn)程對象的本地代理槽(skeleton)服務(wù)的接口,明確給出所承擔(dān)的服務(wù)接口庫,提供注冊構(gòu)件的接口管理,動態(tài)調(diào)用時,提供對象方法的元數(shù)據(jù)實現(xiàn)庫,包含支持服務(wù)的類、實例化對象及標(biāo)識。為定位和激活對象提供必要的手段對象適配器,提供對象構(gòu)件運行環(huán)境的適配轉(zhuǎn)換機制,CORBA結(jié)構(gòu),48,EJB
46、構(gòu)件系統(tǒng)開發(fā)環(huán)境EJB和J2EEJ2EE(Java2 Enterprise Edition)是SUN公司開發(fā)的具有性能保證,安全防護(hù)、事務(wù)處理,以及集群(cluster)管理等綜合技術(shù)標(biāo)準(zhǔn)的應(yīng)用系統(tǒng)軟件開發(fā)框架。包含網(wǎng)絡(luò)服務(wù)支持和軟件開發(fā)工具(Software Development Kit,SDK)等很多的概念和技術(shù)。其中,核心的技術(shù)就是EJB。除了EJB之外,還包含JNDI(Java Naming and Directory I
47、nterface)、JMS(Java Message Service)、JCA(Java Connector Architecture)、JTA(Java Transaction API)等重要的技術(shù)。它們可以配合EJB完成企業(yè)應(yīng)用系統(tǒng)的開發(fā)和建設(shè)。J2EE只是個標(biāo)準(zhǔn),它依賴于各廠商的產(chǎn)品實現(xiàn)。EJB(Enterprise Java Bean)是J2EE的一部分,是基于組件式企業(yè)系統(tǒng)應(yīng)用的軟件開發(fā)標(biāo)準(zhǔn)。 EJB提供可視化操作的構(gòu)件系
48、統(tǒng)裝配工具和環(huán)境,是能在服務(wù)器上運行的,一個特定的JavaBean。,49,JavaBean的基本概念Bean(豆)可看作一個整體構(gòu)件,是具有內(nèi)?。杀硎荆⒖裳b配、可授權(quán)操作、可事件響應(yīng),以及可永久性存儲的軟件獨立成份。JavaBean提供動態(tài)發(fā)現(xiàn)、組裝、部署B(yǎng)ean ,以及運行Bean的機制。Bean用事件機制相互連接,可構(gòu)成完整的應(yīng)用系統(tǒng)。EJB的基本概念EJB是企業(yè)級應(yīng)用服務(wù)的一個特殊的Bean,在EJB中,包含一個OTM
49、(Object Transaction Monitor)對象事務(wù)處理控制器,提供事務(wù)處理的服務(wù)構(gòu)件,包括:負(fù)責(zé)激活構(gòu)件、撤銷構(gòu)件、事務(wù)調(diào)度構(gòu)件,事件處理及構(gòu)件,以及持久性管理構(gòu)件。并且,在EJB中,構(gòu)件之間交互控制的機制是RMI(Remote Method Invocation)遠(yuǎn)程方法調(diào)用,它相當(dāng)于SUN公司的ORB。,50,EJB結(jié)構(gòu),EJB服務(wù)器,可以有多個EJB構(gòu)件或稱EJB容器,部署在EJB服務(wù)器上EJB容器,表示EJD單個
50、構(gòu)件或多個構(gòu)件共同完成的整體大粒度的構(gòu)件Home接口,EJB構(gòu)件的接口,提供創(chuàng)建、刪除及發(fā)現(xiàn)、查找等操作Remote,EJB構(gòu)件的接口,外界通過該接口調(diào)用業(yè)務(wù)構(gòu)件,51,COM、DCOM、COM+對象組件技術(shù)COM與OLE、ActiveX的關(guān)系OLE(Object Linking and Embedded)對象連接和嵌入技術(shù),是將應(yīng)用程序的數(shù)據(jù)交換提高到“對象之間的交換”。早期的OLE技術(shù)是為了開發(fā)時能夠容易地控制連接多媒體混合
51、文檔而實現(xiàn)的。OLE中的數(shù)據(jù)對象被稱為“復(fù)合文件”,可在任一應(yīng)用程序中,對其進(jìn)行編輯、更新、打印等功能的操作。隨著組件技術(shù)的發(fā)展,在OLE2.0技術(shù)的基礎(chǔ)上,建立了COM(Component Object model)組件對象技術(shù)規(guī)范,或者說OLE技術(shù)是COM的一個技術(shù)應(yīng)用。ActiveX是在原OLE技術(shù)的基礎(chǔ)上,支持網(wǎng)絡(luò)環(huán)境上的對象組件集成和交互的技術(shù),它擴(kuò)展了OLE 僅針對Windows系統(tǒng)內(nèi)應(yīng)用軟件的集成和交互的技術(shù)。,52,C
52、OM對象組件模型及實現(xiàn)過程,客戶應(yīng)用,是使用對象組件的應(yīng)用COM庫,提供COM對象組件的創(chuàng)建和標(biāo)識、內(nèi)存管理、對象構(gòu)件程序連接等函數(shù)注冊表,操作系統(tǒng)范圍公用的信息,是客戶應(yīng)用、對象購件與COM庫用以信息交換的共享區(qū)對象構(gòu)件,創(chuàng)建COM對象構(gòu)件的特殊類,用特殊接口提供標(biāo)準(zhǔn)的操作,得到構(gòu)件的實例化對象,53,DCOMDCOM(Distributed COM)是COM的進(jìn)一步擴(kuò)展。由于COM僅支持同一計算機上Windows環(huán)境的構(gòu)件之
53、間的交換,WindowsNT4.0研制了分布對象計算環(huán)境COM技術(shù)。DCOM用網(wǎng)絡(luò)協(xié)議來代替本地進(jìn)程之間的通信,并針對分布環(huán)境提供必要的特性,包括:位置透明、網(wǎng)絡(luò)安全、跨平臺調(diào)用。DCOM的分布功能主要依靠遠(yuǎn)程過程調(diào)用實現(xiàn)。COM+COM+在DCOM基礎(chǔ)上,加入了事務(wù)服務(wù)和分布式網(wǎng)絡(luò)應(yīng)用體系。提供建立分布式事務(wù)處理企業(yè)應(yīng)用的系統(tǒng)框架。包括:COM+目錄、負(fù)載平衡、駐留內(nèi)存數(shù)據(jù)庫、對象池、事件模型、構(gòu)件部署和管理等服務(wù)型對象構(gòu)件。,5
54、4,COM+COM+目錄負(fù)載平衡駐留內(nèi)存數(shù)據(jù)庫對象池事件模型構(gòu)件部署和管理,COM+的基本結(jié)構(gòu),COM接口編程方式基本構(gòu)件服務(wù),支持遠(yuǎn)程 DCOM分布式構(gòu)件服務(wù),MTS支持事務(wù)處理資源分發(fā)管理安全管理,55,,4.面向服務(wù)的體系結(jié)構(gòu),基本概念面向服務(wù)的體系結(jié)構(gòu)(Service Oriented Architecture,SOA),是另一種形式的分布式系統(tǒng)構(gòu)造模型。它將分布在網(wǎng)絡(luò)中被稱為服務(wù)的應(yīng)
55、用程序或功能單元,通過協(xié)議方式的連接機制聯(lián)系起來。而這個服務(wù)的連接機制是獨立于服務(wù)運行環(huán)境的硬件平臺、操作系統(tǒng)和編程語言的執(zhí)行機構(gòu)。,56,理解要點SOA的“服務(wù)”不同于“組件”。 組件也稱為“構(gòu)件”,是系統(tǒng)構(gòu)造過程中的構(gòu)造快?!皹?gòu)件可動態(tài)連接”仍然是指系統(tǒng)建造過程中的操作,因此,它們或被代理預(yù)置,或被事先部署,總之是非運行過程的操作。 “服務(wù)”是運行中特定功能的網(wǎng)絡(luò)實體,它們是通過獨立連接機制,可動態(tài)發(fā)現(xiàn)并建立連接運行執(zhí)行成分。
56、使得“服務(wù)”能夠被發(fā)現(xiàn),并建立連接的機制,是采用統(tǒng)一的協(xié)議方式,獨立于服務(wù)運行環(huán)境的運行機構(gòu),而不是單純的構(gòu)件接口方式。僅從字面意義理解“服務(wù)”和“構(gòu)件”的區(qū)別就不難看出,SOA結(jié)構(gòu)比起對象組件結(jié)構(gòu),可以構(gòu)成更松散的耦合關(guān)系。,57,SOA和網(wǎng)格計算SOA的產(chǎn)生與網(wǎng)格技術(shù)密不可分,是網(wǎng)格(grid)技術(shù)的實際應(yīng)用和技術(shù)擴(kuò)展。網(wǎng)格的概念借鑒了電力網(wǎng)的概念,希望像使用電力網(wǎng)一樣使用網(wǎng)絡(luò)資源。,水力發(fā)電(地點A),火力發(fā)電(地點B),風(fēng)力
57、發(fā)電(地點C),核力發(fā)電(地點E),電力網(wǎng),,,輸入,輸出,電力,電力,電力,電力,,,,,,,,,,電力網(wǎng)構(gòu)成示意:,58,網(wǎng)格計算,為解決超大型計算問題,是集成計算資源環(huán)境的問題求解體系結(jié)構(gòu)。它將各種計算資源轉(zhuǎn)化成一種隨處可得的、可靠的、標(biāo)準(zhǔn)的、同時還是經(jīng)濟(jì)的計算能力。資源包括計算機、網(wǎng)絡(luò)通信、數(shù)據(jù)資源、儀器設(shè)備等。網(wǎng)格計算,是繼Internet之后又一次重大科技進(jìn)步,它代表了先進(jìn)的技術(shù)和基礎(chǔ)設(shè)施。,系統(tǒng)M(地點A),系統(tǒng)N(地
58、點B),數(shù)據(jù)信息(地點C),設(shè)備儀器(地點E),,網(wǎng)格,,,輸入,輸出,計算,計算,計算,計算,,,,,,,,,網(wǎng)格組成示意:,59,網(wǎng)格計算與Web Services具有代表性的網(wǎng)格技術(shù)是Globus(美國Argonne國家實驗室的研發(fā)項目)。其中的五層沙漏協(xié)議體系結(jié)構(gòu),以及Globus Toolkit,作為開放的結(jié)構(gòu)和開放源代碼,已經(jīng)在世界上許多網(wǎng)格項目中被使用。2002年10月,IBM與Globus在多倫多聯(lián)合發(fā)布的OGSA
59、(Open Grid Services Architecture)開放網(wǎng)格服務(wù)體系結(jié)構(gòu),把Globus的概念和標(biāo)準(zhǔn)運用于Web Services,把網(wǎng)格技術(shù)由科學(xué)計算應(yīng)用,擴(kuò)展到廣泛的異構(gòu)企業(yè)系統(tǒng)結(jié)構(gòu)。,60,Web Services的基本思想Web Service的“服務(wù)”,是可被Internet協(xié)議的URL統(tǒng)一資源定位器識別的應(yīng)用軟件成分。 服務(wù)的接口是采用Internet協(xié)議可被直接訪問的XML(eXtensible Mark
60、up Language)消息形式描述。所有信息及信息處理都被視為同一形式的網(wǎng)絡(luò)運行資源,包括物理設(shè)備及軟件運行的邏輯成分;統(tǒng)稱為“服務(wù)”服務(wù)可以被動態(tài)發(fā)現(xiàn)和邦定,并在生命期內(nèi)被管理運行。,61,Web Services 體系結(jié)構(gòu),服務(wù)提供者是提供Web服務(wù)的供應(yīng)商,它實現(xiàn)Web服務(wù),并放置在在線服務(wù)器上供請求服務(wù)者使用,同時,還要將服務(wù)發(fā)布到注冊中心服務(wù)注冊中心是Web服務(wù)的注冊地,它包含所有注冊了的Web服務(wù)的有關(guān)信息,提供商業(yè)
61、化注冊手段,并有發(fā)現(xiàn)為Web服務(wù)的能力 Web服務(wù)的請求者,向服務(wù)注冊中心發(fā)出查找服務(wù)的請求,當(dāng)?shù)玫交貞?yīng)找到了合適的Web服務(wù)后,從服務(wù)注冊中心獲取Web服務(wù)的信息引用,通過動態(tài)綁定機制建立Web服務(wù),得到所需要的服務(wù)。,62,SOAP(simple object access protocol)基于XML的RPC協(xié)議,描述通用的Web服務(wù)目標(biāo)WSDL(Web service description language)描述Web服務(wù)
62、接口的訪問方法,復(fù)雜的服務(wù)可以由多個服務(wù)組成UDDI(universal description discovery and integration)Web服務(wù)的目錄結(jié)構(gòu)定義BPEL(Business Process Execution Language For Web Services)Web服務(wù)的業(yè)務(wù)流程執(zhí)行語言,Web Service的標(biāo)準(zhǔn)協(xié)議,63,簡單對象訪問協(xié)議SOAP (Simple Object Access Pro
63、tocol)SOAP協(xié)議是基于XML支持分布式環(huán)境結(jié)構(gòu)化文本信息的交換SOAP由四個部分組成:①SOAP envelope(SOAP 信封)---定義了整體的表示框架,用于表示消息的內(nèi)容,由誰來處理,以及可以由目標(biāo)應(yīng)用程序自己選擇是否處理,還是強制必須處理,如果無法處理則返回錯誤。②SOAP encoding rules(SOAP 編碼規(guī)則)---定義了數(shù)據(jù)編序機制,通過編序機制,定義應(yīng)用程序中需要使用的數(shù)據(jù)類型,這些數(shù)據(jù)類型所
64、衍生的實例可用于交換。③SOAP RPC representation(SOAP RPC表示)---定義了用于遠(yuǎn)端過程調(diào)用和響應(yīng)的約定。④SOAP binding(SOAP 綁定)---定義了使用底層傳輸協(xié)議來完成在結(jié)點間交換SOAP信封的約定。,64,Web服務(wù)描述WSDL(Web Services Definition Language) WSDL把Web服務(wù)描述成一系列端點操作(服務(wù)接口)。WSDL描述了Web服務(wù)的三個
65、基本屬性:①服務(wù)做些什么---服務(wù)提供的操作(方法)②如何訪問服務(wù)---數(shù)據(jù)格式及訪問服務(wù)操作的協(xié)議③服務(wù)位于何處---由特定協(xié)議決定的網(wǎng)絡(luò)地址,65,Web服務(wù)的尋找和發(fā)現(xiàn)UDDI(Universal Description Discovery and Integration) 統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議,提供向注冊中心注冊的方式。注冊中心維護(hù)Web服務(wù)的全局目錄,目錄的信息描述格式采用通用的XML格式。UDDI注冊中心
66、提供兩種注冊方式:① Public UDDI Registry(公共UDDI注冊中心)面向全局UDDI注冊,采用邏輯上統(tǒng)一,物理上分布的實現(xiàn)方式,不同站點之間采用P2P對等網(wǎng)絡(luò)。注冊其中任意一個站點就等于注冊了UDDI全局注冊中心。② Private UDDI Registry(私有UDDI注冊中心)獨立組織、企業(yè)或某一范圍內(nèi)使用的UDDI注冊服務(wù),其服務(wù)對象局限在注冊的局部注冊中心范圍內(nèi)。,66,BPEL(Business
67、Process Execution Language For Web Services)Web服務(wù)的業(yè)務(wù)流程執(zhí)行語言。BPEL結(jié)合了IBM的Web服務(wù)流程語言(Web Services Flow Language)和 Microsoft 的 XLANG 規(guī)范??梢詫⒁唤M服務(wù)整合起來,定義一個新的 Web 服務(wù)。 整合服務(wù)的接口被描述為 WSDL portType 的集合,并指出服務(wù)接口與總體執(zhí)行的配合情況。,67,.Net基于網(wǎng)
68、格計算的Web Service受到業(yè)界廣泛的關(guān)注,形成了新的產(chǎn)業(yè)協(xié)議,其中包括Microsoft公司的.Net,以及SUN公司的Sun One等。因此,.Net技術(shù)屬于面向服務(wù)的體系結(jié)構(gòu),是基于XML Web services標(biāo)準(zhǔn)的應(yīng)用系統(tǒng)開發(fā)環(huán)境,被稱為.Net平臺。.Net技術(shù)的基本思想.Net技術(shù)的基本理念,不再關(guān)注單個網(wǎng)站和與Internet連接的單個設(shè)備,而是要讓所有的計算機和相關(guān)設(shè)備,以及應(yīng)用服務(wù)協(xié)同工作。使人們能控制信
69、息并讓所需信息在指定的時間,以指定的方式傳送給自己。,68,.Net平臺結(jié)構(gòu) Operating System運行在Windows 2000 Server等多種操作系統(tǒng)中.Net Enterprise Servers提供企業(yè)應(yīng)用系統(tǒng)使用的服務(wù)器產(chǎn)品.Net Building Block Services,提供可采用付費方式直接訪問的成型服務(wù),如:Passport服務(wù)。Visual Studio.Net提供
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 系統(tǒng)集成項目管理工程師重點(系統(tǒng)集成工程師考試專供)
- 系統(tǒng)集成項目管理工程師教材-3
- 系統(tǒng)集成項目管理工程師
- 系統(tǒng)集成項目管理工程師-筆記
- 系統(tǒng)集成項目管理工程師考試大綱及培訓(xùn)指南
- 系統(tǒng)集成項目管理工程師練習(xí)八
- 系統(tǒng)集成項目管理工程師考試經(jīng)驗
- 系統(tǒng)集成項目管理工程師考試簡介
- 2010年上半年系統(tǒng)集成項目管理工程師下午試題
- 2010年上半年系統(tǒng)集成項目管理工程師下午試題
- 系統(tǒng)集成項目管理工程師考點解答
- 系統(tǒng)集成項目管理工程師學(xué)習(xí)筆記
- 2017系統(tǒng)集成項目管理工程師考前沖刺
- 系統(tǒng)集成項目管理工程師教程_精華版
- 2020系統(tǒng)集成項目管理工程師中級學(xué)習(xí)筆記
- 2012系統(tǒng)集成項目管理工程師中級學(xué)習(xí)筆記
- [精心整理]系統(tǒng)集成項目管理工程師計算題
- 系統(tǒng)集成項目管理工程師歷年真題及答案
- 系統(tǒng)集成項目管理工程師要點1-21章
- 軟考-2017系統(tǒng)集成項目管理工程師必考內(nèi)容
評論
0/150
提交評論