ch08基于服務(wù)的體系結(jié)構(gòu)_第1頁
ch08基于服務(wù)的體系結(jié)構(gòu)_第2頁
ch08基于服務(wù)的體系結(jié)構(gòu)_第3頁
ch08基于服務(wù)的體系結(jié)構(gòu)_第4頁
ch08基于服務(wù)的體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩118頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2關(guān)于關(guān)于SOA。3關(guān)于關(guān)于SOA 用戶可以構(gòu)建、部署和整合這些服務(wù),且無需依賴應(yīng)用戶可以構(gòu)建、部署和整合這些服務(wù),且無需依賴應(yīng)用程序及其技術(shù)平臺,從而提高應(yīng)用的靈活性。這種用程序及其技術(shù)平臺,從而提高應(yīng)用的靈活性。這種業(yè)務(wù)靈活性可使企業(yè)和機(jī)構(gòu)加快發(fā)展速度,降低總體業(yè)務(wù)靈活性可使企業(yè)和機(jī)構(gòu)加快發(fā)展速度,降低總體擁有成本,及時(shí)、準(zhǔn)確地獲取信息,同時(shí)有助于實(shí)現(xiàn)擁有成本,及時(shí)、準(zhǔn)確地獲取信息,同時(shí)有助于實(shí)現(xiàn)更多的資產(chǎn)重用。更多的資產(chǎn)重用。 而建設(shè)而建設(shè) SOA 體系架構(gòu)就需要建立一個(gè)一致的架構(gòu)框體系架構(gòu)就需要建立一個(gè)一致的架構(gòu)框架,在這種框架中,可以快速地進(jìn)行開發(fā)、集成和重架,在這種框架中,可以快速

2、地進(jìn)行開發(fā)、集成和重用應(yīng)用系統(tǒng)。而對于原有的應(yīng)用系統(tǒng)來說,可以采用用應(yīng)用系統(tǒng)。而對于原有的應(yīng)用系統(tǒng)來說,可以采用合適的技術(shù)手段進(jìn)行平滑的優(yōu)化與過渡。合適的技術(shù)手段進(jìn)行平滑的優(yōu)化與過渡。4 迄今為止,對于面向服務(wù)的體系結(jié)構(gòu)迄今為止,對于面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture, SOA)還沒有一個(gè)公認(rèn)的定還沒有一個(gè)公認(rèn)的定義。許多組織從不同的角度和不同的側(cè)面對義。許多組織從不同的角度和不同的側(cè)面對soA進(jìn)行進(jìn)行了描述,較為典型的有以下三個(gè)。了描述,較為典型的有以下三個(gè)。5 (1) W3C的定義的定義:SOA是一種應(yīng)用程序體系結(jié)構(gòu),在是一種應(yīng)用程序體系結(jié)構(gòu),在

3、這種體系結(jié)構(gòu)中,所有功能都定義為獨(dú)立的服務(wù),這這種體系結(jié)構(gòu)中,所有功能都定義為獨(dú)立的服務(wù),這些服務(wù)帶有定義明確的可調(diào)用接口,能夠以定義好的些服務(wù)帶有定義明確的可調(diào)用接口,能夠以定義好的順序調(diào)用這些服務(wù)來形成業(yè)務(wù)流程。順序調(diào)用這些服務(wù)來形成業(yè)務(wù)流程。6 (2) ServicFarchitecture, com的定義的定義:服務(wù)是精確定服務(wù)是精確定義、封裝完整、獨(dú)立于其他服務(wù)所處環(huán)境和狀態(tài)的函義、封裝完整、獨(dú)立于其他服務(wù)所處環(huán)境和狀態(tài)的函數(shù)。數(shù)。SOA本質(zhì)上是服務(wù)的集合,服務(wù)之間彼此通信本質(zhì)上是服務(wù)的集合,服務(wù)之間彼此通信,這種通信可能是簡單的數(shù)據(jù)傳送,也可能是兩個(gè)或,這種通信可能是簡單的數(shù)據(jù)傳送

4、,也可能是兩個(gè)或更多的服務(wù)協(xié)調(diào)進(jìn)行某些活動。服務(wù)之間需要某些方更多的服務(wù)協(xié)調(diào)進(jìn)行某些活動。服務(wù)之間需要某些方法進(jìn)行連接。法進(jìn)行連接。7 (3) Gartner的定義的定義:SOA 是一種是一種C/S 體系結(jié)構(gòu)的軟件體系結(jié)構(gòu)的軟件設(shè)計(jì)方法,應(yīng)用由服務(wù)和服務(wù)使用者組成,設(shè)計(jì)方法,應(yīng)用由服務(wù)和服務(wù)使用者組成,SOA與與大多數(shù)通用的大多數(shù)通用的c/s體系結(jié)構(gòu)模型的不同之處,在于它體系結(jié)構(gòu)模型的不同之處,在于它著重強(qiáng)調(diào)構(gòu)件的松散藕合,并使用獨(dú)立的標(biāo)準(zhǔn)接口。著重強(qiáng)調(diào)構(gòu)件的松散藕合,并使用獨(dú)立的標(biāo)準(zhǔn)接口。8 W3C、 Service-、Gartner: 萬維網(wǎng)聯(lián)盟(萬維網(wǎng)聯(lián)盟(World Wide Web

5、Consortium,W3C) Gartner (高德納,又譯顧能公司高德納,又譯顧能公司)全球最具權(quán)威的全球最具權(quán)威的IT研究與顧問咨詢公司研究與顧問咨詢公司98.1 SOA概述概述 SOA是一種在計(jì)算環(huán)境中設(shè)計(jì)、開發(fā)、部署和管理是一種在計(jì)算環(huán)境中設(shè)計(jì)、開發(fā)、部署和管理離散邏輯單元離散邏輯單元(服務(wù)服務(wù))模型的方法。模型的方法。SOA并不是一個(gè)新并不是一個(gè)新鮮事物,而只是面向?qū)ο竽P偷囊环N替代。鮮事物,而只是面向?qū)ο竽P偷囊环N替代。 雖然基于雖然基于SOA 的系統(tǒng)并不排除使用的系統(tǒng)并不排除使用OOD來構(gòu)建單個(gè)來構(gòu)建單個(gè)服務(wù),但是其整體設(shè)計(jì)卻是面向服務(wù)的。服務(wù),但是其整體設(shè)計(jì)卻是面向服務(wù)的。

6、由于由于SOA 考慮到了系統(tǒng)內(nèi)的對象,所以雖然考慮到了系統(tǒng)內(nèi)的對象,所以雖然SOA是是基于對象的,但是作為一個(gè)整體,它卻不是面向?qū)ο蠡趯ο蟮?,但是作為一個(gè)整體,它卻不是面向?qū)ο蟮?。的?0SOA系統(tǒng)原型的一個(gè)典型例子是系統(tǒng)原型的一個(gè)典型例子是CORBA CORBA已經(jīng)出現(xiàn)很長時(shí)間,其定義的概念與已經(jīng)出現(xiàn)很長時(shí)間,其定義的概念與SOA相相似。似。SOA建立在建立在XML等新技術(shù)的基礎(chǔ)上,通過使用等新技術(shù)的基礎(chǔ)上,通過使用基于基于XML的語言來描述接口,其服務(wù)已經(jīng)轉(zhuǎn)到更動態(tài)的語言來描述接口,其服務(wù)已經(jīng)轉(zhuǎn)到更動態(tài)且更靈活的接口系統(tǒng)中,且更靈活的接口系統(tǒng)中,CORBA 中的中的IDL無法與之無法與之

7、相比。圖相比。圖8-1 一個(gè)完整的一個(gè)完整的SOA模型。模型。1112 在在SOA模型中,所有的功能都定義成了獨(dú)立的服務(wù)模型中,所有的功能都定義成了獨(dú)立的服務(wù)。服務(wù)之間通過交互和協(xié)調(diào)完成業(yè)務(wù)的整體邏輯。所。服務(wù)之間通過交互和協(xié)調(diào)完成業(yè)務(wù)的整體邏輯。所有的服務(wù)通過服務(wù)總線或流程管理器來連接。有的服務(wù)通過服務(wù)總線或流程管理器來連接。 這種松散耦合的體系結(jié)構(gòu)使得各服務(wù)在交互過程中無這種松散耦合的體系結(jié)構(gòu)使得各服務(wù)在交互過程中無須考慮雙方的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),以及部署在什么平臺上須考慮雙方的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),以及部署在什么平臺上。131、服務(wù)的基本結(jié)構(gòu)、服務(wù)的基本結(jié)構(gòu) 一個(gè)獨(dú)立的服務(wù)基本結(jié)構(gòu)如圖一個(gè)獨(dú)立的服務(wù)基

