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

下載本文檔

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

文檔簡介

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

2、新的軟件開發(fā)模式必須支持分布式計算分布式計算、瀏覽瀏覽器器/服務器結構服務器結構、模塊化模塊化和和構件化集成構件化集成,可用不,可用不同的標準構件同的標準構件組裝組裝而成。而成。概述概述提供一種手段,使應用軟件可用預先編好的、提供一種手段,使應用軟件可用預先編好的、功能明確的產品部件定制而成,并可用不同版功能明確的產品部件定制而成,并可用不同版本的部件實現(xiàn)應用的擴展和更新。本的部件實現(xiàn)應用的擴展和更新。 利用模塊化方法,將復雜的難以維護的系統(tǒng)分利用模塊化方法,將復雜的難以維護的系統(tǒng)分解為互相獨立、協(xié)同工作的部件,并努力使這解為互相獨立、協(xié)同工作的部件,并努力使這些部件可反復重用。些部件可反復重

3、用。突破時間、空間及不同硬件設備的限制,利用突破時間、空間及不同硬件設備的限制,利用客戶和軟件之間統(tǒng)一的接口實現(xiàn)跨平臺的互操客戶和軟件之間統(tǒng)一的接口實現(xiàn)跨平臺的互操作。作。構件技術構件技術為滿足上述要求,構件技術應運而生為滿足上述要求,構件技術應運而生構件技術被認為是未來幾年軟件發(fā)展的基構件技術被認為是未來幾年軟件發(fā)展的基礎。礎。目標是達到需求、體系結構、設計、實現(xiàn)目標是達到需求、體系結構、設計、實現(xiàn)的重用,并使系統(tǒng)具有更好的適應性、伸的重用,并使系統(tǒng)具有更好的適應性、伸縮性和可維護性??s性和可維護性。借鑒汽車制造業(yè)和建筑業(yè)的思想,采用流借鑒汽車制造業(yè)和建筑業(yè)的思想,采用流水線生產方式的預制件

4、裝配方式水線生產方式的預制件裝配方式預制件要求并不苛刻,只要能重用就可以預制件要求并不苛刻,只要能重用就可以構件技術構件技術通過使用購買或定制構件這一新的解決方通過使用購買或定制構件這一新的解決方案可以有效地提高產品的質量,加快產品案可以有效地提高產品的質量,加快產品開發(fā)速度,這種開發(fā)技術稱為開發(fā)速度,這種開發(fā)技術稱為“基于構件基于構件的開發(fā)技術的開發(fā)技術”軟件復用軟件復用軟件產品的復用軟件產品的復用軟件過程的復用:基于構件的復用軟件過程的復用:基于構件的復用基于構件的復用基于構件的復用構件的開發(fā)構件的開發(fā)構件的管理構件的管理基于構件組裝的系統(tǒng)開發(fā)基于構件組裝的系統(tǒng)開發(fā) 構件必須遵循某一特定的

5、構建模型,并且針構件必須遵循某一特定的構建模型,并且針對某一特定的構件平臺對某一特定的構件平臺抽象抽象面向對象技術已達到類級重用(代碼重用),面向對象技術已達到類級重用(代碼重用),以類為封裝的單位。以類為封裝的單位。重用粒度太小,不足以解決異構互操作和效率更高重用粒度太小,不足以解決異構互操作和效率更高的重用。的重用。構件更推廣了對象封裝的內涵,對一組類的組構件更推廣了對象封裝的內涵,對一組類的組合進行封裝(也可以不包括類,比如包括傳統(tǒng)合進行封裝(也可以不包括類,比如包括傳統(tǒng)的過程),并代表完成一個或多個功能的特定的過程),并代表完成一個或多個功能的特定服務,也為用戶提供了多個接口。服務,也

6、為用戶提供了多個接口。在不同層次上,構件均可以將底層的多個邏輯組合在不同層次上,構件均可以將底層的多個邏輯組合成高層次上的粒度更大的新構件,甚至直接封裝到成高層次上的粒度更大的新構件,甚至直接封裝到一個系統(tǒng),使模塊的重用從代碼級、對象級、架構一個系統(tǒng),使模塊的重用從代碼級、對象級、架構級到系統(tǒng)級都可能實現(xiàn)。級到系統(tǒng)級都可能實現(xiàn)。構件的屬性構件的屬性是可獨立配置的單元是可獨立配置的單元構件必須具有原子性,本身不可拆分;構件必須具有原子性,本身不可拆分;必須與其所部屬的環(huán)境以及其他構件很好地分離必須與其所部屬的環(huán)境以及其他構件很好地分離必須很好地封裝自己的構成部件必須很好地封裝自己的構成部件可以作

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

