設(shè)為首頁 | 加為收藏 | 聯(lián)系我們 咨詢熱線:0632-5272123
電 話:0632-5272123
傳 真:0632-5271123
地 址: 棗莊市文化西路23號
E-mail:zzint@zzint.com
  • 技術(shù)咨詢:
  • 業(yè)務(wù)咨詢:
  • 客戶服務(wù):
  • 服務(wù)監(jiān)督:
詳細(xì)資料 您當(dāng)前的位置:網(wǎng)站首頁新聞動(dòng)態(tài)詳細(xì)資料

2016年會(huì)成為Java EE微服務(wù)年嗎?

進(jìn)入2016年時(shí)間還不是很長,讓我們回顧下去年年底的一個(gè)預(yù)言。去年12月,來自C2B2的Steve Millidge預(yù)測,2016年將會(huì)成為Java EE微服務(wù)年。在一定程度上,這是基于Steve在JavaOne上的演講,他在演講中詳細(xì)地討論了這個(gè)主題。此外,Steve還是Payara的聯(lián)合創(chuàng)始人,Payara的目標(biāo)用戶也是對微服務(wù)感興趣的Java EE開發(fā)人員。Steve還認(rèn)為,SOA和微服務(wù)之間的差別很小,這種觀點(diǎn)我們以前聽說并且報(bào)道過。他在視頻中指出:

“微服務(wù)與SOA沒什么不同。它還是關(guān)于SOA”。

當(dāng)然,現(xiàn)在還存在爭論,因?yàn)樗谋尘昂彤?dāng)前的工作重心,Steve可能會(huì)發(fā)現(xiàn)自己很難保持客觀的態(tài)度。不過,早在2014年,微服務(wù)還處于起步階段,Adam Bien就描述了理想的Java EE微服務(wù):

[...]理想的Java EE微服務(wù)是一個(gè)單[實(shí)體控制邊界]組件,在一個(gè)WAR包中,部署在單臺(tái)服務(wù)器/域中。在這種情況下,開發(fā)人員可以單獨(dú)地發(fā)布和重新部署單個(gè)組件(又稱微服務(wù))。WAR包之間不可能直接調(diào)用方法,因此,WAR包將不得不使用比如JAX-RS來彼此通信。

我們在去年年底就微服務(wù)、DevOps和Java EE相關(guān)內(nèi)容采訪了Markus Eisele,他詳細(xì)論述了自己為什么認(rèn)為Java EE將會(huì)在微服務(wù)生態(tài)圈的發(fā)展中扮演重要的角色。還有一些其他使用Java EE編寫微服務(wù)的方法,包括TomEE和WildFly。KumuluzEE是JavaOne 2015 Duke選擇獎(jiǎng)的其中一個(gè)獲獎(jiǎng)?wù),該框架是一個(gè)Java EE微服務(wù)框架。該框架的聯(lián)合創(chuàng)建者M(jìn)atjaz Juric解釋說:

KumuluzEE是第一個(gè)使用標(biāo)準(zhǔn)Java API的微服務(wù)框架。微服務(wù)架構(gòu)的重點(diǎn)是將應(yīng)用程序開發(fā)成服務(wù)并將這些服務(wù)單獨(dú)部署;沒有一個(gè)框架提供自動(dòng)化部署和配置,是不可能使用Java EE實(shí)現(xiàn)真正的微服務(wù)架構(gòu)的。

讓我們看一些人們?nèi)绾慰创⒎⻊?wù)和Java EE的其他例子,這會(huì)非常有趣,因?yàn)橛行┤藝?yán)格來講并不屬于傳統(tǒng)的Java EE領(lǐng)域。例如,早在2014年,Alex Soto就論述了為什么Java EE和RxJava是一個(gè)很棒的方案。不過,并不是每個(gè)人都認(rèn)可使用Java EE能使開發(fā)人員采用微服務(wù)。正如Rick Hightower所說的那樣:

如果你將一個(gè)WAR文件部署到一個(gè)Java EE容器,那么你很可能不是在做微服務(wù)開發(fā)。如果你在一個(gè)容器或EAR文件中包含超過一個(gè)WAR文件,那么你肯定不是在做微服務(wù)開發(fā)。如果你將服務(wù)部署為AMI或Docker容器,而且你的微服務(wù)有一個(gè)main方法,那么你可能是在編寫微服務(wù)。

而且,Rick也不認(rèn)為微服務(wù)與SOA相同:

事實(shí)上,它們在許多方面是完全相反的。例如,SOA往往采用WSDL,后者是一種非常嚴(yán)格的、強(qiáng)類型的服務(wù)端點(diǎn)定義方式。WSDL和XML模式中所有的未知量都來自XML。

當(dāng)然,我們已經(jīng)多次討論過,SOA和Web Service常常沒有關(guān)系。不過,Rick及其他一些人確信,Java EE太過臃腫或者說笨拙,以其為基礎(chǔ)構(gòu)建微服務(wù)并不合適。Jeppe Cramon認(rèn)為,Java EE之所以是一個(gè)糟糕的基礎(chǔ)還有更為根本的原因:

如果我們將兩路(同步)通信與小/微服務(wù)結(jié)合使用,并根據(jù)比如“1個(gè)類=1個(gè)服務(wù)”的原則,那么我們實(shí)際上回到了使用Corba、J2EE和分布式對象的20世紀(jì)90年代。遺憾的是,新生代的開發(fā)人員沒有使用分布式對象的經(jīng)驗(yàn),因此也就沒有認(rèn)識(shí)到這個(gè)主意多么糟糕,他們正試圖重復(fù)歷史,只是這次使用了新技術(shù),比如用HTTP取代了RMI或IIOP。

如果微服務(wù)和SOA密切相關(guān),那么可能會(huì)有一種觀點(diǎn),就是微服務(wù)可以像SOA那樣采用一種技術(shù)無關(guān)的方式。你認(rèn)為呢?2016年會(huì)成為Java EE微服務(wù)年嗎?如果有的話,Java EE會(huì)在微服務(wù)中扮演什么角色?



上篇文章:網(wǎng)頁制作與網(wǎng)站建設(shè)從入門到精通
下篇文章:java ee是什么
版權(quán)所有 棗莊市英特信息網(wǎng)絡(luò)有限公司 ◎2017
聯(lián)系電話:0632-5271123 5272123  總部地址:棗莊市市中區(qū)文化西路23號
魯ICP備09021689號 增值電信業(yè)務(wù)經(jīng)營許可證編號:魯 B2-20080087號