亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

詳解XML Web Service

2024-09-05 20:54:30
字體:
來源:轉載
供稿:網友

XML Web Service 是在 Internet 上進行分布式計算的基本構造塊。開放的標準以及對用戶和應用程序之間的通信和協作的關注產生了這樣一種環境,在這種環境下,XML Web Service 成為應用程序集成的平臺。應用程序是通過使用多個不同來源的 XML Web Service 構造而成的,這些服務相互協同工作,而不管它們位于何處或者如何實現。
有多少個構建 XML Web Service 的公司,就可能有多少種 XML Web Service 定義。不過幾乎所有定義都具有以下共同點:
XML Web Service 通過標準的 Web 協議向 Web 用戶提供有用的功能。多數情況下使用 SOAP 協議。
XML Web Service 可以非常詳細地說明其接口,這使用戶能夠創建客戶端應用程序與它們進行通信。這種說明通常包含在稱為 Web 服務說明語言 (WSDL) 文檔的 XML 文檔中。
XML Web Service 已經過注冊,以便潛在用戶能夠輕易地找到這些服務,這是通過通用發現、說明和集成 (UDDI) 來完成的。

本文將介紹這三種技術,但首先需要解釋一下為什么要關注 XML Web Service。
XML Web Service 體系結構的主要優點之一是:允許在不同平臺上、以不同語言編寫的各種程序以基于標準的方式相互通信。對這一行業有所了解的用戶可能馬上會說:“等一等,CORBA 和之前的 DCE 不是都做過相同的承諾嗎?這和它們有什么區別?”最重要的區別在于:SOAP 比以前的方法要簡單得多,因此要實現與標準兼容的 SOAP,障礙也要少得多。Paul Kulchenko 在 http://www.soapware.org/directory/4/implementations(英文)上提供了一個 SOAP 實現方案的列表。上次統計時,該列表已經包含了 79 項。正如您所預料,多數大的軟件公司都提供 SOAP 實現方案,但也有許多實現方案是由個別開發人員創建和維護的。相對以前的方案而言,XML Web Service 的另一大優點是使用標準的 Web 協議 - XML、HTTP 和 TCP/IP。許多公司都已經建立了 Web 基礎結構,同時它們的員工在維護方面也都具備相應的知識和經驗。因此,引入 XML Web Service 與引入以前的技術相比,其成本要低得多。
我們將 XML Web Service 定義為:通過 SOAP 在 Web 上提供的軟件服務,使用 WSDL 文件進行說明,并通過 UDDI 進行注冊。那么,您也許要問:“使用 XML Web Service 能夠做什么?”最初的 XML Web Service 通常是可以方便地并入應用程序的信息來源,如股票價格、天氣預報、體育成績等等。我們很容易想到,可以構建一整類應用程序以分析和匯總所關心的信息,并以各種方式提供這些信息;例如,您可以使用 Microsoft® Excel 電子表格來匯總所有的財務信息 - 股票、401K、銀行存款、貸款等等。如果能夠通過 XML Web Service 獲得這些信息,Excel 就可以不斷對其進行更新。這些信息中有些是免費的,有些則可能需要訂閱才能獲得相應服務。大部分這種信息現在已經可以在 Web 上找到了,但是 XML Web Service 可以使編程訪問更簡單,也更可靠。
以 XML Web Service 方式提供現有應用程序,可以構建新的、更強大的應用程序,并利用 XML Web Service 作為構造塊。例如,用戶可以開發一個采購應用程序,以自動獲取來自不同供應商的價格信息,從而使用戶可以選擇供應商,提交訂單,然后跟蹤貨物的運輸,直至收到貨物。而供應商的應用程序除了在 Web 上提供服務外,還可以使用 XML Web Service 檢查客戶的信用、收取貨款,并與貨運公司辦理貨運手續。
將來,某些最有趣的 XML Web Service 所支持的應用程序還可以利用 Web 完成目前無法完成的任務。例如,日歷服務就是 Microsoft .NET My Services(英文)項目即將支持的服務之一。如果您的牙醫和機械師通過這一 XML Web Service 提供其日程安排,您就可以通過網絡與他們安排約會;如果您愿意,他們也可以直接在您的日歷上約定清潔和日常保養的日期。不難想象,只要能夠對 Web 進行編程,您就可以創建數以百計的應用程序。
有關 XML Web Service 及其可以構建的應用程序的詳細信息,請參閱 MSDN Web 服務(英文)主頁。
SOAP

