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