8、技術分布式構件技術CORBA規(guī)范規(guī)范Sun的的Java平臺平臺Microsoft的的.NET平臺平臺分布式構件體系結構分布式構件體系結構J2EE.NET提供事物完整性、消息傳遞、目錄服務、安全、提供事物完整性、消息傳遞、目錄服務、安全、異常處理、遠程訪問等。異常處理、遠程訪問等?;诨贑ORBA的分布式構件技術的分布式構件技術OMG(對象管理學會)是一個由業(yè)界(對象管理學會)是一個由業(yè)界760多個公司多個公司組成的工業(yè)協(xié)會,目的是為了共同制定一個大家都組成的工業(yè)協(xié)會,目的是為了共同制定一個大家都遵循的分布式對象計算標準,將對象和分布式系統(tǒng)遵循的分布式對象計算標準,將對象和分布式系統(tǒng)技術集成為

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

10、)CORBACORBA服務服務(CORBA ServiceCORBA Service)應用對象應用對象( (Application Object) )水平水平CORBACORBA設備設備( (Horizontal CORBA Facility) )垂直垂直CORBACORBA設備設備( (Vertical CORBA Facility) )CORBA服務服務提供適用于實現(xiàn)對象的一些基本功能,如對提供適用于實現(xiàn)對象的一些基本功能,如對象的命名服務、對象交易服務(對象并行、象的命名服務、對象交易服務(對象并行、對象存儲、對象產生和消亡、事件消息響應對象存儲、對象產生和消亡、事件消息響應以及事務交易

11、的一致性保證)和持久狀態(tài)服以及事務交易的一致性保證)和持久狀態(tài)服務(務(Persistent State Service, PPS)等。)等。是發(fā)布對象系統(tǒng)必不可少的公共服務,是底是發(fā)布對象系統(tǒng)必不可少的公共服務,是底層支持的必需服務。層支持的必需服務。CORBA設備設備水平水平CORBA設備:在各種工業(yè)部門中針對所設備:在各種工業(yè)部門中針對所有類型有類型CORBA應用的元素應用的元素包括用戶接口和系統(tǒng)管理設備包括用戶接口和系統(tǒng)管理設備針對大多數(shù)類型的應用,不考慮設備被使用的領針對大多數(shù)類型的應用,不考慮設備被使用的領域域垂直垂直CORBA設備:只在特殊垂直市場和工業(yè)設備:只在特殊垂直市場和工

12、業(yè)中針對某些應用的功能,也稱領域中針對某些應用的功能,也稱領域CORBA設設備備包括某些特殊領域的應用,比如在會計業(yè)中的總包括某些特殊領域的應用,比如在會計業(yè)中的總賬和分期償付,制造業(yè)的自動化店層控制設備。賬和分期償付,制造業(yè)的自動化店層控制設備。應用對象應用對象位于位于OMA層次結構的最頂層,可以是分布系層次結構的最頂層,可以是分布系統(tǒng)中的任何成分,如程序、進程、類實例。統(tǒng)中的任何成分,如程序、進程、類實例。通常會根據獨立的應用被定制,并不需要標通常會根據獨立的應用被定制,并不需要標準化,所以這一類的對象并不受準化,所以這一類的對象并不受OMG標準的標準的影響。影響。必須符合必須符合OMA的

13、標準接口。的標準接口。OMA中的對象作為服務者被動態(tài)地引用,并中的對象作為服務者被動態(tài)地引用,并且以唯一的標識提供服務。且以唯一的標識提供服務。對象間的交互通過對象間的交互通過ORB實現(xiàn)實現(xiàn)對象請求代理對象請求代理是是OMA的核心部分的核心部分當應用對象在分布對象系統(tǒng)中請求服務時,當應用對象在分布對象系統(tǒng)中請求服務時,就是以系統(tǒng)客戶的身份,通過就是以系統(tǒng)客戶的身份,通過ORB與系統(tǒng)中與系統(tǒng)中其他對象完成交互其他對象完成交互OMG進一步給出了進一步給出了OMA對象管理體系結構對象管理體系結構的的ORB開放標準開放標準CORBA體系結構體系結構CORBA規(guī)范包括規(guī)范包括ORB、接口定義語言、接口定

14、義語言(IDL)、存根存根(Stub)、框架、框架(Skeleton)、對象適配器、對象適配器、動態(tài)調用接口動態(tài)調用接口CORBA體系結構體系結構接口庫接口庫Interface Repository實現(xiàn)庫實現(xiàn)庫ImplementationRepository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài)調用調用客戶客戶StubStubORBORB接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務Skeleton動態(tài)服務動態(tài)服務Skeleton客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) )ORBORB的任務就是把客戶發(fā)出的請

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

16、對對象接口定義,不提供任何實現(xiàn)細節(jié)的描述。的描述。IDLIDL把編譯后的代碼映射到具體的編程語言,并且產把編譯后的代碼映射到具體的編程語言,并且產生客戶生客戶StubStub和服務和服務SkeletonSkeleton。 對象請求代理(對象請求代理(Object Request BrokerObject Request Broker) 客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Object implementation) )請求請求(Request)(Request)IDLIDLStubStubIDLIDLStubStubCORBA體系結構體系結構接口庫接口庫Interfa

