當前位置:工程項目OA系統(tǒng) > 泛普各地 > 河北O(jiān)A系統(tǒng) > 石家莊OA系統(tǒng) > 石家莊OA信息化
Web服務內幕,第1部分:我們已走了多遠?
Web服務內幕,第1部分:我們已走了多遠?
James Snell (jasnell@us.ibm.com)
軟件工程師,Emerging
Technologies, IBM
2001 年 4 月
“Web 服務革命”目前形勢如何?在這個以“Web 服務內幕”命名的新專欄的第一部分中,我將回顧在過去幾年中涌現(xiàn)的一些工具和技術,以突出顯示它們的差異和相似之處。
您好,歡迎光臨本專欄,我們致力于探究 Web 服務世界。在接下來的幾個月中,我將徹底而詳細地說明 Web 服務體系結構的基本原則,并特別關注核心約定,其推動了新興的、發(fā)展迅猛以及涌現(xiàn)出的技術范例:互操作性。
但是,我不是要展望 Web 服務將來會帶來什么,只是想迅速回顧一下 Web 服務走過的歷程,當今它(根據工具的實用性)的適用范圍,并就使這個令人激動的新技術具有可行性和競爭性還須付出多少努力的問題,發(fā)表了一些個人見解。
我們的起點
如果您認為因特網上的 Web
服務發(fā)展非常迅速,那么您的看法完全正確。真是難以置信,這個新范例(SOAP、WSDL 和
UDDI)的構建模塊都僅僅才出現(xiàn)了幾個月而已,卻已經對設計、開發(fā)和部署基于 Web 的應用的觀念產生了巨大的影響。
簡單對象訪問協(xié)議(SOAP,請參閱參考資料)起源要追朔到 1998 年,源自最初由 Vserland Software 的 Dave Winter 創(chuàng)建的基于 XML 的 RPC 機制的想法。1999 年后期,此想法在 DevelopMentor 的 Winer、Don Box 和 Microsoft 的共同努力下發(fā)展成了 SOAP 版本 0.9。那時,開發(fā)人員社區(qū)的反應很復雜。如果我回憶正確的話,我當時的反應是 SOAP 看起來象一個很酷的玩具,到離實用還有一大段差距。事情變化得很快。在 SOAP 版本 0.9 發(fā)布沒有多久,就發(fā)布了 SOAP 1.0,它增加了很多的改進并擴大了所支持開發(fā)人員的范圍。
IBM 于 2000 年 5 月合作開發(fā)了 SOAP 版本 1.1 的規(guī)范(請參閱參考資料),并把它作為 W3C Note 來提交,由此正式加入 SOAP 的開發(fā)行列,從而正式標志了“Web 服務革命”的開始。隨著 IBM 的加入,非 Microsoft 開發(fā)平臺上的開發(fā)人員站了起來并首次關注了 SOAP。這種可在松散的聯(lián)合和動態(tài)的集成應用之間建立的無縫跨平臺互操作的約定具有極大的誘惑力,尤其適用于 Java 開發(fā)的原則。
從這一點講,Microsoft 和 IBM 在把基于 SOAP 的開發(fā)工具發(fā)展為開發(fā)者手頭所使用工具方面起了領導作用。開始很簡單,IBM 是第一個為 SOAP(請參閱參考資料)開發(fā)出基于 Java 的工具包,這為開放源碼 Apache Software Foundation 的進一步開發(fā)做出了積極的貢獻。Microsoft 隨后不久發(fā)布了它們的第一個再現(xiàn) SOAP 工具包并在接下來的六月主動公布他們的宏偉的 .NET Web 服務。
隨著支持 SOAP 產業(yè)的迅速發(fā)展,IBM 和 Microsoft 隨后把他們的注意力轉向填補出現(xiàn)的 Web 服務體系結構的各種漏洞。即,由于基于 SOAP 應用即將迅速發(fā)展的潛力,他們需要一個描述此類服務的機制和一旦部署了此類服務就要定位服務的機制。在去年九月,Microsoft、IBM 和 Ariba 共同公布了通用描述、發(fā)現(xiàn)和集成(UDDI [請參閱參考資料]),這就為發(fā)現(xiàn)部署在因特網上 Web 服務提供了一個開放的規(guī)范和一整套工具。然后,僅僅是幾星期的時間,這三個公司又公布了 Web 服務描述語言(WSDL [請參閱參考資料]),它是一種描述基于 SOAP Web 服務能力和技術細節(jié)的 XML 語法,這種服務允許動態(tài)跨平臺集成來實現(xiàn) SOAP。
在本專欄以后的部分中,我想探討如何把這三個受到稱贊的、具有不同的技術的每個規(guī)范組合起來以提供 Web 服務體系結構的基礎,以及 IBM 如何在在 Web 開發(fā)中把大多數優(yōu)點應用于這個新范例中,從而占據領先地位。
目前形勢
研究下目前形勢通??梢宰屛覀兏玫卮_定現(xiàn)在所處的階段和發(fā)展方向?;仡?
Web 服務的歷程,我很高興地說它正處于技術成熟的第一個階段 -- 即已被接受。Web 開發(fā)世界已逐漸將 Web
服務視作可行的工具,用于實現(xiàn)許多更陳舊、更大且更龐大的技術所不能完成的任務:在平臺和操作系統(tǒng)之間實現(xiàn)無縫互操作性。顯然,在 Web
開發(fā)行業(yè)中,幾乎每個主要的開發(fā)商都在研究如何才能夠最大限度的利用 SOAP 和其它支持 Web 服務的技術。
今天,用 Web 服務體系結構創(chuàng)建的應用類型大多數都是相當簡單的“玩具”,主要是幫助開發(fā)人員掌握相對于展示真正企業(yè)規(guī)模平臺適用性的基本概念。應該承認,目前這種情況下仍有例外,如果仔細觀察成熟的 Web 服務工具,譬如說 Java Enterprise SDK 或 Microsoft COM+ Platform,顯然在企業(yè)開發(fā)界中仍然需要繼續(xù)努力以發(fā)揮出 Web 服務的真正潛力。
那么,這句話是什么意思呢?這意味著在企業(yè)環(huán)境中,仍需要嘗試、測試和證明 SOAP、WSDL 和 UDDI 可以發(fā)揮作用而且產生好的效果。它是否表示,作為一位開發(fā)人員者或技術決策者,不應指望 Web 服務解決企業(yè)層次的問題?或者,甚至說得更徹底一些,在時間和成果已經可以使實現(xiàn)這些標準的工具發(fā)展到成熟階段(適合于那些對于任務比較關鍵的環(huán)境)之前,您甚至不敢正視 SOAP?絕對不是這樣!如上所述,雖然我還沒有基于 Web 服務將 SOAP、WSDL 和 UDDI 部署到企業(yè)環(huán)境,此領域的發(fā)展和進步就已經非常迅猛。Enterprise-ready 工具,如 Microsoft 的 .NET 平臺和 Apache Axis Engine(這兩個工具目前仍然都在開發(fā)中)許諾將開發(fā)出構建在企業(yè) Web 服務之上的高價值、高性能和高穩(wěn)定性的產品。今天通過了解和使用 SOAP,您的開發(fā)隊伍將獲得寶貴的經驗,這將幫助他們在這個新的開發(fā)范例中獲得成功。也許同樣重要的是,他們的經驗將幫助我們中的這些人來構建這些工具,并完善和調整它們,使之滿足客戶的挑戰(zhàn)性需求。
適用領域
在上一次統(tǒng)計中,隨著支持多種操作系統(tǒng)和開發(fā)語言的不斷增長,我知道至少有
39 種不同方法可實現(xiàn) SOAP 規(guī)范。然而,它們都各自有自己的能力、支持標準和質量控制的級別,但他們都至少有一個共同點:都知道如何創(chuàng)建和使用 SOAP
Envelopes。不要低估這個事實的重要性。這僅意味著無論如何實現(xiàn)工具,或在哪里部署它,這里都有一個潛在的無縫互操作性,它允許在一個平臺上用一種語言編寫的應用程序可以使用在另一個完全不同的平臺上以完全不同語言編寫的應用程序的服務。
在下面并列比較了四種在 Java、Win32 和 Perl 環(huán)境中最常見的 SOAP 實現(xiàn)的特點。從分析的結果中可以得知,在特定的 SOAP 或相關的 SOAP 特性中,與其說有更多的差異不如說有更多的相似之處。這是一件好事,因為這意味著我們越來越清楚地意識到 SOAP 的真正潛力。然而,在某些情況下確實存在差異,如果不知道如何避開它們的訣竅,差異會嚴重到引起一些麻煩(那些試圖將 Microsoft 工具包與 Apache SOAP 一起使用的人可以證明)。我計劃在今后的文章中,深入的討論這些差異,請密切注意。
建立公共基礎
關于當前定義和涉及 Web
服務領域最令人吃驚的事情不是事物進展的速度,而是許多公司簽署了一個開發(fā)項目,共同建立一個能夠共同使用的基本互操作性的公共基礎。Microsoft 和 IBM
長時間以來在 Web 開發(fā)產業(yè)是競爭對手,但現(xiàn)在他們聯(lián)合起來,通過全面支持 SOAP、WSDL 和 UDDI
規(guī)范來確保他們的工具可以無縫地互相通信。顯然,還有很多事要做;事實上,當我寫本文時,IBM Web 服務小組和 Apache SOAP 開發(fā)小組正忙著與
Microsoft 小組就各種實現(xiàn)中存在的互操作性問題進行談判。
我在張貼關于 SOAP 的郵件列表上看到的最常見問題是如何使 Microsoft SOAP 客戶機或服務器與 Apache 或 IBM WSTK 客戶機或服務器通信。在這個方案中,大多數開發(fā)者所面臨的問題是總是圍繞著一定的差異或限制 Apache 和 Microsoft 所實現(xiàn)的 SOAP 規(guī)范的方法。在隨后的文章中,我將使用一個有深度的示例來展示如何做到這一點。確保下載最新版本的 Apache SOAP(至少是版本 2.1 [如果已經下載了 IBM Web 服務工具包版本 2.1 或更高版本,那您就有了 Apache SOAP 2.1])和最新的 Microsoft's SOAP 工具包的第二個版本(請參閱參考資料)。這些所做的每一個更新都提供了已改進的互操作性和一些其他特性,這些證明它們能夠使您的生活變得更加輕松自在。
Java 開發(fā)人員所使用的 Apache SOAP 工具也可以隨意地下載 IBM Web 服務工具包 (WSTK) 或 Web 服務開發(fā)環(huán)境 (WSDE) -- 可以擴大和拓展 Apache SOAP 功能的兩套工具。通過 alphaWorks 提供的這些技術可以支持 WSDL 和 UDDI 以及其它一些特性和開發(fā)工具,這些可以完成 Web 服務開發(fā)平臺將具有的所有功能。
現(xiàn)在怎么辦?
下一個問題應該是:現(xiàn)在怎么辦?我已經簡單回顧了 Web
服務的歷史并大致了解了它現(xiàn)在所處的位置。我已經告訴過您當今構建 Web 服務需要的工具所處的階段。雖然現(xiàn)在就著手構建關于 Web
服務的整個企業(yè)來說,這還不是一個好的想法。但同時,如果您有能力去做這件事,那么這個時刻不久就會到來。我們比較了當前可以使用的最流行的 SOAP
工具,那么當需要在特定平臺上開發(fā) Web 服務時,知道該從那里下手。
下一步是應該開始了解當前可以使用的 Web 服務:
如果還未準備好,請閱讀關于 SOAP、WSDL 和 UDDI 規(guī)范
下載 IBM Web 服務工具包最新版本
研究工具包中提供的 Web 服務樣本
開始實現(xiàn)自己的 Web 服務
參考資料
- 請閱讀 SOAP 版本 1.1 規(guī)范
- 熟悉 WSDL 版本 1.1 規(guī)范
- 在 UDDI 網站可以找到有關 UDDI 的信息。
- 在 IBM 的 alphaWorks 網站上可以找到 IBM Web
服務工具包 2.2。
- 也可以在 alphaWorks 上預覽 IBM Web
服務開發(fā)環(huán)境。
- IBM 還提供了 WSDL
工具包,以供下載。
- 可以在 http://msdn.microsoft.com
上找到關于 Microsoft 的 SOAP 工具包和 .NET 的信息。
- 請下載 Paul Kulchenko 的 SOAP::Lite Perl
模塊版本。
- 學習 Doug Tidwell 的教程 Web
服務 -- Web 的下一次革命,以便了解已經開始的 Web 服務革命。
- 請閱讀這篇講述 Web 服務體系結構概述的
文章。
- 回顧 IBM UDDI4J
發(fā)行版,一個 Universal Discovery、Description 和 Integration 協(xié)議的 Java 實現(xiàn)的開放源碼。
- 學習這個討論使用 SOAP 進行 XML 消息傳遞的教程。
關于作者
James
Snell 是一位撰稿人和開發(fā)人員,他也是 IBM Web 服務開發(fā)小組最新成員之一。他在進入 IBM
之前,已經具有關于定制企業(yè)應用開發(fā)和商家對商家這些方面的背景,而且他對 Web 技術前沿方面有極大的熱情??梢酝ㄟ^ jasnell@us.ibm.com
瀏覽:Web服務內幕,第2部分
Web服務內幕,第3部分
Web服務內幕,第4部分
Web服務內幕,第5部分
Web服務內幕,第6部分
Web服務內幕,第7部分
Web服務內幕,第8部分
Web服務內幕,第9部分
Web服務內幕,第10部分
- 1一波“三折”:我的OA選型經歷(下)
- 2Web Services: Building Reusable Web Components with SOAP and
- 3Web服務:WS-Inspection 1.0
- 4當軟件變成服務時
- 5透視Best Buy石家莊OA信息化實踐(by AMT 夏敬華 編譯)
- 6Nasdaq、MS、PwC推出財務信息網上服務
- 7石家莊OA信息化,知識組織和知識工作者:來自前沿的觀點
- 8絕對妙語:重塑企業(yè)流程、組織和文化
- 9如何使用Visual Studio .NET和Office XP創(chuàng)建和部署XML Web Service
- 10將Web服務用于電子交易的單點登錄
- 11關于模型的簡單介紹!
- 12Accessing Server Variables From Within Web Services
- 13無SOAP的Web服務,第一部分
- 14我國商貿業(yè)將迎來新一輪的IT建設高潮
- 15送你一雙慧眼 識破偽石家莊OA信息化軟件
- 16走出石家莊OA信息化的迷思(BY AMT 夏敬華)
- 17Web Services with ASP.NET
- 18管理結構性的、半結構性的以及非結構性的數據類型(by AMT 邢華編譯)
- 19ITToolBox e-Business(by AMT整理)
- 20如何讓知識員工忠字當頭?
- 21泛普軟件如何實現(xiàn)知識庫雙機熱備
- 22Web Service Case Study: 事務性Web服務
- 23石家莊OA信息化的價值和挑戰(zhàn)
- 24ADO vs. ADO.NET Webservice
- 25知識發(fā)現(xiàn)與數據挖掘
- 26Web服務設計師,第2部分:動態(tài)電子商務模式
- 27Web服務內幕,第10部分:深入主題:可靠性和事務
- 28Web Services. Part I: The Basics
- 29如何幫助企業(yè)構建安全的協(xié)同辦公系統(tǒng)?
- 30Web服務:構建融合的價值網
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