040325MQ-MICE Gateway处理
- 格式:doc
- 大小:85.00 KB
- 文档页数:8
2.MQ-MICEGatewayの処理2.1MQ-MICE Gatewayの構成MQ-MIICE Gatewayの構成は以下のようになります。
2.1.1統合集配信通信図2-1に統合集配信通信の構成を示します。
既存のシステムからAppサーバにデータが送られてくる(配信)場合、MICEの基幹によって配信変換PGMが起動され、集配信データをMQに送信します。
Appサーバでは、送られてきたデータを、配信監視PGMが取得し、トランザクションファイルに書き出します。
データが揃ったところで対象のアプリケーションを起動します。
起動されたアプリケーションは、配信APIを利用してデータの受信を行います。
また、Appサーバから既存のシステムにデータを送る場合、アプリケーションは集信APIを使用してMQにデータを送ります。
MQ-MICE G/Wでは、集信変換PGMがデータを受信しMICEのデータストレージに書き込みます。
データストレージに書き込まれたデータは、MICEによって目的のアプリケーションまで送られます。
図2-1統合集配信通信の構成2.1.2問合せ応答通信図2-2に問合せ応答通信の構成を示します。
Appサーバから既存のシステムに対し問合せ応答通信を行う場合、問合せAPIを使用してMQと接続します。
MQ-MICE G/Wでは、接続要求を問合せ監視PGMが取得し、問合せ応答接続PGMを起動します。
問合せ応答接続PGMはMQとMICEとの接続を行います。
MICEは対象のアプリケーションとの接続を行います。
これで双方向通信(問合せ応答通信)ができるようになります。
既存のシステムからAppサーバに問合せ応答通信を行う場合、MICEから起動された問合せ応答接続PGMはMICEとMQの接続を行います。
Appサーバでは、接続要求を問合せ監視PGMが取得し、対象のアプリケーションを起動します。
アプリケーションは、応答APIを利用して問合せ応答通信を行います。
図2-2問合せ応答通信の構成3.API3.1統合集配信API・データ送信を行うアプリケーションで利用します。
提供するAPIは次の5種類です。
mq_stgopn( ) :データ送信の準備をしますmq_stgopt( ) :送信データの形態を指定しますmq_stgput( ) :データを送信しますmq_cancel( ) :データ送信を中止しますmq_stgcls( ) :データ送信を終了します3.1.1集信例ファイルサーバやメインフレームのアプリケーションへデータをレコード単位で送信します。
/*** データ送信初期処理***//* データ送信の準備を行ないます*//* 送信先のサーバや、起動されるアプリケーションを指定します*/fd = mq_stgopn( JobCode, SendCode, StationID, Length );/* データの送信形態を設定します。
*//* データ圧縮、コード変換などを設定します。
*//* オプション毎に1回呼び出します。
*/mq_stgopt( fd, ITS_MOD_SND, ITS_CONTINUE ); /* 一括受信モードにします。
*/ mq_stgopt( fd, ITS_MOD_COM, ITS_COMPRESS ); /* データを圧縮します。
*//*** データ送信処理***//* 送信するデータ件数分ループします。
*//* 送信するデータが無くなったらループから出ます。
*/while ( /* データがある間*/ ) {/*** 送信データ生成処理***//*** データ送信***/mq_stgput( fd, RecData );}if (errflg==1 ) {/* データの生成に失敗した場合などに送信を中止します。
*//* (一括受信の場合のみ)*/mq_cancel( fd );}/* データ送信を終了します。
*/mq_stgcls( fd );・データを受け取る側(サーバ)のアプリケーションで利用します。
提供するAPIは次の4種類です。
mq_trnopn( ) :データ受信の準備をしますmq_trnopt( ) :受信形態の指定をしますmq_trnget( ) :データを受信しますmq_trncls( ) :データ受信を終了します3.1.2配信例ホストなどからデータをレコード単位で受信します。
/*** 受信アプリケーション・メイン***/main( argc, argv ) {:/*** データ受信処理***//* 受信アプリケーション起動時の第一引数を取得します。
*//* 第一引数にはトランザクションファイル名が渡されます。
*/strcpy( TrnFile, argv[1] );/* データ受信の為の準備をします。
*/fd = mq_trnopn( TrnFile );/* データ受信時のコード変換の有無を指示します。
*//* コード変換有りを選択しています。
*/mq_trnopt( fd, ITS_MOD_COD, ITS_CONVERT );/* データを受信します。
*//* データはレコード単位で受信できます。
*//* データの最後まで読込んだらループを抜けます。
*/wile(1) {rtn = mq_trnget( fd, Buff, Length );if ( rtn == ITS_TRN_EOF ) break;/*** データ処理***/}/* データ受信を終了します。
*//* モードによってトランザクションファイルを残しておくこともできます。
*/mq_trncls( fd, Mode );:}3.2問合せ応答API問合せ応答通信を行うアプリケーションで利用します。
提供するAPIは問合せ5種類、応答5種類です。
問合せmq_refopn( ) :問合せを開始しますmq_refopt( ) :問合せ側の通信オプションを指定しますmq_refsnd( ) :問合せ側でデータを送信しますmq_refrcv( ) :問合せ側でデータを受信しますmq_refcls( ) :問合せ通信を終了します応答mq_ansopn( ) :応答を開始しますmq_ansopt( ) :応答側の通信オプションを指定しますmq_anssnd( ) :応答側でデータを送信しますmq_ansrcv( ) :応答側でデータを受信しますmq_anscls( ) :応答通信を終了します3.2.1問合せ例ファイルサーバやメインフレームのアプリケーションと接続し、1件の検索キーデータに対し、複数件の回答データが返ってくる例です。
/*** 検索処理***//* 接続先のアプリケーションとの接続を行います。
*//* 接続先、接続するアプリケーションを指定します。
*/fd = mq_refopn( JobCode, SendCode, StationID );/* 送信時のデータのコードを指定します。
*//* データがJISコードであることを指定しています。
*/mq_refopt( fd, REF_MOD_LNG, REF_JIS_CODE );/* 検索キーデータを送信します。
*//* トークン(第4引数)によって次に行う処理が変わります。
*//* この例ではキーデータは1件なので次は受信します。
*//* 相手に送信権を与える(REF_RCV)を指定します。
*/mq_refsnd( fd, KeyData, Length, REF_RCV );/* 回答データを受信します。
*//* トークン(第4引数)がREF_SND(相手側に送信権がある)の間、*//* データの受信を繰り返します。
*/while( 1 ) {mq_refrcv( fd, Buff, Length, mode );if ( mode != REF_SND ) break;/*** データを処理***/}/* 終了することを示すメッセージを相手に送ります。
*/mq_refsnd( fd, EndData, Length, REF_CLS );/* 接続先のアプリケーションとの切断をします。
*/mq_refcls( fd );4.現行システムからの移行例4.1MICEで通信しているアプリケーションをサーバごと新規に構成する例旧サーバで行っていた処理を新サーバに乗せ換えて行う場合で、旧サーバのステーションID(SVR02)を新サーバのステーションIDとして使用するとします。
この場合、既存のアプリケーションの変更はいりません。
図4-1のようにG/WサーバのMICEの通信テーブル(「送信コードテーブル(sndcod)」「ステーション通信テーブル(stncom)」)に変更を加えれば新サーバのアプリケーションと通信できます。
図4-1移行例14.2MICEで通信しているアプリケーションを一部だけ新規サーバに移動する例サーバ02の一部の機能を新サーバ03に移動する場合、サーバ01では新たにサーバ03向けの設定を行う必要があります。
また、新サーバ03に送信するアプリケーションは通信相手の設定(送信コード、送信先WS-ID)を変更する必要があります。
また、図4-2のようにG/WサーバのMICE通信テーブルに追加もする必要があります。
図4-2 移行例25.利用サポートについて本システムの利用にあたっては、次のサポートメニューを準備しております。
* 設計支援…通信方法を決定するためのサポート* 環境構築…Queueの作成・設定、APIのインストール(MQのインストールは基本的にはプロジェクト側で行なっていただいています)* 初期設定支援…送信コード等、通信経路の設定やMICE側テーブルの修正作業のサポート* 電話・メールでのQA …アプリケーションの開発時の質問等の応答*テスト立ち会い…通信確認テストの際の立会いサポートは有償となります。
A-SOL開発案件の場合は、開発見積りに加算させていただきます。
A-SOL以外での開発につきましては、サポートのRFSを発行して下さい。
導入時の注意点*導入に関しては、IT0 のレビューを受けてください。
* MQをサポートしていない2重化構成を導入しないようにして下さい。