第14章流行軟件體系結構_第1頁
第14章流行軟件體系結構_第2頁
第14章流行軟件體系結構_第3頁
第14章流行軟件體系結構_第4頁
第14章流行軟件體系結構_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第14章流行軟件體系結構章流行軟件體系結構 流行的軟件體系結構流行的軟件體系結構 第第14章流行軟件體系結構章流行軟件體系結構 概述概述 隨著計算機硬件技術和網(wǎng)絡通信技術的發(fā)展,隨著計算機硬件技術和網(wǎng)絡通信技術的發(fā)展, 網(wǎng)絡計算經(jīng)歷了從集中式計算到分布式計算的網(wǎng)絡計算經(jīng)歷了從集中式計算到分布式計算的 重大演變,新的分布式網(wǎng)絡計算要求軟件實現(xiàn)重大演變,新的分布式網(wǎng)絡計算要求軟件實現(xiàn) 跨空間、跨時間、跨設備、跨用戶的共享,導跨空間、跨時間、跨設備、跨用戶的共享,導 致軟件在規(guī)模、復雜度、功能上的極大增長,致軟件在規(guī)模、復雜度、功能上的極大增長, 迫使軟件向異構協(xié)同工作、各層次上集成、可迫使軟件向

2、異構協(xié)同工作、各層次上集成、可 反復重用的工業(yè)化道路上前進。反復重用的工業(yè)化道路上前進。 新的軟件開發(fā)模式必須支持分布式計算、瀏覽新的軟件開發(fā)模式必須支持分布式計算、瀏覽 器器/服務器結構、模塊化和構件化集成,可用不服務器結構、模塊化和構件化集成,可用不 同的標準構件組裝而成。同的標準構件組裝而成。 第第14章流行軟件體系結構章流行軟件體系結構 概述概述 提供一種手段,使應用軟件可用預先編好的、提供一種手段,使應用軟件可用預先編好的、 功能明確的產(chǎn)品部件定制而成,并可用不同版功能明確的產(chǎn)品部件定制而成,并可用不同版 本的部件實現(xiàn)應用的擴展和更新。本的部件實現(xiàn)應用的擴展和更新。 利用模塊化方法,

3、將復雜的難以維護的系統(tǒng)分利用模塊化方法,將復雜的難以維護的系統(tǒng)分 解為互相獨立、協(xié)同工作的部件,并努力使這解為互相獨立、協(xié)同工作的部件,并努力使這 些部件可反復重用。些部件可反復重用。 突破時間、空間及不同硬件設備的限制,利用突破時間、空間及不同硬件設備的限制,利用 客戶和軟件之間統(tǒng)一的接口實現(xiàn)跨平臺的互操客戶和軟件之間統(tǒng)一的接口實現(xiàn)跨平臺的互操 作。作。 第第14章流行軟件體系結構章流行軟件體系結構 構件技術構件技術 為滿足上述要求,構件技術應運而生為滿足上述要求,構件技術應運而生 構件技術被認為是未來幾年軟件發(fā)展的基構件技術被認為是未來幾年軟件發(fā)展的基 礎。礎。 目標是達到需求、體系結構、

4、設計、實現(xiàn)目標是達到需求、體系結構、設計、實現(xiàn) 的重用,并使系統(tǒng)具有更好的適應性、伸的重用,并使系統(tǒng)具有更好的適應性、伸 縮性和可維護性??s性和可維護性。 借鑒汽車制造業(yè)和建筑業(yè)的思想,采用流借鑒汽車制造業(yè)和建筑業(yè)的思想,采用流 水線生產(chǎn)方式的預制件裝配方式水線生產(chǎn)方式的預制件裝配方式 預制件要求并不苛刻,只要能重用就可以預制件要求并不苛刻,只要能重用就可以 第第14章流行軟件體系結構章流行軟件體系結構 構件技術構件技術 通過使用購買或定制構件這一新的解決方通過使用購買或定制構件這一新的解決方 案可以有效地提高產(chǎn)品的質量,加快產(chǎn)品案可以有效地提高產(chǎn)品的質量,加快產(chǎn)品 開發(fā)速度,這種開發(fā)技術稱為

5、開發(fā)速度,這種開發(fā)技術稱為“基于構件基于構件 的開發(fā)技術的開發(fā)技術” 第第14章流行軟件體系結構章流行軟件體系結構 軟件復用軟件復用 軟件產(chǎn)品的復用軟件產(chǎn)品的復用 軟件過程的復用:基于構件的復用軟件過程的復用:基于構件的復用 第第14章流行軟件體系結構章流行軟件體系結構 基于構件的復用基于構件的復用 構件的開發(fā)構件的開發(fā) 構件的管理構件的管理 基于構件組裝的系統(tǒng)開發(fā)基于構件組裝的系統(tǒng)開發(fā) 構件必須遵循某一特定的構建模型,并且針構件必須遵循某一特定的構建模型,并且針 對某一特定的構件平臺對某一特定的構件平臺 第第14章流行軟件體系結構章流行軟件體系結構 抽象抽象 面向對象技術已達到類級重用(代碼

6、重用),面向對象技術已達到類級重用(代碼重用), 以類為封裝的單位。以類為封裝的單位。 重用粒度太小,不足以解決異構互操作和效率更高重用粒度太小,不足以解決異構互操作和效率更高 的重用。的重用。 構件更推廣了對象封裝的內涵,對一組類的組構件更推廣了對象封裝的內涵,對一組類的組 合進行封裝(也可以不包括類,比如包括傳統(tǒng)合進行封裝(也可以不包括類,比如包括傳統(tǒng) 的過程),并代表完成一個或多個功能的特定的過程),并代表完成一個或多個功能的特定 服務,也為用戶提供了多個接口。服務,也為用戶提供了多個接口。 在不同層次上,構件均可以將底層的多個邏輯組合在不同層次上,構件均可以將底層的多個邏輯組合 成高層

