ページの先頭行へ戻る
Interstage Application Server V13.0.0 アプリケーション作成ガイド(データベース連携サービス編)
FUJITSU Software

2.7 クライアントアプリケーションの形態

クライアントアプリケーションからサーバアプリケーションを呼び出す形態を以下に示します。


同期型

サーバアプリケーションを呼び出し、サーバアプリケーションのメソッドが終了した時点でクライアントアプリケーションに制御が戻ります。


非同期型

サーバアプリケーションを呼び出し、サーバアプリケーションのメソッドの終了を待たずにクライアントアプリケーションに制御が戻ります。クライアントアプリケーションは、任意のタイミングでサーバアプリケーションのメソッドの終了を問い合わせます。


■同期型

呼出し形態

同期型呼出しは、クライアントアプリケーションからサーバアプリケーションを呼び出し、そのサーバアプリケーションの処理終了を待ち合わせる呼出し形態です。同期型の呼出し形態について、以下に示します。



インタフェース

同期型には、以下の2つのインタフェースがあります。詳細については、「リファレンスマニュアル(API編)」を参照してください。

  • 静的起動インタフェース
    サーバアプリケーションのメソッド名を指定して呼び出します。

  • 動的起動インタフェース
    RequestインタフェースのCORBA_Request_invoke()メソッドでサーバアプリケーションを呼び出します。

動的起動インタフェースにおいて、遅延同期送信を行う場合の注意事項を以下に示します。


遅延同期送信の呼出し元

遅延同期送信の呼出し元は、その呼出しの復帰が完了するまでデータベースの操作を禁止します。


遅延同期送信で呼び出されたサーバ

遅延同期送信の呼出し先は、データベースを使用する場合は、複数の呼出しが同じデータベースをアクセスできません。


同一データベースへのアクセス

遅延同期送信で呼び出されたアプリケーションから、同時に同一のデータベースを操作することはできません。



異なるデータベースへのアクセス

遅延同期送信で呼び出されたアプリケーションから、異なるデータベースを操作することができます。



アプリケーションの処理論理

同期型を使用する場合のクライアントアプリケーションの処理論理を以下に示します。



  1. サーバアプリケーションAのメソッド1を呼び出します。クライアントアプリケーションは、サーバアプリケーションAのメソッドが終了するまで待ち合わせます。

  2. クライアントアプリケーションは、サーバアプリケーションAのメソッド1の処理が終了した時点で制御が戻ります。

  3. サーバアプリケーションBのメソッド2を呼び出します。クライアントアプリケーションは、サーバアプリケーションBのメソッドが終了するまで待ち合わせます。

  4. クライアントアプリケーションは、サーバアプリケーションBのメソッド2の処理が終了した時点で制御が戻ります。


■非同期型

呼出し形態

非同期型呼出しは、クライアントアプリケーションからサーバアプリケーションを呼び出し、サーバアプリケーションのメソッドの終了を待たずにクライアントアプリケーションに制御が戻ります。クライアントアプリケーションは、任意のタイミングでサーバアプリケーションのメソッドの終了結果を問い合わせる呼出し形態です。
非同期型の呼出し形態を以下に示します。



インタフェース

RequestインタフェースのCORBA_Request_send()メソッドを使用します。詳細については、「リファレンスマニュアル(API編)」を参照してください。


アプリケーションの処理論理

非同期型を使用する場合のクライアントアプリケーションの処理論理を以下に示します。



  1. サーバアプリケーションAのメソッド1を非同期型で呼び出します。

  2. サーバアプリケーションBのメソッド2を非同期型で呼び出します。

  3. メソッド1の処理終了を問い合わせます。

  4. メソッド2の処理終了を問い合わせます。