暗黙モードのクライアント・プログラム・ロジック・フロー

クライアントが暗黙モード・クライアントのサービスを要求するときは、プロトコルは IMS™ TCP/IP に よって事前定義されています。

クライアントは、トランザクション要求メッセージ (TRM) を送信することによって、IMS MPP を 要求します(TRM のフォーマットについては、トランザクション要求メッセージ・セグメント (クライアントから Listener へ)を参照してください)。TRM には、Listener がスケジュールするトランザクションの名前が組み込まれています。

トランザクションがスケジュールされない (例えば、セキュリティー出口が正常に 渡されなかったり、トランザクションが IMS マスター端末オペレーターによって停止されたり したため) 場合、Listener は、要求状況メッセージに障害の原因を示す標識を添えて戻します (要求状況メッセージのフォーマットについては、要求状況メッセージ・セグメントを参照してください)。

暗黙モードのアプリケーションの場合、入力データ・ストリームは、TRM とその直後に続く アプリケーション・データの全セグメントおよびメッセージ終結セグメントで成り立っています。Listener は、TRM の内容を使用してサーバーをスケジュールした上で、TIM とアプリケーション・データのすべてを IMS メッセージ・キューに置いて、Assist モジュールによる検索に備えます。

暗黙モード・トランザクションは、複数セグメント入力メッセージ 1 つと 複数セグメント出力メッセージ 1 つに限定されます。言い換えると、暗黙モードのアプリケーションでは、会話に入れないということになります。

トランザクションが完了すると、IMS Assist モジュールがクライアントに完了状況 メッセージ (CSMOKY) セグメントを送信します。クライアントでは、このメッセージを受信した場合、データベースの変更がコミットされたと見なして大丈夫です。このメッセージを受信しなかった場合、クライアントには起こったことの 判別はできません。つまり、トランザクションが正常に完了し、データベースの変更が コミットされた場合もあれば、トランザクションが失敗し、データベースの変更がバックアウトされた 場合もあります。このような理由があるため、暗黙モード・サーバーと協働するクライアントは、 CSMOKY メッセージ・セグメントを受信できなかったときは、直ちに IMS との連絡を再確立し、直前に実行された更新が正常に行われたかを確認するアプリケーション・ロジックを組み込む 必要があります。