7、次上的粒度更大的新構件,甚至直接封裝到成高層次上的粒度更大的新構件,甚至直接封裝到 一個系統(tǒng),使模塊的重用從代碼級、對象級、架構一個系統(tǒng),使模塊的重用從代碼級、對象級、架構 級到系統(tǒng)級都可能實現(xiàn)。級到系統(tǒng)級都可能實現(xiàn)。 第第14章流行軟件體系結構章流行軟件體系結構 構件的屬性構件的屬性 是可獨立配置的單元是可獨立配置的單元 構件必須具有原子性,本身不可拆分;構件必須具有原子性,本身不可拆分; 必須與其所部屬的環(huán)境以及其他構件很好地分離必須與其所部屬的環(huán)境以及其他構件很好地分離 必須很好地封裝自己的構成部件必須很好地封裝自己的構成部件 可以作為第三方的組裝單元被復合使用可以作為第三方的組裝單元被

8、復合使用 不但具備良好的內聚性,還必須具有清晰的規(guī)格說明來描不但具備良好的內聚性,還必須具有清晰的規(guī)格說明來描 述其依賴條件和所提供的服務。這樣,第三方廠商能夠將述其依賴條件和所提供的服務。這樣,第三方廠商能夠將 一個構件與其他構件組裝在一起。即構件只通過定義良好一個構件與其他構件組裝在一起。即構件只通過定義良好 的接口與外部環(huán)境交互。的接口與外部環(huán)境交互。 沒有外部可見的狀態(tài)沒有外部可見的狀態(tài) 不應當與自身備份有所區(qū)別,在任何環(huán)境中,最多僅有特不應當與自身備份有所區(qū)別,在任何環(huán)境中,最多僅有特 定構件的一個備份定構件的一個備份 第第14章流行軟件體系結構章流行軟件體系結構 構件技術構件技術

9、分布式構件技術分布式構件技術 CORBA規(guī)范規(guī)范 Sun的的Java平臺平臺 Microsoft的的.NET平臺平臺 分布式構件體系結構分布式構件體系結構 J2EE .NET 提供事物完整性、消息傳遞、目錄服務、安全、提供事物完整性、消息傳遞、目錄服務、安全、 異常處理、遠程訪問等。異常處理、遠程訪問等。 第第14章流行軟件體系結構章流行軟件體系結構 基于基于CORBA的分布式構件技術的分布式構件技術 OMG(對象管理學會)是一個由業(yè)界(對象管理學會)是一個由業(yè)界760多個公司多個公司 組成的工業(yè)協(xié)會,目的是為了共同制定一個大家都組成的工業(yè)協(xié)會,目的是為了共同制定一個大家都 遵循的分布式對象計

10、算標準,將對象和分布式系統(tǒng)遵循的分布式對象計算標準,將對象和分布式系統(tǒng) 技術集成為一個可相互操作的統(tǒng)一結構,既支持現(xiàn)技術集成為一個可相互操作的統(tǒng)一結構,既支持現(xiàn) 有的平臺也將支持未來的平臺集成。有的平臺也將支持未來的平臺集成。 OMA(對象管理體系),基礎是(對象管理體系),基礎是ORB(對象請求(對象請求 中介)標準,不僅提供了中介)標準,不僅提供了CORBA基礎架構說明,基礎架構說明, 還提供了一系列服務,如安全、交易和消息傳遞等。還提供了一系列服務,如安全、交易和消息傳遞等。 針對針對ORB,OMG制定了制定了CORBA規(guī)范。規(guī)范。 第第14章流行軟件體系結構章流行軟件體系結構 OMA對

11、象管理體系結構對象管理體系結構 對象請求代理對象請求代理 (Object Request BrokerObject Request Broker) CORBACORBA服務服務 (CORBA ServiceCORBA Service) 應用對象應用對象 ( (Applicatio n Object) ) 水平水平CORBACORBA設備設備 ( (Horizontal CORBA Facility) ) 垂直垂直CORBACORBA設備設備 ( (Vertical CORBA Facility) ) 第第14章流行軟件體系結構章流行軟件體系結構 CORBA服務服務 提供適用于實現(xiàn)對象的一些基本

12、功能,如對提供適用于實現(xiàn)對象的一些基本功能,如對 象的命名服務、對象交易服務(對象并行、象的命名服務、對象交易服務(對象并行、 對象存儲、對象產(chǎn)生和消亡、事件消息響應對象存儲、對象產(chǎn)生和消亡、事件消息響應 以及事務交易的一致性保證)和持久狀態(tài)服以及事務交易的一致性保證)和持久狀態(tài)服 務(務(Persistent State Service, PPS)等。)等。 是發(fā)布對象系統(tǒng)必不可少的公共服務,是底是發(fā)布對象系統(tǒng)必不可少的公共服務,是底 層支持的必需服務。層支持的必需服務。 第第14章流行軟件體系結構章流行軟件體系結構 CORBA設備設備 水平水平CORBA設備:在各種工業(yè)部門中針對所設備:在

13、各種工業(yè)部門中針對所 有類型有類型CORBA應用的元素應用的元素 包括用戶接口和系統(tǒng)管理設備包括用戶接口和系統(tǒng)管理設備 針對大多數(shù)類型的應用,不考慮設備被使用的領針對大多數(shù)類型的應用,不考慮設備被使用的領 域域 垂直垂直CORBA設備:只在特殊垂直市場和工業(yè)設備:只在特殊垂直市場和工業(yè) 中針對某些應用的功能,也稱領域中針對某些應用的功能,也稱領域CORBA設設 備備 包括某些特殊領域的應用,比如在會計業(yè)中的總包括某些特殊領域的應用,比如在會計業(yè)中的總 賬和分期償付,制造業(yè)的自動化店層控制設備。賬和分期償付,制造業(yè)的自動化店層控制設備。 第第14章流行軟件體系結構章流行軟件體系結構 應用對象應用

14、對象 位于位于OMA層次結構的最頂層,可以是分布系層次結構的最頂層,可以是分布系 統(tǒng)中的任何成分,如程序、進程、類實例。統(tǒng)中的任何成分,如程序、進程、類實例。 通常會根據(jù)獨立的應用被定制,并不需要標通常會根據(jù)獨立的應用被定制,并不需要標 準化,所以這一類的對象并不受準化,所以這一類的對象并不受OMG標準的標準的 影響。影響。 必須符合必須符合OMA的標準接口。的標準接口。 OMA中的對象作為服務者被動態(tài)地引用,并中的對象作為服務者被動態(tài)地引用,并 且以唯一的標識提供服務。且以唯一的標識提供服務。 對象間的交互通過對象間的交互通過ORB實現(xiàn)實現(xiàn) 第第14章流行軟件體系結構章流行軟件體系結構 對象

