bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

FML を使用した Tuxedo アプリケーションのプログラミング

 Previous Next Contents View as PDF  

FML プログラミング入門

ここでは、次の内容について説明します。

 


FML とは

フィールド操作言語 (FML: Field Manipulation Language) とは、属性と値の組み合わせをフィールドに格納する記憶構造 (フィールド化バッファ) を定義および操作する C 言語関数のセットです。属性はフィールドの識別子であり、対応する値はフィールドのデータ内容を表します。

フィールド化バッファを使用すると、関連したフィールドの集まりに名前でアクセスでき、協調動作するプロセス間でパラメータ化したデータをやり取りする際に非常に便利です。ほかのプロセスと通信する必要のあるプログラムで FML を使用すると、フィールドを格納する構造体を操作せずにフィールドにアクセスすることができます。

FML は、VIEWS と呼ばれる機能も提供します。この機能を使用すると、フィールド化バッファを C 構造体や COBOL レコードにマッピングしたり、逆に C 構造体や COBOL レコードをフィールド化バッファにマッピングできます。VIEWS を使用すると、フィールド化バッファの代わりに構造体内で大量のデータを操作できます。操作対象のデータが構造体に転送されると、アプリケーションの動作が速くなります。つまり、この VIEWS 機能を使用すると、フィールド化バッファのデータ独立性と従来のレコード構造の効率性や簡便性を両方とも実現できます。

FML および VIEWS の機能には、次の 2 つのインターフェイスがあります。

 


FML を BEA Tuxedo システムで使用する方法

BEA Tuxedo システムでは、ATMI アプリケーションのコンテキストで FML 関数を使用してフィールド化バッファを操作します。

FML 関数は、BEA Tuxedo システムのコア部分を扱うデータ・エントリ・プログラムで使用されます。つまり、これらのプログラムでは、フィールド化バッファを使用して、ユーザが端末から入力したデータをほかのプロセスに転送します。したがって、データ・エントリ・プログラムからフィールド化バッファに入力されたデータを受け取るプログラムを作成する場合も、FML 関数を使用する必要があります。

ユーザの入出力を操作するアプリケーション・プログラムを独自に開発する場合や、プロセス間でメッセージを送受信するプログラムを作成する場合も、プログラム間で送受信されるフィールド化バッファを操作する方法として FML を使用できます。

 


BEA Tuxedo の型付きバッファ

型付きバッファは、フィールド化バッファという FML の概念に基づいた BEA Tuxedo システムの機能の 1 つです。BEA Tuxedo システムには、FML と VIEW という 2 種類の標準的な型付きバッファが用意されています。これらのバッファのうち、BEA Tuxedo の VIEW バッファの場合は、FML フィールド化バッファとまったく関連付けなくてもよいという点が唯一異なります。

このマニュアルでは、構造化された FML レコードとして VIEW を説明します。ほかのマニュアル、たとえば『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』では、BEA Tuxedo で提供されるいくつかのバッファ型のうちの 1 つとして VIEW を扱います。

 


FML の用語

フィールド識別子

フィールド識別子 (fldid) は、FML レコードまたはフィールド化バッファ内の個々のデータ項目を示すタグです。フィールド識別子は、フィールド名 (番号) とフィールドのデータ型で構成されています。

フィールド化バッファ

フィールド化バッファはデータ構造体であり、構造体内の各データ項目には、データ型とフィールド番号で構成される識別用タグ (フィールド識別子) が対応付けられています。

フィールド型

FML フィールドおよびフィールド化バッファには型が付きます。フィールドの型は、標準 C 言語の型のいずれでもかまいません(shortlongfloatdoublechar)。ほかに、string 型 (NULL 文字で終了する文字列)、carray 型 (文字配列)、mbstring 型 (マルチバイト文字配列- リリース 8.1 またはそれ以降で使用可能)、ptr 型 (バッファを指すポインタ)、FML32 型 (埋め込み型の FML32 バッファ)、および VIEW32 型 (埋め込み型の VIEW32 バッファ) がサポートされています。mbstringptrFML32、および VIEW32 型は、FML32 インターフェイスでのみサポートされています。COBOL では、COMP-5 型、COMP-1 型、COMP-2 型、および PIC X 型に対応します。ただし、現時点では、COBOL には mbstringptrFML32、および VIEW32 に対応する型はありません。VIEWS では、COBOL COMP-3 との統合のために C 言語のパック 10 進数型もサポートされています。

VIEWS

VIEWS は、フィールド操作言語の機能の一部です。C 構造体のメンバまたは COBOL レコードにフィールドをマッピングすることにより、フィールド化バッファとレコード (C 構造体または COBOL レコード) 間でデータを送受信することができます。フィールド化バッファを大量に操作する場合は、データを C 構造体内に転送するとパフォーマンスが向上します。VIEWS 関数を使用して、フィールド化バッファ内の情報をバッファ内のフィールドから抽出して C 構造体に置き、C 構造体内でデータを操作した後、再度 VIEWS 関数を使用して、更新した値をフィールド化バッファに戻すことができます。FML とは別に VIEWS を単独で使用し、特に COBOL レコードをサポートするためにも使用できます。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy