Web Services:驚世未了緣

URL= http://www.csdn.net/news/newstopic/5/5665.shtml

Web Services:驚世未了緣
(2002.05.14)   來自:每週電腦報  
 

文/丁曄

  “我們應該離開,這樣能活下來!”面對英格蘭鐵甲騎兵,一個怯懦的蘇格蘭士兵用盡全力向威廉華萊士(蘇格蘭民族英雄)說到。

  “是的!作戰,你可能會喪命;逃跑,可苟存性命,起碼有一段安寧。”威廉華萊士
望着那些由各懷鬼胎的蘇格蘭貴族所率領的散兵遊勇,喊道“蘇格蘭的子孫們,將來在你們壽終正寢的時候,你們是否願意……,用這苟且偷生的日子,來換取一個機會……,僅僅是這麼一次機會,就是回到這裏……,告訴敵人……,他們也許能奪走我們的生命,但永遠也不能奪走……,我們的自由!”—《勇敢的心》場景

  Scott McNealy,Sun公司CEO,面對Bill Gates和他的公司——微軟,多麼希望也能夠象威廉華萊士一樣,向站在Java陣營的IBM、Oracle、BEA等“夥伴”以及那些心存疑慮的IT廠商們,大聲疾呼“今天!互聯網給我們這樣一個機會,你可以跟從於微軟,皈依.NET,去安享一生。但你是否願意用這苟且偷生的日子,來換取一個機會,僅僅是這麼一次機會,告訴微軟你們可以贏得過去,但永遠也奪走不了,我們對自由的渴望!”

  能夠讓Scott McNealy給予如此厚重希望的機遇到底是什麼?是什麼能夠讓IBM、BEA等公司感覺到自己能夠有機會,去撼動微軟這樣一個“偉大”的公司。它就是——Web Services(Web服務)。

  -Web Services微軟的藍圖

  當微軟在2000年6月22日,Tech·Ed 2000論壇上正式宣佈了名爲Microsoft .NET的新一代平臺時,很少有人能夠理解微軟所詮釋給人們的.NET是何物。不過有一些“精明”的人發現了一個有意思的現象。正是在這個論壇上,只不過是將時間迴轉到6月5日,Bill Gates在他擔任首席軟件設計師(CSA)半年之後,向與會的開發者描繪了Web Services的前景,同時承諾微軟將在這個領域動用20億美金。

  在微軟的眼中.NET是一個戰略,是一個對未來的憧憬,在現實中,他們要打的仗只有一個就是Web Services。此後微軟在人們的觀望和不解中發展。而當時的Scott McNealy曾嘲笑微軟的.NET只不過是.NOT,對於Bill Gates所推崇備至的Web Services,他卻認爲那是對Sun公司所提出“網絡就是計算機”口號的移花接木。“他們(微軟)給一個我們(Sun)已經談論多年的事情,起了一個名字。好像這件事情,是他們提出的。我想如果你每年有2億美元的市場預算,你一樣可以改寫歷史。”Scott McNealy用這樣話來形容微軟的.NET策略。

  在Scott McNealy的冷笑中,微軟經歷了有史以來最痛苦的一段時間。連續20個財年收入保持36%的增長,停步於2000年,此時微軟的年收入增長爲8%。由於受到壟斷案件的糾纏,公司市值縮水2500億美元。公司亟需振奮低迷的士氣,微軟CEO Steven A. Ballmer在一年一度的員工大會上,用一段阿里拳賽的錄像,將縈繞在微軟頭上的烏雲,揮之而去。1974年,Muhammad Ali(阿里)同George Foreman(富爾曼)進行了一場拳王爭霸賽。年輕阿里7歲的富爾曼,賽前極被看好。但是阿里的6萬名支持者在賽場上大聲地叫喊“阿里殺死他!阿里殺死他!”最後,阿里以一個強有力的直拳,將富爾曼打入了地獄。在影片即將結束的時候,整個會場的擴音器裏突然傳出“微軟,殺死他們!微軟,殺死他們!”瞬間微軟的員工沸騰了。

  是什麼能夠給Steven Ballmer如此的勇氣,在公司身處有史以來最大困境的時候,還能殺氣騰騰。答案只有一個.NET,Steve Ballmer和Bill Gates已經不止一次的在各種場合講到,.NET戰略是他們下的一個最大賭注。Web Services,正是.NET戰略中一個舉足輕重的棋子。

  面對這樣的殺氣,Scott McNealy也不得不意識到,Sun在互聯網新的一輪競爭中已經不是領跑者了。時隔.NET發佈8個月,2001年2月5日Sun宣佈,公司推出SunONE軟件框架,這是一個開放性網絡環境,是爲開放的Web Services所推出的新一代軟件框架。“有些人認爲我們只不過是爲了迴應微軟的.NET。”Scott McNealy面對記者們指出“而我認爲這個產品---SunONE,是我們多年事業的一個頂點。”

  -Web Services將改變軟件產業

  Scott McNealy認爲Web Services是Sun公司事業發展的一個頂峯,Bill Gates認爲Web Services是微軟.NET的一個核心。爲什麼他們對Web Services如此看重,因爲它很有可能會改變現有的軟件產業。Web Services作爲新興的,一種依賴於Internet,爲用戶或其他Web Services提供單一服務功能的組件,將成爲軟件未來的存在形態。而誰能夠在這個領域勝出,誰就有可能成爲未來軟件業的主導。回想軟件產業的發展,從最初,根據需求定製的軟件產品,到今天已經發展到了商用的、模塊化的軟件產品。軟件產業逐漸向單一化、規模化方向發展。而當Internet出現之後,起初並沒有給軟件產業帶來多大的衝擊,僅僅是催生出一批新型的軟件產品。

  但是當ASP出現之後,一些專家開始大聲呼叫到,“軟件就是服務”這個真理終於被人們肯定了。但現實就是這麼慘酷,曾經被認爲是繼電子郵件出現之後,對企業用戶影響最大的應用--ASP,今天卻面臨風雨飄搖的窘境。究其原因,主要是因爲ASP仍然是一個以集中式計算模型的產物,只不過是披着一層互聯網的外衣。但Web Services卻是一個迥然不同的精靈,它秉承“軟件就是服務”的真言,同時順應分佈式計算模式大興其道的潮流。而它的存在形式又與以往軟件不同。這種組件模式,小巧、單一,對於開發人員來講,開發成本較低。

  Web Services在某種意識上就是結合了ASP和組件產品兩方面的特性,通過標準協議,在互聯網上,提供單一特定的服務。區別在於Web Services面對的用戶羣更廣,而且更加通用,更加鬆散。而不象ASP服務的對象,需要簽訂一定的合作協約。Web Services的出現,給軟件產業又一次帶來新的商業模式。Web Services的供應商,既可以將Web Services一次賣斷給軟件開發商,也可以通過租賃的方式,按月收取服務費用。試想一下,如果你開發的Web Services被微軟選中應用在Windows XP平臺裏,那你很有可能將一夜成爲百萬富翁的美夢變爲現實。

  -微軟感覺Web Services有點兒甜Web Services的魔力就在於,微軟深信其可以將自己在PC上的統治地位延續到互聯網上。沒有人懷疑微軟在PC上的成功,但是當面對互聯網,這個靠後端高性能計算所支撐的體系,微軟的發展前景受到了人們的質疑。而Web Services恰巧能夠成爲微軟手中一個制勝法寶。想要探究其中的原因,首先一點就是要弄清Web Services到底是什麼。

  人們爲Web Services下的定義是通過標準的Web協議可編程訪問的Web組建。如果不加進任何解釋,沒有多少人能夠明白它講的是什麼東西。你是否有過這樣的經歷,就是在使用MS Word編寫報告的時候,當需要調用一個MS EXCEL製作好的報表時,你可以使用對象嵌入功能。你在執行這個操作的時候,實際上是在使用MS Word的過程中,去調用另外一個應用程序。而Web Services的功能也與此十分相近。只不過它不是發生在一個單一的PC上,而是發生在客戶端(Client)與服務器(Server)之間,或是服務器(Server)之間。例如用戶在瀏覽一個英文網頁,隨着鼠標指針的移動,屏幕上顯示出相應的中文解釋,不要以爲這個用戶正在使用金山詞霸,他沒有。這個用戶只不過是通過網絡去調用一個提供即時翻譯的Web Services。此時的即時翻譯程序,變成了一個遠在異地的應用組件。這些基於後端的Web Services被微軟認爲將會成爲未來互聯網的主導。而搶佔了這個陣地也就贏得了互聯網的明天。由此引發出很多新的標準、協議,以便讓這些Web Services組件能夠順利地被調用。

  -到底是誰的勝利

  其實Web Services是一場分佈式計算體系的躍進,真正的勝利是分佈式計算模式對集中式計算模式的勝利。它強調的是不同組件協同工作,來爲用戶提供服務。分佈式對象結構,是將標準化的組件對象放在遠端的電腦上。客戶端在調用對象時,使用分佈式對象結構的調用標準來獲取對象。在這裏人們要清楚一點,此時的客戶端,其內涵已經被擴大,不是我們平時眼裏的PC,而是任何一個對調用對象提出服務請求的組件。面對互聯網這個廣義的分佈式計算體系,Web Services實際上更像是一種遠程訪問的標準。

  還記得那個令人晦澀難懂的詞彙CORBA,它是最熱門的分佈式對象結構。它的優勢就在於可以跨平臺,跨開發語言,來調運服務器端某個對象模塊提供的服務。Web Services和CORBA這些分佈式應用技術的目的都是要解決遠程目標之間的通訊問題。和其它的解決方案不同,Web Services提供基於開放式標準上的完全終端對終端的解決方案。對於Web Services解決方案的用戶來說,沒有任何特殊的要求。

  面對Web Services這樣的發展前景,微軟堅信打贏Web Services這場戰鬥,將確立起在整個互聯網中的霸主地位,而那時再來回味公司在PC領域的輝煌,微軟的感覺也只不過像是品味飯後的一道甜點。

  爲了能夠實現這個夢想,微軟做出了很多的努力,首先是力推XML。因爲Web Services所要涉及到的信息,已經不僅是簡單的文本,而是數據。此外Web Services需要跨平臺,而原有的HTML都是無法滿足需要的。通過XML可以使得程序之間更容易進行溝通。微軟對XML的支持力度表現在,Internet Explorer 5.0是最早支持XML的瀏覽器,早在XML標準尚未確定之前,微軟就推出了XML Notepad編輯器。

  接下來,微軟對Web Services的核心SOAP也大費心計。SOAP是對象間信息交換的通信協議。可以把SOAP看成是用戶端與服務器端之間進行溝通的特殊語言。在按照SOAP協議封裝的信息裏,包含了用戶端申請Web Services所必要的內容,例如該Web Service所涉及到的名稱、參數等。當然服務器端也會按照SOAP通信協議返回相應的結果。

  但新的一個問題又出現了,就是用戶端的程序要如何才能知道Web Services提供了什麼可以進行調用的服務呢?這時WSDL(Web Services Description Language,Web Services描述語言)出現了,它是用來描述Web Services的相關信息。現在一切就緒,可那些Web Services開發商需要一個方法將自己開發的Web Services進行發佈,廣而告之。於是UDDI(Universal Description,Discovery and Integration)應運而生。UDDI是一個跨產業、跨平臺的開放性架構。其可以幫助Web Services開發商在Internet上公佈自己推出的Web Services。

  微軟在Web Services標準的確定上已經搶佔了先機,但這說不清誰能贏得Web Services戰役的勝利。Sun告訴人們,什麼XML、SOAP、WSDL、UDDI等標準,SunONE全部支持。Sun堅信的只有一條,就是能夠真正跨平臺的技術只有一個,它就是Java。用戶只有選擇了擁有開放性的開發平臺,才能夠讓其開發出的Web Services應用遍佈整個互聯網。

  Web Services是否鏡中花

  無論是微軟、Sun還是IBM、BEA都對Web Services看好,但它最終能否生存下來,還是要看用戶是否願從腰包裏掏錢給它。今天的IT環境同.COM火爆年代相比,已不可同日而語。萎靡不振的全球經濟,讓Web Services的鼓吹者,不能夠單靠一張嘴去打動用戶的心。更加殘酷的是,Web Services在近一段時間的發展下,已經不是可望不可及的東西,到了要用事實說話的時候了。

  Web Services面臨殘酷的挑戰,這裏指的不是它的標準是否完善、也不是它的設想是否合理,而是Web Services能否讓那些第一個吃“螃蟹”的用戶,立即看到投資回報。還好現在已經有象Imperial Sugar、Nordstrom.com、Hewitt&Associates這樣的公司,開始嚐到Web Services給他們帶來的甜頭。

  這些公司大多是在應用集成這個領域採用Web Services。Imperial Sugar公司,利用Web Services將五個重要的原材料供應商集成到一個訂單管理系統之中。公司在2000年已經申請破產保護,因此每一筆在信息建設的投入,都要受到審查。公司最終選取了Web Services這種方式,在有限的資金條件下,建立了一條高效的供應鏈。利用Web Services模式,公司關鍵的原材料供應商們,可以圍繞Imperial Sugar公司的生產流程,來訪問他們與Imperial Sugar公司組成的供應鏈管理系統。通過SOAP通信協議,來查詢和輸入原材料數據。

  “現在給一項新的項目進行投資,對於公司來說是十分困難的。”Imperial Sugar公司CIO Muller先生講到“但當看到有關投資回報的調查之後,我們就做出了決定。”

  此外諸如Bidders Edge或My Simon等的網上拍賣店,利用Web Services通過在網上搜索所有的相關拍賣行情,爲便宜貨搜索者提供方便、快捷的購物服務,併爲用戶提供最爲廉價的貨物信息。通過應用Web Services,這些網站將能自動擴展出更多的功能,例如評價並選擇原料供應商,或選拔合格可用的產品技術支持專員負責處理用戶的電子郵件諮詢。Web Services還可被用於對顧客所需服務的自動識別,併發出網站的應用工具以用於尋找解決辦法。對顧客來說,這將比以往要更爲有效率。

  從投資回報上看,Web Services已經得到了部分用戶的認可。但是從TCO(總體擁有成本)的角度來看,用戶仍然處於茫然的狀態。Web Services畢竟是一個全新的事物,它的使用方式是依靠遠程調用,形式上更接近早先的ASP。但今天ASP的前景已經非常暗淡,至少在中國是這樣的,而由此人們便會擔心Web Services到底是否能夠真正的降低企業的TCO。

  此外來自廠商的聲音更攪得用戶不知所措,圍繞哪種開放平臺可以讓企業的TCO降到最小的爭論,更是以微軟和Sun爲代表。針對開發Web Services應用,微軟推出了Visual Studio .NET(簡寫VS.NET),而Sun推出了J2EE。來自Merrill Lynch對100位美國和歐洲CIO的調查顯示,他們已經分成兩大派別,分別支持VS.NET和J2EE。

  微軟告訴人們在VS.NET平臺下,用戶可以利用VB、VC++、VC#等多種開發工具共同開發各樣符合Web Services標準的應用,並且這些應用可以保持相互兼容,條件只有一個就是要統一在微軟的平臺之上。而Sun則宣佈,利用SunONE平臺開發的Web Services應用可以跨越所有的平臺,你不會只拴在微軟這一棵稻草上,但條件也只有一個,就是使用Java。

  -編輯寄語

  李學凌

  本期,我們花了極大的精力,重新剖析Web Service,真可謂嘔心瀝血。說實話,在微軟和SUN之間做比較的時候,我們也非常頭痛。爲了仔細比較MS.NET和SunONE之間的異同,我們請教了許多行業內的專家。在底層XML和SOAP等,兩者是一樣的;在頂層,Web Service兩者又走到一起。決戰之地在中間層,C#與JAVA,.NET構架對JDK等。我們在選題討論會上,SUN公司的一位員工也談到,SUN在移動設備領域和諸如摩托羅拉等公司的合作已經取得的實際進展;而我也在微軟總部看到了原型的微軟手機軟件。這場戰爭會從服務器一直打到周邊設備,成爲名副其實的信息戰爭。

  我個人認爲,在過去兩年當中出現的技術變革,能夠影響今後10年的網絡技術有兩項,一項是端對端(P2P)的結構性革命,另一個就是Web Service。P2P的出現,擊碎了網絡物理穩定的思維模式,只要有相當概率的電腦在線,P2P就可以自主、自足組建成爲牢固的網絡,如果只是把P2P和盜版MP3鏈接起來,就太小覷了P2P對網絡架構的顛覆。P2P出現後,網絡中“上帝已經死了”。Web Service從某些層面上理解,包含了P2P的理念。1992年計算機圖靈獎授予Butler Wright Lampson,表彰他在分佈式計算方面的傑出貢獻,Lapmpson本身就長期擔任微軟軟件首席架構師。分佈式存儲和分佈式計算一直以來都是計算機結構大師的夢想。Web Services從某個角度來說,正式要解決分佈式計算的問題。“數據在服務器之間遊走,計算力在網絡之間分享”,正是Web Service要實現的夢想。可以這樣說,Windows是操縱一臺計算機的靈魂,MS.NET也好SunONE也罷,就是在爭奪網絡操作系統的控制權。

  計算機發展的前20年,一直在打一場操作系統的戰爭;經過幾年互聯網基礎發展之後,網絡級操作系統的戰爭終於在兩大利益集團之間爆發。IBM再也不會像當年那樣,拱手把PC操作系統市場送給微軟,百年不遇的機會面前,沒有人會退縮。表面上看,這是微軟和SUN公司之間的糾紛,其實質卻是包括了IBM、ORICAL、SUN、HP和微軟等等所有頂級計算機公司參與的計算機世界大戰。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章