8、本結(jié)構(gòu)如圖8-2 所示。所示。14 服務(wù)模型的表示層從邏輯層分離出來,中間增加了服服務(wù)模型的表示層從邏輯層分離出來,中間增加了服務(wù)對外的接口層。務(wù)對外的接口層。 通過服務(wù)接口的標(biāo)準(zhǔn)化描述,使得服務(wù)可以提供給在通過服務(wù)接口的標(biāo)準(zhǔn)化描述,使得服務(wù)可以提供給在任何異構(gòu)平臺和任何用戶接口使用。這允許并支持基任何異構(gòu)平臺和任何用戶接口使用。這允許并支持基于服務(wù)的系統(tǒng)成為松散耦合、面向構(gòu)件和跨技術(shù)實(shí)現(xiàn)于服務(wù)的系統(tǒng)成為松散耦合、面向構(gòu)件和跨技術(shù)實(shí)現(xiàn),服務(wù)請求者很可能根本不知道服務(wù)在哪里運(yùn)行、是,服務(wù)請求者很可能根本不知道服務(wù)在哪里運(yùn)行、是由哪種語言編寫的,以及消息的傳輸路徑,而是只需由哪種語言編寫的,以及消

9、息的傳輸路徑,而是只需要提出服務(wù)請求,然后就會得到答案。要提出服務(wù)請求,然后就會得到答案。152. SOA的特征的特征 SOA是一種粗粒度、松藕合的服務(wù)體系結(jié)構(gòu),其服是一種粗粒度、松藕合的服務(wù)體系結(jié)構(gòu),其服務(wù)之間通過簡單、精確定義接口進(jìn)行通信,不涉及底務(wù)之間通過簡單、精確定義接口進(jìn)行通信,不涉及底層編程接口和通信模型。層編程接口和通信模型。 這種模型具有下面兒個(gè)特征這種模型具有下面兒個(gè)特征:16 (1) 松散耦合。松散耦合。 SOA是松散藕合構(gòu)件服務(wù),這一點(diǎn)區(qū)別于大多數(shù)其是松散藕合構(gòu)件服務(wù),這一點(diǎn)區(qū)別于大多數(shù)其他的構(gòu)件體系結(jié)構(gòu)。他的構(gòu)件體系結(jié)構(gòu)。 松散藕合旨在將服務(wù)使用者和服務(wù)提供者在服務(wù)實(shí)現(xiàn)

10、松散藕合旨在將服務(wù)使用者和服務(wù)提供者在服務(wù)實(shí)現(xiàn)和客戶如何使用服務(wù)方面隔離開來。服務(wù)提供者和服和客戶如何使用服務(wù)方面隔離開來。服務(wù)提供者和服務(wù)使用者間松散藕合背后的關(guān)鍵點(diǎn)是服務(wù)接口作為與務(wù)使用者間松散藕合背后的關(guān)鍵點(diǎn)是服務(wù)接口作為與服務(wù)實(shí)現(xiàn)分離的實(shí)體而存在。這是服務(wù)實(shí)現(xiàn)能夠在完服務(wù)實(shí)現(xiàn)分離的實(shí)體而存在。這是服務(wù)實(shí)現(xiàn)能夠在完全不影響服務(wù)使用者的情況下進(jìn)行修改。全不影響服務(wù)使用者的情況下進(jìn)行修改。17 大多數(shù)松散藕合方法都依靠基于服務(wù)接口的消息,基大多數(shù)松散藕合方法都依靠基于服務(wù)接口的消息,基于消息的接口能夠兼容多種傳輸方式于消息的接口能夠兼容多種傳輸方式 ( 如如 HTTP、TCP/IP 和和 M

11、OM 等等 ),基于消息的接口可以采用同步,基于消息的接口可以采用同步或異步協(xié)議實(shí)現(xiàn)?;虍惒絽f(xié)議實(shí)現(xiàn)。18 (2)粗粒度服務(wù)。粗粒度服務(wù)。 服務(wù)粒度服務(wù)粒度(Service Granularity)指的是服務(wù)所公開功指的是服務(wù)所公開功能的范圍,一般分為細(xì)粒度和粗粒度。能的范圍,一般分為細(xì)粒度和粗粒度。 其中,細(xì)粒度服務(wù)是那些能夠提供少量業(yè)務(wù)流程可用其中,細(xì)粒度服務(wù)是那些能夠提供少量業(yè)務(wù)流程可用性的服務(wù)。粗粒度服務(wù)是那些能夠提供高層業(yè)務(wù)邏輯性的服務(wù)。粗粒度服務(wù)是那些能夠提供高層業(yè)務(wù)邏輯的可用性服務(wù)。的可用性服務(wù)。19 選擇正確的抽象級別是選擇正確的抽象級別是SOA 建模的一個(gè)關(guān)鍵司題。建模的一個(gè)

12、關(guān)鍵司題。設(shè)計(jì)中應(yīng)該在不損失或損壞相關(guān)性、一致性和完整性設(shè)計(jì)中應(yīng)該在不損失或損壞相關(guān)性、一致性和完整性的情況下,盡可能地進(jìn)行粗粒度建模。的情況下,盡可能地進(jìn)行粗粒度建模。 通過一組有效設(shè)計(jì)和組合的粗粒度服務(wù),業(yè)務(wù)專家能通過一組有效設(shè)計(jì)和組合的粗粒度服務(wù),業(yè)務(wù)專家能夠有效地組合出新的業(yè)務(wù)流程和應(yīng)用程序。夠有效地組合出新的業(yè)務(wù)流程和應(yīng)用程序。20 (3) 標(biāo)準(zhǔn)化接口。標(biāo)準(zhǔn)化接口。 SOA通過服務(wù)接口的標(biāo)準(zhǔn)化措述,從而使得該服務(wù)通過服務(wù)接口的標(biāo)準(zhǔn)化措述,從而使得該服務(wù)可以提供給在任何異構(gòu)平臺和任何用戶接口中使用。可以提供給在任何異構(gòu)平臺和任何用戶接口中使用。這一描述囊括了與服務(wù)交互需要的全部細(xì)節(jié),包

13、括消這一描述囊括了與服務(wù)交互需要的全部細(xì)節(jié),包括消息格式、傳輸協(xié)議和位置。該接口隱藏了實(shí)現(xiàn)服務(wù)的息格式、傳輸協(xié)議和位置。該接口隱藏了實(shí)現(xiàn)服務(wù)的細(xì)節(jié),允許獨(dú)立于實(shí)現(xiàn)服務(wù)基于的硬件或軟件平臺和細(xì)節(jié),允許獨(dú)立于實(shí)現(xiàn)服務(wù)基于的硬件或軟件平臺和編寫服務(wù)所用的編程語言使用服務(wù)。編寫服務(wù)所用的編程語言使用服務(wù)。213. 服務(wù)構(gòu)件與傳統(tǒng)構(gòu)件服務(wù)構(gòu)件與傳統(tǒng)構(gòu)件 服務(wù)構(gòu)件體系結(jié)構(gòu)服務(wù)構(gòu)件體系結(jié)構(gòu)(Service Component Architecture, SCA)是基于是基于SOA 的思想描述服務(wù)之的思想描述服務(wù)之間組合和協(xié)作的規(guī)范,它描述用于使用間組合和協(xié)作的規(guī)范,它描述用于使用SOA構(gòu)建應(yīng)構(gòu)建應(yīng)用程序和系

14、統(tǒng)的模型。用程序和系統(tǒng)的模型。 它可簡化使用它可簡化使用SOA 進(jìn)行的應(yīng)用程序開發(fā)和實(shí)現(xiàn)工作進(jìn)行的應(yīng)用程序開發(fā)和實(shí)現(xiàn)工作。SCA提供了構(gòu)件粗粒度構(gòu)件的機(jī)制,這些粗粒度構(gòu)提供了構(gòu)件粗粒度構(gòu)件的機(jī)制,這些粗粒度構(gòu)件由細(xì)粒度構(gòu)件組裝而成。件由細(xì)粒度構(gòu)件組裝而成。SCA將傳統(tǒng)中間件編程從將傳統(tǒng)中間件編程從業(yè)務(wù)邏輯分離出來,從而使程序員免受其復(fù)雜性的困業(yè)務(wù)邏輯分離出來,從而使程序員免受其復(fù)雜性的困擾。它允許開發(fā)人員集中精力編寫業(yè)務(wù)邏輯,而不必?cái)_。它允許開發(fā)人員集中精力編寫業(yè)務(wù)邏輯,而不必將大量的時(shí)間花費(fèi)在更為底層的技術(shù)實(shí)現(xiàn)上。將大量的時(shí)間花費(fèi)在更為底層的技術(shù)實(shí)現(xiàn)上。22SCA服務(wù)構(gòu)件與傳統(tǒng)構(gòu)件的主要區(qū)別

15、:服務(wù)構(gòu)件與傳統(tǒng)構(gòu)件的主要區(qū)別: 服務(wù)構(gòu)件往往是粗粒度的,而傳統(tǒng)構(gòu)件以細(xì)粒度居多服務(wù)構(gòu)件往往是粗粒度的,而傳統(tǒng)構(gòu)件以細(xì)粒度居多; 服務(wù)構(gòu)件的接口是標(biāo)準(zhǔn)的,主要是服務(wù)描述語言接口服務(wù)構(gòu)件的接口是標(biāo)準(zhǔn)的,主要是服務(wù)描述語言接口,而傳統(tǒng)構(gòu)件常以具體,而傳統(tǒng)構(gòu)件常以具體API形式出現(xiàn);形式出現(xiàn); 服務(wù)構(gòu)件的實(shí)現(xiàn)與語言是無關(guān)的,而傳統(tǒng)構(gòu)件常綁定服務(wù)構(gòu)件的實(shí)現(xiàn)與語言是無關(guān)的,而傳統(tǒng)構(gòu)件常綁定某種特定的語言;某種特定的語言; 服務(wù)構(gòu)件可以通過構(gòu)件容器提供服務(wù)構(gòu)件可以通過構(gòu)件容器提供QoS的服務(wù),而傳統(tǒng)的服務(wù),而傳統(tǒng)構(gòu)件完全由程序代碼直接控制。構(gòu)件完全由程序代碼直接控制。23 QoS的英文全稱為的英文全稱為Q

