[Presentation] Payara Micro の設計と実装 (ja)

この記事は Payara Advent Calendar 2016 の 4 日目です。昨日は「Payara クイック・スタート・ガイド」です。

昨日開催された JJUG CCC 2016 Fall (もう 12 月なのに Fall というのも妙ですが、諸般の事情があったのでしょう...) で同じタイトルの発表を行いました。詳しくは、以下のスライドを参照してください。

50 分という時間制限の中では Payara Micro のすべてを解説することはできないため、ブートストラップとシャットダウン、Hazelcast による自動クラスタリング、アプリケーションのデプロイ、Uber Jar の生成に内容を絞りました。いずれも Payara Micro 独自の機能であり、深く解説するには好都合なトピックでした。また、いくつかの機能については多くのアプリケーション・サーバーで共通しているものであり、アプリケーション・サーバー一般論を理解する上でも何からのヒントになったのではないかと思っています。

今回、一番伝えたかったことは、多くの Java アプリケーション開発者にとってブラックボックスとなっている Java EE アプリケーション・サーバーであっても、結局は main メソッドを持つ Java アプリケーションに過ぎないということです。Payara Micro だけでなく Tomcat、WildFly、GlassFish のブートストラップに関する情報をスライドに載せたのも、そのことを意図しています。このことさえ分かれば、Java EE アプリケーション・サーバーはもはやブラックボックスとは思えなくなります。

Hazelcast に関する説明は、一応自分なりには頑張りましたが、やはり「CLOVER を参照せよ」が最終的な解答です。かずひらさん (@kazuhira_r) には申し訳ないのですが、これからも頼らせて頂きます。