アプリケーションサーバに配置するアプリケーションサーバ資源について、基本的な構成要素となる資源の配置単位を説明します。
アプリケーションの配備
ワークユニットの構成
キューの配置
アプリケーション連携実行基盤の業務処理実行アプリケーションは、COBOLのアプリケーションは、実行基盤インタフェース生成ツールを使用し、Javaのアプリケーションは、Interstage Studioを使用して開発環境で作成します。
業務処理実行アプリケーションは、アプリケーション連携の制御を行うアプリケーション連携実行基盤の実行環境と、常に組み合わされて動作します。
アプリケーション連携実行基盤を使用するための配備情報を作成した後、COBOLのアプリケーションは、apfwdeployコマンドを使用し、Javaのアプリケーションは、ijsdeploymentコマンドを使用して運用するアプリケーションサーバのワークユニットに配備します。なお、配備情報は、アプリケーションの言語により以下のいずれかになります。
apfwdeployコマンドの詳細は、“Interstage Business Application Server リファレンス”、ijsdeploymentコマンドの詳細は、“Interstage Application Server リファレンスマニュアル(コマンド編)”を参照してください。
COBOLの場合
アプリケーション配備定義ファイル
Javaの場合
デプロイメントディスクリプタ
このとき、COBOLのアプリケーションは、非同期ワークユニットで動作するアプリケーションとして配備され、Javaのアプリケーションは、EJB(Message-driven Bean)として配備されます。
また、配備単位は、1つの受信キューからメッセージを受信して動作するアプリケーション群が、1つの配備ファイルとなるようにします。
アプリケーションを配備するワークユニットは、業務の単位に作成します。アプリケーション連携実行基盤のフローとワークユニットの単位については、特に規定された関係はありませんが、以下のような指針で構成してください。
フローを構成するアプリケーションは業務を構成するための部品であり、フロー全体で1つの業務を行う場合
1つのフローを1つの業務とみなし、1つのワークユニットにフロー全体を配備します。
フローを構成するアプリケーションのそれぞれが1つの業務部品であり、フローで業務連携を行う場合
各アプリケーションを1つの業務とみなし、それぞれを別のワークユニットに配備します。
■フロー全体で1つの業務を行う場合のアプリケーションの配備方法
フローで利用するアプリケーションが、他のフローから利用されない場合、アプリケーションをすべて1つのワークユニットに配備します。
1つのワークユニットに配備することで、業務の開始や終了の同期など運用が容易になります。
■複数のフローから共通利用されるアプリケーションの配備方法
アプリケーションによっては、共通機能として複数のフローから呼び出される形態を取る可能性があります。このような場合、共通利用のアプリケーションを独立したワークユニットに配備することで運用性が向上します。
アプリケーション連携実行基盤では、メッセージを格納するキューを使用しています。また、アプリケーションごとに1つのDestinationを割り当てる必要があります。Interstage Application Serverでは、キューの実体はイベントチャネルになります。
イベントチャネルを運用するサーバは、アプリケーションサーバと同一でも異なっていても運用可能ですが、配置方法により処理性能が変化します。
イベントチャネルの配置方法について以下に説明します。
■イベントチャネルのチャネルグループとトランザクションの関係
チャネルグループが異なるイベントチャネルに対する複数の操作の一貫性を保つには、メッセージとDBの整合性保証機能を利用してください。
なお、メッセージとDBの整合性保証機能を使用せず、アプリケーションでメッセージの一意性を保証する場合は、アプリケーションの論理で同一の伝票番号をチェックするなどの処理を行い、整合性を保証してください。
“メッセージとDBの整合性保証機能”の詳細は、“解説書”の“メッセージ保証機能”を参照してください。
■イベントチャネルのチャネルグループの分散による負荷分散
1つのチャネルグループに対し、非常に多くのアクセスが集中すると、資源の排他の影響により、業務のスループットが低下する危険性があります。このような場合は、チャネルグループを分散し、連携した方が業務のスループットが高まる可能性があります。分散の単位については、性能を測定することで、適宜チューニングしてください。