Soap 是 XML Web Service 的通信協議。當把 SOAP 描述為一種通信協議時,多數人都會想到 DCOM 或 CORBA,并且會問“SOAP 如何激活對象?”或“SOAP 使用什么樣的命名服務?”等問題。雖然 SOAP 實現方案可能會包含上述內容,但 SOAP 標準并未對其進行規定。SOAP 一種規范,用來定義消息的 XML 格式 - 這是規范中所必需的部分。包含在一對 SOAP 元素中的、結構正確的 XML 段就是 SOAP 消息。這是不是很簡單?
SOAP 規范的其他部分介紹如何將程序數據表示為 XML,以及如何使用 SOAP 進行遠程過程調用 (RPC)。這些可選的規范部分用于實現 RPC 形式的應用程序,其中客戶端將發出一條 SOAP 消息(包含可調用函數,以及要傳送到該函數的參數),然后服務器將返回包含函數執行結果的消息。目前,多數 SOAP 實現方案都支持 RPC 應用程序,這是因為習慣于開發 COM 或 CORBA 應用程序的編程人員熟悉 RPC 形式。SOAP 還支持文檔形式的應用程序,在這類應用程序中,SOAP 消息只是 XML 文檔的一個包裝。文檔形式的 SOAP 應用程序非常靈活,許多新的 XML Web Service 都利用這一特點來構建使用 RPC 難以實現的服務。
SOAP 規范的最后一個可選部分定義了包含 SOAP 消息的 HTTP 消息的樣式。此 HTTP 綁定非常重要,因為幾乎所有當前的 OS(以及許多以前的 OS)都支持 HTTP。HTTP 綁定雖然是可選的,但幾乎所有 SOAP 實現方案都支持 HTTP 綁定,因為它是 SOAP 的唯一標準協議。由于這一原因,人們通常誤認為 SOAP 必須使用 HTTP。其實,有些實現方案也支持 MSMQ、MQ 系列、SMTP 或 TCP/IP 傳輸,但由于 HTTP 非常普遍,幾乎所有當前的 XML Web Service 都使用它。由于 HTTP 是 Web 的核心協議,因此大多數組織的網絡基礎結構都支持 HTTP,并且員工已經了解了如何對其進行管理。如今,已經建立了用于 HTTP 的安全保護、監視和負載平衡的基礎結構。
開始使用 SOAP 時,最容易混淆的是 SOAP 規范及其許多實現方案之間的差異。多數使用 SOAP 的用戶并不直接編寫 SOAP 消息,而是使用 SOAP 工具包來創建和分析 SOAP 消息。這些工具包通常將函數調用從某種語言轉換為 SOAP 消息。例如,Microsoft SOAP Toolkit 2.0 將 COM 函數調用轉換為 SOAP,而 Apache Toolkit 將 JAVA 函數調用轉換為 SOAP。函數調用的類型和支持的參數的數據類型隨每個 SOAP 實現方案的不同而不同,因此適用于一個工具包的函數可能并不適用于另一個工具包。這并不是 SOAP 的限制,而是所使用的特定實現方案的限制。
到目前為止,SOAP 最引人注目的特征是它可以在許多不同的軟件和硬件平臺上實現。這意味著 SOAP 可用于鏈接企業內部和外部的不同系統。過去曾試過多種方法以提出一個可用于系統集成的通用通信協議,但它們都沒有象 SOAP 一樣獲得廣泛的認可。為什么呢?因為與許多早期的協議相比,SOAP 更小巧,而且更易于實現。例如,DCE 和 CORBA 的實現需要數年時間,所以只發布了很少幾個實現方案。而 SOAP 可以利用現有的 XML 分析器和 HTTP 庫完成大部分艱苦的工作,因此 SOAP 實現方案在數月內便可完成。這就是為什么現在已經有 70 多個 SOAP 實現方案的原因。當然,SOAP 并不具備 DCE 或 CORBA 的全部功能,雖然功能減少了,但由于其復雜程度大大降低了,因此 SOAP 更易于應用。
HTTP 的普及和 SOAP 的簡單性使您幾乎可以從任何環境調用它們,因此成為 XML Web Service 的理想基礎。有關 SOAP 的詳細信息,請參閱 MSDN SOAP(英文)主頁。
安全性如何?