17、ce Repository實現(xiàn)庫實現(xiàn)庫ImplementationRepository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài)調用調用客戶客戶StubStubORBORB接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務Skeleton動態(tài)服務動態(tài)服務Skeleton客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) )存根(存根(StubStub)是客戶端的代碼,客戶應用程序通過存根向)是客戶端的代碼,客戶應用程序通過存根向服務器應用程序發(fā)送請求,服務器應用程序發(fā)送請求,CORBA體系結構體系結構接口庫接口庫Interfa

18、ce Repository實現(xiàn)庫實現(xiàn)庫ImplementationRepository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài)調用調用客戶客戶StubStubORBORB接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務Skeleton動態(tài)服務動態(tài)服務Skeleton客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) )框架(框架(SkeletonSkeleton)是服務器端的代碼,提供對象適配器轉發(fā))是服務器端的代碼,提供對象適配器轉發(fā)的請求調度到對象實現(xiàn)上的適當操作的代碼。的請求調度到對象實現(xiàn)上的適當操作的代碼。CORB

19、A體系結構體系結構接口庫接口庫Interface Repository實現(xiàn)庫實現(xiàn)庫ImplementationRepository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài)調用調用客戶客戶StubStubORBORB接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務Skeleton動態(tài)服務動態(tài)服務Skeleton客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) )對象適配器(對象適配器(Object AdapterObject Adapter)是)是ORBORB核心的上層機制。它負責核心的上層機制。它負責接受服務請求,完成實

20、例化服務對象,向對象傳送請求,為服接受服務請求,完成實例化服務對象,向對象傳送請求,為服務指定對象引用和提供運行環(huán)境。務指定對象引用和提供運行環(huán)境。CORBA體系結構體系結構接口庫接口庫Interface Repository實現(xiàn)庫實現(xiàn)庫ImplementationRepository 對象請求中間件核心(對象請求中間件核心(ORB CoreORB Core) 動態(tài)動態(tài)調用調用客戶客戶StubStubORBORB接口接口 對象適配器對象適配器 靜態(tài)服務靜態(tài)服務Skeleton動態(tài)服務動態(tài)服務Skeleton客戶程序客戶程序( (Client) )對象實現(xiàn)對象實現(xiàn)( (Server) )通過對象

21、適配器,通過對象適配器,ORBORB服務方給客戶應用提供了一個假象(虛擬服務方給客戶應用提供了一個假象(虛擬環(huán)境),即服務對象都是活動著的,隨時等待客戶應用發(fā)來請環(huán)境),即服務對象都是活動著的,隨時等待客戶應用發(fā)來請求。求。ORBORB通過適配器將目的對象分成組,每組通過特定的對象適通過適配器將目的對象分成組,每組通過特定的對象適配器來滿足特定的需求。配器來滿足特定的需求?;诨贘ava的分布式構件技術的分布式構件技術1996年年1月,月,Sun公司正式發(fā)布了公司正式發(fā)布了Java1.01998年夏末又推出了年夏末又推出了Java2.01999年年Sun公司推出三個版本的公司推出三個版本的J

22、ava2平臺:平臺:J2ME:是:是Java 2 Platform Micro Edition的縮寫,即的縮寫,即Java2平臺微型版,適用于開發(fā)小型設備和智能卡上的平臺微型版,適用于開發(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 E

23、nterprise Edition的縮寫,的縮寫,即即Java2平臺企業(yè)版,適用于創(chuàng)建服務器端的大型應用平臺企業(yè)版,適用于創(chuàng)建服務器端的大型應用軟件和服務系統(tǒng)。軟件和服務系統(tǒng)。J2EE平臺平臺使用使用多層分布式應用模型多層分布式應用模型,根據功能劃分成各個構,根據功能劃分成各個構件,這些構件根據其在多層件,這些構件根據其在多層J2EE環(huán)境中所處的層環(huán)境中所處的層被安裝在不同的機器上。下圖是三個被安裝在不同的機器上。下圖是三個J2EE應用。應用。J2EEJ2EE應用應用1 1J2EEJ2EE應用應用2 2J2EEJ2EE應用應用3 3客戶端客戶端應用程序應用程序動態(tài)動態(tài)HTMLHTML頁面頁面動

24、態(tài)動態(tài)HTMLHTML頁面頁面客戶層客戶層WebWeb層層業(yè)務層業(yè)務層EISEIS層層客戶端機器客戶端機器J2EEJ2EE服務器服務器機器機器數(shù)據庫服務器數(shù)據庫服務器機器機器JSPJSP頁面頁面JSPJSP頁面頁面EJBEJBEJBEJB數(shù)據庫數(shù)據庫數(shù)據庫數(shù)據庫數(shù)據庫數(shù)據庫J2EE平臺平臺最基本的最基本的Java構件是在構件是在J2ME中的中的JavaBean,它,它是按照特定格式編寫的是按照特定格式編寫的Java類類JavaBean包括包括實例變量實例變量(Instance Variable)和)和get()、set()方法來訪問實例變量的數(shù)據。方法來訪問實例變量的數(shù)據。這種格式大大簡化了程

25、序設計。這種格式大大簡化了程序設計。J2EE的構件在的構件在JavaBeans基礎上進行了拓展?;A上進行了拓展。J2EE構件構件客戶端構件客戶端構件:Java應用程序和應用程序和AppletWeb構件構件:JavaServer Pages ( JSP ) 和和 Java Servlet業(yè)務邏輯構件業(yè)務邏輯構件:Enterprise JavaBeans ( EJB )這些構件在開發(fā)完成后,部署到相應的容器中。這些構件在開發(fā)完成后,部署到相應的容器中??蛻舳藰嫾蛻舳藰嫾﨡ava應用程序是運行在應用客戶容器內部的單個應用程序是運行在應用客戶容器內部的單個程序,應用客戶容器提供了支持消息、遠程調用

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

27、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)內容顯示、處理以及與顯示相關的格式的機制。顯示、處理以及與顯示相關的格式的機制。JSP技術技術 為為Web客戶端產生動態(tài)內容提供了一種可擴展的方客戶端產生動態(tài)內容提供了一種可擴展的方式。目的在

