ページの先頭行へ戻る
Interstage Business Application Server 解説書
FUJITSU Software

1.5.1 同期アプリケーション連携実行基盤

同期アプリケーション連携実行基盤では、オンライン処理(即時応答型)におけるクライアントからの処理要求に対して、リアルタイムに処理結果を応答する処理形態の基幹系業務に必要な共通技術を提供します。オープンシステムにおいて、メインフレームレベルの業務運用性、堅牢性を実現し、短期間で、高い信頼性のシステムを実現します。また、既存資産や既存ノウハウを最大限に活かし、業務ロジックの開発に専念することが可能です。
以下に同期アプリケーション連携実行基盤のアプリケーションについて説明します。

同期アプリケーション連携実行基盤の詳細は、“第2部 同期アプリケーション連携実行基盤編”で説明します。

1.5.1.1 アプリケーションの種類

同期アプリケーション連携実行基盤では、クライアントアプリケーションおよびサーバアプリケーションを使用して業務を構築します。

アプリケーションの種類

アプリケーションの概要

利用可能な言語(アプリケーションの形態)

クライアントアプリケーション

同期アプリケーション連携実行基盤のクライアントAPIを実行してサーバアプリケーションにリクエストを発行するアプリケーションです。

Java
(Servlet/EJBまたはWebサービス)
または
C言語
(共有ライブラリまたは実行ファイル)

サーバアプリケーション

クライアントアプリケーションの入力情報に応じて業務用のデータベースの更新などの業務処理を行うアプリケーションです。

COBOLまたはC言語
(共有ライブラリ)

なお、同期アプリケーション連携実行基盤では、JavaのクライアントアプリケーションはIJServerクラスタまたはJ2EEのIJServerに配備し、C言語やCOBOLのサーバアプリケーションはCORBAワークユニットに配備して運用します。IJServerクラスタまたはJ2EEのIJServer、およびCORBAワークユニットの詳細は、“Interstage Application Server Java EE 7設計・構築・運用ガイド”、“Interstage Application Server Java EE 運用ガイド(Java EE 6編)”、“Interstage Application Server J2EEユーザーズガイド(旧版互換)”および“Interstage Application Server OLTPサーバ運用ガイド”を参照してください。
C言語のクライアンアプリケーションはサーバアプリケーション上で実行するか、または単体のアプリケーションとして実行するか、のいずれかで運用します。


注意

  • Javaのクライアントアプリケーションは、単体のJavaアプリケーションとしても実装可能ですが、テスト時だけ利用してください。実際の業務で利用するクライアントアプリケーションについては、IJServer上で運用する形態(EJBまたはServlet)を推奨します。

  • WebサービスアプリケーションはCOBOLのサーバアプリケーションのみを呼出すことができます。

  • サーバアプリケーションは、アプリケーション連携実行基盤で動作するアプリケーションです。サーバアプリケーションの詳細は、“Interstage Business Application Server アプリケーション開発ガイド”の“サーバアプリケーション編”を参照してください。

1.5.1.2 アプリケーションの連携パターン

同期アプリケーション連携実行基盤では、要求応答型のアプリケーション連携を行うことができます。クライアントアプリケーションがサーバアプリケーションに要求を発行し、それに対しサーバアプリケーションは、処理結果をクライアントアプリケーションに応答する、一問一答の連携パターンです。後述の非同期アプリケーション連携実行基盤で利用できる突き放し型の連携パターンとは異なり、クライアントアプリケーションはサーバアプリケーションの処理が完了するまで応答を待ち合わせます。

サーバアプリケーションからC言語のクライアントアプリケーションを実行して、さらに別のサーバアプリケーションを呼び出すことも可能です。

1.5.1.3 アプリケーションの構造

クライアントアプリケーションおよびサーバアプリケーションについて説明します。

クライアントアプリケーション

Javaのクライアントアプリケーション

Javaのクライアントアプリケーションは、以下のいずれかの方法でクライアントAPIを発行することで、サーバアプリケーションを呼び出します。Javaのクライアントアプリケーションからサーバアプリケーションを呼び出す方法は、以下の4種類があります。

一般的なJavaアプリケーションからの呼び出し

サーバアプリケーションを一般的なJavaアプリケーションから呼び出す基本的な方法です。クライアントAPIとしてMsyncCallクラスを提供します。これにより、Servlet、JSP、およびEJBなどの一般的なJavaアプリケーションからの呼び出しが可能です。

Apcoordinatorのリモート共通インタフェースによる呼び出し

Apcoordinatorのリモート共通インタフェースを使用して、サーバアプリケーションを呼び出す方法です。この呼び出し方法のために、Callインタフェースを実装したUjiMsyncCallクラスを提供します。これはMsyncCallクラスのラッパーです。これにより、Apcoordinatorによるアプリケーション開発の親和性が高まり、EJBと共通のインタフェースによる呼び出しが可能となります。Apcoordinatorの詳細は、“Apcoordinator ユーザーズガイド”を参照してください。

J2EE Connector ArchitectureCommon Client Interface(CCI)による呼び出し

