1.2 通信パラダイム

次の表は、アプリケーション開発者が利用できるOracle Tuxedo ATMIの通信パラダイムを示しています。

表1-1 通信パラダイム

パラダイム 説明
リクエスト/レスポンス通信 リクエスト/レスポンス型通信では、あるソフトウェア・モジュールが2番目のソフトウェア・モジュールにリクエストを送り、そのレスポンスを受け取ります。リクエスタがレスポンスを受け取るまで処理が行われずに待機する同期通信、またはリクエスタがレスポンスを待機する間も処理が継続される非同期通信の2種類があります。

このモードは、クライアント/サーバー相互作用とも呼ばれます。最初のソフトウェア・モジュールがクライアント、2番目のソフトウェア・モジュールがサーバーになります。

このパラダイムの詳細は、「リクエスト/レスポンス通信のコーディング」を参照してください。
会話型通信 会話型通信はリクエスト/レンポンス型通信に似ていますが、会話が終了する前に複数のリクエストやレンポンスが発生します。会話型通信では、会話が切断されるまでクライアントとサーバーで状態の情報が保持されます。クライアントとサーバー間でメッセージをやり取りする方法は、使用するアプリケーション・プロトコルによって決定されます。

通常、会話型通信はサーバーからクライアントへの長いレスポンスのバッファとして使用されます。

このパラダイムの詳細は、「会話型クライアントおよびサーバーのコーディング」を参照してください。
アプリケーション・キュー・ベースの通信 アプリケーション・キュー・ベースの通信では、遅延通信、つまり時間に依存しない通信が行われます。この通信では、クライアントとサーバーがアプリケーション・キューを使用して通信します。Oracle Tuxedo/Q機能を使用すると、メッセージを永続的な記憶装置(ディスク)や一時的な記憶装置(メモリー)のキューに入れることができ、後で処理したり取り出すことができます。

アプリケーション・キュー・ベースの通信は、たとえば、メンテナンスのためにシステムをオフラインにしたときにリクエストをキューに登録する場合や、クライアントとサーバーの処理速度が異なる場合に通信をバッファに格納する場合に使用します。

/Q機能の詳細は、『ATMI /Qコンポーネントの使用』を参照してください。

イベント・ベースの通信 イベント・ベースの通信では、特別な状況(イベント)が発生した場合に、クライアントやサーバーがそれをクライアントに通知します。イベントの通知には、次の2つの方法があります。
  • 非請求イベント。クライアントやサーバーからクライアントに直接通知される予測不能な状況です。
  • ブローカ・イベントとは、予測不能な状況、または発生は予測できても発生時間を予測できない状況で、メッセージの受信と転送を行う無名ブローカ・プログラムによって、サーバーからクライアントに間接的に通知されます。
イベント・ベースの通信は、Oracle Tuxedoのイベント・ブローカ機能に基づいています。

このパラダイムの詳細は、「イベント・ベースのクライアントおよびサーバーのコーディング」を参照してください。