15、請求代理對象請求代理 是是OMA的核心部分的核心部分 當應用對象在分布對象系統(tǒng)中請求服務時,當應用對象在分布對象系統(tǒng)中請求服務時, 就是以系統(tǒng)客戶的身份,通過就是以系統(tǒng)客戶的身份,通過ORB與系統(tǒng)中與系統(tǒng)中 其他對象完成交互其他對象完成交互 OMG進一步給出了進一步給出了OMA對象管理體系結構對象管理體系結構 的的ORB開放標準開放標準 第第14章流行軟件體系結構章流行軟件體系結構 CORBA體系結構體系結構 CORBA規(guī)范包括規(guī)范包括ORB、接口定義語言、接口定義語言(IDL)、 存根存根(Stub)、框架、框架(Skeleton)、對象適配器、對象適配器、 動態(tài)調用接口動態(tài)調用接口 第第1

16、4章流行軟件體系結構章流行軟件體系結構 CORBA體系結構體系結構 接口庫接口庫 Interface Repository 實現(xiàn)庫實現(xiàn)庫 Implementation Repository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài) 調用調用 客戶客戶 StubStub ORBORB 接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務 Skeleton 動態(tài)服務動態(tài)服務 Skeleton 客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) ) ORBORB的任務就是把客戶發(fā)出的請求傳送給目標對象,的任務就是把客戶發(fā)出的請求傳送給

17、目標對象, 并把目標對象的執(zhí)行結果返回給請求客戶。它屏蔽并把目標對象的執(zhí)行結果返回給請求客戶。它屏蔽 了了對象位置、對象實現(xiàn)、對象執(zhí)行狀態(tài)、對象通了了對象位置、對象實現(xiàn)、對象執(zhí)行狀態(tài)、對象通 信機制和數(shù)據(jù)表示。信機制和數(shù)據(jù)表示。 第第14章流行軟件體系結構章流行軟件體系結構 CORBA體系結構體系結構 IDL:IDL:客戶目標對象發(fā)送請求必須知道目標對象所具備的操作??蛻裟繕藢ο蟀l(fā)送請求必須知道目標對象所具備的操作。 IDLIDL提供了對象定義的手段,使得請求對象了解服務對象。提供了對象定義的手段,使得請求對象了解服務對象。 IDLIDL是說明性語言,只對對象接口定義,不提供任何實現(xiàn)細節(jié)是說明

18、性語言,只對對象接口定義,不提供任何實現(xiàn)細節(jié) 的描述。的描述。IDLIDL把編譯后的代碼映射到具體的編程語言,并且產(chǎn)把編譯后的代碼映射到具體的編程語言,并且產(chǎn) 生客戶生客戶StubStub和服務和服務SkeletonSkeleton。 對象請求代理(對象請求代理(Object Request BrokerObject Request Broker) 客戶程序客戶程序 ( (Client) ) 對象實現(xiàn)對象實現(xiàn) ( (Object implementation) ) 請求請求(Request)(Request) IDLIDL StubStub IDLIDL StubStub 第第14章流行軟件體

19、系結構章流行軟件體系結構 CORBA體系結構體系結構 接口庫接口庫 Interface Repository 實現(xiàn)庫實現(xiàn)庫 Implementation Repository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài) 調用調用 客戶客戶 StubStub ORBORB 接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務 Skeleton 動態(tài)服務動態(tài)服務 Skeleton 客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) ) 存根(存根(StubStub)是客戶端的代碼,客戶應用程序通過存根向)是客戶端的代碼,客戶應用程序通

20、過存根向 服務器應用程序發(fā)送請求,服務器應用程序發(fā)送請求, 第第14章流行軟件體系結構章流行軟件體系結構 CORBA體系結構體系結構 接口庫接口庫 Interface Repository 實現(xiàn)庫實現(xiàn)庫 Implementation Repository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài) 調用調用 客戶客戶 StubStub ORBORB 接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務 Skeleton 動態(tài)服務動態(tài)服務 Skeleton 客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) ) 框架(框架(Skel

21、etonSkeleton)是服務器端的代碼,提供對象適配器轉發(fā))是服務器端的代碼,提供對象適配器轉發(fā) 的請求調度到對象實現(xiàn)上的適當操作的代碼。的請求調度到對象實現(xiàn)上的適當操作的代碼。 第第14章流行軟件體系結構章流行軟件體系結構 CORBA體系結構體系結構 接口庫接口庫 Interface Repository 實現(xiàn)庫實現(xiàn)庫 Implementation Repository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài) 調用調用 客戶客戶 StubStub ORBORB 接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務 Skeleton 動態(tài)服務動態(tài)服

22、務 Skeleton 客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) ) 對象適配器(對象適配器(Object AdapterObject Adapter)是)是ORBORB核心的上層機制。它負責核心的上層機制。它負責 接受服務請求,完成實例化服務對象,向對象傳送請求,為服接受服務請求,完成實例化服務對象,向對象傳送請求,為服 務指定對象引用和提供運行環(huán)境。務指定對象引用和提供運行環(huán)境。 第第14章流行軟件體系結構章流行軟件體系結構 CORBA體系結構體系結構 接口庫接口庫 Interface Repository 實現(xiàn)庫實現(xiàn)庫 Implementation Re

23、pository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài) 調用調用 客戶客戶 StubStub ORBORB 接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務 Skeleton 動態(tài)服務動態(tài)服務 Skeleton 客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) ) 通過對象適配器,通過對象適配器,ORBORB服務方給客戶應用提供了一個假象(虛擬服務方給客戶應用提供了一個假象(虛擬 環(huán)境),即服務對象都是活動著的,隨時等待客戶應用發(fā)來請環(huán)境),即服務對象都是活動著的,隨時等待客戶應用發(fā)來請 求。求。ORBORB通過適配器

24、將目的對象分成組,每組通過特定的對象適通過適配器將目的對象分成組,每組通過特定的對象適 配器來滿足特定的需求。配器來滿足特定的需求。 第第14章流行軟件體系結構章流行軟件體系結構 基于基于Java的分布式構件技術的分布式構件技術 1996年年1月,月,Sun公司正式發(fā)布了公司正式發(fā)布了Java1.0 1998年夏末又推出了年夏末又推出了Java2.0 1999年年Sun公司推出三個版本的公司推出三個版本的Java2平臺:平臺: J2ME:是:是Java 2 Platform Micro Edition的縮寫,即的縮寫,即 Java2平臺微型版,適用于開發(fā)小型設備和智能卡上的平臺微型版,適用于開

