1.5.1.1 非端末Oracle Tuxedoクライアントのプログラミング・インタフェース

Tuxedo ART for IMSでは、非端末クライアントとTuxedo ART for IMSのMPPサーバー間のブリッジとして機能するサーバー、ARTIGWが提供されます。非端末クライアントは、次に示すプログラミング・インタフェースに従って、ARTIGWサービスを呼び出します。ARTIGWはサービス・リクエストをARTMPPに転送します。

ARTIGWと非端末Oracle Tuxedoクライアント間の唯一のインタフェースは、FML表です。

アプリケーション・バッファでIMSトランザクション(TRANS1など)を実行するには、次のステップを実行します。

  1. クライアント・ユーザーは次のFMLフィールドを含む送信バッファを準備する必要があります。
    • IMS_SVC_NAME

      IMSトランザクション名("TRANS1"など)。

    • IMS_SVC_FLAG

      将来使用するために予約済

    • IMS_SEG_DATAアプリケーション・バッファ・データ。LLZZはバッファ内に必要ありません。セグメントの最大長は32764です(これはARTIMPPの制限です)。
  2. クライアントは、ステップ1で準備したバッファでtpcall()/tpacall()を発行します。
    ret = tpcall(<tuxclt_service_name>, …) 

    この<tuxclt_service_name>はARTIGWの通知済サービスで、サービス名が構成可能です。詳細は、ARTIGW CONFIGURATIONを参照してください。

  3. クライアントが返信を取得します。返信メッセージには、次のFMLフィールドが存在しています: IMS_SVC_RESULT

    0: ARTIMPPがレスポンス・メッセージによってリクエストを正常に処理します。

    1: ARTIMPPがレスポンス・メッセージなしでリクエストを正常に処理します。

    -1: ARTIGWエラー

    -2: ARTIMPPエラー

    IMS_SEG_DATA
    Buffer contains reply data. LLZZ is not included in the buffer.
    IMS_SVC_SYSMSG
    
    IMS_SVC_RESULTが負の整数の場合は、冗長エラー・メッセージ。

インタフェースのFMLフィールド表(ARTIGWFML)とヘッダー・ファイル(ARTIGWFML.h)は、$IMSDIR/includeの下にあります。次のリスト4は、ARTIGWFMLの内容を示しています。

ARTIGWFMLの内容のリスト

*base 30000700
#name               rel-number       type       flags            comment
#-----             -----------      ------     -------   ------------------------
IMS_SVC_NAME         181            string
IMS_SVC_FLAG         182             long
IMS_SVC_RESULT       183             long
IMS_SEG_DATA         184            carray
IMS_SVC_SYSMSG       185            carray