16、uality of Service,中文名為,中文名為服務(wù)質(zhì)量服務(wù)質(zhì)量。QoS是網(wǎng)絡(luò)的一種安全機(jī)制是網(wǎng)絡(luò)的一種安全機(jī)制, 是用來解決是用來解決網(wǎng)絡(luò)延遲和阻塞等問題的一種技術(shù)。網(wǎng)絡(luò)延遲和阻塞等問題的一種技術(shù)。244. SOA設(shè)計(jì)原則設(shè)計(jì)原則 在在SOA體系結(jié)構(gòu)中,繼承了來自對象和構(gòu)件設(shè)計(jì)的體系結(jié)構(gòu)中,繼承了來自對象和構(gòu)件設(shè)計(jì)的各種原則,例如,封裝和自我包含等。各種原則,例如,封裝和自我包含等。 那些保證服務(wù)的靈活性、松散藕合和復(fù)用能力的設(shè)計(jì)那些保證服務(wù)的靈活性、松散藕合和復(fù)用能力的設(shè)計(jì)原則,對原則,對SOA體系結(jié)構(gòu)來說同樣是非常重要的。關(guān)體系結(jié)構(gòu)來說同樣是非常重要的。關(guān)于服務(wù),一些常見的設(shè)計(jì)原則

17、如下:于服務(wù),一些常見的設(shè)計(jì)原則如下:25 (1) 明確定義的接口。服務(wù)請求者依賴于服務(wù)規(guī)約來明確定義的接口。服務(wù)請求者依賴于服務(wù)規(guī)約來調(diào)用服務(wù),因此,服務(wù)定義必須長時(shí)間穩(wěn)定,一旦公調(diào)用服務(wù),因此,服務(wù)定義必須長時(shí)間穩(wěn)定,一旦公布,不能隨意更改;服務(wù)的定義應(yīng)盡可能明確,減少布,不能隨意更改;服務(wù)的定義應(yīng)盡可能明確,減少請求者的不適當(dāng)使用;不要讓請求者看到服務(wù)內(nèi)部的請求者的不適當(dāng)使用;不要讓請求者看到服務(wù)內(nèi)部的私有數(shù)據(jù)。私有數(shù)據(jù)。 (2) 自包含和模塊化。服務(wù)封裝了那些在業(yè)務(wù)上穩(wěn)定自包含和模塊化。服務(wù)封裝了那些在業(yè)務(wù)上穩(wěn)定、重復(fù)出現(xiàn)的活動和構(gòu)件,實(shí)現(xiàn)服務(wù)的功能實(shí)體是完、重復(fù)出現(xiàn)的活動和構(gòu)件,實(shí)現(xiàn)

18、服務(wù)的功能實(shí)體是完全獨(dú)立自主的,獨(dú)立進(jìn)行部署、版本控制、自我管理全獨(dú)立自主的,獨(dú)立進(jìn)行部署、版本控制、自我管理和恢復(fù)。和恢復(fù)。26 (3) 粗粒度。服務(wù)數(shù)量不應(yīng)該太多,依靠消息交互而粗粒度。服務(wù)數(shù)量不應(yīng)該太多,依靠消息交互而不是遠(yuǎn)程過程調(diào)用,通常消息量比較大,但是服務(wù)之不是遠(yuǎn)程過程調(diào)用,通常消息量比較大,但是服務(wù)之間的交互頻度較低。間的交互頻度較低。 (4)松藕合。服務(wù)請求者可見的是服務(wù)的接口,其位松藕合。服務(wù)請求者可見的是服務(wù)的接口,其位置、實(shí)現(xiàn)技術(shù)、當(dāng)前狀態(tài)和私有數(shù)據(jù)等,對服務(wù)請求置、實(shí)現(xiàn)技術(shù)、當(dāng)前狀態(tài)和私有數(shù)據(jù)等,對服務(wù)請求者而言是不可見的。者而言是不可見的。27 (5) 互操作性、兼容

19、和策略聲明。為了確保服務(wù)規(guī)約互操作性、兼容和策略聲明。為了確保服務(wù)規(guī)約的全面和明確,策略成為一個(gè)越來越重要的方面。這的全面和明確,策略成為一個(gè)越來越重要的方面。這可以是技術(shù)相關(guān)的內(nèi)容,例如,一個(gè)服務(wù)對安全性方可以是技術(shù)相關(guān)的內(nèi)容,例如,一個(gè)服務(wù)對安全性方面的要求;也可以是與業(yè)務(wù)有關(guān)的語義方面的內(nèi)容,面的要求;也可以是與業(yè)務(wù)有關(guān)的語義方面的內(nèi)容,例如,需要滿足的費(fèi)用或者服務(wù)級別方面的要求,這例如,需要滿足的費(fèi)用或者服務(wù)級別方面的要求,這些策略對于服務(wù)在交互時(shí)是非常重要的。些策略對于服務(wù)在交互時(shí)是非常重要的。288.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)從概念上講,從概念上講,SOA有三個(gè)主

20、要的抽象級有三個(gè)主要的抽象級別,分別是:別,分別是:操作、服務(wù)和業(yè)務(wù)流程。操作、服務(wù)和業(yè)務(wù)流程。29 在在SOA中位于最低層的操作代表了單個(gè)邏輯單元的中位于最低層的操作代表了單個(gè)邏輯單元的事物。執(zhí)行操作通常會導(dǎo)致讀、寫或修改一個(gè)或多個(gè)事物。執(zhí)行操作通常會導(dǎo)致讀、寫或修改一個(gè)或多個(gè)持久性數(shù)據(jù)。持久性數(shù)據(jù)。 SOA操作可以直接與面向?qū)ο蟮姆椒ㄏ啾?,它們都操作可以直接與面向?qū)ο蟮姆椒ㄏ啾?,它們都有特定的結(jié)構(gòu)化接口,并且返回結(jié)構(gòu)化的響應(yīng),完全有特定的結(jié)構(gòu)化接口,并且返回結(jié)構(gòu)化的響應(yīng),完全同方法一樣。同方法一樣。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)30 位于第二層的服務(wù)代表了操作的邏輯分組,

21、例如,如位于第二層的服務(wù)代表了操作的邏輯分組,例如,如果將客戶管理視為服務(wù),則按照電話號碼查找客戶、果將客戶管理視為服務(wù),則按照電話號碼查找客戶、按照名稱和郵政編碼列出客戶和保存新客戶的數(shù)據(jù)就按照名稱和郵政編碼列出客戶和保存新客戶的數(shù)據(jù)就代表相關(guān)操作。代表相關(guān)操作。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)31 最高層的業(yè)務(wù)流程則是為了實(shí)現(xiàn)特定業(yè)務(wù)目標(biāo)而執(zhí)行最高層的業(yè)務(wù)流程則是為了實(shí)現(xiàn)特定業(yè)務(wù)目標(biāo)而執(zhí)行的一組長期運(yùn)行的動作或活動。業(yè)務(wù)流程通常包括多的一組長期運(yùn)行的動作或活動。業(yè)務(wù)流程通常包括多個(gè)業(yè)務(wù)調(diào)用。個(gè)業(yè)務(wù)調(diào)用。 在在SOA術(shù)語中,業(yè)務(wù)流程包括依據(jù)一組業(yè)務(wù)規(guī)則按術(shù)語中,業(yè)務(wù)流程包括依

22、據(jù)一組業(yè)務(wù)規(guī)則按照有序序列執(zhí)行的一系列操作。其中操作的排序、選照有序序列執(zhí)行的一系列操作。其中操作的排序、選擇和執(zhí)行成為饋務(wù)或流程的編排,典型的情況是調(diào)用擇和執(zhí)行成為饋務(wù)或流程的編排,典型的情況是調(diào)用已編排服務(wù)來響應(yīng)業(yè)務(wù)事件。已編排服務(wù)來響應(yīng)業(yè)務(wù)事件。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)32 從建模的觀點(diǎn)來看,從建模的觀點(diǎn)來看,SOA帶來的主要挑戰(zhàn)是如何描帶來的主要挑戰(zhàn)是如何描述設(shè)計(jì)良好的操作、服務(wù)和流程抽象的特征,以及如述設(shè)計(jì)良好的操作、服務(wù)和流程抽象的特征,以及如何系統(tǒng)地構(gòu)造它們。何系統(tǒng)地構(gòu)造它們。 針對這個(gè)問題,針對這個(gè)問題,Olaf Zimmermann 和和Pal Kro