通常,剛接觸 SOAP 的用戶提出的第一個問題就是 SOAP 如何解決安全性問題。在其早期開發階段,SOAP 被看作是基于 HTTP 的協議,所以認為 HTTP 的安全性對于 SOAP 已經足夠了。畢竟目前有數以千計的 Web 應用程序都在使用 HTTP 安全性,所以這對于 SOAP 確實已經足夠。因此,當前的 SOAP 標準假定安全性屬于傳輸問題,而并不作為安全性問題處理。
當 SOAP 擴展至更為通用的協議,并運行于眾多傳輸之上時,安全性問題就變得突出了。例如,HTTP 提供若干種方法對進行 SOAP 調用的用戶進行身份驗證,但是當消息從 HTTP 路由到 SMTP 傳輸時,怎樣傳播該身份標識呢?SOAP 是作為構造塊協議進行設計的,所以幸運的是,已經有了相應的規范以基于 SOAP 為 Web 服務提供額外的安全保護功能。WS-Security 規范(英文)定義了一套完整的加密系統,而 WS-License 規范(英文)定義了相應的技術,以保證調用者的身份標識,并確保只有授權用戶才可以使用 Web 服務。
WSDL

WSDL (Web Services Description Language) 表示 Web 服務說明語言。在本文中,我們可以認為 WSDL 文件是一個 XML 文檔,用于說明一組 SOAP 消息以及如何交換這些消息。換句話說,WSDL 對于 SOAP 的作用就象 IDL 對于 CORBA 或 COM 的作用。由于 WSDL 是 XML 文檔,因此很容易進行閱讀和編輯;但大多數情況下,它由軟件生成和使用。
要查看 WSDL 的值,可以假設您要調用由您的一位業務伙伴提供的 SOAP 方法。您可以要求對方提供一些 SOAP 消息示例,然后編寫您的應用程序以生成并使用與示例類似的消息,但這樣很容易出錯。例如,您可能看到一個 2837 的客戶 ID,并假設它為整數,而實際上它是一個字符串。WSDL 通過明確的表示法指定請求消息必須包含的內容以及響應消息的樣式。
WSDL 文件用于說明消息格式的表示法以 XML 架構標準為基礎,這意味著它與編程語言無關,而且以標準為基礎,因此適用于說明可從不同平臺、以不同編程語言訪問的 XML Web Service 接口。除說明消息內容外,WSDL 還定義了服務的位置,以及使用什么通信協議與服務進行通信。也就是說,WSDL 文件定義了編寫使用 XML Web Service 的程序所需的全部內容。有幾種工具可以讀取 WSDL 文件,并生成與 XML Web Service 通信所需的代碼。其中一些最強大的工具可在 Microsoft Visual Studio® .NET 中找到。
當前,許多 SOAP 工具包都包括從現有程序接口生成 WSDL 文件的工具,但卻幾乎沒有直接用于編寫 WSDL 的工具,而且 WSDL 的工具支持也很不完整。但不久就會出現編寫 WSDL 文件的工具,接著還會有生成代理和存根的工具(與 COM IDL 工具很相似),這些工具將成為多數 SOAP 實現方案的一部分。到那時,WSDL 將成為創建 XML Web Service 的 SOAP 接口的首選方法。
這里有一個非常好的 WSDL 說明(英文),您還可以在 http://www.w3.org/TR/wsdl(英文)找到 WSDL 規范。
UDDI

