Java EE在SOA世界中的消亡?(轉)

ba發表於2007-08-15
Java EE在SOA世界中的消亡?(轉)[@more@]  在未來的五年內,Java平臺企業版(Java EE)將不再是主流的標準程式設計模型,伯頓集團的高階分析師Richard Monson-Haefel預測說,並且SOA的發展是導致這一結果的原因之一。

  上週,伯頓集團發生了一件驚天動地的事情,Monson-Haefel發表了一篇名為“JEE5:Java EE預示結局的先兆”的報告。Java平臺企業版就像是一種史前動物,因為它整體過於龐大無法僅僅依靠可食植物來維持生存而導致滅絕,伯頓分析師說隨著JEE5中spring的釋出,Java平臺企業版已經變得過於複雜導致企業級開發人員很難使用它,他們越來越期待著替代版的出現,譬如Ruby-on-Rails。

  Monson-Haefel的結論如同死亡證明書一樣殘酷:“JEE5在複雜性上的失敗是預示著Java企業版平臺終從企業開發平臺領域的統治地位上落敗。所有企業在考慮新的企業開發時應該多參考一些其他的平臺,而且企業也應該提早做出準備以應對作為企業解決方案的Java EE的最終消亡。”

  Java企業版平臺的發展將不可避免的效仿以往的一些標準,比如CORBA(通用請求代理體系),它們曾經也非常有前途,但最終還是走向了沒落,他說。

  “五年內,Java平臺企業版將成為 21世紀的CORBA,” Monson-Haefel說道。“人們將看著它說‘它曾經也盛極一時’,但是因為太複雜,現在已經沒人願意再使用它了。”

  他努力強調說他僅僅是揭示了Java EE平臺的衰落之路,絕不是Java語言的。

  “Java程式設計語言是不會有任何危險的”這位伯頓分析師說。“我認為Java程式設計語言在近幾年內將繼續發展成為企業級開發的支柱。”

  Monson-Haefel不是唯一一個預測Java EE平臺失敗並把SOA當作造成這一結果的原因之一的分析師。

  “Java EE現在已經時日不多了,” ZapThink 公司的高階分析師Jason Bloomberg說,他同樣也看到了導致這一後果的罪魁禍首就是Java EE每個新版本所增加的複雜度。“很明顯,只要釋出了新版本或者增加了模組,唯一增加的只有複雜性。最終,它會被自己壓垮。從目前看來,將來是不會開發出比已有的Java EE更精簡的版本。”

  即使先把複雜性放到一邊不說,當提到要進入面向服務的企業這個新時代時,作為SOA和Web服務方面的專家Bloomberg就已經看到了Java平臺自身的致命缺陷。

  “從根本上而言,Java EE的世界並不是為SOA而建立的,” ZapThink公司的分析師說。“現在,你可以依靠基於J2EE的執行時基礎架構,在Java和許多用於SOA實現的產品上建立非常棒的SOA實現。事實上,Java有很多面——一種物件導向程式設計語言、一個虛擬機器的基礎結構,並且Java的Java EE是特定的一個實現n層架構的框架。不幸的是,Java的任何一面,或者是任何一種虛擬機器都不適合做SOA的開發平臺。”

  在Java EE中實現的物件導向(OO)並不完全符合SOA的核心——面向服務,Bloomberg爭辯道。

  “從物件導向的角度來看,服務和服務的例項是相同的概念,”他說。“物件例項是獨立存在的這一整套概念在SOA中價值甚微。”

  Java EE中的虛擬機器也不是SOA的最佳解決方案,Bloomberg說。

  “虛擬機器的目標是為了增強程式碼可移植性,但是在SOA中,互操作卻是更加重要的,”他說。“在SOA中,如果你並不需要移動程式碼,那為什麼還要克服這些困難去實現程式碼移植呢?從根本上來說,分散式計算的虛擬機器方式是透過物件序列化來實現遠端方法呼叫,但是SOA卻是在固定的介面下實現服務之間的資訊交換。”

  從Monson-Haefel的觀點來看,面向服務使得對統一平臺(如Java EE)的需要變得無關緊要。

  “SOA確實降低了一個公共程式設計模型的重要程度,”伯頓的分析師說。“因為真正重要的不再是服務於通訊的模型,而是通訊本身。它是你正在交換的資料。它是與你完成交換資料關係緊密的方法,而不是資料背後的程式設計模型。”

  Java EE最主要的優勢在於提供了一個公共的程式設計模型,但是,當進行SOA領域的開發時,這並不是最重要的。Monson-Haefel說。

  “SOA和Web服務降低了後臺如何執行的重要程度,”伯頓的分析師說。“這兩者強調的是如何相互合作,比如說,Web服務的XML和HTTP如何相互合作。後臺如何執行已經不重要了。”

  最後,ZapThink公司的Bloomberg說:企業級的JavaBeans/Servlet/Java Server Pages框架都與SOA不一致。

  “你可以看到,Java EE的重點在於為可升級的n-層架構提供框架,這正是那些大的事務處理網站所需要的,” Bloomberg說。“然而,如果你是要為SOA建立一個企業級框架的話,那麼你所要完成的構建與在Java EE平臺下的構建就大相庭徑了。你需要建立的框架是以啟用和維持服務提取層為中心的,這對SOA而言是至關重要的。因此,Java EE非常適合於基於平臺的日常服務,但不是SOA。”

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-959039/,如需轉載,請註明出處,否則將追究法律責任。

相關文章