Thorntailプロジェクトが終了した。これは、WildFlyのような Web サーバを必要なものが全て揃ったアプリに埋め込む方法として5年間運営されてきた。この変更は、コミュニティ版の Thorntail にのみ影響する。Red Hat の商用 Thorntail プロジェクトには影響しない。
「Thorntail (旧 WildFly Swarm) は、比較的マイクロサービス中心ではないコードベース (WildFly) を活用してマイクロサービスをサポートする方法でした」と Red Hat のシニアコンサルティングエンジニア Bob McWhirter 氏は説明した。組み込みアプリケーションサーバの概念を証明した後、多くのフレームワークは、集中管理されたアプリケーションサーバにデプロイするのではなく、個々のアプリケーションとして実行するという概念をネイティブに採用してきた。Quarkus や Spring Boot などのフレームワークは、静的コンテンツを提供するだけでなく、バックエンドの JAX-RS やコントローラのエンドポイントを実行するために、Web サーバをネイティブに起動する。InfoQ は Thorntail プロジェクトの状況と目標について以前 McWhirter 氏にインタビューしたことがある。
Eclipse Foundation にJakarta EE / Java EEプロジェクトが統合されたことで、同様の機能が MicroProfile プロジェクトで利用できるようになった。MicroProfile は開発者が必要なものが全て揃った小さなアプリケーションをブートストラップすることを可能にする。これは、Jakarta EEや他のフレームワークの実行に必要な部分だけを引き入れた。これらのプロジェクトの目的は、アプリケーションやマイクロサービスがそれ自体を実行するために必要な機能に焦点を当てることだ。これは、クラスタリング、管理、および他の管理機能のような共有アプリケーションのために必要なアプリケーションサーバの部分を避けられる。それぞれが個々のサービスの Web アプリケーションアーカイブ (WAR) またはエンタープライズアプリケーションアーカイブ (EAR) としてアプリケーションサーバの独自のコンテキストで実行された以前のクラスタ化されたアプリケーションとは異なって、マイクロサービスアプリケーションは、多くの場合、コンテナで実行される。これは、管理はJavaサーバ(JBoss、Payara、Tomcatなど)の設定から、コンテナ管理による個別設定されたサービスへと移行する。
「Thorntailプロジェクトは、エンタープライズJavaランタイムのさらなるイノベーションを追求するための、多くの研究と歴史を象徴しています。これは、多くの同様のプロジェクトの貴重なインスピレーションの源となっています。」Payara 社のシニアサービスエンジニアである Ondrej Mihályi 氏は、そのように述べている。 Mihályi 氏は、本格的なアプリケーションサーバと、アプリケーションがサーバをホストする場合の接続について、さらにコンテキストを追加した。
従来のアプリケーションサーバの信念は、開発者がアプリケーションを書き、運用チームがアプリケーションサーバを実行してアプリケーションをデプロイするというものだった。これは徐々に、アプリケーションを書く側と実行する側の両方で1つにまとめられた DevOps チームへと移行しつつある。アプリケーションサーバは、柔軟で汎用性の高いアプリケーションランタイムへと進化してきた。それは JVM の上に追加の薄い層を提供する。あるいは、少なくともアプリケーションの起動方法や設定方法をアプリケーション開発者が完全に制御することが可能になる。Payara Micro と Thorntail は、アプリケーションランタイムの例だ。それらは必要なすべての設定を含め、コマンドラインから WAR または EAR アプリケーションを起動できる。また、それらのランタイムは WAR や EAR と一緒にスタンドアロンアプリケーションに組み込める。一方、Payara Serverは、より伝統的なアプローチの一例であり、アプリケーションサーバはWARまたはEARアプリケーションを実行でき、単一の起動コマンドを使用してすべての設定を設定できる。これにより、EAR や WAR アプリケーションを簡単に実行できる。また、すべてをDockerコンテナにパッケージングしている。
商用版の Thorntail を使用している開発者は、サポートを利用できる。他のコミュニティメンバーは、QuarkusやSpring Bootのような異なるアーキテクチャのフレームワークにアプリケーションを移行することを検討すべきだ。または、Payara や WildFly などのアプリサーバの機能を活用すべきだろう。