WebService技術(shù)概論_第1頁(yè)
WebService技術(shù)概論_第2頁(yè)
WebService技術(shù)概論_第3頁(yè)
WebService技術(shù)概論_第4頁(yè)
WebService技術(shù)概論_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1Web Service技術(shù)簡(jiǎn)介2摘要 概述:是什么、做什么? 體系結(jié)構(gòu):組件與操作 主要協(xié)議SOAP WSDLUDDI Web Service安全 主要開(kāi)發(fā)工具 主要研究?jī)?nèi)容 參考文獻(xiàn)3什么是Web Service 一個(gè) Web 服務(wù)就是一個(gè)應(yīng)用程序,它可以通過(guò)輕量級(jí)的、與廠商無(wú)關(guān)的通信協(xié)議從其他的系統(tǒng)跨網(wǎng)絡(luò)(Internet 或者 Intranet)接受 XML 格式的請(qǐng)求 基于XML的一種分布式計(jì)算技術(shù)、一種中間件技術(shù) 一種松散耦合的、面向服務(wù)的架構(gòu) 在這種面向服務(wù)的架構(gòu)中,接口的定義是至關(guān)重要的。正是接口定義(通常由 WSDL 來(lái)表達(dá))作為服務(wù)所提供的東西和客戶(hù)端所期望的結(jié)果之間的合約

2、。 為了確保參與的各方是松散耦合的,必須同意兩個(gè)關(guān)鍵的事項(xiàng):共同的通信格式(也就是消息的樣式)和共同的協(xié)議(也就是消息如何到達(dá))。 最常見(jiàn)的組合是通過(guò) HTTP(協(xié)議)的 SOAP (格式)。4什么是Web Service(Cont.)一個(gè) Web 服務(wù)是一個(gè)接受 XML 格式請(qǐng)求的應(yīng)用程序 無(wú)論一個(gè)遠(yuǎn)程函數(shù)調(diào)用是否作用于 Web 服務(wù),或者一個(gè)消息是否發(fā)送給它,都必須用 XML 標(biāo)記封裝請(qǐng)求。 從其他系統(tǒng)跨網(wǎng)絡(luò)(Internet 或者 Intranet) Web 服務(wù)類(lèi)似于其他分布式計(jì)算技術(shù),使遠(yuǎn)程、分布式企業(yè)應(yīng)用程序成為可能。例如DCOM、CORBA等,實(shí)際上可以認(rèn)為Web服務(wù)是分布式技術(shù)

3、的發(fā)展。 Web 服務(wù)堆棧的平臺(tái)的互操作性 這種互操作性是使得 Web 服務(wù)對(duì)于 EAI 如此具有吸引力的關(guān)鍵特征。5什么是Web Service(Cont.)輕量級(jí)Web 服務(wù)所依賴(lài)的技術(shù)和協(xié)議被設(shè)計(jì)得相當(dāng)輕量級(jí)的,將許多復(fù)雜的特征,比如安全性,會(huì)話(huà)處理和事務(wù)處理,都留給 Web 服務(wù)規(guī)范的擴(kuò)展來(lái)處理。與廠商無(wú)關(guān)的通信協(xié)議因?yàn)?Web 服務(wù)是基于標(biāo)準(zhǔn)的開(kāi)放協(xié)議, Web 服務(wù)系統(tǒng)提供了跨越所有廠商,實(shí)現(xiàn)了異構(gòu)系統(tǒng)的互操作6W3Cs Definition A Web service is a software system designed to support interoperable m

4、achine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conju

5、nction with other Web-related standards. 7Web服務(wù)可以做什么 讓任何平臺(tái)上的用任何語(yǔ)言編寫(xiě)的服務(wù)進(jìn)行交互 將應(yīng)用程序功能概念化成任務(wù)(服務(wù)),從而形成面向任務(wù)的開(kāi)發(fā)和工作流。這使得更抽象的軟件能夠?yàn)楣ぷ髟跇I(yè)務(wù)層面具有較少軟件分析技術(shù)的用戶(hù)所用 允許松耦合,這意味著,每當(dāng)其中某個(gè)或多個(gè)服務(wù)在設(shè)計(jì)或?qū)崿F(xiàn)中發(fā)生變更時(shí),服務(wù)應(yīng)用程序之間的交互可能不會(huì)因此而中斷 使現(xiàn)有的應(yīng)用程序能適應(yīng)變化中的業(yè)務(wù)條件和客戶(hù)需要8Web服務(wù)可以做什么(Cont.) 向現(xiàn)有或遺留的軟件應(yīng)用程序提供服務(wù)接口,而無(wú)需改變?cè)瓉?lái)的應(yīng)用程序,從而使這些應(yīng)用程序完全可以運(yùn)行在這種服務(wù)環(huán)境下

6、引入其他一些與原有功能無(wú)關(guān)的管理或操作管理功能,比如可靠性、可計(jì)帳性和安全性等等,從而在業(yè)務(wù)計(jì)算環(huán)境中增加了其通用性和實(shí)用性 典型應(yīng)用 組件化電子服務(wù)(Componentized E-Services)(B2B) 企業(yè)應(yīng)用集成(Enterprise Application Integration,EAI) 企業(yè)內(nèi)部組件重用(Intra-enterprise component reuse Intra-enterprise) 9Web服務(wù)體系結(jié)構(gòu)組件 服務(wù)提供者 提供服務(wù)及維護(hù)注冊(cè)表以使服務(wù)可用; 代理服務(wù)提供者與服務(wù)請(qǐng)求者的中介;傳統(tǒng)的代理是UDDI注冊(cè)中心; 服務(wù)請(qǐng)求者 發(fā)現(xiàn) Web 服務(wù),

7、然后調(diào)用這些服務(wù)以創(chuàng)建應(yīng)用程序 服務(wù)應(yīng)用程序,通過(guò)服務(wù)描述語(yǔ)言進(jìn)行描述,其描述信息通過(guò)代理發(fā)布10Web服務(wù)體系結(jié)構(gòu)操作 發(fā)布撤除發(fā)布(發(fā)布撤除發(fā)布(Publish) 發(fā)布和撤除發(fā)布是指將服務(wù)發(fā)布至代理處(發(fā)布)或除去它們的一些項(xiàng)(撤除發(fā)布)。服務(wù)提供者通過(guò)代理來(lái)發(fā)布或不發(fā)布某個(gè)服務(wù)。 查找查找 (Find), 查找操作由服務(wù)請(qǐng)求者和服務(wù)代理共同完成。服務(wù)請(qǐng)求者描述他們正在尋找的服務(wù)類(lèi)型,而服務(wù)代理發(fā)布與請(qǐng)求最匹配的結(jié)果。 綁定綁定 (Bind) 綁定操作發(fā)生在服務(wù)請(qǐng)求者和服務(wù)提供者之間。雙方經(jīng)過(guò)適當(dāng)?shù)纳逃懼螅?qǐng)求者就可以訪(fǎng)問(wèn)和調(diào)用提供者所提供的服務(wù)。11Web服務(wù)實(shí)現(xiàn)過(guò)程Web Servi

8、ces ArchitectureW3C Working Group Note 11 February 2004 整個(gè)實(shí)現(xiàn)過(guò)程基本上分為四步在這個(gè)過(guò)程中代理發(fā)揮著重要的作用12WebWeb服務(wù)實(shí)現(xiàn)過(guò)程the requester and provider entities become known to each other (or at least one becomes known to the other) the requester and provider entities somehow agree on the service description and semantics th

9、at will govern the interaction between the requester and provider agentsthe service description and semantics are realized by the requester and provider agents13WebWeb服務(wù)實(shí)現(xiàn)過(guò)程(Cont.Cont.)the requester and provider agents exchange messages, thus performing some task on behalf of the requester and provi

10、der entities. (I.e., the exchange of messages with the provider agent represents the concrete manifestation of interacting with the provider entitys Web service.)14Web Services ArchitectureW3C Working Group Note 11 February 2004 “Known each other”發(fā)現(xiàn)服務(wù),將發(fā)現(xiàn)本身作為一個(gè)服務(wù)發(fā)現(xiàn)服務(wù)獲取WSD及FD請(qǐng)求者實(shí)體向發(fā)現(xiàn)服務(wù)提供選擇WEB服務(wù)的信息發(fā)現(xiàn)服

