この付録の構成は、次のとおりです。
Oracle Connectでは、OracleAS Adapter for Tuxedoメッセージ・バッファのすべての標準型が、次のようにI/Oとしてサポートされています。
STRING
: NULL文字で終了する文字配列。データ型は文字で、その長さはNULL文字に達するまでのバッファ内の文字数で決定されます。Cプログラムでよく使用されます。
CARRAY
: 解釈されない任意のバイナリ・データの配列。アプリケーションでは、ATMI機能への入力として使用する場合、CARRAY
メッセージ・バッファのバッファ長を指定する必要があります。
XML
: XMLフォーマットのデータ。このバッファ・タイプを使用すると、Tuxedoアプリケーションで、XMLを使用してアプリケーション内やアプリケーション間でデータを交換できます。Tuxedoアプリケーションでは、単純なXMLバッファを送受信したり、これらのバッファを適切なサーバーにルーティングできます。このバッファ・タイプでは、データ依存型ルーティングがサポートされています。
VIEW
(16ビット): C構造レイアウト。このバッファは、データの要素、構造またはレコードの固定集合に使用します。VIEWレコードでは、長整数型などの整数データ型、文字および小数をサポートしています。VIEW
レコードでは、構造内の構造はサポートしていません。構造またはポインタの配列もサポートしていません。
VIEW
(32ビット): 32ビットのFML
識別子を使用するC構造レイアウト。
FML
(16ビット): フィールドの作成、アクセス、変更および削除に使用する抽象データ型。タグ付けされた値を格納するデータ構造です。値は入力します。値は何度でも指定でき、長さは変わります。また、FML
バッファでは、フィールドに対し複数の値の格納をサポートしています。フィールド化バッファの可変長書式を使用すると、複数のフィールドの発生を格納および取得できます。
FML
(32ビット): 32ビットのFML
識別子を使用するFML型。
注意: X_C_TYPEおよびX_OCTETなどのシノニムも認識されます。 |
非構造化メッセージ・バッファは、レコード内で次のようにラップされます。
STRING型のメッセージ・バッファは、string
型の単一フィールドを含むレコード内で固定サイズでラップされます。
CARRAY型のメッセージ・バッファは、binary
型の単一フィールドを含むレコード内で固定サイズでラップされます。
XML型のメッセージ・バッファは、XML型の単一フィールドを含むレコード内でラップされます。
Oracle Connectでは、ユーザー定義のメッセージ・バッファはサポートされていません。
この項の構成は、次のとおりです。
OracleAS Adapter for Tuxedoは、Oracle Studioでメタデータの定義に使用する多くのデータ型をサポートしています。データ型は、インポート手順の実行時にTuxedoデータ型からマップされます。
注意: OracleAS Adapter for TuxedoとOracle Application Server間のデータ型のマッピングは、Oracle Connectによって内部的に実行されます。 |
OracleAS Adapter for Tuxedoでは、VIEWファイルに含まれているフィールドが次のように処理されます。
VIEWファイル内のTuxedoフィールド定義のCOUNT
フィールドに1より大きい値が指定されている場合は、array=xx属性に変換されます。
VIEWファイル内のTuxedoフィールド定義のSIZE
フィールドに値が指定されている場合は、size=yy属性に変換されます。
VIEWファイル内のTuxedoフィールド定義のFLAG
フィールドにCが指定されている場合は、実際のカウント値を格納するための追加のCOUNTER
フィールドがそのフィールドの前に生成されます。
VIEWファイル内のTuxedoフィールド定義のFLAG
フィールドにLが指定されている場合は、実際の長さの値を格納するための追加のLENGTH
フィールドがそのフィールドの前に生成されます。
注意:
|
VIEWファイル内のTuxedoフィールド定義のNULLフィールドに値が指定されている場合は、Oracle Connectのバックエンド・アダプタのレコードに反映されません。
VIEWフィールドに関するTuxedoの制限事項は保持されます。
次に、VIEWファイル定義の例を示します。
VIEW emp #TYPE CNAME FBNAME COUNT FLAG SIZE NULL long lSalary SALARY 1 - - 0 short nDeptnum DEPTNUM 1 - - 0 short nEmpnum EMPLOYEE_NUMBER 1 - - 0 short nJobcode JOBCODE 1 - - 0 string szMessageText MESSAGE_TEXT 1 - 80 "" string szFirstName FIRST_NAME 1 - 16 "" string szLastName LAST_NAME 1 - 21 "" END
次に、FML
フィールドIDを定義するフィールド表の例を示します。
*base 100 # name number type flags comments MESSAGE_TEXT 1 string - - # DEPTNUM 100 short - - EMPLOYEE_NUMBER 101 short - - JOBCODE 102 short - - FIRST_NAME 103 string - - LAST_NAME 104 string - - SALARY 105 long - -
各アダプタには、Tuxedo ATMI Queue Control StructureにマップされるHEADERレコードがあります。HEADERレコードは、定義されたすべてのレコードに含まれています。
次の表に、HEADER入力のフィールド(書込みおよびサブスクライブ用)を示します。
表B-2 HEADERレコード入力のフィールド
フィールド | 説明 |
---|---|
long flags; |
設定する値を示します。 |
long deq_time; |
デキューの絶対時間および相対時間を示します。 |
long priority; |
エンキューの優先順位を指定します。 |
long exp_time; |
有効期限を指定します。 |
long delivery_qos; |
サービスの配信の品質を指定します。 |
long reply_qos; |
サービスのリプライの品質を指定します。 |
long urcodes; |
ユーザー・リターン・コード |
char corrid[32]; |
メッセージの識別に使用する相関識別子を指定します。 |
char replyqueue[16]; |
リプライ・メッセージのキュー名を指定します。 |
char failurequeue[16]; |
失敗したメッセージのキュー名を指定します。 |
次の表に、HEADER出力のフィールド(読込み用)を示します。
表B-3 HEADERレコード出力のフィールド
フィールド | 説明 |
---|---|
long flags; |
設定する必要のある値を示します。 |
long priority; |
エンキューの優先順位を指定します。 |
char msgid[32;] |
デキューされたメッセージのIDを指定します。 |
char corrid[32]; |
メッセージの識別に使用する相関識別子を指定します。 |
long delivery_qos; |
サービスの配信の品質を指定します。 |
long reply_qos; |
サービスのリプライの品質を指定します。 |
char replyqueue; |
リプライのキュー名を指定します。 |
char failurequeue[16]; |
失敗したメッセージのキュー名を指定します。 |
long diagnostic; |
失敗の理由を指定します。 |
long appkey; |
アプリケーション認証のクライアント鍵を指定します。 |
long urcodes; |
ユーザー・リターン・コード |
CLIENTID cltid; |
発信元のクライアントのクライアント識別子を指定します。 |
char replyqueue[16]; |
リプライ・メッセージのキュー名を指定します。 |
char failurequeue[16]; |
失敗したメッセージのキュー名を指定します。 |