Gartner發(fā)布了一份分析報(bào)告“應(yīng)用程序平臺市場指南”。在應(yīng)用程序平臺市場的“明顯轉(zhuǎn)變”部分,該報(bào)告指出,Java EE的“收入下滑”。這份報(bào)告迅速被Java EE的主要競爭對手Pivotal拿來發(fā)布在自己的網(wǎng)站上。
根據(jù)Garnter的報(bào)告:
數(shù)字業(yè)務(wù)方案需要應(yīng)用程序平臺提供新的特性和功能,而Java EE已經(jīng)跟不上發(fā)展的步伐了。
負(fù)責(zé)應(yīng)用程序基礎(chǔ)設(shè)施現(xiàn)代化的應(yīng)用程序負(fù)責(zé)人應(yīng)該制定一種新的策略,以應(yīng)對Java EE的衰退。
到2019年,在所有新增的業(yè)務(wù)應(yīng)用程序中,部署在Java EE應(yīng)用程序服務(wù)器中的將不足35%。
這份報(bào)告出自Ann Thomas和Aashish Gupta之手。Thomas是一位著名的Gartner分析師,從1988年開始一直從事學(xué)術(shù)研究及成果發(fā)表,而Gupta在2011年參加工作之初就是一名研究人員。這份報(bào)告排除了技術(shù)存在互補(bǔ)性的常見部署場景。
不出所料,這份報(bào)告在某些方面?zhèn)涫軤幾h。前Oracle Java EE傳教士Reza Rahman現(xiàn)在是Java EE Guardians的負(fù)責(zé)人,他告訴InfoQ:
很容易理解,這不是一份技術(shù)報(bào)告,而且,它似乎也不承認(rèn)這樣一個現(xiàn)實(shí),那就是,如果有什么脫離了傳統(tǒng)的三層模型和框架,那么它經(jīng)常也是和Java EE共存于應(yīng)用程序技術(shù)棧。
作家、技術(shù)專家兼咨詢顧問Kito Mann做了進(jìn)一步的說明:
Java EE并不是一個不可分割的單一整體;它是一個標(biāo)準(zhǔn)集,你可以選取你想使用的部分。即使是Pivotal的Spring Boot也是建立在一些核心的Java EE規(guī)范基礎(chǔ)上,如Servlet、JPA和Bean Validation。
據(jù)Rahman介紹,數(shù)據(jù)驅(qū)動的Gartner報(bào)告與當(dāng)時行業(yè)自主的調(diào)查報(bào)告相矛盾:
這大體上是一份“數(shù)據(jù)驅(qū)動”的報(bào)告,只是沒有清楚地說明數(shù)據(jù)的質(zhì)量、來源和數(shù)量。
所幸,我們確實(shí)有公開的數(shù)據(jù)可以反駁這份報(bào)告,我們對數(shù)據(jù)來源、質(zhì)量和數(shù)量的了解更多一些。我們在Java EE Guardians的網(wǎng)站上策劃了多項(xiàng)調(diào)查。
這里還有一項(xiàng)知名度較低但時間更近的調(diào)查,該調(diào)查列舉了數(shù)據(jù)源,但沒有說明數(shù)據(jù)量。
流行軟件JRebel和XRebel的制造商ZeroTurnaround獨(dú)立開展了自己的年度行業(yè)調(diào)查,他們的調(diào)查結(jié)果與Java EE Guardian的結(jié)論一致。
Rahman用一張圖表匯總了結(jié)果,分版本說明了Java EE的增長。
Java Community Process成員、作家兼終身企業(yè)技術(shù)專家Josh Juneau告訴InfoQ:
我粗略地看了這份報(bào)告,并特別留意了說“Java EE衰退”的部分。顯然,這份報(bào)告主要是面向這個市場中新來乍到的管理和開發(fā)團(tuán)隊(duì);那些人對Java EE或者所有那些構(gòu)建和部署企業(yè)級應(yīng)用程序的可用選項(xiàng)不熟悉。該報(bào)告描繪了Java EE已過時的畫面,但我認(rèn)為,大部分社區(qū)成員和企業(yè)客戶都會說,情況不是這樣。
雖然在最近幾個月/年里,構(gòu)建企業(yè)級應(yīng)用程序所采取的開發(fā)策略有一個明顯的變化,但標(biāo)準(zhǔn)的Java EE應(yīng)用程序在這個市場中仍然占有一席之地……而且,在將來許多年都是如此。也就是說,針對最新的發(fā)展趨勢,通過不斷地發(fā)布新的標(biāo)準(zhǔn),Java EE會在這個市場中繼續(xù)發(fā)揮作用。由于在整個2016年Oracle都非常的安靜,Java EE的下一個版本存在不確定性(仍然存在)。不過,在2017年,Oracle將和社區(qū)一起推動Java EE的發(fā)展,并將繼續(xù)為這個平臺帶來新的標(biāo)準(zhǔn)。如果你看下JSR郵件列表,就會發(fā)現(xiàn),有關(guān)那些計(jì)劃在Java EE 8中發(fā)布的規(guī)范的活動開始增加。
微服務(wù)和云的迅速發(fā)展也不可忽視。不過,那是兩個領(lǐng)域,可能不會跟每個企業(yè)客戶都有關(guān)系,會有許多客戶永遠(yuǎn)不會將應(yīng)用程序部署到云環(huán)境,而只是需要保留對企業(yè)應(yīng)用程序的完全控制權(quán)。對于這些客戶而言,當(dāng)前的Java EE應(yīng)用程序服務(wù)器方法最合適不過了。
使用應(yīng)用程序服務(wù)器策略開發(fā)基于服務(wù)的應(yīng)用程序也是可能的。微服務(wù)的“胖JAR”部署并不適合所有的人……在許多情況下都不適用。在開發(fā)任何企業(yè)級應(yīng)用程序之前,都需要思考一下……為手頭的任務(wù)選擇最好的工具和策略。企業(yè)客戶不應(yīng)該僅僅因?yàn)樵剖且粋€趨勢就選擇微服務(wù)或者轉(zhuǎn)向云,但那份報(bào)告反駁了這一觀點(diǎn)。
最后,Java EE本來就不是一個為市場帶來新技術(shù)和新策略的突破性、革命性平臺。它是一個始終如一的標(biāo)準(zhǔn)環(huán)境,穩(wěn)定、有效、可靠。Java EE基于已證實(shí)的標(biāo)準(zhǔn),而微服務(wù)還沒有達(dá)到一個可以標(biāo)準(zhǔn)化的點(diǎn);這項(xiàng)開發(fā)技術(shù)還在發(fā)展之中。
但Juneau提醒說:
我認(rèn)為,當(dāng)Java EE 8發(fā)布的時候,它將為采用更為標(biāo)準(zhǔn)的方法構(gòu)建微服務(wù)和云部署鋪平道路。如果Java EE 9仍然可以按照預(yù)計(jì)發(fā)布時間發(fā)布,那么我相信,Java EE的目標(biāo)是為部署微服務(wù)和基于云的應(yīng)用程序提供一個穩(wěn)定的標(biāo)準(zhǔn)環(huán)境,并繼續(xù)為過去多年來那些已經(jīng)基于可靠的Java EE技術(shù)棧構(gòu)建的應(yīng)用程序提供一個優(yōu)秀的平臺。也就是說,社區(qū)和JCP專家組需要保持警惕,跟上Java EE的步伐,確保它沒有偏離目標(biāo)。社區(qū)中有許多人已經(jīng)知道諸如此類的報(bào)告,它們被起草用來說明Java EE正在衰退。這份報(bào)告利用了關(guān)鍵詞和新策略……它并不適合需要一個可靠的標(biāo)準(zhǔn)方法的企業(yè)客戶。
技術(shù)作家兼JavaOne明星工程師Ryan Cuprak告訴InfoQ:
這份報(bào)告令人疑惑——我不知道作者是否完全懂得他們正在比較/分析的技術(shù)。
這份報(bào)告的目的是通過Java EE攻擊Oracle/IBM。注意,這篇文章并沒有討論成本節(jié)省、成功、恰當(dāng)?shù)捻?xiàng)目類型、供應(yīng)商鎖定等問題。
Java EE很有價值,并將繼續(xù)發(fā)展。大多數(shù)Java開發(fā)人員每天都使用Java EE,他們甚至都沒有注意到。如果你正在使用JAX-RS實(shí)現(xiàn)一個微服務(wù),那么你就使用了Java EE的組件。當(dāng)一個平臺被廣泛地使用著,你不能說它正在消亡。你不能因?yàn)樽约簺]有為一個小型的部門應(yīng)用程序購買WebLogic,就說你沒有從使用Java EE或其中的一部分獲益。
Reza Rahman補(bǔ)充道:
顯然,微服務(wù)和云在Java EE的規(guī)劃中;對于加快Java EE 8和Java EE 9進(jìn)度的承諾,那是Oracle JavaOne主題演講的重點(diǎn)內(nèi)容。
Java EE供應(yīng)商也正在發(fā)揮他們的作用,既有像WildFly Swarm、Payara Micro這樣的產(chǎn)品,也有像MicroProfile這樣的聯(lián)合方案。
至于平臺比較,老實(shí)說,對于統(tǒng)治服務(wù)器端多年的Java,斷言它在不遠(yuǎn)的將來就會失去在服務(wù)器端的統(tǒng)治地位并不可信。如果真是這樣,那么Java EE和Spring真是目前為止僅有的兩個可行選項(xiàng)嗎?我已經(jīng)提供了許多資源,我們已經(jīng)證明,在服務(wù)器端Java中,Java EE仍將是使用最廣泛的API集合。
除此以外,像Pivotal這樣的公司已經(jīng)爭論了多年,但那些基本的事實(shí)那么多年來一直沒變,而且,短時間內(nèi)那似乎也不會有什么變化。至于收入,與Oracle通過Java EE相關(guān)產(chǎn)品獲得的收入相比,Pivotal通過Spring獲得的收入微乎其微。這還不算IBM、Red Hat及其他Java EE供應(yīng)商的收入。如果將各種較小的、基于一個或多個Java EE API(如JMS提供程序)構(gòu)建產(chǎn)品的供應(yīng)商的收入都計(jì)算在內(nèi),那么Java EE的回報(bào)就更高了。
作為一個專注于開放標(biāo)準(zhǔn)的Java EE社區(qū),我們?nèi)匀粡?qiáng)大、充滿生機(jī),并不斷發(fā)展。多年來,我們一直如此,這就是為什么我們可以得到Oracle的承諾。
InfoQ還同技術(shù)作家、演講家和終身技術(shù)專家Alex Theedom進(jìn)行了交談:
因?yàn)橹亓考壍呐蛎浂跒樾屡d應(yīng)用程序架構(gòu)提供支持時變得緩慢,Java EE的這個名聲已經(jīng)過時多年了。早在2009年,Adam Bien就展示了如何輕松地實(shí)現(xiàn)只有幾KB的WAR部署。然后,在2013年,Arun Gupta展示了Java EE應(yīng)用程序與Spring相比是如何顯而易見的輕量級。Java EE開發(fā)高效且輕量級,經(jīng)常只需要一個依賴;對其他框架而言,這可不容易。
每個人的日程上都有微服務(wù)和云,Oracle也明確地給出了承諾。企業(yè)Java的下一個版本(也就是Java EE 8,JSR366)包含了支持云基礎(chǔ)設(shè)施和微服務(wù)的特性。除了Oracle的支持外,許多供應(yīng)商和社區(qū)負(fù)責(zé)人也都在Java EE的發(fā)展進(jìn)程中發(fā)揮了重要的作用,通過類似MicroProfile這樣的方案,供應(yīng)商、社區(qū)負(fù)責(zé)人和用戶組一起合作,成功地將Java EE推進(jìn)了微服務(wù)領(lǐng)域。
Java EE社區(qū)以及包括Payara、Tomitribe、IBM和Redhat在內(nèi)的公司都在Java EE上投入了時間、精力和資源,以確保它向著社區(qū)希望的方向發(fā)展,而它也正在發(fā)展。有多少其他的生態(tài)系統(tǒng)從每天使用它的用戶哪里獲得了如此多的支持和貢獻(xiàn)?
說Java EE過時、不重要及不適合原生云應(yīng)用程序,說明他們對Java EE社區(qū)中正在發(fā)生的事情不了解,因?yàn)樵谖铱磥?,它健康地活著,并且蓬勃地發(fā)展著。
JCP執(zhí)行委員會成員Werner Keil提到了一批正在積極醞釀中的重要JSR,包括CDI、JSON-P和JAX-RS這三個MicropPofile用到的JSR。這些JSR讓計(jì)劃在2017年底發(fā)布的Java EE 8進(jìn)入了微服務(wù)和云領(lǐng)域。為了在Servlet 4中支持HTTP 2,JSON-B接近完成,新的JSR 375(Java Security API)最近通過了更新投票,應(yīng)該會有助于標(biāo)準(zhǔn)化現(xiàn)在僅以專有方式提供的Java EE安全機(jī)制。
Rahman還暗示說,這份報(bào)告得到了贊助,在同Pivotal交流時,他們否認(rèn)了這種說法。
此外,Pivotal產(chǎn)品副總裁Ian Andrews告訴InfoQ:
關(guān)于Java EE以及傳統(tǒng)應(yīng)用服務(wù)器的使用下滑,業(yè)內(nèi)有許多討論。但是,真實(shí)的情況是原生云架構(gòu)的崛起。Gartner每天都在全球范圍內(nèi)和CEO及CIO進(jìn)行交談,他們已經(jīng)敏銳地意識到這種向原生云的重要轉(zhuǎn)變,并建議他們的客戶針對已有的應(yīng)用程序組合推行一種現(xiàn)代化的策略。關(guān)于原生云架構(gòu)的崛起,Gartner的獨(dú)立研究和其他頂級研究公司(如Forrester和Redmonk)的調(diào)查結(jié)果類似。
在過去的3年中,我們在Pivotal見證了Spring Boot和Spring Cloud作為原生云應(yīng)用程序構(gòu)建塊的迅速流行。Spring Boot 2016年11月單月下載量達(dá)1002萬次,同期增長425%,這就是明證。我們希望幫助更多的組織使用我們的Spring技術(shù),采用原生云架構(gòu)實(shí)現(xiàn)關(guān)鍵應(yīng)用程序的現(xiàn)代化。
查看英文原文:Is Gartner's Report of Java EE's Demise Greatly Exaggerated?