MessageQueueDirector説明書
目次 索引 前ページ次ページ

第1部 基本機能編> 第6章 アプリケーションの作成

6.8 Symfoware/RDBトランザクション連携機能を利用したアプリケーションの作成

 Symfoware/RDBトランザクション連携機能を利用した、データベースの更新とメッセージを送受信するアプリケーションは、まず、業務用データベースとMQDおよび目的のメッセージキューに接続します。その後、データベースの更新やメッセージの送受信を行い、トランザクションの終了を行うように作成します。

 MQDへの接続は、プログラムインタフェースの“MQDCONNECTRDB”または“mqd_connectrdb”を使用します。トランザクションの終了は、“SQL COMMIT文”を使用します。トランザクションの取消しは、“SQL ROLLBACK文”を使用します。

 Symfoware/RDBトランザクション連携機能を利用したアプリケーションの例を図6.12に示します。

 なお、データベース管理システムの詳細については、“Symfoware Server RDB管理者ガイド”、データベースを使用するアプリケーション開発については、“Symfoware Server RDBユーザーズガイド 応用プログラム開発編”、SQLの詳細については、“Symfoware Server SQLリファレンスガイド”を参照してください。

[図6.12 Symfoware/RDBトランザクション連携機能を利用したアプリケーションの例]

[図の説明]

 1) アプリケーションを業務用データベースに接続します。
 2) “MQDCONNECTRDB”または“mqd_connectrdb”を使用してMQDに接続します。
 3) アプリケーションを目的(受信先と送信先)のメッセージキューに接続します。
 4) メッセージキュー1からメッセージを受信します。
 5) メッセージの内容を見て、データベースを更新します。
 6) 送信先メッセージキュー2にメッセージを送信します。
 7) “SQL COMMIT文”を使用してトランザクションを終了します。
 8) アプリケーションをメッセージキューから切断します。
 9) アプリケーションをMQDから切断します。
 10) アプリケーションを業務用データベースから切断します。

 以下に、Symfoware/RDBトランザクション連携機能を利用したCOBOLコーディング例を示します。

  EXEC SQL CONNECT TO 業務用データベース・・ END-EXEC. 
  MOVE "MQD001"      TO    MQD-SYSNAME.
  CALL "MQDCONNECTRDB"  USING MQD-SYSNAME MQD-ENVIRONMENT MQD-SYSADDR.
  MOVE "QUE001"      TO    MQD-QUENAME.
  CALL "MQDCONNECTQ" USING MQD-SYSADDR MQD-QUENAME MQD-ENVIRONMENT MQD-QUEADDR.
      ・
      ・
* トランザクションの開始(ここから)
  CALL "MQDGETMSG"  USING MQD-QUEADDR MQD-RCVMODE MQD-MESSAGEHEADER
                          MQD-MSGBODY MQD-BODYLEN MQD-ENVIRONMENT MQD-RESULT.
  EXEC SQL SELECT 在庫数量 ・・ END-EXEC.
      ・
      ・
  EXEC SQL UPDATE 在庫数量 ・・ END-EXEC.
  CALL "MQDPUTMSG"  USING MQD-QUEADDR MQD-UNITFLG MQD-MESSAGEHEADER
                          MQD-MSGBODY MQD-ENVIRONMENT MQD-RESULT.
      ・
      ・
  EXEC SQL COMMIT END-EXEC. 
* トランザクションの終了(ここまで)
      ・
      ・
  CALL "MQDDISCONNECT" USING MQD-SYSADDR MQD-ENVIRONMENT MQD-RESULT.
  EXEC SQL DISCONNECT CURRENT END-EXEC. 
  

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

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