23、gdahl 綜合了面向?qū)ο蟮姆治雠c設(shè)計(jì)綜合了面向?qū)ο蟮姆治雠c設(shè)計(jì)(OOAD)、企業(yè)體系結(jié)、企業(yè)體系結(jié)構(gòu)構(gòu)(EA)框架和業(yè)務(wù)流程建模框架和業(yè)務(wù)流程建模(BPM) 中的適當(dāng)原理,中的適當(dāng)原理,將這些規(guī)則中的原理與許多獨(dú)特的新原理組合起來,將這些規(guī)則中的原理與許多獨(dú)特的新原理組合起來,提出了面向服務(wù)的分析與設(shè)計(jì)提出了面向服務(wù)的分析與設(shè)計(jì)(Service-Orented Analysis and Design, SOAD)的概念。的概念。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)33 SOA 實(shí)現(xiàn)項(xiàng)目經(jīng)驗(yàn)表明,諸如實(shí)現(xiàn)項(xiàng)目經(jīng)驗(yàn)表明,諸如OOAD、EA 和和BPM 這樣的現(xiàn)有開發(fā)流程和表示法僅涵蓋

24、支持這樣的現(xiàn)有開發(fā)流程和表示法僅涵蓋支持SOA范式范式所需要的部分要求。所需要的部分要求。 SOA方法在加強(qiáng)已經(jīng)制定的良好通用軟件體系結(jié)構(gòu)方法在加強(qiáng)已經(jīng)制定的良好通用軟件體系結(jié)構(gòu)原則的同時(shí),還增加了附加主題,例如,服務(wù)編排、原則的同時(shí),還增加了附加主題,例如,服務(wù)編排、服務(wù)庫服務(wù)總線中間件模式,在建模時(shí)是需要特別關(guān)服務(wù)庫服務(wù)總線中間件模式,在建模時(shí)是需要特別關(guān)注的。這就需要整合這三種方法,保留適用的理論,注的。這就需要整合這三種方法,保留適用的理論,摒棄不適用的地方,并且融入一些新的方法和原則。摒棄不適用的地方,并且融入一些新的方法和原則。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)34

25、總的來說,總的來說,OOAD,EA 和和BPM分別從基礎(chǔ)設(shè)計(jì)層,分別從基礎(chǔ)設(shè)計(jì)層,應(yīng)用結(jié)構(gòu)層和業(yè)務(wù)組織層三個(gè)層次上為應(yīng)用結(jié)構(gòu)層和業(yè)務(wù)組織層三個(gè)層次上為SOAD 提供提供了理論支撐。其結(jié)構(gòu)如圖了理論支撐。其結(jié)構(gòu)如圖8-3 所示。所示。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)35 1、基礎(chǔ)設(shè)計(jì)層、基礎(chǔ)設(shè)計(jì)層 SOAD的第一層是基礎(chǔ)設(shè)計(jì)層,它采用了的第一層是基礎(chǔ)設(shè)計(jì)層,它采用了OOAD 的的思想,其主要目標(biāo)是能夠進(jìn)行快速而有效的設(shè)予札開思想,其主要目標(biāo)是能夠進(jìn)行快速而有效的設(shè)予札開發(fā)以及執(zhí)行靈活且可擴(kuò)展的底層服務(wù)構(gòu)件。對于設(shè)計(jì)發(fā)以及執(zhí)行靈活且可擴(kuò)展的底層服務(wù)構(gòu)件。對于設(shè)計(jì)已定義的服務(wù)中的底層

26、類和構(gòu)件結(jié)構(gòu),已定義的服務(wù)中的底層類和構(gòu)件結(jié)構(gòu),OO是一種很是一種很有價(jià)值的方法。但是目前與有價(jià)值的方法。但是目前與SOAD有關(guān)的有關(guān)的OO設(shè)計(jì)在設(shè)計(jì)在實(shí)踐中也存在著一些問題實(shí)踐中也存在著一些問題:OO的粒度級別集中在類級的粒度級別集中在類級,對于業(yè)務(wù)服務(wù)建模來說,這樣的抽象級別太低。,對于業(yè)務(wù)服務(wù)建模來說,這樣的抽象級別太低。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)36 諸如繼承這樣的強(qiáng)關(guān)聯(lián)產(chǎn)生了相關(guān)方之間一定程度的諸如繼承這樣的強(qiáng)關(guān)聯(lián)產(chǎn)生了相關(guān)方之間一定程度的緊藕合。與此相反,緊藕合。與此相反,SOAD試圖通過松藕合來促進(jìn)靈試圖通過松藕合來促進(jìn)靈活性和敏捷性。這使得活性和敏捷性。這

27、使得OO難以與難以與SOAD體系結(jié)構(gòu)保體系結(jié)構(gòu)保持一致。諸如這些問題還有待于進(jìn)一步解決,盡管如持一致。諸如這些問題還有待于進(jìn)一步解決,盡管如此,此,OO還是為還是為SOAD提供了豐富的理論源泉。提供了豐富的理論源泉。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)37 2. 體系結(jié)構(gòu)層體系結(jié)構(gòu)層 SOAD第二層是體系結(jié)構(gòu)層,它采用了第二層是體系結(jié)構(gòu)層,它采用了EA 的理論框的理論框架。企業(yè)應(yīng)用程序和架。企業(yè)應(yīng)用程序和IT基礎(chǔ)體系結(jié)構(gòu)發(fā)展成基礎(chǔ)體系結(jié)構(gòu)發(fā)展成SOA是一是一個(gè)龐大的工程,其中可能會涉及眾多的業(yè)務(wù)流水線和個(gè)龐大的工程,其中可能會涉及眾多的業(yè)務(wù)流水線和組織單元。因此,需要應(yīng)用組織單元。

28、因此,需要應(yīng)用EA框架和參考體系結(jié)構(gòu)框架和參考體系結(jié)構(gòu),以努力實(shí)現(xiàn)單獨(dú)的解決方案之司體系結(jié)構(gòu)的一致性,以努力實(shí)現(xiàn)單獨(dú)的解決方案之司體系結(jié)構(gòu)的一致性。在。在SOA中,體系結(jié)構(gòu)層必須以表示業(yè)務(wù)服務(wù)的邏中,體系結(jié)構(gòu)層必須以表示業(yè)務(wù)服務(wù)的邏輯構(gòu)件為中心,并且集中于定義服務(wù)之間的接口和服輯構(gòu)件為中心,并且集中于定義服務(wù)之間的接口和服務(wù)級協(xié)定。務(wù)級協(xié)定。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)38 3. 業(yè)務(wù)層業(yè)務(wù)層 SOAD第三層是業(yè)務(wù)層,它采用第三層是業(yè)務(wù)層,它采用TBPM規(guī)則。規(guī)則。BPM是是一個(gè)不完整的規(guī)則,其中有許多不同的形式、表示法一個(gè)不完整的規(guī)則,其中有許多不同的形式、表示法和資源,

29、其中應(yīng)用較為廣泛的是和資源,其中應(yīng)用較為廣泛的是UML, SOA必須利用必須利用所有現(xiàn)有的所有現(xiàn)有的BPM方法作為方法作為SOAD的起點(diǎn),同時(shí)需要服的起點(diǎn),同時(shí)需要服務(wù)流程編排模型中用于驅(qū)動候選服務(wù)和它們的操作的務(wù)流程編排模型中用于驅(qū)動候選服務(wù)和它們的操作的附加技術(shù)來對其加以補(bǔ)充。此外,附加技術(shù)來對其加以補(bǔ)充。此外,SOAD中的流程建中的流程建模必須與設(shè)計(jì)層用例保持同步。模必須與設(shè)計(jì)層用例保持同步。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)39 SOAD以以O(shè)OAD、EA和和BPM為基礎(chǔ),為為基礎(chǔ),為SOA體系結(jié)體系結(jié)構(gòu)的業(yè)務(wù)和構(gòu)的業(yè)務(wù)和IT實(shí)現(xiàn)之間搭建了一座橋梁,并且為實(shí)現(xiàn)之間搭建了一

30、座橋梁,并且為SOA項(xiàng)目的分析和設(shè)計(jì)提供了一套理論方法。隨著實(shí)踐的項(xiàng)目的分析和設(shè)計(jì)提供了一套理論方法。隨著實(shí)踐的深入,深入,SOAD還有待于在理論和實(shí)踐上加以完善。還有待于在理論和實(shí)踐上加以完善。8.2 面向服務(wù)的分析與設(shè)計(jì)面向服務(wù)的分析與設(shè)計(jì)40 SOA是一種全新的體系結(jié)構(gòu),為了支持其各種特性是一種全新的體系結(jié)構(gòu),為了支持其各種特性,相關(guān)的技術(shù)規(guī)范不斷被推出。服務(wù)要以一種可互操,相關(guān)的技術(shù)規(guī)范不斷被推出。服務(wù)要以一種可互操作的方式執(zhí)行發(fā)布、發(fā)現(xiàn)和綁定這三個(gè)操作,必須有作的方式執(zhí)行發(fā)布、發(fā)現(xiàn)和綁定這三個(gè)操作,必須有一個(gè)包含每一層標(biāo)準(zhǔn)的服務(wù)棧。因此,整個(gè)一個(gè)包含每一層標(biāo)準(zhǔn)的服務(wù)棧。因此,整個(gè)SO