J2EE Connector Architectureで規定されたインタフェースであるCCIを使用してサーバアプリケーションを呼び出す方法です。この呼び出し方法のために、同期アプリケーション連携実行基盤のリソースアダプタ(rarファイル)を提供します。同期アプリケーション連携実行基盤のリソースアダプタが提供するインタフェースはMsyncCallクラスのラッパーです。これにより、J2EEの標準的なインタフェースによる呼び出しが可能となります。Spring Frameworkを利用したアプリケーションから同期アプリケーション連携実行基盤のサーバアプリケーションを呼び出す場合にも利用できます。

Webサービスアプリケーションからの呼び出し

Webサービスアプリケーションからサーバアプリケーションを呼び出す方法です。WebサービスアプリケーションはWebサービスクライアントアプリケーションから呼び出します。これにより、ESBなどからサーバアプリケーションの呼び出しが可能となります。

Webサービスアプリケーションはサーバアプリケーションの定義からWebサービスインタフェース生成ツールにより生成します。生成したWebサービスアプリケーションの中でMsyncCallクラスを利用しています。WebサービスアプリケーションはCOBOLのサーバアプリケーションのみを呼び出すことができます。

Webサービスクライアントアプリケーションは、Webサービスアプリケーションのインタフェースが定義されたWSDLをインポートしてWebサービスアプリケーションの呼出しを実装します。

C言語のクライアントアプリケーション

C言語のクライアントアプリケーションは、サーバアプリケーション上からC言語用のクライアントAPIを発行することで、サーバアプリケーションを呼び出します。アプリケーションの構造には以下の2種類があります。

単体のアプリケーションからの呼び出し

C言語のクライアントアプリケーションから、サーバアプリケーションを呼び出す方法です。C言語のクライアントAPIを提供します。

同期アプリケーション連携実行基盤上のサーバアプリケーションからの呼び出し

Javaのクライアントアプリケーションから呼び出されたサーバアプリケーションから別のサーバアプリケーションを呼び出す方法です。
また、C言語クライアントから呼び出されたサーバアプリケーションから、さらに別のサーバアプリケーションを呼び出すことも可能です。
どちらもサーバアプリケーション上でC言語のクライアントAPIを利用して、その先のサーバアプリケーションを呼び出します。
これにより、サーバアプリケーション間の連携を行うことができます。

サーバアプリケーション

同期アプリケーション連携実行基盤は、クライアントアプリケーションから要求を受け付けると対応するサーバアプリケーション(業務ロジック)を定義ファイルに従い実行します。アプリケーションは、前処理、後処理、エラー処理およびトランザクション後メッセージ編集処理の各処理と業務処理から構成されます。

同期アプリケーション連携実行基盤では、各処理が返す処理結果により、トランザクションの完了を制御するなど、アプリケーションの動作を支援するため、利用者がアプリケーションの制御を行うロジックの開発を不要とします。

業務ロジックの処理の一覧を以下に説明します。

処理名

説明

要否

前処理

クライアントからのリクエスト(メッセージ)ごとに業務処理の直前に呼び出されます。
業務処理を開始するにあたってのリソースの初期化など、業務処理単位の初期処理に用います。

任意

後処理

クライアントからのリクエスト(メッセージ)ごとに前処理、および業務処理が正常終了した場合に、業務処理の直後に呼び出されます。
業務処理を終了するにあたってのリソースの解放など、業務処理単位の終了処理に用います。

任意

エラー処理

前処理、業務処理、または後処理が異常終了した場合、その直後に呼び出されます。
エラー発生時のリソースの初期化など、業務単位のエラー後処理に用います。

任意

トランザクション後メッセージ編集処理

アプリケーション連携実行基盤で管理しているトランザクション完了後に呼び出されます。トランザクション完了の結果により、クライアントへ返却するメッセージを編集する場合に用います。トランザクション後メッセージ編集処理はコンテナのトランザクション制御機能が有効の場合のみ呼び出されます。

任意

同期アプリケーション連携実行基盤のアプリケーション制御は、必要に応じて業務共通制御でカスタマイズすることもできます。
以下に業務共通制御について説明します。

◆業務共通制御

業務共通制御とは、同期アプリケーション連携実行基盤が提供する振分け制御、トランザクション制御、リトライ制御といった実行制御をカスタマイズするための制御ロジックです。同期アプリケーション連携実行基盤の振分け制御、業務前制御、業務後制御、および結果編集制御の各種制御動作を利用者が任意に変更することができます。

業務共通制御の処理の一覧を以下に説明します。

処理名

説明

要否

振分け制御

クライアントからの要求ごとに呼び出す処理です。
制御用のデータを受け取り、どの業務処理を呼び出すかを決定するための処理です。
アプリケーション連携実行基盤が提供するAPIを使用して、呼び出す業務処理(ターゲット名)を変更することができます。
1つのアプリケーション連携実行基盤に対して1つだけ定義することができます。

任意

業務前制御

サーバアプリケーションの呼出しの直前に呼び出す処理です。
業務処理に必要なリソースの獲得・初期化や、業務処理の実行状態の管理などの処理を行います。
1つのアプリケーション連携実行基盤に対して1つだけ定義することができます。

