九十年代末,微軟高層利用各種機會打擊Java平台,但是現在SOA和Web服務的發展已經將過去的不友好局面扭轉成了良性的忽視,研究微軟發展趨勢的分析師Greg DeMichellie說,“ 與Java的戰爭已經結束了”。
因此,在關於Java EE平台生存能力的爭論中,微軟Visual Studio 組的產品經理Prashant Sridharan說,“我不喜歡直接評論競爭對手。我更喜歡直截了當看結果。”
DeMichellie說這是一個很好的公共關系策略,它采納了歷來的政治建議——當你的對手正在進行著自我毀滅的時,置身事外。
但是,當被告知Burton集團高級分析師Richard Monson-Haefel寫了一些關於微軟.NET作為Java平台的替代者這樣的有利於微軟的文章時,Visual Studio產品經理表現得非常熱情。
Burton集團的分析師說:“微軟.NET所提供的解決方案與Java EE的同樣全面,但是.NET的開發過程要簡單得多。JEE5無法解決其通用程序設計模型的復雜性,這一事實在很大程度上導致了.NET的威脅。相反,.NET通常被認為是更加簡單的應用程序開發環境,而且它的適用范圍並不狹窄,它不同於使用rebel框架、LAMP和[Ruby on Rails]的特定范圍內的案例。取而代之的是,.NET平台提供了與Java EE同等級的功能,而且它被認為是Java EE直接的競爭對手。”
這些評論對於Sridharan來說是美妙的音樂,而且也證實了他所說的——微軟已經投入資金和精力,旨在把.NET打造成為Web服務和SOA的平台。
“從2000年開始,”微軟產品經理說,“.NET就一直構建在Web服務和產業標准技術(如SOAP和XML)的基礎之上。從那時起,我認為我們就已經了解了面向服務架構的重要性以及Web服務的重要性,並且一直致力於構建出了交互性更好的框架——現有的Windows應用程序的典型框架是使用COM及Windows自帶組件構建的。”
DeMichellie說,如果說微軟一開始就關注.NET上的SOA可能有點誇大其詞,但是他說在Web服務技術剛剛出現時,微軟便開始完全從頭開始在.NET上進行開發,這一舉動推動了Java平台的發展。這些歷史可以追溯到九十年代中期的客戶端/服務器時代,那時Sun微系統公司剛剛成立。
“微軟清除了這些歷史記錄,並於2000年重新開始研發.NET平台,”他說,“這也沒有比Java晚很久。”
當SOA替代了舊的模型時,Sun公司和一些致力於Java平台的開發商試圖通過Java Community Process來“清除歷史記錄”,但是他們失敗了,反而導致微軟在他的老對手面前重振旗鼓,DeMichelle爭辯道。但是,他也信任IBM,因為它是有遠見的——完全從頭開始關注Web服務和SOA,即使IBM的Websphere也是基於J2EE的。
“IBM和微軟設計了關於Web服務的一整套新系統,並且Sun公司提供了Java——他們曾經用於其它技術並試圖擴展到Web服務中。”
分析師們可能會爭論:如果Java EE消亡了,SOA架構師和開發人員將轉向哪家公司,但是考慮到IBM是Eclipse基礎的開發商以及主要的支持者,而現在Eclipse正在使其自身成為平台,因此,DeMichelle的結論與Monson-Haefel的相差不遠,Monson-Haefel的結論是:“最終歸結為微軟的Visual Studio和Eclipse這兩大主要陣營。”
IBM和其它開發商如Oracle公司,仍然堅持在Java EE陣營中,他們爭辯說微軟平台並不適用於大企業客戶的大容量傳輸應用程序,如投資公司和銀行。
該論點把微軟的Sridhara帶回了有競爭性的爭辯中。
“在微軟發展的過程中,我們的競爭對手總是嘗試著把微軟定位在僅僅適用於部門級或者小應用程序,”他爭辯說。“我不認為這樣的觀點可以繼續存在下去。如果你進行分析:在Windows Server 2003上運行.NET框架2.0中的應用程序,並且在可比較的環境下,運行任何的J2EE程序,進行比較之後你就會發現:我們的Web服務平台比任何其它Web服務開發商的平台都快。同時,我們的平台在處理更多事務以及更大規模的應用程序方面的能力與其他的Web服務平台公司不分上下。”
DeMichelle說這一反對微軟的爭辯是沒有道理的。他說,在大企業應用程序的市場中,無論IBM和Oracle公司可能具備多大優勢,這都與他們使用Java EE平台是無關的。Oracle公司的優勢,他說,在於它的數據庫技術的強大,而IBM又有服務大公司的慣例,這可以追溯到運行COBOL(面向商業的通用語言)應用程序的大型機時代。
然而,對於微軟作為SOA平台候選的出現,一個潛在的障礙是Redmond他們組的產品是否能夠與其他產品協同工作。
微軟的Sridhana說他的公司已經投入時間和資金來確保.NET平台可以與其它技術交互。“我們已經開發了模式和實例作為流程指導和方法,以此來幫助人們了解在各種環境中的最佳實踐,無論他們是操作一個大型機的遺留系統或者是其他平台如J2EE,”他說。
Interarbor Solutions 的首要分析師Dana Gardner與Burton集團的Monson-Haefel 立場相同,他相信微軟能夠創造出使Web服務開發簡單化的工具,但是,在最近關於Java EE可見性的爭論中,Gardner在他自己的blog中指出微軟的版本是“偽SOA”。
當被問到如何解釋他所說的這一“偽SOA”時,他說,“漸漸地,最好的回避方式——微軟必須保持更多的開發人員緘口不言——是簡單的,但是微軟方法的簡單性並不適用於常見的其他平台。這就是我為什麼稱其為偽SOA。它是微軟內部的SOA,只是加入了Web服務和企業整合的特性。SOA的精髓是既相對簡單又具備普遍跨平台性,即不完全依賴.NET也不完全依賴JEE。”
DeMichellie並不接受偽SOA這一名稱,但是他同意:微軟的普遍存在的Windows操作系統在某種程度上說是有疑問的。“關於微軟的方案,最大的爭議在於:它僅僅是運行在微軟操作系統之上的,”他說。“如果你是一家公司,而且你並不希望你的關鍵基礎架構必須依賴於微軟Windows操作系統的話,比如你確實希望能夠運行在Linux上,顯然,你不應該選擇.NET框架。”
yesky