31、A 的的技術(shù)系列被稱為服務(wù)棧,如表技術(shù)系列被稱為服務(wù)棧,如表8-1 所示。所示。8.3 SOA的關(guān)鍵技術(shù)的關(guān)鍵技術(shù)41 1 . 發(fā)現(xiàn)服務(wù)層發(fā)現(xiàn)服務(wù)層 發(fā)現(xiàn)服務(wù)層主要用來幫助客戶端應(yīng)用程序解析遠(yuǎn)程服發(fā)現(xiàn)服務(wù)層主要用來幫助客戶端應(yīng)用程序解析遠(yuǎn)程服務(wù)的位置,通過務(wù)的位置,通過UDDI來實(shí)現(xiàn)。來實(shí)現(xiàn)。 UDDI 規(guī)范由規(guī)范由Microsoft 、IBM 和和Ariba 三家公司在三家公司在2000 年年7月提出,它是服務(wù)的信息注冊規(guī)范,以便被月提出,它是服務(wù)的信息注冊規(guī)范,以便被需要該服務(wù)的用戶發(fā)現(xiàn)和使用它。需要該服務(wù)的用戶發(fā)現(xiàn)和使用它。UDDI規(guī)范描述了規(guī)范描述了服務(wù)的概念,同時(shí)也定義了一種編程接口

32、。通過服務(wù)的概念,同時(shí)也定義了一種編程接口。通過UDDI提供的標(biāo)準(zhǔn)接口,企業(yè)可以發(fā)布自己的服務(wù)供提供的標(biāo)準(zhǔn)接口,企業(yè)可以發(fā)布自己的服務(wù)供其他企業(yè)查詢和調(diào)用,也可以查詢特定服務(wù)的描述信其他企業(yè)查詢和調(diào)用,也可以查詢特定服務(wù)的描述信息,并動態(tài)綁定到該服務(wù)上。通過息,并動態(tài)綁定到該服務(wù)上。通過UDDI,Web服務(wù)可服務(wù)可以真正實(shí)現(xiàn)信息的以真正實(shí)現(xiàn)信息的一次注冊到處訪問一次注冊到處訪問。8.3 SOA的關(guān)鍵技術(shù)的關(guān)鍵技術(shù)42 2. 描述服務(wù)層描述服務(wù)層 描述層為客戶端應(yīng)用程序提供正確地與遠(yuǎn)程服務(wù)交互描述層為客戶端應(yīng)用程序提供正確地與遠(yuǎn)程服務(wù)交互的描述信息,主要通過的描述信息,主要通過WSDL來實(shí)現(xiàn)。與

33、來實(shí)現(xiàn)。與UDDI一樣一樣,WSDL 也是由也是由Microsoft 、IBM 和和Arba 三家公司三家公司在在2000 年年7 月提出的。月提出的。WSDL為服務(wù)提供者提供以為服務(wù)提供者提供以xML格式描述服務(wù)請求的標(biāo)準(zhǔn)格式,將網(wǎng)絡(luò)服務(wù)描述格式描述服務(wù)請求的標(biāo)準(zhǔn)格式,將網(wǎng)絡(luò)服務(wù)描述為能夠進(jìn)行消息交換的通信端點(diǎn)集合,以表達(dá)一個(gè)服為能夠進(jìn)行消息交換的通信端點(diǎn)集合,以表達(dá)一個(gè)服務(wù)能做什么,它的位置在哪,如何調(diào)用它等信息。務(wù)能做什么,它的位置在哪,如何調(diào)用它等信息。8.3 SOA的關(guān)鍵技術(shù)的關(guān)鍵技術(shù)43 3. 消息格式層消息格式層 消息格式層主要用來保證客戶端應(yīng)用程序和服務(wù)器端消息格式層主要用來保

34、證客戶端應(yīng)用程序和服務(wù)器端在格式設(shè)置上保持一致,一般通過在格式設(shè)置上保持一致,一般通過SOAP來實(shí)現(xiàn)。來實(shí)現(xiàn)。SOAP定義了服務(wù)請求者和服務(wù)提供者之間的消息傳定義了服務(wù)請求者和服務(wù)提供者之間的消息傳輸規(guī)范。輸規(guī)范。SOAP用用XML來格式化消息,用來格式化消息,用HTTP來承來承載消息。載消息。8.3 SOA的關(guān)鍵技術(shù)的關(guān)鍵技術(shù)44 SOAP包括三個(gè)部分包括三個(gè)部分: 定義了描述消息和如何處理消息的框架的封裝定義了描述消息和如何處理消息的框架的封裝(SOAP封裝封裝)、表達(dá)應(yīng)用程序定義的數(shù)據(jù)類型實(shí)例的、表達(dá)應(yīng)用程序定義的數(shù)據(jù)類型實(shí)例的編碼規(guī)則編碼規(guī)則(SOAP 編碼規(guī)則編碼規(guī)則),以及描述遠(yuǎn)程

35、過程調(diào)用,以及描述遠(yuǎn)程過程調(diào)用和應(yīng)答的協(xié)議和應(yīng)答的協(xié)議(SOAP RPC 表示表示) 。8.3 SOA的關(guān)鍵技術(shù)的關(guān)鍵技術(shù)45 4. 編碼格式層編碼格式層 編碼格式層主要為客戶端和服務(wù)器之間提供一個(gè)標(biāo)準(zhǔn)編碼格式層主要為客戶端和服務(wù)器之間提供一個(gè)標(biāo)準(zhǔn)的、獨(dú)立于平臺的數(shù)據(jù)交換編碼格式,一般通過的、獨(dú)立于平臺的數(shù)據(jù)交換編碼格式,一般通過XML來實(shí)現(xiàn)。來實(shí)現(xiàn)。XML是一種元語言,可以用來定義和描述結(jié)是一種元語言,可以用來定義和描述結(jié)構(gòu)化數(shù)據(jù)。構(gòu)化數(shù)據(jù)。XML使用基于文本的、利用標(biāo)準(zhǔn)字符集的使用基于文本的、利用標(biāo)準(zhǔn)字符集的編碼方案,從而避開了二進(jìn)制編碼的平臺不兼容問題編碼方案,從而避開了二進(jìn)制編碼的平臺

36、不兼容問題bXML有很多優(yōu)點(diǎn),包括跨平臺支持,公用類型系統(tǒng)有很多優(yōu)點(diǎn),包括跨平臺支持,公用類型系統(tǒng)和對行業(yè)標(biāo)準(zhǔn)字符集的支持,它是服務(wù)得以實(shí)現(xiàn)的語和對行業(yè)標(biāo)準(zhǔn)字符集的支持,它是服務(wù)得以實(shí)現(xiàn)的語言基礎(chǔ)。服務(wù)的其他協(xié)議規(guī)范都是以言基礎(chǔ)。服務(wù)的其他協(xié)議規(guī)范都是以XML形式來描述形式來描述和表達(dá)的。和表達(dá)的。8.3 SOA的關(guān)鍵技術(shù)的關(guān)鍵技術(shù)46 5. 傳輸協(xié)議層傳輸協(xié)議層 傳輸協(xié)議層主要為客戶端和服務(wù)器之間提供兩者交互傳輸協(xié)議層主要為客戶端和服務(wù)器之間提供兩者交互的網(wǎng)絡(luò)通信協(xié)議,一般通過的網(wǎng)絡(luò)通信協(xié)議,一般通過HTTP(超文本協(xié)議超文本協(xié)議)和和SMTP (簡單郵件傳輸協(xié)議簡單郵件傳輸協(xié)議)來實(shí)現(xiàn)。來

37、實(shí)現(xiàn)。HTTP 是一個(gè)在是一個(gè)在Internet 上廣泛使用的協(xié)議,為服務(wù)部件通過上廣泛使用的協(xié)議,為服務(wù)部件通過Internet“交互奠定了協(xié)議基礎(chǔ),并具有穿透防火墻交互奠定了協(xié)議基礎(chǔ),并具有穿透防火墻的良好特性。的良好特性。SMTP 則適合于異步通信,如果服務(wù)中則適合于異步通信,如果服務(wù)中斷,斷,SMTP可以自動進(jìn)行重試??梢宰詣舆M(jìn)行重試。8.3 SOA的關(guān)鍵技術(shù)的關(guān)鍵技術(shù)478.4 SOA的實(shí)現(xiàn)方法的實(shí)現(xiàn)方法 SOA 只是一種概念和思想,需要借助于具體的技術(shù)只是一種概念和思想,需要借助于具體的技術(shù)和方法來實(shí)現(xiàn)它。從本質(zhì)上來看,和方法來實(shí)現(xiàn)它。從本質(zhì)上來看,SOA 是用本地計(jì)是用本地計(jì)算模

38、型來實(shí)現(xiàn)一個(gè)分布式的計(jì)算應(yīng)用,也有人稱這種算模型來實(shí)現(xiàn)一個(gè)分布式的計(jì)算應(yīng)用,也有人稱這種方法為方法為“本地化設(shè)計(jì),分布式工作本地化設(shè)計(jì),分布式工作”模型。模型。CORBA,DCOM 和和EJB 等都屬于這種解決方式,也等都屬于這種解決方式,也就是說,就是說,SOA 最終可以基于這些標(biāo)準(zhǔn)來實(shí)現(xiàn)。最終可以基于這些標(biāo)準(zhǔn)來實(shí)現(xiàn)。 從邏輯上和高層抽象來看,目前,實(shí)現(xiàn)從邏輯上和高層抽象來看,目前,實(shí)現(xiàn)SOA 的方法的方法也比較多,其中主流方式有也比較多,其中主流方式有Web Service、企業(yè)服務(wù)、企業(yè)服務(wù)總線和服務(wù)注冊表??偩€和服務(wù)注冊表。488.4 SOA的實(shí)現(xiàn)方法的實(shí)現(xiàn)方法 1. Web Serv

