〔轉載〕Java門口的圈地大戰

Java門口的圈地大戰

作者: Builder.com
Monday, October 18 2004 10:35 AM

本文譯自Builder.com,未經許可請勿轉載

Java標準制定組織已經由於IBMBEA的作用而被腐蝕了嗎?SunAppServer 8.0會在已有的產品中形成競爭力併爲用戶提供更多選擇嗎?我在這裏將給出自己對此的感受,以及與Sun的軟件大帝Jonathan Schwartz的會談內容。

advertisement_e1.gif
<script language=JavaScript1.1 src="http://ad.cn.doubleclick.net/adj/messagingplus.zdnet.com.cn/developer/tech;sz=1x1;ord=457454219?"> </script> tech;sz=1x1;ord=457454219?

評論:最近,我寫了一個專欄,提出了這樣一個問題:這難道就是我們所知的Java的末日嗎?這個問題的提出是由一項向Java標準制定組織(Java Community Process,JCP)提出的增強Java標準的提案引起的,這項提案希望JCP的成員,比如IBM和BEA,在採納這一提案之後(而不是之前)實現對Java標準的增強。

多年以來,JCP一直都是討論Java技術改進提案的場所。Java由很多不斷變化的部分和組件構成,包括Java虛擬機(Java Virtual Machine,JVM)各種針對佔用空間的版本。事實上,所有這些單獨的Java規範以及對它們的任何升級——也就是Java迷所知的Java規範請求(Java Specification Request,JSR)——會在被正式融合到Java標準裏或者在得到符合Java標準的產品的支持之前,被髮散出去,並由JCP的組成成員來修改和改進。

從歷史上講,當創建Java擴展的官方過程被某一家公司以某種被認爲違反Java“一次編寫,隨處可用”承諾的方式繞過時,該公司必須要提醒開發人員它將背離Java的承諾(在開發人員調用這類供應商專用的擴展時),或者,在大多數人所共知情況下,面對Sun的憤怒。

當微軟向自己的Java虛擬機里加入Windows專用的擴展而沒有事先提醒開發人員的時候,Sun告了微軟一狀,這場官司在2001年審結。而這場官司在行業裏的反響一直延續到現在。

類似的, IBM於2001年10月提出用Eclipse集成開發環境(Integrated Development Environment,IDE)作爲一種開放源代碼的方案取代Sun認可的IDE——NetBeans,儘管沒有提起訴訟,但是Sun被這種做法激怒了。Eclipse向開發人員提供了多個撤離Java地盤的方法,但是Sun關心的一個東西是IBM開發的、用於Java的圖形用戶界面(Graphical User Interface,GUI),叫做SWT。爲了保證Java“一次寫成、隨處可用”的承諾,Sun鼓勵用戶堅持用SWING(這是NetBeans裏默認的GUI庫)。

儘管先前對Java領地的侵犯是單方面的,但是最近IBM和BEA聯合努力的公開化可能標誌着Java生態系統已經進入了一個新的時期。JCP的這兩個成員,都是J2EE的JSR的組成成員,它們通過合作推出三個J2EE擴展(服務數據對象、應用服務器計時器和應用服務器工作管理器)繞過了傳統的提出—批准—支持這一順序。它們承諾首先在其應用服務的下一版本里對這些擴展進行支持,然後再將它們提交給JCP。

根據最近的統計,IBM和BEA已經取得了J2EE市場領先者的桂冠,它們共同控制了該市場66%的分額。IBM和微軟的市場存在讓其他的競爭者沒有多少選擇,只有去使用這兩家公司合作制定的各種Web服務規範。通過相同的方式,IBM和BEA兩者在J2EE市場上的力量讓其他競爭者在這一市場剩下的份額裏沒有多少選擇,只有去使用這兩家共同支持的各種規範。

從走程序的角度來看,IBM和微軟在萬維網協會(World Wide Web consortium,W3C)裏努力建立事實的(即由任何標準化組織而不是由官方認可的)Web服務標準的過程同IBM和BEA在JCP裏確立優先權的過程驚人地相似,而且現在可能已經成了慣例。

最近很多在2003年提出的規範——尤其是那些Web服務的規範——已經或者將要獲得事實的標準地位,這都是IBM或者微軟(或者兩者共同)同與規範相關的市場上第二大的公司共同推動並聯合宣佈對該規範(例如安全方面的Verisign)進行合作研究的結果。

微軟和IBM單個都還沒有強大到利用這些規範威脅整個行業的地步。但是當它們相互聯合,或者與它們將要介入的市場上第二大的猩猩聯合的時候,整個行業就必須跟着它們走。IBM和BEA的合作就是對這一公式的另一個完美的執行。

儘管這兩家公司和Java的守衛者Sun可能不同意我的評價,因爲它們認爲所提出的規範已經作爲JSR 235236237(這三個都把IBM和BEA列爲其主導者)列入了JCP的日程,但是我的感覺是,把這些提案提交給JCP只不過是象徵性的。而其他的JSR,包括最近提出的用於移動國際化API的JSR 238,所列出的支持者要比這個領導者單子上的多。我最近一次查過,由IBM和BEA提出的這三個JSR除了它們自己,就沒有別的支持者了。