28、于生成能夠處理動態(tài)內容的式。目的在于生成能夠處理動態(tài)內容的Web頁面,頁面,這些頁面處理的數(shù)據會發(fā)生變化,因此業(yè)務處理邏這些頁面處理的數(shù)據會發(fā)生變化,因此業(yè)務處理邏輯也會相應發(fā)生變化。輯也會相應發(fā)生變化。一個一個JSP頁面是一個基于文本的文檔,它的寫法很頁面是一個基于文本的文檔,它的寫法很像網頁,用來描述怎樣處理像網頁,用來描述怎樣處理Request和產生和產生Response.通常由通常由JSP標記、標記、HTML標記和嵌入其中的標記和嵌入其中的Java代代碼組成。服務器在頁面被客戶端請求后對這些碼組成。服務器在頁面被客戶端請求后對這些Java代碼進行處理,然后生成代碼進行處理,然后生成HT

29、ML頁面返回給客頁面返回給客戶端瀏覽器。戶端瀏覽器。JSP技術技術 隨著隨著JSP技術的發(fā)展,技術的發(fā)展,JSP頁面中嵌入的頁面中嵌入的Java代碼代碼已經越來越少了,取代這些代碼的是一些用戶自定已經越來越少了,取代這些代碼的是一些用戶自定義的標記和義的標記和JSP的標準標記(的標準標記(JSTL,JSP標準標標準標簽庫)。擴展標記的使用令簽庫)。擴展標記的使用令JSP頁面變得越來越清頁面變得越來越清晰,結構越來越完整。晰,結構越來越完整。Servlet 是運行在服務器上的小程序,可被看作是服務器端是運行在服務器上的小程序,可被看作是服務器端的的Applet,實際上一個,實際上一個Servle

30、t就是擴展就是擴展Web服務服務器功能的一個器功能的一個Java類。類。是作為是作為CGI(Common Gateway Interface,通用網通用網關接口)的替代物發(fā)展起來的關接口)的替代物發(fā)展起來的,具有可移植性、靈具有可移植性、靈活性以及易編寫等優(yōu)點?;钚砸约耙拙帉懙葍?yōu)點。接受客戶端發(fā)來的請求并對它們進行處理,然后生接受客戶端發(fā)來的請求并對它們進行處理,然后生成響應,并將它們發(fā)送給客戶端。成響應,并將它們發(fā)送給客戶端。Servlet技術是技術是JSP的基礎,的基礎,JSP頁面在運行前都必頁面在運行前都必須轉化及編譯成須轉化及編譯成Servlet形式。形式。是是Web構件,所以必須要運

31、行在構件,所以必須要運行在Web服務器上。服務器上。業(yè)務邏輯構件業(yè)務邏輯構件 EJB構件是構件是J2EE的核心,是實現(xiàn)企業(yè)級應用中業(yè)的核心,是實現(xiàn)企業(yè)級應用中業(yè)務邏輯的務邏輯的Java構件。構件。EJB構件駐留在構件駐留在EJB容器中。容器中。EJB容器為容器為EJB構件構件提供了一組標準的系統(tǒng)服務,其中包括事務管理、提供了一組標準的系統(tǒng)服務,其中包括事務管理、持久性、安全性和并發(fā)控制等。通過持久性、安全性和并發(fā)控制等。通過EJB容器以及容器以及使用使用XML對構件的部署進行說明,構件開發(fā)者便可對構件的部署進行說明,構件開發(fā)者便可以從實現(xiàn)上述系統(tǒng)服務中解脫出來。以從實現(xiàn)上述系統(tǒng)服務中解脫出來。