39、ice (Web服務(wù)體系結(jié)構(gòu)服務(wù)體系結(jié)構(gòu)) 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和通信技術(shù)的發(fā)展,網(wǎng)絡(luò)己無處隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和通信技術(shù)的發(fā)展,網(wǎng)絡(luò)己無處不在。自從不在。自從lnternet(互聯(lián)網(wǎng)互聯(lián)網(wǎng))誕生以來,部署在誕生以來,部署在Web 上的應(yīng)用隨著上的應(yīng)用隨著Internet 的深入人心而不斷發(fā)展。然而的深入人心而不斷發(fā)展。然而,當(dāng),當(dāng)Web應(yīng)用己經(jīng)走人人們的日常工作和生活的時(shí)候應(yīng)用己經(jīng)走人人們的日常工作和生活的時(shí)候,人們卻發(fā)現(xiàn)在,人們卻發(fā)現(xiàn)在Web應(yīng)用和傳統(tǒng)桌面應(yīng)用應(yīng)用和傳統(tǒng)桌面應(yīng)用(例如企業(yè)例如企業(yè)內(nèi)部的管理信息系統(tǒng)、辦公自動化系統(tǒng)等內(nèi)部的管理信息系統(tǒng)、辦公自動化系統(tǒng)等)之間存在之間存在著連接的鴻

40、溝,于是不得不重復(fù)地將數(shù)據(jù)從著連接的鴻溝,于是不得不重復(fù)地將數(shù)據(jù)從Web應(yīng)用應(yīng)用遷移到傳統(tǒng)桌面應(yīng)用,或從傳統(tǒng)桌面應(yīng)用將數(shù)據(jù)遷移遷移到傳統(tǒng)桌面應(yīng)用,或從傳統(tǒng)桌面應(yīng)用將數(shù)據(jù)遷移到到Web應(yīng)用。應(yīng)用。 498.4 SOA的實(shí)現(xiàn)方法的實(shí)現(xiàn)方法1. Web Service (Web服務(wù)體系結(jié)構(gòu)服務(wù)體系結(jié)構(gòu)) 近年來,電子商務(wù)和電子政務(wù)迅速掘起,大多數(shù)電子近年來,電子商務(wù)和電子政務(wù)迅速掘起,大多數(shù)電子商務(wù)的應(yīng)用在處理客戶、供應(yīng)商、市場和服務(wù)提供商商務(wù)的應(yīng)用在處理客戶、供應(yīng)商、市場和服務(wù)提供商之間的連接方式上各不相同。如何將這些應(yīng)用方便而之間的連接方式上各不相同。如何將這些應(yīng)用方便而廉價(jià)地連接在一起,從而實(shí)

41、現(xiàn)大范圍的跨組織的商務(wù)廉價(jià)地連接在一起,從而實(shí)現(xiàn)大范圍的跨組織的商務(wù)應(yīng)用系統(tǒng)的互聯(lián),是擺在開發(fā)人員面前的一道難題。應(yīng)用系統(tǒng)的互聯(lián),是擺在開發(fā)人員面前的一道難題。 不同的應(yīng)用不同的應(yīng)用(特別是不同組織的應(yīng)用特別是不同組織的應(yīng)用)的開發(fā)語言不同,的開發(fā)語言不同,部署平臺不同,通信協(xié)議也可能不同,對外交換的數(shù)部署平臺不同,通信協(xié)議也可能不同,對外交換的數(shù)據(jù)格式更可能有很大的差異。如何去面對這些差異所據(jù)格式更可能有很大的差異。如何去面對這些差異所帶來的復(fù)雜的系統(tǒng)集成的挑戰(zhàn)是解決這道難題的關(guān)鍵。帶來的復(fù)雜的系統(tǒng)集成的挑戰(zhàn)是解決這道難題的關(guān)鍵。50 Web服務(wù)服務(wù)(Web Services)作為一種新興的

42、作為一種新興的Web應(yīng)用應(yīng)用模式,是一種嶄新的分布式計(jì)算模型,是模式,是一種嶄新的分布式計(jì)算模型,是Web上數(shù)據(jù)上數(shù)據(jù)和信息集成的有效機(jī)制。和信息集成的有效機(jī)制。 從電子商務(wù)應(yīng)用領(lǐng)域來看,復(fù)雜的應(yīng)用鏈接和程序代從電子商務(wù)應(yīng)用領(lǐng)域來看,復(fù)雜的應(yīng)用鏈接和程序代碼使電子商務(wù)應(yīng)用的維護(hù)和更新代價(jià)很高,而碼使電子商務(wù)應(yīng)用的維護(hù)和更新代價(jià)很高,而Web 服務(wù)恰好能夠解決這一問題,成為應(yīng)用環(huán)境中最為合服務(wù)恰好能夠解決這一問題,成為應(yīng)用環(huán)境中最為合理的解決方案。理的解決方案。 目前,無論是在工業(yè)界還是在學(xué)術(shù)界,目前,無論是在工業(yè)界還是在學(xué)術(shù)界,web 服務(wù)都服務(wù)都被認(rèn)為被認(rèn)為美國美國Microsoft公司通過

43、公司通過一切都是服務(wù)一切都是服務(wù)來概括來概括Web服務(wù)服務(wù)將給將給IT業(yè)帶來的沖擊。業(yè)帶來的沖擊。8.4 SOA的實(shí)現(xiàn)方法的實(shí)現(xiàn)方法1. Web Service (Web服務(wù)體系結(jié)構(gòu)服務(wù)體系結(jié)構(gòu))51 什么是什么是Web服務(wù)服務(wù)Web 服務(wù)是使用標(biāo)準(zhǔn)技術(shù)在服務(wù)是使用標(biāo)準(zhǔn)技術(shù)在Internet上運(yùn)行的商務(wù)流程,上運(yùn)行的商務(wù)流程,它可以使用標(biāo)準(zhǔn)的它可以使用標(biāo)準(zhǔn)的Internet 協(xié)議協(xié)議(例如超文本傳輸協(xié)議例如超文本傳輸協(xié)議HTTP 和和XML),將功能綱領(lǐng)性地體現(xiàn)在,將功能綱領(lǐng)性地體現(xiàn)在Internet 和和Intranet (企業(yè)內(nèi)部網(wǎng)企業(yè)內(nèi)部網(wǎng))上。上。通過通過web 服務(wù)集成的應(yīng)用程序可以

44、用標(biāo)準(zhǔn)的方法把功能和服務(wù)集成的應(yīng)用程序可以用標(biāo)準(zhǔn)的方法把功能和數(shù)據(jù)數(shù)據(jù)暴露暴露出來,供其他應(yīng)用程序使用,使組織之間的商出來,供其他應(yīng)用程序使用,使組織之間的商務(wù)處理更加自動化。務(wù)處理更加自動化。Web 服務(wù)就像服務(wù)就像Web 上的構(gòu)件編程,上的構(gòu)件編程,開發(fā)人員通過調(diào)用開發(fā)人員通過調(diào)用Web應(yīng)用編程接口,將應(yīng)用編程接口,將Web服務(wù)集成進(jìn)服務(wù)集成進(jìn)他們的應(yīng)用程序,就像調(diào)用本地服務(wù)一樣。他們的應(yīng)用程序,就像調(diào)用本地服務(wù)一樣。8.4 SOA的實(shí)現(xiàn)方法的實(shí)現(xiàn)方法1. Web Service (Web服務(wù)體系結(jié)構(gòu)服務(wù)體系結(jié)構(gòu))52什么是什么是Web服務(wù)服務(wù) 學(xué)術(shù)界從不同的側(cè)面對學(xué)術(shù)界從不同的側(cè)面對we

45、b服務(wù)有不同的描述,這里服務(wù)有不同的描述,這里概括了如下幾種:概括了如下幾種: 從功能的角度描述從功能的角度描述Web 服務(wù)服務(wù),認(rèn)為,認(rèn)為Web 服務(wù)基于服務(wù)基于TCP/IP, HTTP, XML 。等規(guī)范而定義,具備如下功。等規(guī)范而定義,具備如下功能能:Web上鏈接文檔的瀏覽、事務(wù)的自動調(diào)用、服務(wù)上鏈接文檔的瀏覽、事務(wù)的自動調(diào)用、服務(wù)的動態(tài)發(fā)現(xiàn)和發(fā)布。的動態(tài)發(fā)現(xiàn)和發(fā)布。 從組成框架及實(shí)現(xiàn)目標(biāo)的角度描述從組成框架及實(shí)現(xiàn)目標(biāo)的角度描述Web 服務(wù)服務(wù),認(rèn)為,認(rèn)為Web 服務(wù)作為一種網(wǎng)絡(luò)操作,能夠利用標(biāo)準(zhǔn)的服務(wù)作為一種網(wǎng)絡(luò)操作,能夠利用標(biāo)準(zhǔn)的Web協(xié)議及接口進(jìn)行應(yīng)用間的交互。協(xié)議及接口進(jìn)行應(yīng)用間

