アプリケーション・モジュール(application module)

ビジネス・ロジック層には、他の層(クライアントおよびデータベース)が対話する1つ以上のアプリケーション・モジュールがある。アプリケーション・モジュールは、オンライン注文の処理や昇給の処理などの特定のアプリケーション・タスクを実行する。アプリケーション・モジュールには、次の主要な特性がある。

ビジネス・ロジック層をプログラミングする際に、ビジネス・ロジックは、ビジネス・コンポーネントの再利用を簡単にするために様々なレベルに配置される。

アプリケーション・モジュールでは、クライアント・インタフェース(フォームなど)に合せてデータを収集するため、複数回ではなく1回のネットワーク・ラウンドトリップでデータを取得できる。リモート・アクセス可能なメソッドを介してビジネス・ロジック層で計算を実行し、クライアントのオーバーヘッドを削減することもできる。アプリケーション・データのバルク操作の場合、すべてのデータをクライアントにダウンロードするのではなく、ビジネス・ロジック層で操作を行う。クライアントが現在表示しているデータへの変更は、自動的に同期化される。

アプリケーション・モジュールを設計時に作成および編集するには、アプリケーション・モジュール・ウィザードおよびアプリケーション・モジュール・エディタを使用する。また、ビジネス・コンポーネント・プロジェクト・ウィザードおよびビジネス・コンポーネント・パッケージ・ウィザードを使用することにより、デフォルトのアプリケーション・モジュールも作成できる。

実行時、クライアントは使用するアプリケーション・モジュールのインスタンスを作成する。作成できるのは、設計時に作成したアプリケーション・モジュールのインスタンス、または汎用アプリケーション・モジュールと呼ばれるベース・アプリケーション・モジュール・クラスのインスタンスである。汎用アプリケーション・モジュールは、動的に作成されたビュー・オブジェクト、ビュー・リンクおよびアプリケーション・モジュールのコンテナが必要な場合に使用できる。たとえば、クライアント・メニューに多数のタスクが含まれた、複雑なアプリケーションがある場合、メニューでの選択に基づいて、同じトランザクション内で、アプリケーション・モジュールを必要に応じてインスタンス化する汎用アプリケーション・モジュールを作成できる。

クライアントは、プール内のアプリケーション・モジュール・インスタンスを使用できる。たとえば、あるWebアプリケーションを最大1000人のユーザーが使用できる場合に、特定のアプリケーション・モジュールは同時に100人のユーザーしか使用しないとする。この場合、プール内に100個のアプリケーション・モジュール・インスタンスを保持する。あるクライアントでアプリケーション・モジュール・インスタンスが必要になると、そのクライアントは、プール内の空きインスタンスを取得し、トランザクションをコミットまたはロールバックした後で、プールに解放する。インスタンスはあらかじめ作成されているため、エンド・ユーザーは、タスクを実行する際にアプリケーション・モジュールをインスタンス化する時間が短縮される。通常は、WebベースのJSPクライアントでプールを使用する。