架構Web Service:基于Web服務的應用、解決方案和開發平臺 | ![]() |
![]() |
![]() | |
![]() | ||||
![]() |
![]() |
柴曉路 (fennivel@uddi-china.org) (本文最初由 IBM developerWorks 中國網站發表,其網址是 本文是架構Web服務的系列文章的第三篇,繼Web服務的技術定義和技術規范介紹之后,來探討目前現有的Web服務實踐。首先,作者考察了現有的Web服務應用,然后考察了一些B2B解決方案提供商提供的基于Web服務的解決方案和產品,最后對幾大平臺供應商所提供的Web服務的開放工具與平臺作全面的介紹。 在本系列的上一篇文章中,我就什么是Web服務,Web服務使用的標準和技術作了詳細的探討。那么目前是否已經有基于這樣技術的應用、解決方案和開發工具交付給用戶呢?答案是肯定的,Web服務已經開始實踐了。目前來看,現有的基于Web服務架構的應用已經開始在Internet/intranet中部署了。他們涉及到前面提到的Business-Oriented Web Service、Client-Oriented Web Service、Device-Oriented Web Service和System-Oriented Web Service等。 本文所引用的資源主要包括兩類,一類是Web服務的技術資源網站,包含了大量Web服務的技術信息,另一類是Web服務“stack"系列技術規范,他們是一個整體的技術體系,包括UDDI、SOAP、WSDL、XML等。本文的最后給出了這些資源的鏈接,有興趣的讀者可以通過這些資源鏈接找到所需的內容。 Public UDDI Registry UDDI Registry是一個面向系統使用的Web服務,作為Web服務的技術注冊中心而存在,關于UDDI Registry,我在本專欄中已經使用了多篇文章加以介紹,在這里就不再贅述了。以下是這些文章的鏈接。
Microsoft Halistorm Microsoft的Halistorm是架構在Microsoft自身的.NET平臺之上的,提供了基于 Web 的分布式應用程序之間共享信息時所需的一些基礎資源平臺。這是一個面向個人用戶的Web服務平臺,用于個人用途的存儲、檢索和交換信息。不過,HailStorm 的設計目的并非是用來管理任何類型的信息,而是專門用來管理為個人存儲的個人專有信息。以下是一些有一定關系但是分別代表不同情景的示例:
此外,列車運營商也許可以提供一項網上列車時刻表服務,借助微軟的新技術,隨時把最新的列車到發信息送到你的桌面或其他設備。而如果你再大膽地展開自己聯想的翅膀,就會發現這對于象聯邦速遞、中國國際航空公司等大公司的意義很可能是革命性的。此外,HailStorm的客戶端將不僅僅是Microsoft的MSN Messenger,還可以是Palm/PocketPC等,由此還可以想像一下,那時候你將在股票價格達到一定水平時馬上就能夠從自己的手持電腦或其他設備中得到即時信息,并且可以隨時通過你的即時通訊軟件把股票賣掉或者完成其它任何工作。 Bowstreet Solution Bowstreet是由Gartner Group評估的六家Web服務領域最領先的企業之一(這六家企業包括:Microsoft、IBM、HP、Bowstreet、SUN和Oracle)。Bowstreet的銷售的主要產品是兩個:Bowstreet? Business Web Factory和Business Web Portal Solution。 Bowstreet Business Web Factory是一個Web服務的建模、裝配、動態更改管理以及定制的平臺。它由三部分組成:"Designer"、"Customizer"和"Automation Engine"。
Business Web Portal Solution包含Bowstreet針對企業電子商務而開發的一整套商務產品,諸如Enterprise Portal、Supply Chain Collaboration等,而這些產品全部基于Web服務,能夠在一個統一的平臺下進行集成交互。 DealEasy Enterprise Portal Solution DealEasy Enterprise Portal完全基于兩種技術:
其中信息共享包括:
服務集成包括:
Portal的組件服務包括:Collaborative Platform / Knowledge Base / Information Aclearcase/" target="_blank" >ccelerator / Private UDDI Registry / Routing and Reliability Service。 Web服務構建平臺與服務組件 以下是由主要平臺提供商提供的Web服務的開發工具和平臺: Microsoft .NET Microsoft .NET無疑是概念上和技術上的雙料冠軍,其涵蓋面和復雜程度是首屈一指的,這其實也恰如其分地反映了Microsoft在XML Web服務領域的領導地位。.NET的框架可以參閱下圖: Figure 1. Microsoft .NET的體系框架 其中Visual Studio .NET已經有了beta 2,可以通過測試和合作伙伴的方式獲得。其他的一些開發平臺和開發組件可以通過以下網址訪問:
Microsoft的Web服務的全套平臺和工具無疑是優秀的,但是其缺點也是明顯的,無法在Windows平臺之外的平臺上使用,不過Microsoft宣稱在今年及以后.NET的運行平臺.NET Runtime (Common Language Runtime)將會陸續支持FreeBSD、Linux以及UNIX,讓我們拭目以待。 IBM Web Service IBM在Web服務領域的拓展一改上一個世紀的穩重而稍嫌保守的作風,變得積極進取、大步流星,而且步步堅實。在Web服務的規范上,Microsoft是IBM的主要合作伙伴,諸如SOAP、WSDL和UDDI,IBM和Microsoft都是絕對的技術先入者。而在內部實現技術,IBM則采用J2EE架構,除了依靠自己的alphaWorks的力量外,還博采各類開放源代碼組織的成果(諸如Apache SOAP和jUDDI等),在自身的Websphere平臺上提供了完整而且領先的Web服務的開發工具。 這些軟件包和工具主要有:
Sun ONE Sun在發明了劃時代的Java之后,似乎一點一點失去了他的創造性,全球最大的基于Java平臺的軟件開發商是IBM,不是Sun,全球Web技術最領先的軟件開發商是Microsoft,不是Sun,Sun可能"堅定地"以為Java就是Internet,看來在經歷了Microsoft和IBM在Web服務領域的迅速領先,以及這兩家公司在Web服務領域的密切合作之后,Sun終于明白Web服務是Java不得不面對的新的系統架構模式。 雖然稍顯匆忙,但Sun還是及時推出了Sun在Web服務時代的解決方案Sun ONE。不過Sun ONE更象是一個Sun提供的加入了Web服務特性的J2EE平臺,而不像是一個純粹的Web服務的開發平臺。同時它最主要的缺點是對Web服務的描述和發現的兩個標準(WSDL和UDDI)的支持尚不完善。 Case Study: 實踐Web服務 到目前為止,我已經對Web服務的商業需求、Web服務的技術實現以及Web服務當前的應用以及開發工具做了全方位的介紹,那么在接下來的文章中,我將結合一個實例來詳細地描述如何真正地規劃、設計和創建一個Web服務的具體應用。 參考資料
作者簡介 ![]() |