46、的交互。53什么是什么是Web服務(wù)服務(wù) 從語義的角度描述從語義的角度描述Web服務(wù)服務(wù),認(rèn)為,認(rèn)為Web 服務(wù)是語義服務(wù)是語義Web 的一種應(yīng)用,由于考慮了語義信息的描述及表的一種應(yīng)用,由于考慮了語義信息的描述及表示,示,Web服務(wù)能夠更準(zhǔn)確地被執(zhí)行,服務(wù)組合服務(wù)能夠更準(zhǔn)確地被執(zhí)行,服務(wù)組合(service composition)能夠按所期望的目標(biāo)進(jìn)行。能夠按所期望的目標(biāo)進(jìn)行。 從網(wǎng)格計(jì)算從網(wǎng)格計(jì)算(grid computing)的角度來看的角度來看,認(rèn)為,認(rèn)為Web 服務(wù)能用于服務(wù)能用于Web 上的資源發(fā)現(xiàn)、數(shù)據(jù)管理及網(wǎng)格計(jì)上的資源發(fā)現(xiàn)、數(shù)據(jù)管理及網(wǎng)格計(jì)算平臺上異構(gòu)系統(tǒng)的協(xié)同設(shè)計(jì),從而提出

47、網(wǎng)格服務(wù)的算平臺上異構(gòu)系統(tǒng)的協(xié)同設(shè)計(jì),從而提出網(wǎng)格服務(wù)的新概念。新概念。54什么是什么是Web服務(wù)服務(wù) 從信息檢索的角度來看從信息檢索的角度來看,認(rèn)為,認(rèn)為Web 服務(wù)是包含了分服務(wù)是包含了分布策略和路由信息的電子文檔之上進(jìn)行分布式文檔檢布策略和路由信息的電子文檔之上進(jìn)行分布式文檔檢索的服務(wù)。索的服務(wù)。 從另一方面來看,針對不同的應(yīng)用背景,從另一方面來看,針對不同的應(yīng)用背景,Web服務(wù)的服務(wù)的應(yīng)用對象也不同,目前被廣泛應(yīng)用的應(yīng)用對象也不同,目前被廣泛應(yīng)用的Web服務(wù)可分為服務(wù)可分為如下如下4 類類:面向企業(yè)應(yīng)用面向企業(yè)應(yīng)用( business-oriented)的服務(wù);的服務(wù);面向消費(fèi)者面向消

48、費(fèi)者(consumer-oriented) 的服務(wù);的服務(wù);面向設(shè)備面向設(shè)備( device-oriented) 的服務(wù);的服務(wù);面向系統(tǒng)面向系統(tǒng)( system- oriented)的服務(wù)。的服務(wù)。55什么是什么是Web服務(wù)服務(wù) 盡管對盡管對web 服務(wù)進(jìn)行描述的出發(fā)點(diǎn)或應(yīng)用類型不同,服務(wù)進(jìn)行描述的出發(fā)點(diǎn)或應(yīng)用類型不同,但是它們均具有如下共同特征:但是它們均具有如下共同特征:應(yīng)用的分布式應(yīng)用的分布式 應(yīng)用到應(yīng)用的交互應(yīng)用到應(yīng)用的交互平臺無關(guān)性平臺無關(guān)性56什么是什么是Web服務(wù)服務(wù) (1)應(yīng)用的分布式:應(yīng)用的分布式:為適應(yīng)網(wǎng)絡(luò)應(yīng)用中分布式的數(shù)據(jù)源和服務(wù)提供者,為適應(yīng)網(wǎng)絡(luò)應(yīng)用中分布式的數(shù)據(jù)源和

49、服務(wù)提供者,分布式的服務(wù)響應(yīng)、松散藕合是分布式的服務(wù)響應(yīng)、松散藕合是web服務(wù)必須具備服務(wù)必須具備的特征。的特征。在應(yīng)用中,服務(wù)請求者不必關(guān)心服務(wù)提供者的數(shù)在應(yīng)用中,服務(wù)請求者不必關(guān)心服務(wù)提供者的數(shù)據(jù)源格式是什么,某一服務(wù)請求需調(diào)用哪些服務(wù),據(jù)源格式是什么,某一服務(wù)請求需調(diào)用哪些服務(wù),服務(wù)請求在服務(wù)請求在web上怎樣被執(zhí)行等,即上怎樣被執(zhí)行等,即Web 服務(wù)對服務(wù)對用戶具有分布透明性。用戶具有分布透明性。57什么是什么是Web服務(wù)服務(wù) (2) 應(yīng)用到應(yīng)用的交互:應(yīng)用到應(yīng)用的交互:在分布式的環(huán)境中在分布式的環(huán)境中, 若采用集中控制方式,服務(wù)器若采用集中控制方式,服務(wù)器有較大的負(fù)荷,并且系統(tǒng)不具有

50、健壯性。因此應(yīng)有較大的負(fù)荷,并且系統(tǒng)不具有健壯性。因此應(yīng)用到應(yīng)用的交互,使得用到應(yīng)用的交互,使得Web 服務(wù)更具可伸縮性。服務(wù)更具可伸縮性。58什么是什么是Web服務(wù)服務(wù) (3)平臺無關(guān)性:平臺無關(guān)性:Web服務(wù)的界面、跨服務(wù)的界面、跨Web服務(wù)的事務(wù)、工作流、服務(wù)的事務(wù)、工作流、消息認(rèn)證,安全機(jī)制均采用規(guī)范的協(xié)議和約定;消息認(rèn)證,安全機(jī)制均采用規(guī)范的協(xié)議和約定;由于由于Web服務(wù)采用簡單、易理解的標(biāo)準(zhǔn)服務(wù)采用簡單、易理解的標(biāo)準(zhǔn)Web協(xié)議協(xié)議作為構(gòu)件接口和協(xié)同描述的規(guī)范,完全屏蔽了不作為構(gòu)件接口和協(xié)同描述的規(guī)范,完全屏蔽了不同軟件平臺的差異,因此具有可集成能力。同軟件平臺的差異,因此具有可集成

51、能力。59Web服務(wù)的特點(diǎn)服務(wù)的特點(diǎn) 使用標(biāo)準(zhǔn)協(xié)議規(guī)范:使用標(biāo)準(zhǔn)協(xié)議規(guī)范:所有的所有的web 服務(wù)公共協(xié)議完全需要使用開放的標(biāo)服務(wù)公共協(xié)議完全需要使用開放的標(biāo)準(zhǔn)協(xié)議進(jìn)行描述、傳輸和交換,這些標(biāo)準(zhǔn)協(xié)議具準(zhǔn)協(xié)議進(jìn)行描述、傳輸和交換,這些標(biāo)準(zhǔn)協(xié)議具有完全免費(fèi)的規(guī)范,以便由任意組織進(jìn)行實(shí)現(xiàn)。有完全免費(fèi)的規(guī)范,以便由任意組織進(jìn)行實(shí)現(xiàn)。一般而言,絕大多數(shù)規(guī)范將最終由一般而言,絕大多數(shù)規(guī)范將最終由W3C或或OASIS 作為最終版本的發(fā)布方和維護(hù)方。作為最終版本的發(fā)布方和維護(hù)方。60Web服務(wù)的特點(diǎn)服務(wù)的特點(diǎn) 使用協(xié)議的規(guī)范性:使用協(xié)議的規(guī)范性:這一特征來源于對象的概念,但相比一般對象而言,這一特征來源于對象

52、的概念,但相比一般對象而言,web服務(wù)的界面更加規(guī)范化和易于機(jī)器理解。首先,作為服務(wù)的界面更加規(guī)范化和易于機(jī)器理解。首先,作為Web服務(wù),對象界面所提供的功能應(yīng)當(dāng)使用標(biāo)準(zhǔn)的描述語言來服務(wù),對象界面所提供的功能應(yīng)當(dāng)使用標(biāo)準(zhǔn)的描述語言來描述。其次,由標(biāo)準(zhǔn)描述語言描述的服務(wù)界面應(yīng)當(dāng)是能夠描述。其次,由標(biāo)準(zhǔn)描述語言描述的服務(wù)界面應(yīng)當(dāng)是能夠被發(fā)現(xiàn)的,因此這一描述文檔需要存儲在私有的或公共的被發(fā)現(xiàn)的,因此這一描述文檔需要存儲在私有的或公共的注冊庫里面。同時(shí),使用標(biāo)準(zhǔn)描述語言描述的協(xié)議不僅僅注冊庫里面。同時(shí),使用標(biāo)準(zhǔn)描述語言描述的協(xié)議不僅僅是服務(wù)界面,它將延仲到是服務(wù)界面,它將延仲到Web 服務(wù)的聚合、跨服