25、發(fā)小型設備和智能卡上的 應用系統(tǒng),如手機和掌上電腦的操作系統(tǒng)等應用系統(tǒng),如手機和掌上電腦的操作系統(tǒng)等 J2SE:是:是Java 2 Platform Standard Edition的縮寫,的縮寫, 即即Java2平臺標準版,適用于創(chuàng)建普通臺式電腦上的應平臺標準版,適用于創(chuàng)建普通臺式電腦上的應 用系統(tǒng),如用系統(tǒng),如PC機、小型工作站的應用軟件等機、小型工作站的應用軟件等 J2EE:是:是Java 2 Platform Enterprise Edition的縮寫,的縮寫, 即即Java2平臺企業(yè)版,適用于創(chuàng)建服務器端的大型應用平臺企業(yè)版,適用于創(chuàng)建服務器端的大型應用 軟件和服務系統(tǒng)。軟件和服務系

26、統(tǒng)。 第第14章流行軟件體系結構章流行軟件體系結構 J2EE平臺平臺 使用多層分布式應用模型,根據(jù)功能劃分成各個構使用多層分布式應用模型,根據(jù)功能劃分成各個構 件,這些構件根據(jù)其在多層件,這些構件根據(jù)其在多層J2EE環(huán)境中所處的層環(huán)境中所處的層 被安裝在不同的機器上。下圖是三個被安裝在不同的機器上。下圖是三個J2EE應用。應用。 J2EEJ2EE應用應用1 1J2EEJ2EE應用應用2 2J2EEJ2EE應用應用3 3 客戶端客戶端 應用程序應用程序 動態(tài)動態(tài)HTMLHTML 頁面頁面 動態(tài)動態(tài)HTMLHTML 頁面頁面 客戶層客戶層 WebWeb層層 業(yè)務層業(yè)務層 EISEIS層層 客戶端機

27、器客戶端機器 J2EEJ2EE服務器服務器 機器機器 數(shù)據(jù)庫服務器數(shù)據(jù)庫服務器 機器機器 JSPJSP頁面頁面 JSPJSP頁面頁面 EJBEJBEJBEJB 數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫 第第14章流行軟件體系結構章流行軟件體系結構 J2EE平臺平臺 最基本的最基本的Java構件是在構件是在J2ME中的中的JavaBean,它,它 是按照特定格式編寫的是按照特定格式編寫的Java類類 JavaBean包括實例變量(包括實例變量(Instance Variable)和)和 get()、set()方法來訪問實例變量的數(shù)據(jù)。方法來訪問實例變量的數(shù)據(jù)。 這種格式大大簡化了程序設計。這種格式大

28、大簡化了程序設計。 J2EE的構件在的構件在JavaBeans基礎上進行了拓展。基礎上進行了拓展。 第第14章流行軟件體系結構章流行軟件體系結構 J2EE構件構件 客戶端構件:客戶端構件:Java應用程序和應用程序和Applet Web構件:構件:JavaServer Pages ( JSP ) 和和 Java Servlet 業(yè)務邏輯構件:業(yè)務邏輯構件:Enterprise JavaBeans ( EJB ) 這些構件在開發(fā)完成后,部署到相應的容器中。這些構件在開發(fā)完成后,部署到相應的容器中。 第第14章流行軟件體系結構章流行軟件體系結構 客戶端構件客戶端構件 Java應用程序是運行在應用客

29、戶容器內部的單個程應用程序是運行在應用客戶容器內部的單個程 序,應用客戶容器提供了支持消息、遠程調用、數(shù)序,應用客戶容器提供了支持消息、遠程調用、數(shù) 據(jù)庫連接和查詢服務的據(jù)庫連接和查詢服務的API,容器所需的,容器所需的API主要主要 有:有:J2SE、JME、JNDI、RMI-IIOP和和JDBC,這,這 些容器由應用服務器供貨商提供。些容器由應用服務器供貨商提供。 Applet運行在運行在Applet容器中,這種容器是支持容器中,這種容器是支持 Java技術的基本瀏覽器。作為一個技術的基本瀏覽器。作為一個Java構件模型,構件模型, 目標是創(chuàng)建可下載的輕量級構件,來豐富客戶端網(wǎng)目標是創(chuàng)建可

30、下載的輕量級構件,來豐富客戶端網(wǎng) 頁的視覺效果。頁的視覺效果。Applet需要需要J2SE API的支持。的支持。 第第14章流行軟件體系結構章流行軟件體系結構 Web構件構件 JSP和和Servlet是運行在是運行在Web容器中基于容器中基于Web的構的構 件。件。Web容器由容器由Web服務器所支持。是服務器所支持。是JSP和和 Servlet在運行時的執(zhí)行環(huán)境,容器所需的在運行時的執(zhí)行環(huán)境,容器所需的API主要主要 有:有: J2SE、JMS、JNDI、JTA、JavaMail、JAF、 RMI-IIOP和和JDBC。JSP和和Servlet提供了動態(tài)內容提供了動態(tài)內容 顯示、處理以及與

31、顯示相關的格式的機制。顯示、處理以及與顯示相關的格式的機制。 第第14章流行軟件體系結構章流行軟件體系結構 JSP技術技術 為為Web客戶端產(chǎn)生動態(tài)內容提供了一種可擴展的方客戶端產(chǎn)生動態(tài)內容提供了一種可擴展的方 式。目的在于生成能夠處理動態(tài)內容的式。目的在于生成能夠處理動態(tài)內容的Web頁面,頁面, 這些頁面處理的數(shù)據(jù)會發(fā)生變化,因此業(yè)務處理邏這些頁面處理的數(shù)據(jù)會發(fā)生變化,因此業(yè)務處理邏 輯也會相應發(fā)生變化。輯也會相應發(fā)生變化。 一個一個JSP頁面是一個基于文本的文檔,它的寫法很頁面是一個基于文本的文檔,它的寫法很 像網(wǎng)頁,用來描述怎樣處理像網(wǎng)頁,用來描述怎樣處理Request和產(chǎn)生和產(chǎn)生 Re