32、EJB容器降低了容器降低了EJB構件開發(fā)的復雜程度,提高了構件開發(fā)的復雜程度,提高了構件開發(fā)的效率,保證了構件的可移植性。構件開發(fā)的效率,保證了構件的可移植性。EJB規(guī)范定義了規(guī)范定義了EJB構件與構件與EJB容器之間的交互機容器之間的交互機制。制。業(yè)務邏輯構件業(yè)務邏輯構件EJB是運行在獨立服務器上的構件,客戶端通過網是運行在獨立服務器上的構件,客戶端通過網絡對絡對EJB對象進行調用。對象進行調用。通過通過RMI技術,技術,J2EE將將EJB構件創(chuàng)建為遠程對象,構件創(chuàng)建為遠程對象,客戶端通過網絡調用客戶端通過網絡調用EJB對象??蛻舳诉M行調用時,對象??蛻舳诉M行調用時,不是采用不是采用RMI注

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

34、來持久保存對象:通過兩種機制來持久保存對象:容器管理持久性(容器管理持久性(CMP)Bean管理持久性(管理持久性(BMP)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)會話bean:不保存客戶的會

35、話狀態(tài)信:不保存客戶的會話狀態(tài)信息,每次服務,同一個客戶不一定對應同一息,每次服務,同一個客戶不一定對應同一個會話個會話bean實例。實例。EJB構件構件消息驅動消息驅動bean(Message-driven Bean)是是JMS(Java Message Service,Java消息服消息服務)與務)與EJB集成的結果。集成的結果。沒有向客戶端公開接口,消息驅動沒有向客戶端公開接口,消息驅動EJB構件不能構件不能由客戶直接獲得其引用而進行調用,客戶只能通由客戶直接獲得其引用而進行調用,客戶只能通過消息系統(tǒng)進行間接的調用。過消息系統(tǒng)進行間接的調用。為客戶和為客戶和EJB構件之間提供了一種異步的

36、通信能構件之間提供了一種異步的通信能力力EJB構件構件大多數(shù)大多數(shù)EJB構件(不包括消息驅動構件(不包括消息驅動bean)由以下)由以下遠程接口、本地接口和遠程接口、本地接口和Bean類組成:類組成:遠程接口遠程接口(remote interface)聲明了相應聲明了相應Bean類公開的所有業(yè)務方法類公開的所有業(yè)務方法必須遵循必須遵循EJB規(guī)范規(guī)范必須由必須由javax.ejb.EJBObject派生派生本地接口本地接口(home interface)聲明了與聲明了與EJB構件生命周期有關的方法構件生命周期有關的方法客戶可以使用本地接口中提供的方法創(chuàng)建、查找和刪客戶可以使用本地接口中提供的方法

37、創(chuàng)建、查找和刪除除EJB構件構件方法的實現(xiàn)由方法的實現(xiàn)由EJB容器負責,容器負責,EJB開發(fā)人員只需要提開發(fā)人員只需要提供方法的原型供方法的原型必須由必須由javax.ejb.EJBHome派生派生EJB構件構件大多數(shù)大多數(shù)EJB構件(不包括消息驅動構件(不包括消息驅動bean)由以下)由以下遠程接口、本地接口和遠程接口、本地接口和Bean類組成:類組成:Bean類類實現(xiàn)實現(xiàn)EJB構件的業(yè)務邏輯方法構件的業(yè)務邏輯方法用戶通過遠程接口調用這些方法用戶通過遠程接口調用這些方法所有所有Bean類都必須實現(xiàn)的最基本的接口是類都必須實現(xiàn)的最基本的接口是javax.ejb.EnterpriseBean一般

38、不直接實現(xiàn)一般不直接實現(xiàn)javax.ejb.EnterpriseBean接口,而接口,而是實現(xiàn)相應的是實現(xiàn)相應的Bean類型的接口類型的接口消息驅動消息驅動EJB構件沒有本地接口和遠程接口構件沒有本地接口和遠程接口EJB構件構件EJB構件運行在構件運行在EJB容器中,容器中,EJB容器為容器為EJB構件提供構件提供事務管理事務管理、持久性持久性、安全性安全性和和并發(fā)控制并發(fā)控制等系統(tǒng)服務。等系統(tǒng)服務。當當EJB構件被裝入到容器中時,需要向容器構件被裝入到容器中時,需要向容器說明說明EJB構件將如何部署到容器中去,以及構件將如何部署到容器中去,以及希望容器提供哪些服務。希望容器提供哪些服務。通過

