ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

2.13 アプリケーションクライアントコンテナ

アプリケーションサーバーのEJBアプリケーションやWebサービスにアクセスするクライアントマシン上で実行されるアプリケーションのことを、Jakarta EEアプリケーションクライアントと呼びます。
本製品では、このJakarta EEアプリケーションクライアントを実行する実行環境として、アプリケーションクライアントコンテナを提供します。WebコンテナやEJBコンテナとは違い、アプリケーションクライアントコンテナは軽量のコンテナで、クライアントマシンで動作します。
Jakarta EEアプリケーションクライアントは、mainメソッドを持っているため、通常のJava SEスタンドアロンアプリケーションと同様にjavaコマンドでも実行可能です。しかし、アプリケーションクライアントコンテナ上で動作させることで以下の利点があります。

環境設定が容易

Jakarta EEアプリケーションクライアントが動作する前に、アプリケーションクライアントコンテナが自動的にクラスパスを設定します。また、アプリケーションクライアントコンテナ用のGlassFish Serverのdeployment descriptorファイル (glassfish-acc.xml)を使用して、Jakarta EEアプリケーションクライアントの動作をカスタマイズできます。

依存性の注入(Dependency Injection)の利用が可能

Jakarta EEアプリケーションクライアントでは、依存性の注入(Dependency Injection)を利用できます。Jakarta EEアプリケーションクライアントが動作する前に、アプリケーションクライアントコンテナはアプリケーション内のアノテーションを読み込んでオブジェクトを注入します。アノテーションの利用については、「3.1.5 クライアントアプリケーションの作成方法」を参照してください。

deployment descriptorファイル(application-client.xml)の利用が可能

Jakarta EE規約では、deployment descriptorファイル (application-client.xml)にコールバックハンドラなどを指定できます。アプリケーションクライアントコンテナは定義された情報を元に、指定された処理をコールバックします。
また、deployment descriptorファイルに定義された情報を元に、JNDIのjava:comp環境ネーミングコンテキストを利用できます。

本説明では、アプリケーションクライアントコンテナ上で動作させるアプリケーションをJakarta EEアプリケーションクライアントと呼び、javaコマンドで実行するアプリケーションをJava SEスタンドアロンアプリケーションと呼びます。

注意

ファイアーウォールの設定についての注意事項

アプリケーションクライアントコンテナは、アプリケーションの処理に関わらずサーバーのJNDIへの接続を必要とします。ファイアーウォールを跨り、サーバー上のアプリケーションを呼び出す場合、アプリケーションクライアントコンテナからサーバーのIIOPリスナーポートへアクセスが許可されるようにファイアーウォールの設定をする必要があります。ただし、このような設定はセキュリティ上のリスクが高く推奨しません。

TLS1.3の有効化についての注意事項

JDK8においてHTTPS通信でTLS1.3を使用する場合は、以下に示す2つのシステムプロパティを設定して起動します。

  • jdk.tls.client.protocols

  • https.protocols

TLS1.3だけを有効にする場合

-Djdk.tls.client.protocols=TLSv1.3 -Dhttps.protocols=TLSv1.3

TLS1.3とTLS1.2を有効にする場合

-Djdk.tls.client.protocols=TLSv1.3,TLSv1.2 -Dhttps.protocols=TLSv1.3,TLSv1.2

Jakarta EEアプリケーションクライアントの場合の設定方法は、「10.3 appclient」を参照してください。