53、務(wù)的聚合、跨Web 服務(wù)服務(wù)的事務(wù)、工作流等,而這些又都需要服務(wù)質(zhì)量的保障。的事務(wù)、工作流等,而這些又都需要服務(wù)質(zhì)量的保障。61Web服務(wù)的特點(diǎn)服務(wù)的特點(diǎn) 高度集成能力高度集成能力由于由于web 服務(wù)采用簡單的、易理解的標(biāo)準(zhǔn)服務(wù)采用簡單的、易理解的標(biāo)準(zhǔn)web 協(xié)議作為協(xié)議作為構(gòu)件界面描述和協(xié)同描述規(guī)范,完全屏蔽了不同軟件平臺構(gòu)件界面描述和協(xié)同描述規(guī)范,完全屏蔽了不同軟件平臺的差異,無論是的差異,無論是COBRA,DCOM 還是還是EJB,都可以通過這,都可以通過這一標(biāo)準(zhǔn)的協(xié)議進(jìn)行互操作,實(shí)現(xiàn)了在當(dāng)前環(huán)境下的最高的一標(biāo)準(zhǔn)的協(xié)議進(jìn)行互操作,實(shí)現(xiàn)了在當(dāng)前環(huán)境下的最高的集成性。集成性。62Web服務(wù)的

54、特點(diǎn)服務(wù)的特點(diǎn) 完好的封裝性:完好的封裝性:Web服務(wù)既然是一種部署在服務(wù)既然是一種部署在Web上的對象,自然具備對象上的對象,自然具備對象的良好封裝性,對于使用者而言,他能且僅能看到該對象的良好封裝性,對于使用者而言,他能且僅能看到該對象提供的功能列表。提供的功能列表。63Web服務(wù)的特點(diǎn)服務(wù)的特點(diǎn) 松散耦合松散耦合 :這一特征也是源于對象這一特征也是源于對象/構(gòu)件技術(shù),當(dāng)一個(gè)構(gòu)件技術(shù),當(dāng)一個(gè)web 服務(wù)的實(shí)服務(wù)的實(shí)現(xiàn)發(fā)生變更的時(shí)候,調(diào)用者是不會感到這一點(diǎn)的,對于調(diào)現(xiàn)發(fā)生變更的時(shí)候,調(diào)用者是不會感到這一點(diǎn)的,對于調(diào)用者來說,只要用者來說,只要Web 服務(wù)的調(diào)用界面不變,服務(wù)的調(diào)用界面不變,W

55、eb 服務(wù)實(shí)服務(wù)實(shí)現(xiàn)的任何變更對他們來說都是透明的,甚至是當(dāng)現(xiàn)的任何變更對他們來說都是透明的,甚至是當(dāng)Web 服務(wù)服務(wù)的實(shí)現(xiàn)平臺從的實(shí)現(xiàn)平臺從J2EE 遷移到了遷移到了. NET 或者是相反的遷移流程,或者是相反的遷移流程,用戶部可以對此一無所知。討于松散耦合而言,尤其是對用戶部可以對此一無所知。討于松散耦合而言,尤其是對Internet環(huán)境下的環(huán)境下的Web 服務(wù)而言,需要有一種適合服務(wù)而言,需要有一種適合Internet環(huán)境的消息交換協(xié)議,環(huán)境的消息交換協(xié)議,XML/SOAP 正是目前最為正是目前最為適合的消息交換協(xié)議。適合的消息交換協(xié)議。64Web服務(wù)開發(fā)生命周期服務(wù)開發(fā)生命周期 Web

56、服務(wù)開發(fā)生命周期包括了設(shè)計(jì)和部署以及在運(yùn)行服務(wù)開發(fā)生命周期包括了設(shè)計(jì)和部署以及在運(yùn)行時(shí)對服務(wù)代理時(shí)對服務(wù)代理;服務(wù)提供者和服務(wù)請求者每一個(gè)角色服務(wù)提供者和服務(wù)請求者每一個(gè)角色的要求。每個(gè)角色對生命周期的每一元素都有特定要的要求。每個(gè)角色對生命周期的每一元素都有特定要求。求。(1) 構(gòu)建。構(gòu)建階段包括開發(fā)和測試構(gòu)建。構(gòu)建階段包括開發(fā)和測試web服務(wù)的實(shí)現(xiàn)、定服務(wù)的實(shí)現(xiàn)、定義服務(wù)接口描述和定義服務(wù)實(shí)現(xiàn)描述??梢酝ㄟ^創(chuàng)建新的義服務(wù)接口描述和定義服務(wù)實(shí)現(xiàn)描述??梢酝ㄟ^創(chuàng)建新的Web 服務(wù)把現(xiàn)有的應(yīng)用程序變成服務(wù)把現(xiàn)有的應(yīng)用程序變成Web服務(wù)和由其他服務(wù)和由其他Web 服務(wù)和應(yīng)用程序組成新的服務(wù)和應(yīng)用程

57、序組成新的Web 服務(wù)等方式來提供服務(wù)等方式來提供Web 服服務(wù)的實(shí)現(xiàn)。務(wù)的實(shí)現(xiàn)。65Web服務(wù)開發(fā)生命周期服務(wù)開發(fā)生命周期 (2) 部署部署部署階段包括向服務(wù)請求者或服務(wù)注冊中心發(fā)布服務(wù)接口部署階段包括向服務(wù)請求者或服務(wù)注冊中心發(fā)布服務(wù)接口和服務(wù)實(shí)現(xiàn)的定義,以及把和服務(wù)實(shí)現(xiàn)的定義,以及把Web服務(wù)的可執(zhí)行文件部署到服務(wù)的可執(zhí)行文件部署到執(zhí)行環(huán)境執(zhí)行環(huán)境(典型情況下,是典型情況下,是Web應(yīng)用程序服務(wù)器應(yīng)用程序服務(wù)器)中。中。 (3) 運(yùn)行運(yùn)行在運(yùn)行階段,可以調(diào)用在運(yùn)行階段,可以調(diào)用Web服務(wù)。這時(shí),服務(wù)。這時(shí),Web服務(wù)己完全服務(wù)己完全部署、可操作,并且服務(wù)提供者可以通過網(wǎng)絡(luò)訪問服務(wù)。部署、

58、可操作,并且服務(wù)提供者可以通過網(wǎng)絡(luò)訪問服務(wù)。由此,服務(wù)請求者就可以進(jìn)行查找和綁定操作。由此,服務(wù)請求者就可以進(jìn)行查找和綁定操作。66Web服務(wù)開發(fā)生命周期服務(wù)開發(fā)生命周期 (4) 管理:管理:管埋階段包括持續(xù)的管理和經(jīng)營管埋階段包括持續(xù)的管理和經(jīng)營Web服務(wù)應(yīng)用程序。在此服務(wù)應(yīng)用程序。在此階段,安全性、可用性、性能、服務(wù)質(zhì)量和業(yè)務(wù)流程問題階段,安全性、可用性、性能、服務(wù)質(zhì)量和業(yè)務(wù)流程問題都必須被解決。都必須被解決。67Web體系結(jié)構(gòu)的優(yōu)勢體系結(jié)構(gòu)的優(yōu)勢 Web服務(wù)是近年來提出的一種新的面向服務(wù)的體系結(jié)服務(wù)是近年來提出的一種新的面向服務(wù)的體系結(jié)構(gòu),同傳統(tǒng)分布式體系結(jié)構(gòu)相比構(gòu),同傳統(tǒng)分布式體系結(jié)構(gòu)

59、相比web 服務(wù)體系結(jié)構(gòu)服務(wù)體系結(jié)構(gòu)的主要優(yōu)勢體現(xiàn)在以下的主要優(yōu)勢體現(xiàn)在以下4 個(gè)方面:個(gè)方面:高度的通用性和易用性高度的通用性和易用性完全的平臺、語言獨(dú)立性完全的平臺、語言獨(dú)立性高度的集成性高度的集成性容易部署和發(fā)布容易部署和發(fā)布68 (1) 高度的通用性和易用性高度的通用性和易用性Web 服務(wù)利用標(biāo)準(zhǔn)的服務(wù)利用標(biāo)準(zhǔn)的Internet 協(xié)議協(xié)議(如如HTTP,SMTP 等等),解決了面向解決了面向web 的分布式計(jì)算模型,提高了系統(tǒng)的開放性、的分布式計(jì)算模型,提高了系統(tǒng)的開放性、通用性和可擴(kuò)展性通用性和可擴(kuò)展性;而而CORBA,DCOM 和和RMI 等使用私有等使用私有協(xié)議,只能解決企業(yè)內(nèi)部

60、的對等實(shí)體間的分布式計(jì)算。協(xié)議,只能解決企業(yè)內(nèi)部的對等實(shí)體間的分布式計(jì)算。此外,此外,HTTP能夠很容易地跨越系統(tǒng)的防火墻,具有高度能夠很容易地跨越系統(tǒng)的防火墻,具有高度的易用性。的易用性。69 (2)完全的平臺完全的平臺語言獨(dú)立性。語言獨(dú)立性。Web服務(wù)進(jìn)行了更高程度的抽象,只要遵循服務(wù)進(jìn)行了更高程度的抽象,只要遵循Web服務(wù)的接口,即可進(jìn)行服務(wù)的請求和調(diào)用。服務(wù)的接口,即可進(jìn)行服務(wù)的請求和調(diào)用。Web 服務(wù)服務(wù)將將XML作為信息交換格式,使信息的處理更加簡單,廠商作為信息交換格式,使信息的處理更加簡單,廠商之間的信息很容易實(shí)現(xiàn)溝通,這種信息格式最適合跨平臺之間的信息很容易實(shí)現(xiàn)溝通,這種信息

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論