第1章 スタートダッシュボード
1.1. Fuse スタンドアロンの代替
以下のダッシュボードは、Fuse スタンドアロンの代替の手順をコンテナータイプ別に表しています。
1.2. Fuse コンテナーの概要
プロジェクトに適したコンテナーの選択を容易にするため、以下のセクションでは各コンテナータイプの概要を説明します。
1.2.1. JBoss EAP
Eclipse Foundation の Jakarta EE (旧名称 Java EE) 技術をベースとした JBoss Enterprise Application Platform (EAP) は、当初はエンタープライズアプリケーション開発のユースケースに対応するために作成されました。サービスおよび標準化された Java API (永続性、メッセージング、セキュリティーなどのサービスにアクセスするための) を実装する明確に定義されたパターンを特徴とし、近年ではディペンデンシーインジェクション (依存性の注入) の CDI の導入や、エンタープライズ Java bean の簡素化されたアノテーションの導入により、この技術はより軽量化されました。
このコンテナー技術の特徴は次のとおりです。
- 特にスタンドアロンモードでの実行に適しています。
- 事前設定された多くの標準サービス (永続性、メッセージング、セキュリティーなど) をそのまま使用できます。
- 通常、アプリケーション WAR は小型および軽量です (多くの依存関係はコンテナーに事前インストールされているため)。
- 標準化された後方互換性のある Java API。
1.2.2. Apache Karaf
Apache Karaf は、OSGi Alliance の OSGi 標準 をベースとしています。OSGi は電気通信業界で開発され、ホットコードスワッピング と呼ばれる機能により、サーバーをシャットダウンする必要がなくすぐにアップグレードできる、ゲートウェイサーバーの開発に使用されました。その後、OSGi コンテナー技術はその他多くの用途に使用され、一般的に Eclipse IDE などのモジュール化されたアプリケーションで使用されます。
このコンテナー技術の特徴は次のとおりです。
- 特にスタンドアロンモードでの実行に適しています。
- モジュール化 (OSGi バンドル) の強力なサポート、および高度なクラスローディングサポート。
- 1 つのコンテナーに複数のバージョンの依存関係を一緒にデプロイできます (ただし、注意して行う必要があります)。
- ホットコードスワッピングにより、コンテナーをシャットダウンせずにモジュールをアップグレードまたは置き換えできます。これは独自の機能ですが、適切に行うには多大な労力が必要になります。
1.2.3. Spring Boot
Spring Boot はよく知られる Spring コンテナーが改良されたものです。Spring Boot コンテナーの特徴は、コンテナー機能が独立してデプロイできる小さなチャンクに分割されていることです。これにより、特定のサービスに特化し、小さなフットプリントでコンテナーをデプロイできます。これは、マイクロサービスアーキテクチャーのパラダイムに対応するために必要になります。
このコンテナー技術の特徴は次のとおりです。
- 特に、スケーラブルなクラウドプラットフォーム (Kubernetes および OpenShift) での実行に適しています。
- マイクロサービスアーキテクチャーに適した小さなフットプリント。
- 「設定より規約」(Convention over Configuration) 向けに最適化されています。
- アプリケーションサーバーは必要ありません。Spring Boot アプリケーション Jar を直接 JVM で実行できます。