32、sponse. 通常由通常由JSP標記、標記、HTML標記和嵌入其中的標記和嵌入其中的Java代代 碼組成。服務器在頁面被客戶端請求后對這些碼組成。服務器在頁面被客戶端請求后對這些Java 代碼進行處理,然后生成代碼進行處理,然后生成HTML頁面返回給客戶端頁面返回給客戶端 瀏覽器。瀏覽器。 第第14章流行軟件體系結構章流行軟件體系結構 JSP技術技術 隨著隨著JSP技術的發(fā)展,技術的發(fā)展,JSP頁面中嵌入的頁面中嵌入的Java代碼代碼 已經(jīng)越來越少了,取代這些代碼的是一些用戶自定已經(jīng)越來越少了,取代這些代碼的是一些用戶自定 義的標記和義的標記和JSP的標準標記(的標準標記(JSTL,JSP標

33、準標簽標準標簽 庫)。擴展標記的使用令庫)。擴展標記的使用令JSP頁面變得越來越清晰,頁面變得越來越清晰, 結構越來越完整。結構越來越完整。 第第14章流行軟件體系結構章流行軟件體系結構 Servlet 是運行在服務器上的小程序,可被看作是服務器端是運行在服務器上的小程序,可被看作是服務器端 的的Applet,實際上一個,實際上一個Servlet就是擴展就是擴展Web服務服務 器功能的一個器功能的一個Java類。類。 是作為是作為CGI(Common Gateway Interface,通用網(wǎng)通用網(wǎng) 關接口)的替代物發(fā)展起來的關接口)的替代物發(fā)展起來的,具有可移植性、靈具有可移植性、靈 活性以

34、及易編寫等優(yōu)點。活性以及易編寫等優(yōu)點。 接受客戶端發(fā)來的請求并對它們進行處理,然后生接受客戶端發(fā)來的請求并對它們進行處理,然后生 成響應,并將它們發(fā)送給客戶端。成響應,并將它們發(fā)送給客戶端。 Servlet技術是技術是JSP的基礎,的基礎,JSP頁面在運行前都必頁面在運行前都必 須轉化及編譯成須轉化及編譯成Servlet形式。形式。 是是Web構件,所以必須要運行在構件,所以必須要運行在Web服務器上。服務器上。 第第14章流行軟件體系結構章流行軟件體系結構 業(yè)務邏輯構件業(yè)務邏輯構件 EJB構件是構件是J2EE的核心,是實現(xiàn)企業(yè)級應用中業(yè)的核心,是實現(xiàn)企業(yè)級應用中業(yè) 務邏輯的務邏輯的Java構

35、件。構件。 EJB構件駐留在構件駐留在EJB容器中。容器中。EJB容器為容器為EJB構件構件 提供了一組標準的系統(tǒng)服務,其中包括事務管理、提供了一組標準的系統(tǒng)服務,其中包括事務管理、 持久性、安全性和并發(fā)控制等。通過持久性、安全性和并發(fā)控制等。通過EJB容器以及容器以及 使用使用XML對構件的部署進行說明,構件開發(fā)者便可對構件的部署進行說明,構件開發(fā)者便可 以從實現(xiàn)上述系統(tǒng)服務中解脫出來。以從實現(xiàn)上述系統(tǒng)服務中解脫出來。 EJB容器降低了容器降低了EJB構件開發(fā)的復雜程度,提高了構件開發(fā)的復雜程度,提高了 構件開發(fā)的效率,保證了構件的可移植性。構件開發(fā)的效率,保證了構件的可移植性。 EJB規(guī)范

36、定義了規(guī)范定義了EJB構件與構件與EJB容器之間的交互機容器之間的交互機 制。制。 第第14章流行軟件體系結構章流行軟件體系結構 業(yè)務邏輯構件業(yè)務邏輯構件 EJB是運行在獨立服務器上的構件,客戶端通過網(wǎng)是運行在獨立服務器上的構件,客戶端通過網(wǎng) 絡對絡對EJB對象進行調用。對象進行調用。 通過通過RMI技術,技術,J2EE將將EJB構件創(chuàng)建為遠程對象,構件創(chuàng)建為遠程對象, 客戶端通過網(wǎng)絡調用客戶端通過網(wǎng)絡調用EJB對象。客戶端進行調用時,對象??蛻舳诉M行調用時, 不是采用不是采用RMI注冊表提供的命名服務進行查找,而注冊表提供的命名服務進行查找,而 是使用是使用JNDI技術查找技術查找EJB對象

37、。對象。JNDI屏蔽掉了屏蔽掉了 RMI命名服務的實現(xiàn)細節(jié),使客戶端程序更具通用命名服務的實現(xiàn)細節(jié),使客戶端程序更具通用 性。性。 第第14章流行軟件體系結構章流行軟件體系結構 EJB構件構件 實體實體Bean(Entity Bean) 提供了對持久數(shù)據(jù)(如數(shù)據(jù)庫中存儲的數(shù)據(jù))進提供了對持久數(shù)據(jù)(如數(shù)據(jù)庫中存儲的數(shù)據(jù))進 行操作的接口行操作的接口 對應持久數(shù)據(jù)的對象視圖對應持久數(shù)據(jù)的對象視圖 通過與某個持久數(shù)據(jù)相關聯(lián)的實體通過與某個持久數(shù)據(jù)相關聯(lián)的實體bean,客戶,客戶 可對該數(shù)據(jù)進行查詢、更新等操作??蓪υ摂?shù)據(jù)進行查詢、更新等操作。 通過兩種機制來持久保存對象:通過兩種機制來持久保存對象:

