jakarta ee_MicroProfile在Jakarta EE时代的作用
jakarta ee
自創(chuàng)建以來,MicroProfile贏得了廣泛的關(guān)注,并制定了各種規(guī)格。 最初,它的創(chuàng)建是為了在多個供應(yīng)商的推動下,以更快的速度推進微服務(wù)世界的企業(yè)Java。 現(xiàn)在,隨著在Eclipse Foundation下將Java EE轉(zhuǎn)換為Jakarta EE,MicroProfile如何合理地適合Enterprise Java領(lǐng)域中的情況?
據(jù)我所知,MicroProfile背后的想法是在推進Java Enterprise方面創(chuàng)造更快,更有效的進步。 到目前為止,有各種各樣的規(guī)范,例如Config,Fault Tolerance或Metrics,旨在縮小Java EE API的差距以適應(yīng)現(xiàn)代企業(yè)Java的需求。 同樣,MicroProfile旨在使為微服務(wù)部署設(shè)計小型運行時成為可能,在這種情況下,項目僅提供他們正在使用的規(guī)范。
長處
今天,我看到了MicroProfile在改進企業(yè)Java方面的最大優(yōu)勢,即添加了Java EE 8當前缺少的內(nèi)容。特別是諸如彈性,可觀察性或簡單的,獨立于供應(yīng)商的配置之類的問題尚未被Java Enterprise標準涵蓋。 盡管在生產(chǎn)中運行企業(yè)應(yīng)用程序時始終必須考慮這些問題,但對于基于微服務(wù)的系統(tǒng)而言,它們變得更加重要,因為基于微服務(wù)的系統(tǒng)分布更廣。 諸如Config,Fault Tolerance或Metrics之類的MicroProfile項目彌合了這些差距。
MicroProfile已經(jīng)有效地充當了潛在的新規(guī)范的孵化器。 MicroProfile項目能夠定義Java Enterprise擴展,但是可以在規(guī)范級別上定義它,而不僅僅是單個實現(xiàn)或特定于供應(yīng)商的解決方案。 這些項目可以作為新的Java Enterprise標準的基礎(chǔ)。 實際上, Config JSR將基于MicroProfile Config及其實際經(jīng)驗。
除這些要點外,MicroProfile還允許開發(fā)人員通過僅包括他們所需的規(guī)范來分別配置其運行時。 按照這種方法,MicroProfile在其第一個版本中僅包括CDI,JAX-RS和JSON-P。
但是,對我而言,這僅是運行時優(yōu)化。 我已經(jīng)說過幾次了,我認為這些標準以及擁有瘦身部署工件的可能性更為重要。 我通常使用Java EE應(yīng)用程序服務(wù)器,該服務(wù)器支持MicroProfile,允許精簡部署工件,并且仍附帶其他企業(yè)標準,例如JPA。 如果(且僅當)最小運行時大小成為問題時,我將使用空心WAR / JAR方法。
少了什么東西
在將MicroProfile項目與Java Enterprise標準進行比較時,開發(fā)人員會注意到,前者缺少某些規(guī)范的互操作性。 無需任何配置即可使用多種技術(shù)的能力是我聲稱Java Enterprise API包含非常有效的開發(fā)人員體驗的原因之一。 根據(jù)哪些項目將被視為MicroProfile的一部分,未來的規(guī)范可能會更多地集中在這一點上。
MicroProfile和Jakarta EE形成的當前狀況面臨著從組織角度和技術(shù)角度重新發(fā)明輪子的危險。 Jakarta EE傾向于類似地重復(fù)MicroProfile經(jīng)歷并仍在進行的開源過程和開發(fā)。 尤其是,當兩種技術(shù)的方向和責任沒有完全弄清楚時,供應(yīng)商和貢獻者就有兩次花費類似努力的風險。 技術(shù)責任也是如此。 盡管大多數(shù)MicroProfile項目在Java Enterprise世界的其余部分都可以很好地工作,例如,Rest Client與JAX-RS廣泛重疊,并且可以以二進制兼容的方式基于后者。
MicroProfile運行時的部署模型主要基于獨立的可執(zhí)行文件。 除此以外,一些供應(yīng)商還支持定義運行時包含的規(guī)范以及將精簡部署工件作為空心WAR / JAR工件進行運輸?shù)慕M合。 后者提供了很好的折衷,在某種程度上是兩全其美。 但是,如前所述,我不認為最小的總運行時大小對于大多數(shù)企業(yè)項目至關(guān)重要。
提議的想法:Jakarta EE的孵化器
我對MicroProfile的未來及其在Jakarta EE時代在企業(yè)Java世界中的地位的建議是,作為將來Jakarta EE規(guī)范的孵化器。
MicroProfile將通過基于規(guī)范的擴展來推進企業(yè)Java,而不僅僅是基于單個實現(xiàn)或特定于供應(yīng)商的功能。 與今天類似,MicroProfile項目將添加Java Enterprise中缺少的內(nèi)容。
與當前的項目不同,孵化MicroProfile可以基于Jakarta EE的所有標準。 他們將共享相同的技術(shù)設(shè)計原則(請參閱我關(guān)于Jakarta EE設(shè)計原則的建議 )。 同樣,MicroProfile可以確保Jakarta EE與MicroProfile規(guī)范之間的互操作性,類似于當今的Java EE標準。
這將大大提高開發(fā)人員的體驗。 開發(fā)人員可以將MicroProfile項目添加到Jakarta EE應(yīng)用程序中,以填補該Jakarta EE版本中的空白。 這些項目將遵循相同的原則,具有相似的外觀,并與現(xiàn)有標準良好地協(xié)作。
與企業(yè)標準相比,MicroProfile允許更快的進度。 盡管Jakarta EE標準將花費大量的時間和精力,但是可以以輕量級的方式來組建和執(zhí)行MicroProfile孵化項目,從而減少組織開銷。 盡管如此,孵化MicroProfile仍將遵循Jakarta EE背后的思想和原則。
對于沒有立即或最終添加到標準集中的擴展,孵化器流程始終是一個更安全的場所。 但是,需要孵化功能的項目可以在不更改其其余Jakarta EE應(yīng)用程序的情況下將它們合并。
最終,一個正在孵化的MicroProfile項目一旦過渡到成為Jakarta EE標準,將剩下較少的工作。 雖然企業(yè)標準需要考慮更多方面,但是與創(chuàng)建兩個單獨的規(guī)范相比,所需的總體工作量和工作量將少得多。
下一步
通常,至關(guān)重要的是,Java Enterprise社區(qū)必須共享一個清晰的通用圖像,以表示MicroProfile在未來的地位。
遵循MicroProfile作為Jakarta EE孵化器的想法的下一步是定義并達成協(xié)議:
- Jakarta EE和MicroProfile的共享技術(shù)設(shè)計原則
- 孵化MicroProfile的命名,品牌和名稱空間
- 未來MicroProfile項目和孵化到Jakarta EE的通用流程
我對您的反饋意見很感興趣。 您對MicroProfile和Jakarta EE如何以及如何共存有何想法?
翻譯自: https://www.javacodegeeks.com/2018/08/microprofiles-role-jakarta-ee.html
jakarta ee
總結(jié)
以上是生活随笔為你收集整理的jakarta ee_MicroProfile在Jakarta EE时代的作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ddos攻击端口(ddos创建端口)
- 下一篇: jax-rs配置_具有MicroProf