發(fā)布于:2021-02-17 00:00:10
0
276
0
與近幾年一樣,JavaOne的各種活動(dòng)分布在鄰近的幾家酒店。盡管這些被認(rèn)為是非常接近的,但經(jīng)過10公里的快速步行后,你可能會(huì)遇到一個(gè)不利的選擇會(huì)議的一天。因此,我有兩個(gè)選擇:要么運(yùn)動(dòng)我的跑鞋,讓我的蘋果手表上的健康應(yīng)用程序快樂;要么把自己完全投入到一個(gè)話題,從而也投入到一家酒店。我選擇了后者,在這篇日記中,除了少數(shù)例外,“企業(yè)Java”的主題已經(jīng)提上了議事日程。
Java EE 8–現(xiàn)狀
幸運(yùn)的是,javaee8的規(guī)范負(fù)責(zé)人lindademichiel今天概述了javaee的當(dāng)前狀態(tài)。對(duì)于那些還不知道的人來說:javaee中的新api并不是在規(guī)范中偶然制定的,而是Java企業(yè)社區(qū)兩階段調(diào)查的直接結(jié)果。
最受關(guān)注的是JSON綁定,這并不奇怪,緊隨其后的是安全簡(jiǎn)化和JCache。對(duì)基于動(dòng)作的MVC框架的渴望使它最終進(jìn)入了前5名!為了使相關(guān)的規(guī)范組在討論中不失去焦點(diǎn),javaee中即將出現(xiàn)的創(chuàng)新和變化基于三個(gè)主要問題。我們已經(jīng)知道Java EE 7中的前兩個(gè):
HTML 5 Web層增強(qiáng)
易于開發(fā)和CDI協(xié)調(diào)
用于在云中運(yùn)行的基礎(chǔ)設(shè)施
但這些不同規(guī)格的產(chǎn)品目前到底處于什么樣的狀態(tài)?要點(diǎn):Linda DeMichiel多次強(qiáng)調(diào)(PowerPoint)顯示的代碼示例應(yīng)理解為想法和討論的基礎(chǔ),最終版本很有可能在2017年發(fā)布-是的,你讀對(duì)了,不幸的是-由于仍有許多變化。
Web層增強(qiáng)功能
在JSON-B的規(guī)范中,工作需要強(qiáng)烈地面向現(xiàn)有的解決方案。例如,Moxy、Jackson、Gson、Genson和Xstream都被提到了。在任何情況下,底層JSON綁定提供程序都有可能被交換為更快的機(jī)制。正如所料,使用JAX-B的XML等價(jià)物,默認(rèn)映射可以被注釋覆蓋。根據(jù)“一直到數(shù)據(jù)庫(kù)”的格言,JAX-RS提供了一種標(biāo)準(zhǔn)化的機(jī)制來動(dòng)態(tài)支持“application/json”。
這一點(diǎn)越來越關(guān)注JSON,增強(qiáng)功能希望通過顯示JSON-p1.1(JSON處理)中提議的更改來緩慢但肯定地遠(yuǎn)離XML。從本質(zhì)上講,對(duì)現(xiàn)有API進(jìn)行了更新,以跟上JSON規(guī)范環(huán)境的發(fā)展。通過引入JSON指針元素,JSON文檔可以成為目標(biāo)并在將來讀取。使用JSON補(bǔ)?。╮fc6902的實(shí)現(xiàn))可以在JSON對(duì)象上使用replace、add或delete等操作。對(duì)于Java8愛好者來說,還有一個(gè)計(jì)劃,即在JSON查詢中允許使用Lambda表達(dá)式。
javaee8的Web環(huán)境中的另一個(gè)重要?jiǎng)?chuàng)新是計(jì)劃對(duì)HTML5標(biāo)準(zhǔn)服務(wù)器端事件的支持,它由通過mime類型的文本/事件流的服務(wù)器到客戶端流表示。如果服務(wù)器定期向客戶機(jī)發(fā)送數(shù)據(jù)(例如股票行情器或儀表板),或者在客戶機(jī)建立了一個(gè)連接之后,這種機(jī)制總是有意義的。根據(jù)DeMichiel的說法,規(guī)范組內(nèi)部對(duì)實(shí)現(xiàn)方法存在一些爭(zhēng)論。
最后,您只能同意在JAX-RS上作為附件的實(shí)現(xiàn)是有用的,因?yàn)樗梢杂煤苌俚呐韺?shí)現(xiàn)。在服務(wù)器端,必須只對(duì)資源方法進(jìn)行注釋,以便它生成適當(dāng)?shù)膍ime類型。然而,在客戶端,一個(gè)特殊的事件監(jiān)聽器確保可以處理傳入的消息。
我們能在網(wǎng)絡(luò)環(huán)境中期待新的東西嗎?啊,是的,基于動(dòng)作的MVC框架mvc1.0!正如JAXenter先前報(bào)告的那樣,第二個(gè)早期草稿現(xiàn)在可用,所有人都可以檢查。希望這個(gè)草案沒有被加強(qiáng)以代替對(duì)facelet或jsp的支持。
易于開發(fā)
除了Web環(huán)境中的許多新特性之外,對(duì)于開發(fā)人員來說,自然也應(yīng)該有一些簡(jiǎn)化。得益于JavaEE安全API 1.0,CDI攔截器的授權(quán)將在未來成為可能。jms2.1應(yīng)該帶來改進(jìn)的jmsmdb支持(消息驅(qū)動(dòng)bean),以便更輕松地處理異步消息。幸運(yùn)的是,還可能有一個(gè)基于CDI的變體,用于處理規(guī)范中包含的異步消息。然而,德米切爾認(rèn)為,這在目前還是純粹的推測(cè)。
簡(jiǎn)單性還帶來了一些刪減,因此消除了一些可選的“歷史”api。這方面的候選對(duì)象是CORBA和ejb2.x,以及RemoteView客戶機(jī)視圖。在會(huì)議期間進(jìn)行的一次現(xiàn)場(chǎng)民調(diào)顯示,100%的與會(huì)者贊成這一步驟,這甚至讓德米切爾感到驚訝。我猜剩下的少數(shù)EJB2.x支持者在他們的編程時(shí)間里有很多事情要做,以至于他們不能參與JavaOne。
為(云)未來做好準(zhǔn)備了嗎?
盡管javaee中的許多新特性和變化讓人欣喜若狂,但javaee能否像以前一樣繼續(xù)在企業(yè)計(jì)算中扮演如此重要的角色這一合理的問題必須提出。javaeesecurity1.0中經(jīng)過大量修改的管理API和一些新特性(例如,密碼別名、用戶管理、角色映射、REST身份驗(yàn)證)至少試圖保持純粹的技術(shù)視角。但到最后,這就足夠了嗎?WebSphereFoundation首席架構(gòu)師IanRobinson在其題為“EnterpriseJava仍然相關(guān)嗎”的會(huì)議中解決了這個(gè)問題?
根據(jù)羅賓遜的說法,通常的平臺(tái)邊界正在慢慢被吸收(或者說很快?)在虛擬化容器中移動(dòng)到云。理論上,在這樣的容器中運(yùn)行javaee應(yīng)用程序是沒有異議的。但是,如果你曾經(jīng)質(zhì)疑過使用容器的動(dòng)機(jī),那么很快就會(huì)明白,選擇一個(gè)容器意味著它會(huì)完全按照你的意愿去做——不多也不少。聽起來不錯(cuò),對(duì)吧?因此,目標(biāo)必須是能夠捆綁所需的javaee組件,以便可以使用已建立的技術(shù),而不會(huì)產(chǎn)生不必要的開銷。這已經(jīng)通過springboot項(xiàng)目成功地完成了一段時(shí)間,javaee已經(jīng)在wildflysarm和dropwizard中列出了第一批候選人,他們正朝著正確的方向前進(jìn)。
羅賓遜認(rèn)為,javaee無疑正處于一個(gè)十字路口?!癹avaee在云端派對(duì)上相當(dāng)強(qiáng)大和相關(guān),但年輕客人的聲音更大。所以讓我們自己制造更多的噪音!“他的結(jié)案陳詞聽起來很像是一場(chǎng)戰(zhàn)爭(zhēng)的吶喊,我只能補(bǔ)充我的聲音!
作者介紹
熱門博客推薦