任意

業務後制御

サーバアプリケーションの呼び出しの直後に呼び出す処理です。
業務処理で使用したリソースの解放や、業務処理の実行結果の管理などの処理を行います。
処理結果情報を変更することでアプリケーション連携実行基盤に対してトランザクションの完了指示を行うことができます。
1つのアプリケーション連携実行基盤に対して1つだけ定義することができます。

任意

結果編集制御

アプリケーション連携実行基盤で管理しているトランザクションの完了後に呼び出す処理です。
処理結果情報やトランザクションの完了状態を判定し、電文を返却するか、例外として通知するか、またはリトライするかの制御を行います。
アプリケーション連携実行基盤のデータベースアクセス管理機能を使用しない場合も呼び出されます。
1つのアプリケーション連携実行基盤に対して1つだけ定義することができます。

任意

注意

  • 業務共通制御は、C言語で開発することができます。

サーバアプリケーションと業務共通制御の処理シーケンス

サーバアプリケーション(業務ロジック)と業務共通制御の各種処理の呼び出しシーケンスは下記の通りです。ワークユニットのプロセス起動時、および終了時に、アプリケーション連携実行基盤が呼び出す出口処理に加え、ワークユニット出口を呼び出すことができます。ワークユニット出口の詳細は、“Interstage Application Server OLTPサーバ運用ガイド”を参照してください。

1.5.1.4 アプリケーションの実行環境

同期アプリケーション連携実行基盤のアプリケーションの実行環境について説明します。なお、アプリケーションの実行環境として使用するワークユニットの機能およびInterstage管理コンソールについては“Interstage Application Server 運用ガイド(基本編)”を参照してください。

クライアントアプリケーションの実行環境

クライアントアプリケーションは、Interstageの開発環境であるInterstage Studioを使用してJSP、ServletまたはEJBとして作成し、IJServerクラスタまたはJ2EEのIJServerに配備して実行します。

サーバアプリケーションの実行環境

サーバアプリケーションは、実行基盤インタフェースとともに共有ライブラリとして作成し、本製品の配備コマンド(apfwdeploy)を使用してCORBAワークユニットに配備します。
CORBAワークユニットは、本製品の“1.6.1.1 システム構築シート”で出力したワークユニット管理コマンドまたは、“1.6.1.3 環境構築コマンド”を使用して定義し、Interstage管理コンソールを使用して運用します。
なお、サーバアプリケーションの実行制御は、同期アプリケーション連携実行基盤が行います。同期アプリケーション連携実行基盤によるアプリケーションの制御機能について以下に説明します。

動作モード

サーバアプリケーションの動作モードとしてスレッドモードとプロセスモードを提供します。アプリケーションの多重度は、スレッド単位(1プロセスnスレッド)、プロセス単位(nプロセス)および混在(mプロセスnスレッド)で設定できます。
動作モードは、使用するアプリケーションの言語特性(COBOLでの実行環境の引継ぎ)やアプリケーションが異常終了した場合の影響範囲など、業務に応じて選択してください。

トランザクションとリトライ制御

データベース操作を伴う処理では、処理結果により、トランザクションの完了操作を行う必要があります。また、エラー終了した場合には、業務処理の再実行が必要な場合があります。同期アプリケーション連携実行基盤では、これらの操作をアプリケーションの処理結果情報に2(異常終了)または3(強制リトライ)が設定されていた場合にリトライの定義に従ってリトライ処理を行います。リトライ実行時のリクエストデータは初回呼び出し時のデータが渡されます。

プレロード・ダイナミックロード

アプリケーションのライブラリをロードする方式にプレロードとダイナミックロードの2種類の方式を提供します。

業務共通制御

同期アプリケーション連携実行基盤の提供する振分け制御、トランザクション制御、リトライ制御などの実行制御をカスタマイズするための制御ロジックです。これにより、制御ロジックと業務ロジックを分離して、業務ロジックの独立性が高めることが可能です。

COBOL実行環境の開設・閉鎖

COBOL実行環境の開設・閉鎖処理を同期アプリケーション連携実行基盤が実施します。WORKING-STRAGE SECTION における無駄な領域の獲得や解放を行わない制御が行えます。COBOL実行環境の開設から閉鎖までの間、変数などの実行環境情報がCOBOLランタイムで保持される(前回呼び出し時の状態が保持される)ため、アプリケーションで共通に使用する情報を保持しておくことができます。

データ型変換

サーバアプリケーションの言語に合わせて、データ型の変換処理を行います。これにより、すでに作成されているアプリケーションの移植性を高めます。データ型の対応関係の詳細は、“Interstage Business Application Server アプリケーション開発ガイド”の“サーバアプリケーション開発の概要”の“データ型の変換”を参照してください。

ログ出力

同期アプリケーション連携実行基盤の稼動状況および性能情報の2種類のログを自動的に出力する標準ログ機能を提供します。
標準ログを使用することでユーザのアプリケーションにログの出力処理を記述しなくても、上記ログを自動的に採取することができます。
詳細は、“4.2 標準ログ”を参照してください。