11、務(wù)返回符合標(biāo)準(zhǔn)的WSD15Web Services Architecture的思考 Agent Requester Agent and Provider Agent; 傳統(tǒng)的注冊(cè)中心被代理替代; 發(fā)現(xiàn)服務(wù)(Discovery Service) 執(zhí)行一個(gè)發(fā)現(xiàn)的過(guò)程。獲取WSD和FD、請(qǐng)求者實(shí)體提出發(fā)現(xiàn)標(biāo)準(zhǔn)、返回WSD 可以人工發(fā)現(xiàn)也可以自動(dòng)發(fā)現(xiàn)(Agent); 發(fā)現(xiàn)的途徑 注冊(cè)中心; 索引; P2P發(fā)現(xiàn); 這里有我們可以研究的問(wèn)題嗎?16Web服務(wù)主要技術(shù)及標(biāo)準(zhǔn)Web服務(wù)協(xié)議分層的描述17Web服務(wù)主要技術(shù)及標(biāo)準(zhǔn)18SOAP、UDDI與WSDL WSDL,Web Services Descrip

12、tion Language 描述Web服務(wù)的XML語(yǔ)言,提供了一種向其它程序描述Web服務(wù)的統(tǒng)一方法; 主要描述信息內(nèi)容,定義了描述Web服務(wù)接口規(guī)范的標(biāo)準(zhǔn)格式; 主要版本有 WSDL1.1、WSDL1.2及WSDL2.0 UDDI,Universal Description,Discovery and Integration 創(chuàng)建可搜索的Web服務(wù)注冊(cè)中心; 目前的最新版本是UDDI3.0; SOAP,Simple Object Access Protocol 提供了一種在Web服務(wù)與其它應(yīng)用程序之間進(jìn)行通信的機(jī)制 主要版本有SOAP1.1、SOAP1.219SOAP概述 簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議

13、其中“O”對(duì)象的含義逐步淡化 重心從對(duì)象轉(zhuǎn)移到通用的 XML 消息處理框架上 SOAP是一種輕量級(jí)協(xié)議,用于在分散型、分布式環(huán)境中交換結(jié)構(gòu)化信息。SOAP 利用 XML 技術(shù)定義一種可擴(kuò)展的消息處理框架,它提供了一種可通過(guò)多種底層協(xié)議進(jìn)行交換的消息結(jié)構(gòu)。這種框架的設(shè)計(jì)思想是要獨(dú)立于任何一種特定的編程模型和其他特定實(shí)現(xiàn)的語(yǔ)義 在協(xié)議棧中,SOAP XML 位于用來(lái)發(fā)送消息的傳輸協(xié)議之上,而位于特定領(lǐng)域的 XML 文檔之下 目前的版本是SOAP1.220SOAP體系結(jié)構(gòu) SOAP envelop,描述SOAP消息格式 SOAP encoding rules,定義了一組對(duì)數(shù)據(jù)類(lèi)型進(jìn)行編碼的規(guī)則 定義

14、應(yīng)用程序中需要使用的數(shù)據(jù)類(lèi)型,SOAP1.2將其作為一個(gè)可選項(xiàng)處理; 對(duì)于編程人員來(lái)說(shuō),沒(méi)有這個(gè)編碼更加靈活; SOAP RPC,定義了SOAP消息如何執(zhí)行遠(yuǎn)程調(diào)用 SOAP binding,SOAP綁定,定義了一個(gè)使用底層傳輸協(xié)議來(lái)完成在結(jié)點(diǎn)間交換SOAP信封的約定21SOAP消息交換模型SOAPSOAP 定義了一種方法以便將 XML 消息從發(fā)送者傳送到接收者,上圖描述了一種最簡(jiǎn)單的單向傳送模型發(fā)送者,創(chuàng)建和發(fā)送 SOAP 消息給最終的 SOAP 接收者最終 SOAP 接收者,SOAP 發(fā)送者為發(fā)送的 SOAP 消息規(guī)定的最終目的地(不是中介),在這個(gè)模型中,接收者不反饋信響應(yīng)信息,信息的發(fā)