39、一個通過一個XML格式的部署描述文件說明。格式的部署描述文件說明。部署描述文件部署描述文件 EJB基本信息基本信息:指明:指明EJB的名稱、遠程接口、的名稱、遠程接口、本地接口及本地接口及Bean類類EJB管理要求管理要求:指明:指明EJB容器應該如何管理容器應該如何管理BeanEJB持久性要求持久性要求:指明實體:指明實體Bean是由自己管是由自己管理持久性,還是由容器管理持久性理持久性,還是由容器管理持久性EJB事務處理要求事務處理要求:指明容器的安全策略:指明容器的安全策略J2EE構件構件 包括包括Java應用程序、應用程序、Applet、JSP、Servlet、EJB可以打包成模塊(可

40、以打包成模塊(module)并以)并以Java Archive(JAR)文件的形式發(fā)布)文件的形式發(fā)布一個模塊通常包含了相關的構件、相關文件一個模塊通常包含了相關的構件、相關文件和用來描述怎樣部署構件的和用來描述怎樣部署構件的部署描述文件部署描述文件(XML文件)。文件)。通過模塊可以用一些相同構件來組裝不同的通過模塊可以用一些相同構件來組裝不同的J2EE應用,實現(xiàn)了構件技術的目標應用,實現(xiàn)了構件技術的目標重用重用基于基于.NET平臺的分布式構件技術平臺的分布式構件技術 微軟沒有提出一整套標準,逐漸引入構件技術,可獲微軟沒有提出一整套標準,逐漸引入構件技術,可獲益于以前的成功技術,如益于以前的

41、成功技術,如Visual Basic控件、對象鏈控件、對象鏈接和嵌入(接和嵌入(OLE)、)、OLE數(shù)據庫連接(數(shù)據庫連接(ODBC)、)、ActiveX、微軟事務服務器技術(、微軟事務服務器技術(MTS)、)、Active Server Page(ASP)。)。COM(Component Object Model,組建對象模型),組建對象模型)是從是從Windows3.1中最初為支持復合文檔而使用中最初為支持復合文檔而使用OLE技術發(fā)展而來的,經歷了技術發(fā)展而來的,經歷了OLE2/COM、ActiveX、DCOM和和COM+等幾個階段。等幾個階段。COM 為代碼的重用提供了一種為代碼的重用提

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

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

44、Language Runtime) 類庫(類庫(Class LibraryClass Library) 數(shù)據和數(shù)據和XMLXML(ADO.NETADO.NET) WebWeb服務服務 用戶界面用戶界面ASP.NETASP.NET VB C+ C# Perl VB C+ C# Perl Visual Studio.NET Visual Studio.NET .NET框架框架 主要包括公共語言運行時(主要包括公共語言運行時(CLR)和)和.NET基類基類庫(庫(FCL)在開發(fā)技術方面,提供了全新的數(shù)據庫訪問技在開發(fā)技術方面,提供了全新的數(shù)據庫訪問技術術ADO.NET、Web應用開發(fā)技術應用開發(fā)技術

45、ASP.NET和和Windows編程技術編程技術Windows Forms在開發(fā)語言方面,提供了對在開發(fā)語言方面,提供了對VB、C+、C#等等多種語言的支持多種語言的支持Visual Studio.NET為為.NET框架集成了大多數(shù)框架集成了大多數(shù)工具工具公共語言運行時公共語言運行時 位于操作系統(tǒng)之上,位于操作系統(tǒng)之上,.NET框架的最低一層,是框架的最低一層,是框架的基礎框架的基礎為宿主托管應用程序提供虛擬環(huán)境為宿主托管應用程序提供虛擬環(huán)境提供更多的功能和特性提供更多的功能和特性統(tǒng)一和簡化的編程模型,使用戶不必迷惑于統(tǒng)一和簡化的編程模型,使用戶不必迷惑于Win32 API和和COM,避免了,

46、避免了DLL版本和更新問題,簡化了版本和更新問題,簡化了應用程序的發(fā)布和升級應用程序的發(fā)布和升級多種語言之間的交互多種語言之間的交互自動的內存和資源管理自動的內存和資源管理公共語言運行時公共語言運行時基于基于CLR的代碼稱為的代碼稱為托管代碼托管代碼(Managed Code)當運行托管代碼時,通過針對公共語言運行時的編譯當運行托管代碼時,通過針對公共語言運行時的編譯器生成器生成微軟中間語言微軟中間語言(Microsoft Intermediate Language, MSIL),同時生成所需的),同時生成所需的元數(shù)據元數(shù)據,在代,在代碼運行時再使用即時編譯器(碼運行時再使用即時編譯器(Jus

47、t in Time Compiler)生成相應的)生成相應的機器代碼機器代碼來執(zhí)行來執(zhí)行大部分情況下,代碼只在第一次被調用時被即時編譯,大部分情況下,代碼只在第一次被調用時被即時編譯,其后便被緩存在內存中以便下次執(zhí)行時沒有延遲。未其后便被緩存在內存中以便下次執(zhí)行時沒有延遲。未調用的代碼決不會被即時編譯。調用的代碼決不會被即時編譯。即時編譯會影響系統(tǒng)性能,但是即時編譯器能優(yōu)化所即時編譯會影響系統(tǒng)性能,但是即時編譯器能優(yōu)化所產生的本機代碼,以適應它所運行的主機處理器,因產生的本機代碼,以適應它所運行的主機處理器,因此即時編譯器運行效率優(yōu)于普通代碼。此即時編譯器運行效率優(yōu)于普通代碼。托管環(huán)境中運行代

