BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo システム入門   |   先頭へ   |   前へ   |   次へ   |   目次

 


型付きバッファ

すべての ATMI 関数は、型付きバッファを使ってデータを送受信します。BEA Tuxedo システムでは、異種のマシン間での翻訳とデータ変換が可能です。BEA Tuxedo プログラムではバッファが使用されているので、異なるデータ表現の異種プラットフォーム間でやり取りされるデータを変換する必要はありません。

バッファとは、データの論理的な入れ物として機能するメモリ領域です。バッファにメタデータ (バッファ自体に関する情報) が含まれていない場合、そのバッファは型なしのバッファと呼ばれます。バッファ内に格納できる情報として、タイプとサブタイプ、またはバッファを特徴付ける文字列名などのメタデータが含まれている場合、そのバッファは型付きバッファと呼ばれます。

型付きバッファは、BEA Tuxedo システムでサポートされる任意のプロトコルを使用して、どの種類のネットワークからもどの種類のオペレーティング・システムにも送ることができできます。異なるデータ表現のプラットフォーム上で使用することもできます。そのため、型付きバッファを使用すると、異種マシン間での翻訳とデータ変換のためのタスクが簡略化されます。

BEA Tuxedo システムでは、次の 5 種類の型付きバッファがサポートされています。

バッファ・タイプは、コンフィギュレーション・ファイルの MACHINES セクションに定義されている ENVFILE パラメータで指定します。コンフィギュレーション・ファイルの SERVERS セクションの ENVFILE パラメータでバッファ・タイプを指定したり上書きすると、バッファ・タイプが必要なプロセスでそれらのバッファ・タイプを使用できなくなる場合があります。

メッセージ・バッファの各種のタイプの定義については、『ファイル形式、データ記述方法、MIB、およびシステム・プロセスのリファレンス』 の tuxtypes(5)tm_typesw の説明を参照してください。tm_typesw を変更して、特定のサーバで特に必要なバッファ・タイプだけを含むようにしておくと便利です。

バッファ・タイプの特徴

ATMI 通信関数を使用する場合、まずアプリケーションで tpalloc を使用して、バッファのサイズ、タイプ、およびサブタイプ (省略可能) を指定し、システムからバッファを取得する必要があります。BEA Tuxedo システムによってバッファ・タイプが認識されて処理されるため、データは BEA Tuxedo システムによってサポートされているどの種類のネットワーク、プロトコル、およびオペレーティング・システム上でも転送できます。次の表は、BEA Tuxedo の環境で使用できる各バッファ・タイプを示しています。

各バッファ・タイプの特徴

型付きバッファ

説明

目的

CARRAY

文字配列型は、曖昧に処理される文字の集まりです。

BEA Tuxedo システムによって解釈されず、データ依存型ルーティング、符号化、または復号化を必要としないデータ

STRING

NULL 文字で終了する非 NULL 文字の集まりです。データ型は文字であり、データ長はバッファ内の文字数を NULL 文字まで数えた値です。サブタイプを指定する必要はありません。

C プログラム

FML

フィールド操作言語 (FML) は、タグ付き値を格納するデータ構造です。値には型が付いていて、複数指定したり長さを変えることができます。

FML バッファは、フィールドの作成、変更、削除、またはアクセスの操作に使用される抽象的なデータ型です。プログラムでは、識別子を参照することによって、フィールド化バッファ内のフィールドにアクセスしたり更新します。FML 関数によって、フィールドのロケーションとデータ型が実行時に変換され、操作が実行されます。

FML へのインターフェイスには、フィールド識別子およびフィールド長として 16 ビットを使用するもの (FML16) と、32 ビットを使用するもの (FML32) があります。

この 2 つのインターフェイスの機能は同じです。FML の威力は、その柔軟性にあります。各メッセージに対するアプリケーションのニーズに応じて、バッファのサイズを変えることができます。文字フィールドも長さを変えられるため、不要な領域がなくなります。

フィールド化バッファによって、アプリケーションはデータから独立できます。アプリケーションの作成時に、フィールド化バッファのどこに、どのようにデータが格納されるのかを知る必要はありません。FML によって対応するフィールドにアクセスできるため、単にフィールド名を指定すれば値が返されます。また、FML には変換関数もあるため、記憶領域の種類に関係なく、特定のデータ形式としてフィールドを格納したり、取り出すことができます。

FML バッファは、1 つのフィールドに複数の値を格納することもできます。フィールド化バッファの可変長の型により、フィールドの複数オカレンスを格納したり、取り出すことができます。

フィールド化バッファは、メッセージごとに異なるフィールドの集まりをクライアントとサーバ間でやり取りしたり、アプリケーション・キューにフィールドを格納する場合に使用すると便利です。特にクライアントとサーバ間のインタフェースが変わる可能性がある場合は、FML を使用することをお勧めします。

VIEW

VIEW は単に C 構造体または COBOL レコードで、それに対応してレコード内でどのフィールドと型がどの順序で現れるかが定義されています。このバッファは、データ要素の固定的な集まり、または構造体やレコードに使用します。サブタイプを使用して、レコード形式名を指定します。

VIEW レコードはフラットなデータ構造です。ほかの構造体に存在する構造体、または構造体やポインタの配列はサポートされていません。長精度型、文字型、10 進数型などのデータ型がサポートされています。

VIEW は、BEA Tuxedo システムで C 構造体および COBOL レコードを使用するために提供されています。BEA Tuxedo のランタイム・システムでは、実行時に読み取られる VIEW 記述に基づいて、レコード形式が認識されます。VIEW を割り当てる場合、VIEW のバッファ・タイプおよび名前と合致するサブタイプがアプリケーションで指定されます。ランタイム・システムでは、次の操作が行われます。

BEA Tuxedo アプリケーションで使用される C 構造体および COBOL レコード

XML (Extensible Markup Language)

XML バッファを使うと、XML 技術を使用してアプリケーション内やアプリケーション間でデータを送受信できます。BEA Tuxedo アプリケーションでは、単純な XML 型バッファの送受信や、それらのバッファを適切なサーバにルーティングできます。解析など、XML 文書を扱うためのすべてのロジックはアプリケーション内に定義されています。XML 文書は、次の要素から構成されます。文書のテキストを符号化した一連の文字、文書の論理構造、および構造に関連するメタ情報。

BEA Tuxedo システムの XML パーサは、文字符号化の自動検出、文字コード変換、要素内容および属性値の検出、およびデータ型の変換を行います。

XML 型バッファでは、データ依存型ルーティングがサポートされています。


 

関連項目

 

先頭へ戻る 前のトピックへ 次のトピックへ