38、 容器管理持久性(容器管理持久性(CMP) Bean管理持久性(管理持久性(BMP) 第第14章流行軟件體系結構章流行軟件體系結構 EJB構件構件 會話會話bean(Session Bean) 是一種對連接是一種對連接EJB容器的客戶程序的擴展,主要容器的客戶程序的擴展,主要 用于實現(xiàn)業(yè)務處理邏輯,以及提供對業(yè)務層訪問用于實現(xiàn)業(yè)務處理邏輯,以及提供對業(yè)務層訪問 的接口。的接口。 分為兩種:分為兩種: 有狀態(tài)會話有狀態(tài)會話bean:提供保存會話狀態(tài)信息的:提供保存會話狀態(tài)信息的 功能,每個會話功能,每個會話bean實例都與一個特定的客實例都與一個特定的客 戶相關聯(lián);戶相關聯(lián); 無狀態(tài)會話無狀態(tài)會

39、話bean:不保存客戶的會話狀態(tài)信:不保存客戶的會話狀態(tài)信 息,每次服務,同一個客戶不一定對應同一個息,每次服務,同一個客戶不一定對應同一個 會話會話bean實例。實例。 第第14章流行軟件體系結構章流行軟件體系結構 EJB構件構件 消息驅動消息驅動bean(Message-driven Bean) 是是JMS(Java Message Service,Java消息服消息服 務)與務)與EJB集成的結果。集成的結果。 沒有向客戶端公開接口,消息驅動沒有向客戶端公開接口,消息驅動EJB構件不能構件不能 由客戶直接獲得其引用而進行調用,客戶只能通由客戶直接獲得其引用而進行調用,客戶只能通 過消息系

40、統(tǒng)進行間接的調用。過消息系統(tǒng)進行間接的調用。 為客戶和為客戶和EJB構件之間提供了一種異步的通信能構件之間提供了一種異步的通信能 力力 第第14章流行軟件體系結構章流行軟件體系結構 EJB構件構件 大多數(shù)大多數(shù)EJB構件(不包括消息驅動構件(不包括消息驅動bean)由以下)由以下 遠程接口、本地接口和遠程接口、本地接口和Bean類組成:類組成: 遠程接口(遠程接口(remote interface) 聲明了相應聲明了相應Bean類公開的所有業(yè)務方法類公開的所有業(yè)務方法 必須遵循必須遵循EJB規(guī)范規(guī)范 必須由必須由javax.ejb.EJBObject派生派生 本地接口(本地接口(home in

41、terface) 聲明了與聲明了與EJB構件生命周期有關的方法構件生命周期有關的方法 客戶可以使用本地接口中提供的方法創(chuàng)建、查找和刪客戶可以使用本地接口中提供的方法創(chuàng)建、查找和刪 除除EJB構件構件 方法的實現(xiàn)由方法的實現(xiàn)由EJB容器負責,容器負責,EJB開發(fā)人員只需要提開發(fā)人員只需要提 供方法的原型供方法的原型 必須由必須由javax.ejb.EJBHome派生派生 第第14章流行軟件體系結構章流行軟件體系結構 EJB構件構件 大多數(shù)大多數(shù)EJB構件(不包括消息驅動構件(不包括消息驅動bean)由以下)由以下 遠程接口、本地接口和遠程接口、本地接口和Bean類組成:類組成: Bean類類 實

42、現(xiàn)實現(xiàn)EJB構件的業(yè)務邏輯方法構件的業(yè)務邏輯方法 用戶通過遠程接口調用這些方法用戶通過遠程接口調用這些方法 所有所有Bean類都必須實現(xiàn)的最基本的接口是類都必須實現(xiàn)的最基本的接口是 javax.ejb.EnterpriseBean 一般不直接實現(xiàn)一般不直接實現(xiàn)javax.ejb.EnterpriseBean接口,而接口,而 是實現(xiàn)相應的是實現(xiàn)相應的Bean類型的接口類型的接口 消息驅動消息驅動EJB構件沒有本地接口和遠程接口構件沒有本地接口和遠程接口 第第14章流行軟件體系結構章流行軟件體系結構 EJB構件構件 EJB構件運行在構件運行在EJB容器中,容器中,EJB容器為容器為 EJB構件提供

43、事務管理、持久性、安全性和構件提供事務管理、持久性、安全性和 并發(fā)控制等系統(tǒng)服務。并發(fā)控制等系統(tǒng)服務。 當當EJB構件被裝入到容器中時,需要向容器構件被裝入到容器中時,需要向容器 說明說明EJB構件將如何部署到容器中去,以及構件將如何部署到容器中去,以及 希望容器提供哪些服務。希望容器提供哪些服務。 通過一個通過一個XML格式的部署描述文件說明。格式的部署描述文件說明。 第第14章流行軟件體系結構章流行軟件體系結構 部署描述文件部署描述文件 EJB基本信息:指明基本信息:指明EJB的名稱、遠程接口、的名稱、遠程接口、 本地接口及本地接口及Bean類類 EJB管理要求:指明管理要求:指明EJB容

44、器應該如何管理容器應該如何管理 Bean EJB持久性要求:指明實體持久性要求:指明實體Bean是由自己管是由自己管 理持久性,還是由容器管理持久性理持久性,還是由容器管理持久性 EJB事務處理要求:指明容器的安全策略事務處理要求:指明容器的安全策略 第第14章流行軟件體系結構章流行軟件體系結構 J2EE構件構件 包括包括Java應用程序、應用程序、Applet、JSP、 Servlet、EJB 可以打包成模塊(可以打包成模塊(module)并以)并以Java Archive(JAR)文件的形式發(fā)布)文件的形式發(fā)布 一個模塊通常包含了相關的構件、相關文件一個模塊通常包含了相關的構件、相關文件

45、和用來描述怎樣部署構件的部署描述文件和用來描述怎樣部署構件的部署描述文件 (XML文件)。文件)。 通過模塊可以用一些相同構件來組裝不同的通過模塊可以用一些相同構件來組裝不同的 J2EE應用,實現(xiàn)了構件技術的目標應用,實現(xiàn)了構件技術的目標重用重用 第第14章流行軟件體系結構章流行軟件體系結構 基于基于.NET平臺的分布式構件技術平臺的分布式構件技術 微軟沒有提出一整套標準,逐漸引入構件技術,可獲微軟沒有提出一整套標準,逐漸引入構件技術,可獲 益于以前的成功技術,如益于以前的成功技術,如Visual Basic控件、對象鏈控件、對象鏈 接和嵌入(接和嵌入(OLE)、)、OLE數(shù)據(jù)庫連接(數(shù)據(jù)庫連

46、接(ODBC)、)、 ActiveX、微軟事務服務器技術(、微軟事務服務器技術(MTS)、)、Active Server Page(ASP)。)。 COM(Component Object Model,組建對象模型),組建對象模型) 是從是從Windows3.1中最初為支持復合文檔而使用中最初為支持復合文檔而使用OLE 技術發(fā)展而來的,經(jīng)歷了技術發(fā)展而來的,經(jīng)歷了OLE2/COM、ActiveX、 DCOM和和COM+等幾個階段。等幾個階段。 第第14章流行軟件體系結構章流行軟件體系結構 COM 為代碼的重用提供了一種模塊化、面向對象的方式為代碼的重用提供了一種模塊化、面向對象的方式 定義了定

