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

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

FMLプログラミングの紹介

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

 


FMLとは

フィールド操作言語(FML)は、フィールド化バッファと呼ばれる記録構造を定義、操作する一連のC言語関数で、フィールド化バッファにはフィールドと呼ばれる属性と値の対が含まれます。属性はフィールドの識別子であり、対応する値はフィールドのデータ内容を表します。

フィールド化バッファを使用すると、関連したフィールドのセットを名前でアクセスできるので、協調動作するプロセス間でパラメータ化されたデータを受け渡す場合に便利です。他のプロセスとコミュニケートする必要のあるプログラムは、FMLソフトウェアを使用し、フィールドを含む構造体を意識せずにフィールドへのアクセスが可能です。

FMLはまた、VIEWと呼ばれる、フィールド化バッファをC構造体またはCOBOLレコードにマップする(その逆も可能)機能も提供します。VIEW機能はフィールド化バッファではなく構造体間で、大量のデータのやり取りを行い、データを構造体に転送し操作すると、アプリケーションはより高速に実行します。このように、VIEW機能を使用すると、フィールド化バッファのデータ独立性と従来のレコード構造の効率性、簡便性を共に享受することができます。

FMLおよびVIEW機能には2種類のインタフェースがあります。

 


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

Oracle Tuxedoシステムでは、FML関数はATMIアプリケーションのコンテキストでフィールド化バッファを操作するために使用されます。

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

ユーザーの入出力用に自分でアプリケーションを開発する場合、またはプログラムがプロセス間でメッセージを受け渡しするよう作成されている場合でも、これらのプログラム間で受け渡されるフィールド化バッファを処理するためにFMLを使用できます。

 


Oracle Tuxedoの型付きバッファ

型付きバッファは、フィールド化バッファのFMLの概念から生まれたOracle Tuxedoシステムの機能です。Oracle Tuxedoシステム付属の2つの標準バッファ・タイプは、FML型バッファおよびVIEW型バッファです。2つの間の相違点の1つは、Oracle TuxedoのVIEWバッファはFMLフィールド化バッファと完全に無関係にすることが可能である点です。

このテキストでは、VIEWがFMLレコードの構造化されたバージョンであることを説明します。『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』などの他のドキュメントでは、VIEWを数種類あるOracle Tuxedoのバッファ・タイプの1つとして扱っています。

 


FMLの用語

フィールド識別子

フィールド識別子(fldid)は、FMLレコードまたはフィールド化バッファ内の個別のデータに付加されるタグです。フィールド識別子は、フィールド名(番号)およびフィールド内のデータの種類で構成されます。

フィールド化バッファ

フィールド化バッファは、各データ・アイテムに識別のためのタグ(フィールド識別子)が付加されているデータ構造で、フィールド識別子にはデータの種類およびフィールド番号が含まれます。

フィールド・タイプ

FMLフィールドおよびフィールド化バッファには型があります。標準のC言語型のいずれか(shortlong矢印記号floatdoublechar)を使用できます。ほかに、string型(NULL文字で終了する文字列)、carray型(文字配列)、mbstring型(マルチバイト文字配列 - Tuxedoリリース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レコードをサポートするためにも使用できます。

  先頭に戻る       前  次