15、送是單向的提供了一種基于 XML 且具有以下特性的消息處理框架可擴(kuò)展,該協(xié)議是簡(jiǎn)單的,缺少分布式系統(tǒng)的許多特征,如安全性、路由及可靠性等,允許分層擴(kuò)展可通過(guò)多種底層網(wǎng)絡(luò)協(xié)議使用及 獨(dú)立于編程模型22SOAP消息交換模型(Cont)請(qǐng)求/響應(yīng)模型接收方向發(fā)送方發(fā)送響應(yīng)消息 23SOAP消息交換模型(Cont) 增加可選的“SOAP中介(intermediary)”用來(lái)在 SOAP 發(fā)送者和最終 SOAP 接收者之間截取 SOAP 消息。在將消息發(fā)送給最終 SOAP 目的地之前,截取 SOAP 消息的任意中介都可以分析它,以執(zhí)行過(guò)濾、記錄和緩存等操作。SOAP 中介可以看作是發(fā)送者和接收者。24S

16、OAP消息SOAP 元素是 SOAP 消息的根元素,包含一個(gè)可選的 SOAP Header 和一個(gè)必需的 SOAP Body 元素可選的并且可擴(kuò)展的 元素,用于描述元數(shù)據(jù)(metadata),比如安全性、事務(wù)處理和會(huì)話(huà)狀態(tài)信息必需的 元素,包含發(fā)送者的 XML 文檔(文檔形式和RPC形式)在接收者(SOAP中介)返回的響應(yīng)信息中,可能包含 的元素,用來(lái)描述在閱讀 SOAP 消息時(shí)遇到的任何異常情況W3C Note 指定了一種在 SOAP 消息中嵌入和描述 附件(attachment,格式不限) 的方式25SOAP編碼描述在SOAP消息中如何表示特定種類(lèi)的數(shù)據(jù)的規(guī)則(可選)不是強(qiáng)制性的,開(kāi)發(fā)人員

17、可以選擇其它任意一種編碼方法;SOAP Header或Body元素可以具有SOAP Encoding Style屬性,該屬性包含一個(gè)映射到編碼規(guī)則的URI,它規(guī)定了對(duì)SOAP消息內(nèi)部各數(shù)據(jù)元素的數(shù)據(jù)類(lèi)型進(jìn)行定義的規(guī)則26SOAPRPC Model and Document Model RPC 一種技術(shù),應(yīng)用程序可以通過(guò)它調(diào)用(執(zhí)行)一個(gè)駐留在另一臺(tái)計(jì)算機(jī)上的過(guò)程,調(diào)用與返回; RPC形式的SOAP解決的主要是互操作性問(wèn)題,即跨越不同的網(wǎng)絡(luò)執(zhí)行任務(wù),是應(yīng)用程序與WEB服務(wù)進(jìn)行交互的一種常用機(jī)制; 文檔形式的SOAP不調(diào)用任何方法單向(one-way)的或者異步(asynchronous); 文檔

