アプリケーション・クライアント・プロジェクトには、アプリケーション・クライアント・モジュールに必要な リソースが含まれています。アプリケーション・クライアント・モジュールは、ご使用のサーバーで定義されている J2EE リソースに接続して使用する、全機能クライアント Java™ アプリケーション (Web ベースではありません) を組み込むために使用されます。単純な JAR ファイルの代わりにアプリケーション・クライアント・モジュールにクライアント・コードを置く場合、 アプリケーション・クライアントはサーバーのリソースを利用するだけでなく (J2EE ファイルおよびサーバー JAR ファイルへのクラスパスを再指定する必要はありません)、より容易な JNDI ルックアップ (クライアント・コンテナーが初期コンテキストとその他のパラメーターを入力します) を利用します。アプリケーション・クライアント・ プロジェクトでは、Java プロジェクトで、独立型 Java アプリケーションを作成する場合と同様の作業を行うことができます。
アプリケーション・クライアント・プロジェクトにより、以下のことが可能になります。
Java プロジェクトと同様に、アプリケーション・クライアント・プロジェクトには Java クラス・ ファイルなどのアプリケーション・クライアントに必要なリソースが含まれています。新規アプリケーション・ クライアント・プロジェクトを作成する際、Java 開発用に環境が設定されます。 Java ビルダー は、Java ソースが更新されたときに増分コンパイルができるように、プロジェクトに関連付けられます。 アプリケーション・クライアント・プロジェクトには、型階層および Java 要素に 関する情報が含まれています。 この情報は、変更があれば常に最新情報に更新されます。Java ビルダーは このプロジェクト内のリソースが更新された場合、そのリソースを増分コンパイルします。
ワークベンチでは、アプリケーション・クライアント・プロジェクトはエンタープライズ・アプリケーション (EAR) プロジェクトに常時参照されています。アプリケーション・クライアント・プロジェクトを作成するときは、そのアプリケーション・クライアント・プロジェクトが属するエンタープライズ・アプリケーション・プロジェクトを指定してください。モジュール要素は、EAR プロジェクトの application.xml デプロイメント記述子に自動的に追加されます。
アプリケーション・クライアント・プロジェクトは JAR ファイルとしてデプロイされます。このアプリケーション ・クライアント JAR ファイルには、Java クラス・ファイル、デプロイメント記述子情報、すべてのメタデータ拡張およびバインディング・ファイルなどのアプリケーションに必要なリソースが含まれています。
アプリケーション・クライアント・プロジェクトは、通常、J2EE (EJB) サーバーにネットワーク接続されているクライアント・システム上で稼働します。 アプリケーション・クライアントのエントリー・ポイントは、 Java メイン・クラス です。これは、静的 main メソッドを持つ単純な Java クラスです。 このクラスは、クライアント・モジュールのマニフェスト・ファイル内で宣言されます。
J2EE アプリケーション・クライアント・コンテナーは、J2EE サービス (JNDI 命名サービス、デプロイメント・サービス、トランザクション・サービス、およびセキュリティー・サービス) へのアクセス、および通信 API (インターネット・プロトコル、リモート・メソッド呼び出しプロトコル、オブジェクト管理グループ・プロトコル、メッセージング・プロトコル、およびデータ・フォーマット) へのアクセスを提供します。
デフォルトでは、アプリケーション・クライアント・プロジェクトには、 appClientModule という名前のフォルダーが 1 つあります。このフォルダーには、 Java ソース・コードとコンパイルされた .class ファイルの 両方、および META-INF サブフォルダー内のすべてのメタデータ・ファイルが含まれています。