48、碼的好處托管環(huán)境中運行代碼的好處 即時編譯器將通用中間語言指令轉換為本機代碼,扮即時編譯器將通用中間語言指令轉換為本機代碼,扮演了代碼驗證的角色,可以確保代碼是類型安全的,演了代碼驗證的角色,可以確保代碼是類型安全的,避免了不同組件之間可能存在的類型不匹配的問題避免了不同組件之間可能存在的類型不匹配的問題托管代碼占用的資源可以被回收。托管代碼占用的資源可以被回收。CLR包含一個復雜包含一個復雜的垃圾回收器,垃圾回收器自動跟蹤代碼創(chuàng)建的對象的垃圾回收器,垃圾回收器自動跟蹤代碼創(chuàng)建的對象的應用,當別的進程需要使用對象占用的內存時,它的應用,當別的進程需要使用對象占用的內存時,它可銷毀這些對象。可銷

49、毀這些對象。CLR負責處理對象的內存布局、管理對象的應用、自負責處理對象的內存布局、管理對象的應用、自動垃圾收集,從根本上解決了內存泄露和無效內存應動垃圾收集,從根本上解決了內存泄露和無效內存應用的問題,大大減輕了開發(fā)人員的負擔,提高程序的用的問題,大大減輕了開發(fā)人員的負擔,提高程序的健壯性。健壯性。.NET基類庫基類庫 系統(tǒng)框架服務系統(tǒng)框架服務一套在標準語言庫中使用的基本類庫,如集合、輸一套在標準語言庫中使用的基本類庫,如集合、輸入入/輸出、字符串及數(shù)據類。輸出、字符串及數(shù)據類。提供了訪問操作系統(tǒng)和其他服務的類,如網絡、線提供了訪問操作系統(tǒng)和其他服務的類,如網絡、線程、全球化和加密的類程、全

50、球化和加密的類包括數(shù)據訪問類庫及開發(fā)工具,如調試和剖析服務包括數(shù)據訪問類庫及開發(fā)工具,如調試和剖析服務使用的類使用的類ADO.NET組件組件為基于網絡的可擴展應用程序和服務提供了為基于網絡的可擴展應用程序和服務提供了數(shù)據訪數(shù)據訪問服務問服務.NET基類庫基類庫 XML數(shù)據組件數(shù)據組件提供了對提供了對XML數(shù)據的操作支持數(shù)據的操作支持支持支持ADO.NET數(shù)據與數(shù)據與XML數(shù)據之間的轉換數(shù)據之間的轉換Windows表單組件表單組件提供了強大的提供了強大的Windows應用程序模型和豐富的應用程序模型和豐富的Windows用戶接口,包括傳統(tǒng)的用戶接口,包括傳統(tǒng)的ActiveX控件和控件和Windo

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

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

53、結構好像已經達到了它們處理此類問題的極限。好像已經達到了它們處理此類問題的極限。為減少異構性、互操作性和不斷變化的需求所帶來的為減少異構性、互操作性和不斷變化的需求所帶來的問題,需要一種新的、不受技術約束的軟件體系結構,問題,需要一種新的、不受技術約束的軟件體系結構,它應該具有它應該具有松散耦合松散耦合、位置透明位置透明、協(xié)議獨立協(xié)議獨立的特征。的特征。面向服務的體系結構(面向服務的體系結構(Service-Oriented Architecture, SOA)可解決上述問題)可解決上述問題SOA 繼面向對象、基于構件的軟件架構方法之后被提出的繼面向對象、基于構件的軟件架構方法之后被提出的一種

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

55、象的設計的設計類層類層基于基于SOASOA的的系統(tǒng)可使用系統(tǒng)可使用構件組裝服構件組裝服務,也可使務,也可使用面向對象用面向對象的設計來構的設計來構建單個服務建單個服務SOA 服務是封裝成用于業(yè)務流程的可重用構件的應用程序服務是封裝成用于業(yè)務流程的可重用構件的應用程序功能功能服務是細粒度的,也可以是粗粒度的,取決于業(yè)務流服務是細粒度的,也可以是粗粒度的,取決于業(yè)務流程程每個服務都有良好的接口,通過該接口就可以發(fā)現(xiàn)、每個服務都有良好的接口,通過該接口就可以發(fā)現(xiàn)、發(fā)布和調用服務。發(fā)布和調用服務。企業(yè)可以選擇將自己的服務向外發(fā)布到業(yè)務合作伙伴,企業(yè)可以選擇將自己的服務向外發(fā)布到業(yè)務合作伙伴,也可以選擇