通用發現、說明和集成 (UDDI) 是 Web 服務的黃頁。與傳統黃頁一樣,您可以搜索提供所需服務的公司,閱讀以了解所提供的服務,然后與某人聯系以獲得更多信息。當然,您也可以提供 Web 服務而不在 UDDI 中注冊,就象在地下室開展業務,依靠的是口頭吆喝;但是如果您希望拓展市場,則需要 UDDI 以便能被客戶發現。
UDDI 目錄條目是介紹所提供的業務和服務的 XML 文件。UDDI 目錄條目包括三個部分。“白頁”介紹提供服務的公司:名稱、地址、聯系方式等等;“黃頁”包括基于標準分類法(例如 North American Industry Classification System 和 Standard Industrial Classification)的行業類別;“綠頁”詳細介紹了訪問服務的接口,以便用戶能夠編寫應用程序以使用 Web 服務。服務的定義是通過一個稱為類型模型(或 tModel)的 UDDI 文檔來完成的。多數情況下,tModel 包含一個 WSDL 文件,用于說明訪問 XML Web Service 的 SOAP 接口,但是 tModel 非常靈活,可以說明幾乎所有類型的服務。
UDDI 目錄還包含若干種方法,可用于搜索構建您的應用程序所需的服務。例如,您可以搜索特定地理位置的服務提供商或者搜索特定的業務類型。之后,UDDI 目錄將提供信息、聯系方式、鏈接和技術數據,以便您確定能滿足需要的服務。
UDDI 允許您查找提供所需的 Web 服務的公司。如果您已經知道要與誰進行業務合作,但尚不了解它還能提供哪些服務,這時該如何處理呢?WS-Inspection 規范(英文)允許您瀏覽特定服務器上提供的 XML Web Service 的集合,從中查找所需的服務。
有關 UDDI 的詳細信息,請訪問 http://www.uddi.org/about.html(英文)。
其他內容

到現在為止,我們已經討論了如何與 XML Web Service 通信 (SOAP),XML Web Service 是怎樣進行說明的 (WSDL),以及如何查找 XML Web Service (UDDI)。這些內容構成了一套基本規范,為應用程序的集成和聚合提供了基礎。根據這些基本規范,公司可以構建實際的解決方案,并從中獲益。
為實現 XML Web Service,我們已經做了許多工作,但仍有大量工作需要完成。今天,人們已經使用 XML Web Service 取得了成功,但對于開發人員來說,仍有許多環節需要完善。例如,安全性、運營管理、事務處理以及可靠的消息傳遞等。Global XML Web Services Architecture 將通過以下方式幫助 XML Web Service 進入下一個發展階段:提供一個一致的通用模型,以模塊化和可擴展的方式向 XML Web Service 添加新的高級功能。
上面提到的安全模塊(WS-Security [英文] 和 WS-License [英文])就是 Global Web Services Architecture 規范的一部分。運營管理的需要(例如在多個服務器之間路由消息,以及動態配置這些服務器以便進行處理)也是 Global Web Services Architecture 的一部分,它們是通過 WS-Routing 規范(英文)和 WS-Referral 規范(英文)來實現的。隨著 Global Web Services Architecture 的發展,還將進一步介紹滿足上述需要以及其他需要的規范。

上一篇:XML簡易教程三

