Eclipse MicroProfile
自 Eclipse 於 2016 年主導推出的 MicroProfile 橫空出世起,就一直很關注這個框架。不過神奇的是,數年過去了,國內資料還是很少,不大確定是不是因為我是生手找不到資源,還是真的在國內乏人問津。
當時會關注有幾個原因:
- Spring + Hibernate 屹立不搖;
- 由 Sun 主導後來轉手 Oracle 的 Java EE 前途未明;
- 這時卻殺出第三個陣營也就是 MicroProfile,採取的方法是擷取(或捨棄)部分 Java EE 的規格,然後再加上自己獨有的規格。
從現在各 Application Server 均支援 MicroProfile 來看,顯然 Eclipse 成功了!我認為,可能的原因包括:
- 定位明確 => 站在 Microservice Architecture 的浪潮
- 輕量化 => 配上 Docker 的崛起
- 未來清楚 => 吸收 Java EE 的社群
- Oracle 後來將 Java EE 有條件的貢獻給 Eclipse 基金會
- 隨著 Eclipse 基金會的運作,還有 Oracle 的推波助瀾,Java EE 正式走入歷史
- 社群活躍 => 直至今日已經來到了 3.2 版了
那麼,為什麼我在現在要來玩 MicroProfile 呢?
原因當然是 因為我現在很閒~😝 現在正是學習 MicroProfile 的好時機點!!
最主要的理由是:
由 Java EE 新生的 Jakarta EE 正式發佈了第一版!!
(撒花~
現在 Eclipse 掌握了 MicroProfile 以及 Jakarta EE,因為定位不同,但都有可以相容、互助的地方,勢必會有更大幅度的整合與重新區隔。你說,對原本 Java EE 的使用者來說,不趁這時候學起來,什麼時候學呢?(不過,也是可以改學 Node.js 啦,好火熱啊~遠目
要使用 MicroProfile 也很簡單,只要在 maven 的 pom.xml
加入以下相依:
<dependency>
<groupId>org.eclipse.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>3.2</version>
<scope>provided</scope>
<type>pom</type>
</dependency>
而我習慣的使用的伺服器是 Payara!不得不說,好處多多:
- 衍生自 GlassFish - Jakarta EE 的官方實作
- 同時支援 MicroProfile 與 Jakarta EE
- Payara 的 Micro 版只要不到 80 MB,是個直接可執行的 .jar,超適合現在的 Cloud Computing
如果,你也願意嘗試看看,那麼請在 pom.xml
中加入以下設定:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-micro-maven-plugin</artifactId>
<version>1.0.6</version>
<configuration>
<payaraVersion>5.194</payaraVersion>
<deployWar>false</deployWar>
<commandLineOptions>
<option>
<key>--autoBindHttp</key>
</option>
<option>
<key>--deploy</key>
<value>${project.build.directory}/${project.build.finalName}</value>
</option>
</commandLineOptions>
<contextRoot>/</contextRoot>
</configuration>
</plugin>
準備好了嗎?MicroProfile on Payara 我們走吧!