看看這個公式就知道:在爲IBM創立J2EE事實標準上,JCP扮演的角色與結構化信息標準推進組織(Organization for the Advancement of Structured Information Standards,OASIS)在創建事實的Web服務標準上所扮演的角色相同。它們都是帶有知識產權政策的政權制度(這是任何需要邀請行業其他成員參與的規範所需要的),而且對不具備辨別力的客戶、管理者、聯邦反壟斷檢察官、陰謀理論家(但不是這個)、唱反調的人、媒體等來說,把它們的名字與規範聯繫在一起會造成一種印象,覺得統治的嘗試還沒有開始,但事實上,統治已經開始了。

advertisement_e1.gif
<script language=JavaScript1.1 src="http://ad.cn.doubleclick.net/adj/messagingplus.zdnet.com.cn/developer/tech;sz=1x1;ord=2146344710?"> </script> tech;sz=1x1;ord=2146344710?

也就是說,儘管所要討論的JSR正在走相應的程序,而且如果它們最終的版本被批准的話,我的感覺是,儘管通過了JCP體制的洗禮,但是對這些JSR的整體影響只會是稍有不同,如果有變化的話。不論是哪種情況,IBM關於Java的要求將會得到迴應,因爲IBM在多個場合告訴過我,說它們希望看到Java從Sun的控制之下襬脫出來(儘管Sun聲稱沒有控制它)。

對於我來說,這種完全是強權玩的遊戲似乎已經把JCP邊緣化了,這就同IBM和微軟將W3C邊緣化是一回事,這就是爲什麼我在自己專欄裏公開提出“這是否我們所知的Java的末日”的原因?我和Sun的軟件執行副總裁Jonathan Schwartz交談過,瞭解了Sun對這一問題的看法。

在我進行的採訪中,Schwartz不同意IBM和BEA採取的行動降低了的Java和JCP的完整性,他說BEA和IBM將規範提交給JCP的原因不是爲了掩飾(我所說的那種)強勢壓制,而是“因爲市場向JCP尋求它們感覺可靠的標準”。Schwartz後來將這種可靠性的特性總結爲JCP爲了客戶的利益而進行的競爭和替換。Schwartz相信,如果有什麼東西的話,那就是JCP的凝聚力“挫敗了IBM”。

Schwartz澄清說,Sun沒有被判失敗。暴露於氪化物之下的超人看上去會被打敗,但是最後卻成功地擺脫了它的影響拯救了地球。Schwartz在談到Sun自己的J2EE產品——AppServer 8.0——時就採用了類似的方式,就好像它是Sun、Java和行業裏救世主,奮起反抗體重800磅、妄圖統治世界的、發狂的大猩猩。它可能是。儘管時間最終會驗證Schwartz的預測,但是現在還是讓我成爲第一個承認AppServer 8.0可能成爲破壞IBM努力的祕密武器的憤青吧。

就像Schwartz在採訪中告訴我的一樣,AppServer 8.0服務於多個目的。由於它符合最新版本的J2EE(1.4版),這在該規範於2003年11月通過JCP最後投票過程兩週之內就實現了,而IBM直到2004年2月纔在其WebSphere裏支持這一規範,所以IBM找不到藉口說JCP制定標準的過程太慢。在規範通過批准之前,JSR的所有成員都具有平等的權利改進它,這就使得這些成員能夠及時地發佈符合該標準的應用服務器。

Schwartz說,如果IBM真的對時間那麼敏感的話,它就應該在該規範被JCP批准的幾天內推出符合1.4版標準的服務器。但是,作爲第一個拿出符合J2EE 1.4標準的應用服務器還不夠,AppServer 8.0還是最早(甚至早於微軟)支持Web服務互操作性組織(Web Services Interoperability Organization,WS-I)基本特性驗證方案(Basic Profile)的服務器之一。而WS-I是由IBM和微軟發起建立的,Sun是後來者,對於它來說,在某個創始成員之前就迅速地拿出符合WS-I特性驗證方案的技術很能夠說明Sun的職責。

但是坦誠地說,如果這些說法都是真實的話,我發現它們大多都是Sun及其開發人員的精神勝利法。但是AppServer 8.0最實際的兩個影響將是其價格和它所支持的平臺——它是免費的,沒有附加任何限制條件,可以運行在Solaris、HP-UX、Linux和Windows上。

在AppServer 8.0發佈之前,Sun被認爲是應用服務器陣營裏比較拖沓的人。諷刺的是,Sun發明了Java,但是卻無法比得上甚至是接近IBM的WebSphere或者BEA的WebLogic。Sun早期對Web服務的排斥,(Schwartz將其特性總結爲“垂直的”視角),以及Sun受到Web服務運動中政治暗流的排擠,可能都是Sun在應用服務器市場上不佳表現的原因。現在,有一種“Sun碰到JBOSS(JBOSS是一個免費的、基於開放源代碼的J2EE服務器)”的產品,它實際上是J2EE 1.4規範的參考實現,運行在多個平臺上,它也加入了(和“垂直”相反)Web服務運動,在這樣一個產品裏,有哪個組織不回去上前仔細看看,尤其是那些已經忠於Java的公司(不同於那些屬於微軟的.Net陣營的公司)。

Schwartz會是行業裏新的超級英雄嗎?可能是。他和我談到了所有的東西,從JCP到Linux賠償,再到Sun要做什麼才能夠把Windows的開發人員吸引到Java這邊來。你是怎麼認爲的呢?


 

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