下一篇:XML動態查詢

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲福利视频在线| 亚洲国产精品高清久久久| 2019中文字幕在线免费观看| 中国日韩欧美久久久久久久久| 国产成人拍精品视频午夜网站| 色www亚洲国产张柏芝| 欧美精品手机在线| 欧美激情国产精品| 国产精品白丝av嫩草影院| 91美女片黄在线观| 国产精品在线看| 欧美成人激情视频| 亚洲一区二区黄| 98午夜经典影视| 国产精品女视频| 亚洲欧美日韩国产精品| 久久久久久久久国产| 日韩国产在线播放| 欧美精品做受xxx性少妇| 精品五月天久久| 欧美在线精品免播放器视频| 欧美大片网站在线观看| 国产精品九九久久久久久久| 国产精品日韩欧美综合| 久青草国产97香蕉在线视频| 久久网福利资源网站| 亚洲男人的天堂在线| 欧美成人免费全部| 久久99精品视频一区97| 久久在线观看视频| 国产精品久久婷婷六月丁香| 97香蕉久久超级碰碰高清版| 欧美在线视频在线播放完整版免费观看| 亚洲日韩欧美视频| 国产精品美女久久久久久免费| 91久久久久久| 日韩美女视频中文字幕| 欧美激情第三页| 欧美视频不卡中文| 91精品国产91久久久久久| 亚洲精品电影网站| 成人在线精品视频| 日韩中文娱乐网| 亚洲欧美制服另类日韩| 亚洲a级在线播放观看| 国产日本欧美一区二区三区在线| 日韩美女av在线免费观看| 国产精品久久久久久中文字| 97在线免费观看视频| 亚洲成**性毛茸茸| 亚洲mm色国产网站| 国产精品久久一| 久久久国产精彩视频美女艺术照福利| 中文字幕国产亚洲| 国产成人福利夜色影视| 亚洲欧美综合另类中字| 欧美激情一区二区三区高清视频| 亚洲精品一区av在线播放| 在线观看国产精品日韩av| 国产99久久精品一区二区| 国产欧美在线看| 日韩最新中文字幕电影免费看| 欧美理论片在线观看| 亚洲护士老师的毛茸茸最新章节| 久久人人97超碰精品888| 亚洲已满18点击进入在线看片| 欧美日韩精品在线播放| 92福利视频午夜1000合集在线观看| 欧美激情免费视频| 精品久久久久久久久中文字幕| 国内精品久久久久久久| 国产一区二区美女视频| 欧美日韩视频在线| 精品亚洲国产视频| 亚洲码在线观看| 国产精品嫩草影院久久久| 久久久精品一区| 国语自产精品视频在线看抢先版图片| 欧美亚洲视频在线观看| 国产精品久久久久久久久久| 亚洲欧美在线第一页| 亚洲欧洲在线播放| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲午夜色婷婷在线| 国产成人综合av| 国产精品三级久久久久久电影| 疯狂做受xxxx欧美肥白少妇| 亚洲精品短视频| 亚洲国产精品久久精品怡红院| …久久精品99久久香蕉国产| 91精品国产99久久久久久| 日本精品在线视频| 国产欧美精品在线播放| 成人h视频在线观看播放| 国产精品av在线播放| 久久天天躁狠狠躁夜夜爽蜜月| 欧美一区二区.| 亚洲福利视频免费观看| www.亚洲一二| 亚洲成人在线视频播放| 亚洲国产精品久久精品怡红院| 久久精品视频99| 亚洲xxxx做受欧美| 欧美日韩另类字幕中文| 国产欧美婷婷中文| 亚洲第一色在线| 亚洲精品一区在线观看香蕉| 狠狠综合久久av一区二区小说| 亚洲国产美女久久久久| 欧美疯狂做受xxxx高潮| 久久久免费高清电视剧观看| 亚洲国产97在线精品一区| 久久精品一偷一偷国产| 亚洲女人天堂视频| 91精品国产色综合久久不卡98| 中文国产亚洲喷潮| 国产视频在线一区二区| 国产精品人人做人人爽| 久热精品视频在线| 精品久久久久久久久久久| 成人写真福利网| 中日韩午夜理伦电影免费| 亚洲一区二区三区四区在线播放| 欧美极品在线视频| 久久久久久亚洲精品不卡| 亚洲一区二区三区香蕉| 欧美视频专区一二在线观看| 国产精品久久不能| 欧美成人午夜视频| 欧美美女操人视频| 久久色免费在线视频| 久久久久久18| 日韩一区在线视频| 欧美精品国产精品日韩精品| 亚洲欧美色图片| 国产不卡一区二区在线播放| 91久久久久久久| 亚洲天堂男人天堂女人天堂| 久久久成人的性感天堂| 亚洲的天堂在线中文字幕| 国产精品福利在线观看网址| 久久精品电影一区二区| 在线观看视频亚洲| 久久精品亚洲国产| 最近免费中文字幕视频2019| 超碰97人人做人人爱少妇| 日韩激情片免费| 精品综合久久久久久97| 川上优av一区二区线观看| 中文字幕在线国产精品| 国产精品女人久久久久久| 久久久久国产精品免费| 一本色道久久88综合亚洲精品ⅰ| 色999日韩欧美国产| 亚洲日本成人女熟在线观看| 国产99视频精品免视看7| 一区二区欧美久久| 欧美成人精品h版在线观看| 国产精品com| 日韩电影中文字幕| 中文字幕精品影院| 欧美性猛交99久久久久99按摩| 亚洲sss综合天堂久久| 久久97精品久久久久久久不卡|