18、形式的消息可以通過(guò) SOAP 描述任意 XML 文檔,每個(gè)消息都遵循它自己獨(dú)特的協(xié)議27WSDL簡(jiǎn)介 WSDL,Web Services Description Language 提供了一種語(yǔ)法,將服務(wù)描述為交換消息的端點(diǎn)集 用一種與平臺(tái)無(wú)關(guān)的語(yǔ)言(XML)來(lái)描述一個(gè)或多個(gè)服務(wù)。它描述了服務(wù)、訪(fǎng)問(wèn)服務(wù)的方式以及需要返回的響應(yīng)的類(lèi)型(如果有的話(huà)) 可以私下交換 WSDL 文檔,也可以將其發(fā)送到 UDDI 注冊(cè)中心(公共的或者私有的),以允許更廣泛的訪(fǎng)問(wèn) 基于 XML 的文件格式,用來(lái)描述類(lèi)型(Type)、消息(Message)、操作(Operation)和接口(稱(chēng)為 端口類(lèi)型(PortTypes

19、)、定位和協(xié)議綁定 可以用 WSDL 來(lái)把 Web 服務(wù)描述成一組運(yùn)行在消息上的端點(diǎn)28WSDL簡(jiǎn)介消息描述了客戶(hù)端和服務(wù)之間的通信(通過(guò)交換的數(shù)據(jù)類(lèi)型來(lái)描述)操作包括輸入和輸出消息PortTypes 包括一組操作。而且,PortTypes 被約束在某些協(xié)議上,這稱(chēng)為綁定(binding)WSDL 是可擴(kuò)展的,可以與其他類(lèi)型的網(wǎng)絡(luò)協(xié)議和消息格式一起進(jìn)行使用29UDDI簡(jiǎn)介統(tǒng)一描述、發(fā)現(xiàn)和集成(Universal Description, Discovery, and Integration) 一個(gè)提供注冊(cè)和定位Web服務(wù)(商業(yè))的開(kāi)放框架,既是一個(gè)規(guī)范,又是若干企業(yè)間的伙伴關(guān)系UDDI 包含于

20、完整的 Web 服務(wù)協(xié)議棧之內(nèi),而且是協(xié)議棧基礎(chǔ)的主要部件之一,支持創(chuàng)建、說(shuō)明、發(fā)現(xiàn)和調(diào)用 Web 服務(wù)。 30UDDI工作原理UDDI 注冊(cè)中心包含了通過(guò)程序手段可以訪(fǎng)問(wèn)到的Web服務(wù)通過(guò) HTTP 從客戶(hù)機(jī)的 SOAP 請(qǐng)求傳到注冊(cè)中心節(jié)點(diǎn),然后再反向傳輸31UDDI工作原理(Cont.)如何往UDDI注冊(cè)中心送入數(shù)據(jù),顧客又如何能發(fā)現(xiàn)和使用這一信息。UDDI注冊(cè)中心建立在顧客提供的數(shù)據(jù)的基礎(chǔ)之上。32Web服務(wù)安全概述 保護(hù)Web服務(wù)安全性目標(biāo)可以分解為幾個(gè)子目標(biāo) 提供用來(lái)保護(hù)消息完整性和機(jī)密性的工具; 提供用來(lái)確保服務(wù)只對(duì)表達(dá)策略所需聲明的消息中的請(qǐng)求起作用的工具; 安全套接字層(SS

21、L)和實(shí)際的傳輸層安全性(Transport Layer Security,TLS)一起被用于為 Web 服務(wù)應(yīng)用程序提供傳輸級(jí)別的安全性 IPSec是另一個(gè)用于傳輸安全性的網(wǎng)絡(luò)層標(biāo)準(zhǔn)傳輸層之外的中介體接收并轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),數(shù)據(jù)的完整性和任何隨數(shù)據(jù)流動(dòng)的安全性信息都可能會(huì)丟失 Web服務(wù)應(yīng)用程序?qū)⒃S多動(dòng)態(tài)的系統(tǒng)組織在一起; 消息傳遞依賴(lài)中介,傳輸層安全措施不能保證其安全性;33點(diǎn)對(duì)點(diǎn)配置,中介處的安全性得不到保證全面的 Web 服務(wù)安全性體系架構(gòu)中所需要的是一個(gè)提供端到端安全性的機(jī)制Web服務(wù)安全性模型34Web服務(wù)安全概述(Cont.) Web 服務(wù)安全性模型使我們能夠通過(guò)一個(gè)過(guò)程達(dá)到保證安全性

22、的目的,在這個(gè)過(guò)程中: Web 服務(wù)可以要求進(jìn)來(lái)的消息證明一組 聲明(例如,名稱(chēng)、密鑰、許可、性能等等) 請(qǐng)求者可以通過(guò)把 安全性令牌與消息關(guān)聯(lián)起來(lái)發(fā)送帶必需聲明的證明的消息 如果請(qǐng)求者沒(méi)有必需的聲明,那么請(qǐng)求者或它們的代表可以通過(guò)與其它 Web 服務(wù)聯(lián)系設(shè)法獲得必需的聲明,其它的 Web 服務(wù)指的是 安全性令牌服務(wù)(security token service),可以接下來(lái)要求它們自己的一組聲明,安全性令牌服務(wù)通過(guò)簽發(fā)安全性令牌代理不同信任域之間的信任35安全性令牌服務(wù)模型這個(gè)常規(guī)的消息傳遞模型 聲明、策略和安全性令牌 包含并支持幾個(gè)更特殊的模型,比如基于身份的安全性、訪(fǎng)問(wèn)控制列表和基于性能的安全性。它允許使用現(xiàn)有的技術(shù)如 X.509 公用密鑰證書(shū)、Kerberos 共享秘密的票據(jù)甚至密碼摘要36Web服務(wù)安全 WebWeb服務(wù)的安全性構(gòu)建在

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論