56、在組織內部發(fā)布服務。也可以選擇在組織內部發(fā)布服務。服務還可以由其他服務組合而成服務還可以由其他服務組合而成SOA中的角色中的角色 服務消費者服務消費者(Service Consumer):是一個應用程):是一個應用程序、一個軟件模塊或需要一個服務的另一個服務。它序、一個軟件模塊或需要一個服務的另一個服務。它發(fā)起對注冊中心的服務的查詢,通過傳輸綁定服務,發(fā)起對注冊中心的服務的查詢,通過傳輸綁定服務,并且執(zhí)行服務功能。服務消費者根據接口契約來執(zhí)行并且執(zhí)行服務功能。服務消費者根據接口契約來執(zhí)行服務。服務。服務提供者服務提供者(Service Provider):是一個可通過網):是一個可通過網絡尋址

57、的實體,它接受和執(zhí)行來自消費者的請求。它絡尋址的實體,它接受和執(zhí)行來自消費者的請求。它將自己的服務和接口契約發(fā)布到服務注冊中心,以便將自己的服務和接口契約發(fā)布到服務注冊中心,以便服務消費者可以發(fā)現(xiàn)和訪問該服務。服務消費者可以發(fā)現(xiàn)和訪問該服務。SOA中的角色中的角色 服務注冊中心服務注冊中心(Service Registry):是服務發(fā)現(xiàn)的):是服務發(fā)現(xiàn)的支持者,包含一個可用服務的存儲庫,并允許感興趣支持者,包含一個可用服務的存儲庫,并允許感興趣的服務消費者查找服務提供者接口。的服務消費者查找服務提供者接口。SOA中各個角色的協(xié)作中各個角色的協(xié)作 服務注服務注冊冊服務消費服務消費者者服務提供服務

58、提供者者發(fā)現(xiàn)發(fā)現(xiàn)發(fā)布發(fā)布綁定與調用綁定與調用服務描述服務描述服務服務服務描述服務描述SOA中的操作中的操作 發(fā)布:為了使服務可訪問,需要發(fā)布服務描述以使服發(fā)布:為了使服務可訪問,需要發(fā)布服務描述以使服務消費者可以發(fā)現(xiàn)和調用它務消費者可以發(fā)現(xiàn)和調用它發(fā)現(xiàn):服務請求者定位服務,方法是查詢服務注冊中發(fā)現(xiàn):服務請求者定位服務,方法是查詢服務注冊中心來找到滿足其標準的服務心來找到滿足其標準的服務綁定和調用:在檢索完服務描述之后,服務消費者繼綁定和調用:在檢索完服務描述之后,服務消費者繼續(xù)根據服務描述中的信息來調用服務續(xù)根據服務描述中的信息來調用服務SOA中的構件中的構件 服務:可以通過已發(fā)布接口使用服務

59、,并且允許服務服務:可以通過已發(fā)布接口使用服務,并且允許服務消費者調用服務消費者調用服務服務描述:服務描述指定服務消費者與服務提供者交服務描述:服務描述指定服務消費者與服務提供者交互的方式。它指定來自服務的請求和響應的格式。服互的方式。它指定來自服務的請求和響應的格式。服務描述可以指定一組前提條件、后置條件和務描述可以指定一組前提條件、后置條件和/或服務或服務質量(質量(QoS)級別)級別SOA的特征的特征 動態(tài)服務發(fā)現(xiàn)動態(tài)服務發(fā)現(xiàn)服務接口契約服務接口契約服務是自包含和模塊化的服務是自包含和模塊化的服務支持互操作性服務支持互操作性服務是松散耦合的服務是松散耦合的服務是位置透明的服務是位置透明的

60、服務是由組件組成的組合模塊服務是由組件組成的組合模塊基于基于Web服務的服務的SOA實現(xiàn)實現(xiàn)Web服務建立在開放標準和獨立于平臺的協(xié)議的基礎服務建立在開放標準和獨立于平臺的協(xié)議的基礎之上,是包括之上,是包括XML、SOAP、WSDL和和UDDI在內的在內的技術集合。技術集合。Web服務通過服務通過HTTP使用使用SOAP(Simple Object Access Protocol ),以便在服務提供者和消費者之,以便在服務提供者和消費者之間進行通信。間進行通信。通過通過WSDL(Web Service Definition Language)定義的接口公布服務,定義的接口公布服務,WSDL的語

溫馨提示

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

評論

0/150

提交評論