Interstage Application Server アプリケーション作成ガイド (イベントサービス編)
目次 索引 前ページ次ページ

第4章 アプリケーションの開発(各機能)> 4.6 グローバルトランザクションでのアプリケーション開発

4.6.2 グローバルトランザクションのアプリケーションとチャネルの動作

 アプリケーションとチャネルの動作について説明します。
 なお、サプライヤに接続するイベントチャネルのオブジェクトリファレンスおよびコンシューマに接続するイベントチャネルのオブジェクトリファレンスは、事前に獲得して、接続しているものとして説明します。
 また、以下の図の矢印はサプライヤからのデータの流れのみを示しています。コンシューマの場合も同様のデータの流れとなります。

  1. サプライヤがグローバルトランザクションに対してCurrent_beginを発行します。
  2. サプライヤが他のリソースに対してアクセスします。通常、他のリソースはデータベースシステムであり、データベースシステムからのデータの入力が想定されます。
  3. サプライヤがチャネルに対してpushを発行します。チャネルではイベントデータを保持します。なお、この時点ではイベントデータを保持するだけであり、蓄積処理は行いません。
  4. サプライヤがグローバルトランザクションに対してCurrent_commitを発行します。グローバルトランザクションは、他のリソースおよびチャネルに対してcommit命令を発行します。他のリソースは、トランザクションの完了処理を行います。チャネルでは、保持していたイベントデータの蓄積処理を完了します。
  5. コンシューマがグローバルトランザクションに対してCurrent_beginを発行します。
  6. コンシューマがチャネルに対してpullを発行すると、チャネルはイベントデータをpullの復帰値としてコンシューマに通知します。なお、この時点でチャネルはイベントデータを保持したままの状態です。
  7. コンシューマが他のリソースに対してアクセスします。通常、他のリソースはデータベースシステムであり、データベースシステムへのデータの出力が想定されます。
  8. コンシューマがグローバルトランザクションに対してCurrent_commitを発行します。グローバルトランザクションは、他のリソースおよびチャネルに対してcommit命令を発行します。他のリソースはトランザクションの完了処理を行います。チャネルはメッセージの受信が完了したことを確認して、イベントデータを削除します。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005