jwethand

          Nothing is particularly hard if you divide it into small jobs.
          posts - 21, comments - 18, trackbacks - 0, articles - 20

          Java EE在SOA世界中的消亡

          Posted on 2006-12-27 13:52 jwethand 閱讀(120) 評論(0)  編輯  收藏

          上周,伯頓集團(tuán)發(fā)生了一件驚天動地的事情,Monson-Haefel發(fā)表了一篇名為“JEE5:Java EE預(yù)示結(jié)局的先兆”的報告。Java平臺企業(yè)版就像是一種史前動物,因?yàn)樗w過于龐大無法僅僅依靠可食植物來維持生存而導(dǎo)致滅絕,伯頓分析師說隨著JEE5中spring的發(fā)布,Java平臺企業(yè)版已經(jīng)變得過于復(fù)雜導(dǎo)致企業(yè)級開發(fā)人員很難使用它,他們越來越期待著替代版的出現(xiàn),譬如Ruby-on-Rails。

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

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

          “五年內(nèi),Java平臺企業(yè)版將成為 21世紀(jì)的CORBA,” Monson-Haefel說道。“人們將看著它說‘它曾經(jīng)也盛極一時’,但是因?yàn)樘珡?fù)雜,現(xiàn)在已經(jīng)沒人愿意再使用它了。”

          他努力強(qiáng)調(diào)說他僅僅是揭示了Java EE平臺的衰落之路,絕不是Java語言的。

          “Java程序設(shè)計語言是不會有任何危險的”這位伯頓分析師說。“我認(rèn)為Java程序設(shè)計語言在近幾年內(nèi)將繼續(xù)發(fā)展成為企業(yè)級開發(fā)的支柱。”

          Monson-Haefel不是唯一一個預(yù)測Java EE平臺失敗并把SOA當(dāng)作造成這一結(jié)果的原因之一的分析師。

          “Java EE現(xiàn)在已經(jīng)時日不多了,” ZapThink 公司的高級分析師Jason Bloomberg說,他同樣也看到了導(dǎo)致這一后果的罪魁禍?zhǔn)拙褪荍ava EE每個新版本所增加的復(fù)雜度。“很明顯,只要發(fā)布了新版本或者增加了模塊,唯一增加的只有復(fù)雜性。最終,它會被自己壓垮。從目前看來,將來是不會開發(fā)出比已有的Java EE更精簡的版本。”

          即使先把復(fù)雜性放到一邊不說,當(dāng)提到要進(jìn)入面向服務(wù)的企業(yè)這個新時代時,作為SOA和Web服務(wù)方面的專家Bloomberg就已經(jīng)看到了Java平臺自身的致命缺陷。

          “從根本上而言,Java EE的世界并不是為SOA而創(chuàng)建的,” ZapThink公司的分析師說。“現(xiàn)在,你可以依靠基于J2EE的運(yùn)行時基礎(chǔ)架構(gòu),在Java和許多用于SOA實(shí)現(xiàn)的產(chǎn)品上創(chuàng)建非常棒的SOA實(shí)現(xiàn)。事實(shí)上,Java有很多面——一種面向?qū)ο蟪绦蛟O(shè)計語言、一個虛擬機(jī)的基礎(chǔ)結(jié)構(gòu),并且Java的Java EE是特定的一個實(shí)現(xiàn)n層架構(gòu)的框架。不幸的是,Java的任何一面,或者是任何一種虛擬機(jī)都不適合做SOA的開發(fā)平臺。”

          在Java EE中實(shí)現(xiàn)的面向?qū)ο?OO)并不完全符合SOA的核心——面向服務(wù),Bloomberg爭辯道。

          “從面向?qū)ο蟮慕嵌葋砜矗?wù)和服務(wù)的實(shí)例是相同的概念,”他說。“對象實(shí)例是獨(dú)立存在的這一整套概念在SOA中價值甚微。”

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

          “虛擬機(jī)的目標(biāo)是為了增強(qiáng)代碼可移植性,但是在SOA中,互操作卻是更加重要的,”他說。“在SOA中,如果你并不需要移動代碼,那為什么還要克服這些困難去實(shí)現(xiàn)代碼移植呢?從根本上來說,分布式計算的虛擬機(jī)方式是通過對象串行化來實(shí)現(xiàn)遠(yuǎn)程方法調(diào)用,但是SOA卻是在固定的界面下實(shí)現(xiàn)服務(wù)之間的信息交換。”

          從Monson-Haefel的觀點(diǎn)來看,面向服務(wù)使得對統(tǒng)一平臺(如Java EE)的需要變得無關(guān)緊要。

          “SOA確實(shí)降低了一個公共程序設(shè)計模型的重要程度,”伯頓的分析師說。“因?yàn)檎嬲匾牟辉偈欠?wù)于通信的模型,而是通信本身。它是你正在交換的數(shù)據(jù)。它是與你完成交換數(shù)據(jù)關(guān)系緊密的方法,而不是數(shù)據(jù)背后的程序設(shè)計模型。”

          Java EE最主要的優(yōu)勢在于提供了一個公共的程序設(shè)計模型,但是,當(dāng)進(jìn)行SOA領(lǐng)域的開發(fā)時,這并不是最重要的。Monson-Haefel說。

          “SOA和Web服務(wù)降低了后臺如何運(yùn)行的重要程度,”伯頓的分析師說。“這兩者強(qiáng)調(diào)的是如何相互合作,比如說,Web服務(wù)的XML和HTTP如何相互合作。后臺如何運(yùn)行已經(jīng)不重要了。”

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

          “你可以看到,Java EE的重點(diǎn)在于為可升級的n-層架構(gòu)提供框架,這正是那些大的事務(wù)處理網(wǎng)站所需要的,” Bloomberg說。“然而,如果你是要為SOA創(chuàng)建一個企業(yè)級框架的話,那么你所要完成的構(gòu)建與在Java EE平臺下的構(gòu)建就大相庭徑了。你需要創(chuàng)建的框架是以激活和維持服務(wù)提取層為中心的,這對SOA而言是至關(guān)重要的。因此,Java EE非常適合于基于平臺的日常服務(wù),但不是SOA。”


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 灵川县| 清丰县| 广汉市| 锡林郭勒盟| 新邵县| 封开县| 满城县| 谷城县| 乌什县| 常熟市| 卫辉市| 大渡口区| 安平县| 鄱阳县| 冷水江市| 松滋市| 当雄县| 普格县| 建水县| 仁化县| 蒙阴县| 长春市| 黔南| 文化| 东源县| 大埔县| 山东省| 大兴区| 随州市| 和平区| 寿宁县| 壤塘县| 双城市| 博兴县| 雅江县| 泽库县| 灵石县| 铜鼓县| 改则县| 灵寿县| 容城县|