47、位和識別其他組件功能的標準方式,組件可定義了定位和識別其他組件功能的標準方式,組件可 用各種語言編寫和使用用各種語言編寫和使用 是微軟平臺上所有構件的基石是微軟平臺上所有構件的基石 但是。但是。 COM組件不容易編寫組件不容易編寫 提供的功能取決于編寫所用的語言提供的功能取決于編寫所用的語言 很難部署很難部署 COM服務器組件的開發(fā)人員必須確保組件的新版本與服務器組件的開發(fā)人員必須確保組件的新版本與 舊版本兼容,但有時新舊版本不兼容,被稱為舊版本兼容,但有時新舊版本不兼容,被稱為“DLL Hell” 第第14章流行軟件體系結構章流行軟件體系結構 .NET框架框架 NET框架和框架和NET組件可

48、以避開組件可以避開COM設計的復雜設計的復雜 性,使程序員更容易得到組件化的體系結構性,使程序員更容易得到組件化的體系結構 是用于構建和運行下一代是用于構建和運行下一代Internet應用程序和應用程序和 XML Web服務的平臺服務的平臺 提供了一個高效并標準的環(huán)境,用于將現(xiàn)有資提供了一個高效并標準的環(huán)境,用于將現(xiàn)有資 源與下一代應用程序和服務進行集成,以便靈源與下一代應用程序和服務進行集成,以便靈 活地解決企業(yè)級應用程序部署和操作的難題。活地解決企業(yè)級應用程序部署和操作的難題。 第第14章流行軟件體系結構章流行軟件體系結構 .NET框架的體系結構框架的體系結構 通用語言運行時(通用語言運行

49、時(Common Language RuntimeCommon Language Runtime) 類庫(類庫(Class LibraryClass Library) 數(shù)據(jù)和數(shù)據(jù)和XMLXML(ADO.NETADO.NET) WebWeb服務服務 用戶界面用戶界面 ASP.NETASP.NET VB C+ C# Perl VB C+ C# Perl Visual Studio.NET Visual Studio.NET 第第14章流行軟件體系結構章流行軟件體系結構 .NET框架框架 主要包括公共語言運行時(主要包括公共語言運行時(CLR)和)和.NET基類基類 庫(庫(FCL) 在開發(fā)技術方面

50、,提供了全新的數(shù)據(jù)庫訪問技在開發(fā)技術方面,提供了全新的數(shù)據(jù)庫訪問技 術術ADO.NET、Web應用開發(fā)技術應用開發(fā)技術ASP.NET和和 Windows編程技術編程技術Windows Forms 在開發(fā)語言方面,提供了對在開發(fā)語言方面,提供了對VB、C+、C#等等 多種語言的支持多種語言的支持 Visual Studio.NET為為.NET框架集成了大多數(shù)框架集成了大多數(shù) 工具工具 第第14章流行軟件體系結構章流行軟件體系結構 公共語言運行時公共語言運行時 位于操作系統(tǒng)之上,位于操作系統(tǒng)之上,.NET框架的最低一層,是框架的最低一層,是 框架的基礎框架的基礎 為宿主托管應用程序提供虛擬環(huán)境為宿

51、主托管應用程序提供虛擬環(huán)境 提供更多的功能和特性提供更多的功能和特性 統(tǒng)一和簡化的編程模型,使用戶不必迷惑于統(tǒng)一和簡化的編程模型,使用戶不必迷惑于Win32 API和和COM,避免了,避免了DLL版本和更新問題,簡化了版本和更新問題,簡化了 應用程序的發(fā)布和升級應用程序的發(fā)布和升級 多種語言之間的交互多種語言之間的交互 自動的內存和資源管理自動的內存和資源管理 第第14章流行軟件體系結構章流行軟件體系結構 公共語言運行時公共語言運行時 基于基于CLR的代碼稱為托管代碼(的代碼稱為托管代碼(Managed Code) 當運行托管代碼時,通過針對公共語言運行時的編譯當運行托管代碼時,通過針對公共語

52、言運行時的編譯 器生成微軟中間語言(器生成微軟中間語言(Microsoft Intermediate Language, MSIL),同時生成所需的元數(shù)據(jù),在代),同時生成所需的元數(shù)據(jù),在代 碼運行時再使用即時編譯器(碼運行時再使用即時編譯器(Just in Time Compiler)生成相應的機器代碼來執(zhí)行)生成相應的機器代碼來執(zhí)行 大部分情況下,代碼只在第一次被調用時被即時編譯,大部分情況下,代碼只在第一次被調用時被即時編譯, 其后便被緩存在內存中以便下次執(zhí)行時沒有延遲。未其后便被緩存在內存中以便下次執(zhí)行時沒有延遲。未 調用的代碼決不會被即時編譯。調用的代碼決不會被即時編譯。 即時編譯會

53、影響系統(tǒng)性能,但是即時編譯器能優(yōu)化所即時編譯會影響系統(tǒng)性能,但是即時編譯器能優(yōu)化所 產(chǎn)生的本機代碼,以適應它所運行的主機處理器,因產(chǎn)生的本機代碼,以適應它所運行的主機處理器,因 此即時編譯器運行效率優(yōu)于普通代碼。此即時編譯器運行效率優(yōu)于普通代碼。 第第14章流行軟件體系結構章流行軟件體系結構 托管環(huán)境中運行代碼的好處托管環(huán)境中運行代碼的好處 即時編譯器將通用中間語言指令轉換為本機代碼,扮即時編譯器將通用中間語言指令轉換為本機代碼,扮 演了代碼驗證的角色,可以確保代碼是類型安全的,演了代碼驗證的角色,可以確保代碼是類型安全的, 避免了不同組件之間可能存在的類型不匹配的問題避免了不同組件之間可能存

54、在的類型不匹配的問題 托管代碼占用的資源可以被回收。托管代碼占用的資源可以被回收。CLR包含一個復雜包含一個復雜 的垃圾回收器,垃圾回收器自動跟蹤代碼創(chuàng)建的對象的垃圾回收器,垃圾回收器自動跟蹤代碼創(chuàng)建的對象 的應用,當別的進程需要使用對象占用的內存時,它的應用,當別的進程需要使用對象占用的內存時,它 可銷毀這些對象。可銷毀這些對象。 CLR負責處理對象的內存布局、管理對象的應用、自負責處理對象的內存布局、管理對象的應用、自 動垃圾收集,從根本上解決了內存泄露和無效內存應動垃圾收集,從根本上解決了內存泄露和無效內存應 用的問題,大大減輕了開發(fā)人員的負擔,提高程序的用的問題,大大減輕了開發(fā)人員的負

55、擔,提高程序的 健壯性。健壯性。 第第14章流行軟件體系結構章流行軟件體系結構 .NET基類庫基類庫 系統(tǒng)框架服務系統(tǒng)框架服務 一套在標準語言庫中使用的基本類庫,如集合、輸一套在標準語言庫中使用的基本類庫,如集合、輸 入入/輸出、字符串及數(shù)據(jù)類。輸出、字符串及數(shù)據(jù)類。 提供了訪問操作系統(tǒng)和其他服務的類,如網(wǎng)絡、線提供了訪問操作系統(tǒng)和其他服務的類,如網(wǎng)絡、線 程、全球化和加密的類程、全球化和加密的類 包括數(shù)據(jù)訪問類庫及開發(fā)工具,如調試和剖析服務包括數(shù)據(jù)訪問類庫及開發(fā)工具,如調試和剖析服務 使用的類使用的類 ADO.NET組件組件 為基于網(wǎng)絡的可擴展應用程序和服務提供了數(shù)據(jù)訪為基于網(wǎng)絡的可擴展應用

56、程序和服務提供了數(shù)據(jù)訪 問服務問服務 第第14章流行軟件體系結構章流行軟件體系結構 .NET基類庫基類庫 XML數(shù)據(jù)組件數(shù)據(jù)組件 提供了對提供了對XML數(shù)據(jù)的操作支持數(shù)據(jù)的操作支持 支持支持ADO.NET數(shù)據(jù)與數(shù)據(jù)與XML數(shù)據(jù)之間的轉換數(shù)據(jù)之間的轉換 Windows表單組件表單組件 提供了強大的提供了強大的Windows應用程序模型和豐富的應用程序模型和豐富的 Windows用戶接口,包括傳統(tǒng)的用戶接口,包括傳統(tǒng)的ActiveX控件和控件和 Windows XP界面,如透明的、分層的、浮動的窗界面,如透明的、分層的、浮動的窗 口等口等 第第14章流行軟件體系結構章流行軟件體系結構 .NET基類

57、庫基類庫 ASP.NET應用服務應用服務 用于處理基于用于處理基于HTTP的請求,采用編譯方式大大提的請求,采用編譯方式大大提 高了它的性能高了它的性能 使用基于構件的使用基于構件的Microsoft.NET框架配置模板框架配置模板 支持應用程序的實時更新,提供高速緩存服務支持應用程序的實時更新,提供高速緩存服務 ASP.NET Web表單表單 支持傳統(tǒng)的將支持傳統(tǒng)的將HTML內容和腳本代碼混合的內容和腳本代碼混合的ASP方方 式式 提供了一種將應用程序代碼和用戶接口內容分離的、提供了一種將應用程序代碼和用戶接口內容分離的、 更加結構化的方法(更加結構化的方法(Code Behind方法)方法

58、) 第第14章流行軟件體系結構章流行軟件體系結構 .NET基類庫基類庫 Web服務服務 ASP.NET應用服務體系架構為使用應用服務體系架構為使用ASP.NET建立建立 Web服務提供了一個高級的可編程的模型服務提供了一個高級的可編程的模型 使用這個模型,開發(fā)人員不需要理解使用這個模型,開發(fā)人員不需要理解HTTP、 SOAP或其他網(wǎng)絡服務規(guī)范或其他網(wǎng)絡服務規(guī)范 第第14章流行軟件體系結構章流行軟件體系結構 面向服務的體系結構面向服務的體系結構 過去過去40年里,軟件體系結構用于處理日益增長的軟件年里,軟件體系結構用于處理日益增長的軟件 復雜性,但是復雜性仍在繼續(xù)增加,傳統(tǒng)的體系結構復雜性,但是

59、復雜性仍在繼續(xù)增加,傳統(tǒng)的體系結構 好像已經(jīng)達到了它們處理此類問題的極限。好像已經(jīng)達到了它們處理此類問題的極限。 為減少異構性、互操作性和不斷變化的需求所帶來的為減少異構性、互操作性和不斷變化的需求所帶來的 問題,需要一種新的、不受技術約束的軟件體系結構,問題,需要一種新的、不受技術約束的軟件體系結構, 它應該具有松散耦合、位置透明、協(xié)議獨立的特征。它應該具有松散耦合、位置透明、協(xié)議獨立的特征。 面向服務的體系結構(面向服務的體系結構(Service-Oriented Architecture, SOA)可解決上述問題)可解決上述問題 第第14章流行軟件體系結構章流行軟件體系結構 SOA 繼面

60、向對象、基于構件的軟件架構方法之后被提出的繼面向對象、基于構件的軟件架構方法之后被提出的 一種新的體系結構一種新的體系結構 來源于早期的基于構件的分布式計算方式,用以解決來源于早期的基于構件的分布式計算方式,用以解決 復雜環(huán)境下的分布式應用,即解決復雜環(huán)境下的分布式應用,即解決“異構集成異構集成”和和 “系統(tǒng)演化系統(tǒng)演化”兩個問題兩個問題 所有功能都定義為獨立的服務,這些服務帶有定義明所有功能都定義為獨立的服務,這些服務帶有定義明 確的可調用接口,可以以定義好的順序調用這些服務確的可調用接口,可以以定義好的順序調用這些服務 來形成業(yè)務流程來形成業(yè)務流程 第第14章流行軟件體系結構章流行軟件體系

溫馨提示

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

評論

0/150

提交評論