BEA Logo BEA Tuxedo Release 8.0

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

 

   Tuxedoホーム   |   ファイル形式、データ記述方法、MIB、およびシステム・プロセスのリファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


MIB(5)

名前

MIB-管理情報ベース

#include <fml32.h> 
#include <fml1632.h> /* Optional */
#include <tpadm.h>
#include cmib.h> /* Component MIB Header */

機能説明

BEA Tuxedo システムのアプリケーションは、いくつかの異なるコンポーネント (BEA Tuxedo、Workstation など) で構成され、それぞれのコンポーネントはそのコンポーネントのために特別に定義された管理情報ベース (MIB) を利用して管理されます。これらのコンポーネントの MIB は、それぞれ、システムの特定の部分に対応した MIB 関連のマニュアル・ページで定義されています。たとえば、TM_MIB(5) のマニュアルでは、BEA Tuxedo アプリケーションの基本的な側面を管理するために使用される MIB について定義しています。

ただし、これらのコンポーネントの MIB は、必要なアクセス手段を提供するための関連インターフェイスについて十分に定義したものであるわけではありません。MIB(5) のマニュアル・ページでは、管理者、オペレータ、あるいはユーザが定義されているコンポーネント MIB と対話するための共通のインターフェイスについて説明したものです。BEA Tuxedo システムの MIB に対する共通のインターフェイスは、2 つの主要な部分から成り立っています。

共通のインターフェイスの最初の部分は、コンポーネント MIB をサポートするための管理サービスへのアクセス手段を提供する際に、BEA Tuxedo システムで現在使用しているインターフェイスがどのように使用されるかを説明したものです。BEA Tuxedo システムのバッファ・タイプの 1 つであるFML32は、コンポーネント MIB に入力データを渡したり、コンポーネントMIBから出力データを受け取ったりするための「入れ物」として使用されます。ATMI 要求/応答関数は、コンポーネント MIB に対するインターフェイスとして使用され、システムが提供するサービスとして組み込まれています。管理ユーザとコンポーネント MIB と間でFML32バッファの ATMI 関数を利用して行われるやりとりについては、このマニュアルの「FML32」および「ATMI」の各セクションで詳しく説明します。

共通なインターフェイスのもう一つの部分は、あらゆるコンポーネント MIB との間のやりとりで使用される FML32 の追加の入出力フィールドについて説明したものです。FML32 の追加のフィールドを利用した場合は、要求の機能を拡張でき (操作コードの指定などが可能になる)、新たな応答属性 (エラー・コードや説明文など) の使用が可能になるといった効果が得られます。FML32 の追加フィールドについては、このマニュアルの「入力」および「出力」のセクションで詳しく説明します。

「使用方法」のセクションでは、管理を目的としたコンポーネント MIB との対話に利用できる既存の ATMI 関数や追加の FML32 フィールドの使用例を示します。

また、このマニュアル・ページでは、アプリケーションを管理する際のユーザとコンポーネント MIB との対話方法を定義するだけでなく、コンポーネント MIB に関するマニュアルで使用されるクラス定義の形式についても明らかにします (「クラス記述」を参照のこと) 。

このリファレンス・ページでは、T_CLASST_CLASSATT という 2 つの共通のクラスを定義しています。これら 2 つのクラスは、管理のためのクラスを識別し、クラスや属性のパーミッションを調節するために使用されます。MIB(5) のすべてのクラス定義に関連する追加情報については、「MIB(5) に関する追加情報」を参照してください。「診断」のセクションでは、コンポーネント MIB のシステム・サービスが返す可能性のあるエラー・コードのリストを示します。

認証

ユーザがアプリケーションに結合しようとすると、その権限があるかどうかの認証が行われます (tpinit(3c) を参照)。tpinit() の実行時に、管理者およびオペレータは tpsysadm または tpsysop のクライアント名を持つアプリケーションに結合するよう求めることができます。この 2 つの cltname 値は保存され、アプリケーションの管理者とオペレータにしか関連付けられません。

アプリケーションを最初に環境設定する管理者が、特定のセキュリティ・タイプを選択することでセキュリティのレベルを決定します。以下のセキュリティ・タイプから選択できます。

セキュリティ・タイプを選択すると、管理者やオペレータがAdminAPIを介してコンポーネント MIB にアクセスする際の柔軟性とセキュリティが決まります。

最も確実で柔軟なセキュリティ・タイプは、アプリケーション・パスワード + アプリケーション固有認証サーバ (AUTHSVR(5)参照) です。この方法では、ユーザが適切なパスワードを認証サーバに提供すれば、管理者は任意のユーザまたは指定されたユーザにアクセスを許可することができます。

アプリケーション固有の認証サーバがない場合、管理者またはオペレータの特別なパーミッションを得るためには、クライアントはアプリケーションの認証要求 (「セキュリティなし」または「アプリケーション・パスワードによる認証」のどちらか) を満たし、TPINIT構造体のcltnameフィールドに特別なクライアント名の1つを指定し、さらにローカル UNIX システムの BEA Tuxedo 管理者で実行する必要があります。いずれの場合も、正常に結合されたクライアントにはシステムによってキーが割り当てられます。このキーは、クライアントが行なうすべての要求に対して与えられます。tpsysadmまたはtpsysopとして正しく認証されたクライアントは、このクライアントが特別な特権を持っていることをシステムに知らせる認証キーが割り当てられます。

管理者としての認証は、指定に従って、APIにアクセスする前にシステムに結合するクライアントにしか適用されません。APIを利用するサーバは、このサーバがサービスするクライアントと同様に扱われます。tpsvrinit()tpsvrdone() から行われるサービス要求は管理者からの要求として処理されます。

FML32

BEA Tuxedo システムが定義したコンポーネントMIBを使用するアプリケーション管理は、FML32バッファタイプを介してしかサポートされません。MIB情報にアクセスするアプリケーション・プログラムは、FML32型付きバッファの割り当て、処理、更新を行なうように書かれていなければなりません。FML32 を使用する 2 通りの方法については、Fintro() で詳述していますが、ここで要約します。

FML32 にインターフェイスする最も直接的な方法は、標準の <fml.h> ヘッダ・ファイルではなく <fml32.h> ヘッダ・ファイルをインクルードし、次に『BEA Tuxedo FML リファレンス』で指定されている関連の各 FML インターフェイスの FML32 バージョンを使用する方法です。たとえば、Fchg() の代わりに Fchg32() を使用します。

FML32 にインターフェイスするもう 1つの方法は、<fml32.h>と<fml1632.h>の両方のヘッダ・ファイルをインクルードする方法です。この 2 つのヘッダ・ファイルは共同して機能し、ユーザはベースの FML インターフェイス (たとえばFchg()) に合わせてプログラミングできますが、実際には各インターフェイスの FML32 バージョンが呼び出されるようにします。

ATMI

アプリケーション・プログラムは、FML32型付きバッファを割り当て、要求されたデータをそのバッファに入れ、サービス要求を送出し、サービス要求に対する応答を受け取り、その応答から結果に関する情報を取り出すことによって、コンポーネント MIB 固有の属性情報のアクセスや更新を行います。FML32型付きバッファへ情報を入れたり取り出したりする操作には、前述したFML32インターフェイスが関わります。バッファの割り当て、要求の送出と応答の受信は、下記の汎用 ATMI ルーチンを使い該当する指針と制約の範囲内で行なわれます。すべてのコンポーネントに対するMIB要求は、コアのシステム/TコンポーネントMIBサービス、".TMIB" に送出する必要があります。このサービスは、TM_MIB(5) 要求を処理するエージェントとしての役割を果たすほか、他のコンポーネント MIB に対する要求を転送します。これで、ユーザ側ではサービス名を MIB やクラスとマッチングしなくても済みます。

tpalloc()

BEA Tuxedoシステム MIB サービスへ要求を送出したり応答を受信したりするときに使用するFML32 型付きバッファを割り当てます。FML32 バッファタイプはサブタイプを持たず、デフォルトの最小サイズは 1024 バイトです。

tprealloc()

FML32型付きバッファの再割り当てを行います。

tpcall()

データが格納されたFML32型付きバッファを入力として、さらにこのサービスが返す出力を格納する割り当て済みの FML32 型付きバッファを使って、BEA Tuxedo システム MIB サービス、.TMIB を呼び出します。FML32 は自己記述型バッファタイプなので、入力バッファのバッファ・サイズを0と指定することができます。この呼び出しがトランザクション内で行なわれる場合にはTPNOTRANフラグを使用しなければなりません。トランザクション内でなければ、このルーチンに対して定義されたフラグの使用については条件や制約は一切ありません。

tpacall()

データが格納されたFML32型付きバッファを入力として、BEA Tuxedo システムのMIBサービス、.TMIBを非同期的に呼び出します。FML32は自己記述型バッファタイプなので、入力バッファのバッファサイズを0と指定することができます。この呼び出しがトランザクション内で行なわれる場合にはTPNOTRANフラグを使用しなければなりません。トランザクション内でなければ、このルーチンに対して定義されたフラグの使用については条件や制約は一切ありません。

tpgetrply()

前に生成された BEA Tuxedo システムの MIB サービス、.TMIBの非同期呼び出しに対する応答を受信します。応答は前に割り当てられた FML32 型付きバッファに入れられます。このルーチンに対して定義されたフラグの使用については条件や制約は一切ありません。

tpenqueue()

後で処理するために、BEA Tuxedo システムの MIB サービス .TMIB に対する要求をキューに入れます。FML32は自己記述型バッファタイプなので、入力バッファのバッファサイズを0と指定することができます。このルーチンに対して定義されたフラグの使用については条件や制約は一切ありません。ただし、アプリケーションによってこのような要求の送出を処理するように環境設定された TMQFORWARD(5) サーバは、-n (TPNOTRAN フラグが設定された tpcall()) と -d (削除) オプションを指定して起動する必要があります。

tpdequeue()

前にキューに入れられた BEA Tuxedo システムの MIB サービス TMIB への要求に対する応答をキューから取り出します。応答は前に割り当てられた FML32 型付きバッファに入れられます。このルーチンに対して定義されたフラグの使用については条件や制約は一切ありません。

入力

BEA Tuxedo システムの任意の MIB に対する管理要求を特徴付けたり制御したりするときに使われる複数のFML32 フィールドがあります。これらのフィールドはヘッダ・ファイル <tpadm.h> にはもとより、このマニュアル・ページにも定義されています。対応するフィールド・テーブルは、${TUXDIR}/udataobj/tpadm にあります。これらのフィールドは、管理サービス要求を行なう前に必要なコンポーネントMIB固有のフィールドのほかに、FML32 要求バッファにも付加されます。これらのフィールドについて以下に説明し、そのあとで、各フィールドが必須指定、任意指定、または未使用のコマンドをまとめて表に示します。

TA_OPERATION

実行する操作を示す文字列値フィールド。有効な操作は GETGETNEXT および SETです。

TA_CLASS

アクセスするクラスを示す文字列値フィールド。クラス名はコンポーネントMIB固有のマニュアル・ページで定義されています。

TA_CURSOR

直前のGETまたはGETNEXT 操作時にシステムが返した文字列値のFML32 フィールド。システムが現在の検索位置を調べることができるように、アプリケーションは返された値を以後の要求に転送する必要があります。

TA_OCCURS

GETまたはGETNEXT操作時に取り出されるオブジェクトの数を示すlong値のFML32フィールド。このフィールドを指定しないと、スペースが許すかぎり、一致するすべてのオブジェクトが返されます。

TA_FLAGS

共通およびコンポーネントMIB固有のフラグ値を示すlong値のFML32フィールド。この属性に設定できるコンポーネントMIB固有の値は、各コンポーネントMIBマニュアル・ページ内に定義されています。共通のフラグ値と使用法を以下に示します。

MIB_LOCAL

このフラグは、このMIBに定義されている特定のクラスからの検索方法を変更する場合に使用します。このMIB内のいくつかのクラスに対して、グローバル情報 (アクティブ・アプリケーションの任意のサイトで入手可能) とローカル情報 (オブジェクトがアクティブな特定のアプリケーションで入手可能) の両方が存在します。これらのクラスから情報を取り出す要求は、効率性のために、デフォルトではローカル情報ではなくグローバル情報だけを取り出します。待ってでも複数のサイトからローカル情報を収集したいとアプリケーション・ユーザが望む場合は、取出し要求時にこのフラグをセットする必要があります。ローカル情報をもつクラスは、属性表の最後にリストされたローカル属性 (副見出しにローカル属性であることが示されている) を持っています。ローカル情報しかもたないクラスでは、このフラグ値がセットされていなくてもローカル情報を取り出します。

MIB_PREIMAGE

SET操作が実行される前にプレイメージ・チェックに合格する必要があることを示します。プレイメージ・チェックでは、任意のMIB固有クラス属性のオカレンス0が既存のオブジェクトと一致することを確認します。一致したら、そのオブジェクトは任意のMIB固有クラス属性のオカレンス1を使って更新されます。2回以上発生しない属性はプレイメージ・チェックの対象とはみなされません。複数回出現するフィールドは、その対応するカウント属性が2度指定されている場合にはチェックされます。

MIB_SELF

このフラグは、要求元のクライアントやサーバの識別属性を処理前に要求バッファに追加する必要があることを示します。クライアントの場合はTA_CLIENTIDを追加し、サーバの場合はTA_GRPNOTA_SRVIDを追加します。

TA_FILTER

返す必要がある特定のクラス属性を最大32のオカレンスで指定できる、long値のFML32フィールド。値0をもつオカレンスを指定してリストを終了することができますが、指定しなくてもかまいません。属性の初期値が0のリストはクラス固有属性を返しませんが、一致したクラス・オブジェクトの個数を返します。

TA_MIBTIMEOUT

要求を満たすために必要なコンポーネントMIBサービス内の時間 (秒数) を示す、long値のFML32フィールド。0以下の値を指定した場合、コンポーネントMIBサービスはブロッキング処理を実行できません。この値を指定しないと、デフォルトの 20 に設定されます。

TA_CURSORHOLD

最初のGET操作から生成されたシステム・スナップショットを、現在のGETまたはGETNEXTの要求が満たされた後、処分せずに保持しておく時間 (秒数) を示す、long値のFML32 フィールド。0以下の値を指定した場合、現在の要求が満たされた後でスナップショットを処分しなければなりません。指定しないと、この値はデフォルトの 120 に設定されます。

次表において、R は必須入力属性、O はオプションの入力属性、− は使用されない入力属性です。

入力表

属性

タイプ

GET

GETNEXT

SET

TA_OPERATION

string

R

R

R

TA_CLASS

string

R

R

TA_CURSOR

string

R

TA_OCCURS

long

O

O

TA_FLAGS

long

O

O

O

TA_FILTER

long

O

TA_MIBTIMEOUT

long

O

O

O

TA_CURSORHOLD

long

O

O


 

出力

正常終了した管理要求からの出力は、1つまたは複数のMIB固有オブジェクトと共通の出力フィールドの1オカレンスからなります。通常、複数のMIB固有オブジェクトは、返された各クラス属性の複数のオカレンスによって出力に反映されます。各属性のオカレンス 0 は最初のオブジェクトに関連し、オカレンス1は2番目のオブジェクトに関連するという風に順次関連します。この指針の例外はコンポーネントMIBのマニュアル・ページに記載されています。FML32定義の NULL フィールド値を操作実行後に持つことがあります。SET 操作が正常終了すると、操作実行後のオブジェクトを反映する単一オブジェクトが返されます。GET 操作やGETNEXT 操作が正常終了すると、要求されたオカレンス数 (下記の TA_OCCURSを参照) や MIB 固有システム・サービス内の指定されたキー・フィールドおよびスペース制限と一致したオカレンス数に応じて、0 またはそれ以上のオカレンスが返されます。

重要なのは、オブジェクトの状態、相互運用的なリリース環境、入力要求フィルタによっては、任意のクラスに対して定義されたすべての属性がどの要求についても返されるわけではないということです。管理プログラマは、出力バッファ内にある属性が存在するものと思うのではなく、属性値の存在を明示的に確認する必要があります。

繰り返しますが、正常に処理された管理要求は、すべてのMIBに適用するある共通のフィールドを含んでいます。このフィールドはヘッダ・ファイル<tpadm.h>に定義されています。対応するフィールド・テーブルは、${TUXDIR}/udataobj/tpadm にあります。共通の応答フィールドは応答バッファに追加され、コンポーネントMIB固有フィールドで返されます。以下に各共通応答フィールドについて説明します。

TA_CLASS

応答バッファに表されたクラスを示す、文字列値のフィールド。クラス名はコンポーネントMIB固有のマニュアル・ページで定義されています。

TA_OCCURS

応答バッファ内のオブジェクトの数を示す、long値のFML32フィールド。

TA_MORE

後で取り出すためにシステム・スナップショット内に保持されている、要求キー・フィールドが一致した追加のオブジェクトの数を示す、long値のFML32フィールド。SET 操作では、このフィールドは返されません。

TA_CURSOR

システムが保持しているスナップ・ショット内の位置を示す、文字列値のFML32 フィールド。以降のGETNEXT操作では、このフィールドを要求バッファに追加する必要があります。アプリケーション・ユーザがこのフィールドの値を解釈したり変更したりすることはできません。SET 操作では、このフィールドは返されません。

TA_ERROR

正常な終了を示す負値以外の戻りコードが入った、long値のFML32 フィールド。共通のリターン・コードとその意味を以下に示します。

TAOK

操作が正常に実行された。アプリケーションの更新は行なわれなかった。

TAUPDATED

アプリケーションの更新が正常に行なわれた。

TAPARTIAL

アプリケーションの部分更新が正常に行なわれた。

MIB固有システムサービス処理内で失敗した管理要求は、アプリケーション・サービス・エラーをアプリケーションに返します。これには、元々の要求とエラーの特徴を示す共通のフィールドが含まれています。アプリケーション・サービス・エラーは、tpcall() またはtpgetrply() からの TPESVCFAILエラー・リターンによって示されます。TMQFORWARD(5)サーバを介して返されたアプリケーション・サービス・エラーは、元の要求で指定されたエラー・キューに入ります (サーバのコマンドラインで-dが指定されたと仮定して)。失敗した管理要求の特徴を示す共通のフィールドを以下に示します。

TA_ERROR

発生した特定のエラーを示す、long 値のFML32 フィールド。共通のエラー・コードの場合は 、このマニュアル・ページのDIAGNOSTICS セクションに記載され、コンポーネントMIB固有のエラー・コードの場合は、個々のコンポーネント MIB マニュアル・ページに記述されます。

TA_STATUS

エラーのテキスト記述が入る、文字列値のFML32 フィールド。

TA_BADFLD

エラーが特定のフィールドの値に起因する可能性がある場合に、そのフィールドのフィールド識別子が入る、long 値のFML32 フィールド。エラーが複数のフィールドの値の組合せに起因する場合は、このフィールドの複数のオカレンスが存在することがあります。

使用方法

インクルード・ファイル

コンポーネント MIB とインターフェイスするために書かれたアプリケーション・プログラムは一定のヘッダ・ファイルをインクルードする必要があります。<fml32.h> は、FML32 型付きバッファのアクセスおよび更新に必要なマクロ、構造体、および関数のインターフェイスを定義します。<fml1632.h> は、汎用 FML インターフェイスのマクロ、構造体、および関数から FML32 バージョンへのマッピングを定義します。このヘッダ・ファイルのインクルードは任意です。<tpadm.h> は、このマニュアル・ページに記載されている FML32 フィールド名を定義します。さらに、任意のコンポーネント MIB 固有ヘッダ・ファイルをインクルードして、そのコンポーネント MIB に固有の FML32 フィールド定義にアクセスできるようにする必要があります。

例:

#include <fml32.h>
#include <tpadm.h>
#include <cmib.h> /* コンポーネント MIB ヘッダ */

バッファの割り当て

コンポーネント MIB と対話するためには、FML32 型付きバッファが該当するサービスに要求を送ることが必要です。ATMI 関数 tpalloc() は、FMLTYPE32 (<fml32.h> に定義されている) を使用してバッファをtype 引数の値に割り当てます。FML32 バッファのサブタイプは存在しないので、tpalloc()subtype 引数は NULL になる場合があります。FML32 バッファのデフォルトの最小サイズは 1024 バイトです。tpalloc()size 引数に 0 を指定すると、最小サイズのバッファが割り当てられます。これより大きなバッファが必要な場合には、システム最小値より大きな値をsizeに指定することで割り当てることができます。

例:

rqbuf = tpalloc(FMLTYPE32, NULL, 0);

MIB 要求の作成

FML32 型付きバッファが割り当てられたら、ユーザはそのバッファに共通の MIB フィールドの値とコンポーネント MIB 固有の値を入れる必要があります。要求バッファに値を追加するときに使用する最も一般的なインターフェイスは、Fadd32()Fchg32() です。要求バッファがいっぱいでフィールドを追加できない場合は、ATMI 関数 tprealloc() を使ってバッファを再割り当てする必要があります。

例:

/*
* エラー処理は含まない。bigger_size はシステム側で提供されるのではなく、
* ユーザ側で指定。バッファを再利用する場合は、Fchg32 を使用して、
* フィールド・オカレンス 0 が設定されるようにする。
*/
if (Fchg32(rqbuf, TA_MIBFIELD, 0, "ABC", 0) == -1) {
if (Ferror32 == FNOSPACE) {
rqbuf = tprealloc(rqbuf, bigger_size);
Fchg32(rqbuf, TA_MIBFIELD, 0, "ABC", 0);
}
}

MIB 要求の制御

各コンポーネント MIB に固有の属性のほかに、コンポーネント MIB から要求された操作を制御する必須および任意の属性があります (それらの属性はこのマニュアル・ページに定義されています)。

必須の共通属性は TA_OPERATIONTA_CLASS の 2 つです。

TA_OPERATION は、アクセスされる MIB 上で行われる操作を指定します。有効な操作は GETGETNEXT および SET です。

TA_CLASSは、アクセスする MIB クラスを指定します。クラス名はコンポーネント MIB マニュアル・ページに定義されています。TA_OPERATIONGETNEXTの場合には、さらに TA_CURSOR 属性も必要です。TA_CURSOR は直前の GETまたは GETNEXT 操作で返されたフィールドです。このフィールドは、このあとの要求時に検索位置を調べるときにシステムが使用します

任意属性の TA_OCCURSTA_FLAGSTA_FILTERTA_MIBTIMEOUT、および TA_CURSORHOLD は、要求をさらに細かく指定するときに必須属性に加えて使用することができます。

TA_OCCURS

GET または GETNEXT 操作で取り出すオブジェクトの数を指定します。この属性を指定しないと、スペースが許すかぎり、すべてのオカレンスが取り出されます。

TA_FLAGS

フラグ値を指定します。一部の共通フラグはこのマニュアル・ページに、他の共通フラグはコンポーネント MIB マニュアル・ページに定義されています。

TA_FILTER

GET 操作に対して返される属性値を限定します。この属性を指定しないと、使用可能なすべてのクラス属性値用の long 値FML32 フィールドが返されます。

TA_MIBTIMEOUT

コンポーネント MIB サービスでの、要求を満たすために使用できる時間 (秒数) を指定します。0 以下の値を指定した場合、コンポーネント MIB サービスはブロッキング処理を実行できません。この値を指定しないと、デフォルトの 20 に設定されます。

TA_CURSORHOLD

現在の GET または GETNEXT 操作が実行されたあと、最初の GET 操作から生成されたシステム・スナップショットを処分せずに保持する時間 (秒数) を指定します。0 以下の値を指定した場合、現在の要求が満たされた後でスナップショットを処分しなければなりません。指定しないと、この値はデフォルトの 120 に設定されます。

例:

/* 最初の 5 オブジェクトを取得 (GET)。 */
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "classname", 0);
n = 5;
Fchg32(rqbuf, TA_OCCURS, 0, n, 0);
/* 要求を作成。以下の「MIB 要求の送信」参照。 */
/* 応答は rpbuf に格納。カーソルも含まれる。 */
/*
* 次の 5 オブジェクトを取得 (GETNEXT)。rpbuf からTA_CURSOR を転送。
* 上で生成された rqbuf を再利用。要求後にスナップショットを破棄
* (TA_CURSORHOLD を 0 に設定)。
*/
Fchg32(rqbuf, TA_OPERATION, 0, "GETNEXT", 0);
Fchg32(rqbuf, TA_CURSOR, 0, Ffind32(rpbuf, TA_CURSOR, 0, NULL), 0);
n = 0;
Fchg32(rqbuf, TA_CURSORHOLD, 0, n, 0);
/* 要求を作成。以下の「MIB 要求の送信」参照。 */

コンポーネント MIB フィールド

GETまたはGETNEXTで指定されたコンポーネント MIB のキー・フィールドは、オブジェクトの集合を選択するときに使用されます。キー・フィールド以外のフィールドは、コンポーネント MIB では無視されます。

SET 操作で指定されたコンポーネント MIB キー・フィールドは、更新する特定のオブジェクトを識別するために使用されます。キー・フィールド以外のフィールドは、キー・フィールドによって特定されたオブジェクトの更新値として処理されます。ユーザは、更新 (SET) が許可される前に、現在のオブジェクト・イメージと一致する必要があるプレイメージを指定することもできます。ユーザは、要求の TA_FLAGS 属性の MIB_PREIMAGE ビットをセットすることでプレイメージを指定することを示します。更新するオブジェクトを指定するキー・フィールドはプレイメージ (フィールド・オカレンス 0) から取られます。キー・フィールドがポストイメージにも指定されている場合には、それらのフィールドは正確に一致していなければなりません。さもないと、要求は失敗します。クラスの一部で、かつ入力バッファで指定された 2 つの属性値をもつ属性だけが、指定されたクラス・オブジェクト用に設定する新しい値として処理されます。

例:

Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "classname", 0);
Fchg32(rqbuf, TA_MIBKEY, 0, "keyvalue", 0);
n = 1;
Fchg32(rqbuf, TA_OCCURS, 0, n, 0); /* GET 1st matching occurrence */
/* 要求を作成。以下の「MIB 要求の送信」参照。応答は rpbuf に格納。 */
/* rpbuf をプレイメージとして使用し、一致する場合は
* TA_MIBFIELD の値を更新。
*/
Fcpy32(newrq, rpbuf);
Fconcat32(newrq, rpbuf); /* 2 番目の一致するコピーを追加。 */
Fchg32(newrq, TA_OPERATION, 0, "SET", 0);
n = MIB_PREIMAGE;
Fchg32(newrq, TA_FLAGS, 0, n, 0);
Fchg32(newrq, TA_MIBFIELD, 1, "newval", 0); /* ポストイメージ */
/* 要求を作成。以下の「MIB 要求の送信」参照。 */

MIB要求の送信

コンポーネント MIB 要求はすべて、コア BEA Tuxedo コンポーネント MIB サービス、.TMIB を通ります。このサービスは、TM_MIB(5) 要求を処理するエージェントとしての役割を果たすほか、他のコンポーネント MIB に対する要求を転送します。これで、ユーザ側ではサービス名を MIB やクラスとマッチングしなくても済みます。サービス要求は、ATMI 内の任意の要求/応答指向サービス (tpcall()tpacall()tpenqueue()) を使って生成することができます。ユーザは、これらのインターフェイス関数に対して定義されたフラグと機能にアクセスできます。ここで課せられる唯一の制約は、.TMIB サービスはトランザクションの範囲外で呼び出す必要があるといることです。つまり、トランザクション内で tpcall()tpacall() を使って管理要求を出すときに、TPNOTRAN フラグを使用しないと異常終了する (TPETRAN) ということです。tpenqueue() を使って要求を出すときには、送出されるサービス要求をトランザクション境界の外で行なうことができるように、TMQFORWARD サーバは -n オプションを指定して起動する必要があります。

例:

/* 上に示すように要求を作成。 */
/* 要求を送信し、応答を待機。 */
flags = TPNOTRAN | TPNOCHANGE | TPSIGRSTRT;
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* 要求を送信し、記述子を取得。 */
flags = TPNOTRAN | TPSIGRSTRT;
cd = tpacall(".TMIB", rqbuf, 0, flags);
/* キューから要求を取り出す。qctl はセットアップ済みと仮定。 */
flags = TPSIGRSTRT;
rval = tpenqueue("queue", ".TMIB", qctl, rqbuf, 0, flags);

MIB 応答の受信

コンポーネントMIBからの応答は、元の要求がどのように生成されたかによって、3通りの方法で受信できます。元の要求が tpcall() で生成された場合には、tpcall() は応答が受信されたという戻り値を返します。元の要求が tpacall() で生成された場合には、tpgetrply() を使って応答を受信できます。元の要求が tpenqueue() で生成され、かつキュー制御構造体で応答キューが指定された場合には、tpdequeue() を使って応答を受信できます。これらのさまざまな呼び出し上でサポートされているフラグを適宜使用することができます。

例:

/* 上に示すように要求を作成。 */
/* 要求を送信し、応答を待機。 */
flags = TPNOTRAN | TPNOCHANGE | TPSIGRSTRT;
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* 呼び出し記述子を使用して応答を受信。 */
flags = TPNOCHANGE | TPSIGRSTRT;
rval = tpgetrply(cd, rpbuf, rplen, flags);
/* TPGETANY をしようして応答を受信。バッファ・タイプの変更が必要な場合もあり。 */
flags = TPGETANY | TPSIGRSTRT;
rval = tpgetrply(rd, rpbuf, rplen, flags);
/* キューから要求を取り出す。qctl はセットアップ済みと仮定。 */
flags = TPNOCHANGE | TPSIGRSTRT;
rval = tpdequeue("queue", "replyq", qctl, rpbuf, rplen, flags);

MIB 応答の解釈

コンポーネント MIB に固有の属性のほかに、特定の共通 MIB フィールドが管理要求に対して返されることがあります。これらの属性は元の要求の結果の特徴を示し、必要な場合に以降の要求で使用できる値を指定します。

GET または GETNEXT 操作は、成功すると以下の値を返します。

SET 操作は、成功すると以下の値を返します。

タイプにかかわらず、失敗した操作は以下の値を返します。

制限事項

フィールドの複数オカレンスをもつ FML32 バッファは、オカレンスのシーケンス内の空きフィールドを考慮しません。たとえば、オカレンス 1 の値をセットし、オカレンス 0 がまだ存在しない場合、FML32 は FML32 が定義したヌル値でオカレンス 0 を自動的に作成します。FML32 定義の NULL 値は、数値フィールドに対しては 0、文字列フィールドに対しては長さがゼロの (ヌル) 文字列、文字フィールドに対しては '¥0' 文字です。このような制約のために、(異なる属性セットをもつオブジェクトを返すことがある) GET 操作は、オブジェクトの状態を正確に反映しないヌルFML32 フィールドを含まないようにするために、ユーザに返されたオブジェクトの集合を人為的に解体することがあります。

DOS、Windows、および OS/2 上のワークステーション・クライアントは現在 64K の FML32 バッファにリンクされています。このため、システムは戻りバッファのサイズをバッファあたり 64K に制限しています。

COBOL は FML32 バッファタイプを限定的にしかサポートしていないので、ATMI の COBOL バージョンでは管理 API にアクセスできません。

コンポーネント MIB に対する要求はアプリケーション・トランザクションの一部にはなりえません。したがって、コンポーネント MIB に向けられ、アクティブ・トランザクション内で実行される tpcall() または tpacall() 呼び出しでは、呼び出し時に TPNOTRAN フラグを設定する必要があります。ただし、トランザクション内で ATMI 関数 tpenqueue() を使い、コンポーネント MIB への今後の送出に備えて要求をキューに入れることができます。この要求のキューへの登録はトランザクション内で起こりますが、コンポーネント MIB 内の処理は起こりません。このコンテキストでTMQFORWARD(5) を使用するためには、要求が非トランザクション・モードで MIB サービスに送出できるように、-n コマンド行オプションを指定して TMQFORWARD を起動する必要があります。コンポーネント MIB サービスは非トランザクションの性質をもっているので、要求をリトライするのではなくサービス失敗がすぐに失敗キューに送出されるように、TMQFORWARD に対して -d オプションを指定することもお薦めします。

共通 MIB フィールドとコンポーネント MIB のフィールド識別子は 6,000 〜 8,000 の範囲で割り当てられます。したがって、管理アクションとユーザ・アクションを混合する予定のアプリケーションは、必ずフィールド識別子を適切に割り当てる必要があります。

クラス記述

各クラスの説明セクションには、4 つのサブセクションがあります。

概要

このクラスに関連付けられた属性の詳細な説明

属性表

クラスの各属性に関する名前、タイプ、パーミッション、値、およびデフォルト値を示す表。属性表の形式を以下に示します。

属性の意味

各属性の意味を説明します。

制限事項

このクラスにアクセスしたり、このクラスを解釈する場合の制限事項。

属性表の形式

前述したように各クラスは 4 つの部分からなっており、1 つは属性表です。属性表はクラス内の属性をリストし、さらに管理者、オペレータ、一般ユーザが属性を使用してアプリケーションとインターフェイスをとる方法を示しています。属性表の各属性記述には 5 つの構成要素 (名前、タイプ、パーミッション、値、デフォルト値) があります。これらの各構成要素について以下に説明します。

名前:

FML32 バッファ内のこの属性値を識別するために使用される FML32 フィールド識別子。属性は緊密に関連した属性がグループになって配置されることがあります。このグループ配置には特別な意味はなく、単に表を使いやすくするためです。名前や値の後に (r)、(k)、(x)、または (*) が付いていることがあります。この表記の意味は以下のとおりです。

(r) - 新しいオブジェクトを作成するとき必要なフィールド

(k) - オブジェクト検索用のキー・フィールドを示す

(x) - オブジェクト検索用の正規表現キー・フィールドを示す

(*) - このフィールドは、オブジェクト変更用の SET キー

クラスに対する SET 操作は (上記の * を参照)、SET キーとして定義された 1 つまたは複数の属性値に対する値を含んでいなければなりません。指定する SET キーは、クラス内の 1 つのオブジェクトを正確に識別するのに十分なキーでなければなりません。SET キーは必ずオブジェクト検索用のキー・フィールドであり、したがって (k) 表記は指定されていませんが、暗黙的に (k) 表記されていると考えられます。ただし、新しいオブジェクトを作成するときに SET キーが必ず必要というわけではなく、必要な場合は (r) 表記で示されます。

タイプ:

属性値のデータ型。データ型はC言語の表記法、つまりlongcharstringで定義されます。プログラムの中では、FML32 関数 Fldtype32() を使ってデータ型を判別することができます。この関数はデータ型を表す FML32 のdefine マクロ、つまりFLD_LONGFLD_CHARFLD_STRING を返します (Fldtype、Fldtype32(3fml) を参照)。

パーミッション:

アクセスと更新のパーミッション (許可) は、UNIX システムのパーミッションと同様に、それぞれ 3 つのパーミッションからなる 3 つのグループに分けられます。ただし属性表では、この 3 つのグループが表すのは、UNIX の場合のオーナ、グループ、その他に対するパーミッションではなく、管理者、オペレータ、その他に対するパーミッションを表しています。各グループについて、以下の意味を持つ 3 つのパーミッション位置があります。

位置 1-検索パーミッション

r

属性を検索できます。

R

オブジェクト状態が ACTive または ACTive と同等な状態のときにだけ、属性を検索できます。また、各クラスの TA_STATE 属性値の説明を参照して、どの状態が ACTive 同等状態か判別してください。この属性は、オブジェクトの別々なアクティブ化にわたって一貫したものではない一時的な情報です。

k

検索または更新用のキー・フィールドとして属性を指定できます。

K

検索または更新用のキー・フィールドとして、次にオブジェクト状態が ACTive または ACTive 同等の状態のときに、属性を指定できます。また、各クラスの TA_STATE 属性値の説明を参照して、どの状態が ACTive 同等状態か判別してください。


 

位置 2-非アクティブ更新パーミッション

w

オブジェクトが INActive または INActive 同等状態のときに、属性を更新できます。各クラスの TA_STATE 属性の説明を参照して、どの状態が INActive 同等状態か判別します。

u

w パーミッション値と同様に属性を更新できます。さらに、u パーミッション文字で識別されたすべての属性値の組合せは、クラス内で一意でなければなりません。

U

w パーミッション値と同様に属性を更新できます。さらに、属性値はクラス内の属性に対して一意でなければなりません。


 

位置 3-アクティブ更新パーミッション

x

オブジェクトが ACTive または ACTive と同等な状態のときにだけ、属性を更新できます。また、各クラスの TA_STATE 属性値の説明を参照して、どの状態が ACTive 同等状態か判別してください。

X

オブジェクトが ACTive または ACTive と同等な状態のときにだけ、属性を更新できます。また、各クラスの TA_STATE 属性値の説明を参照して、どの状態が ACTive 同等状態か判別してください。この属性は一時情報であり、この属性の更新はオブジェクトの別々のアクティベーションにわたって一貫したものではありません。

y

オブジェクトが ACTive または ACTive と同等な状態のときにだけ、属性を更新できます。ただし、変更がこのクラスまたは他のクラスのオブジェクトに影響をおよぼす時点に対して制約があります。詳細については、クラスの「属性の意味」の項の属性の説明を参照してください。また、各クラスの TA_STATE 属性値の説明を参照して、どの状態が ACTive 同等状態か判別してください。


 

値:

この属性に対してセットまたは検索 (もしくはその両方) が可能な値。属性値を表記する際の規則を以下に示します。

LITSTRING

リテラル文字列値。

num

数値

string[x..y]

長さが x 以上 y 以下の文字列値。末尾の NULL 文字は含みません。

LMID

string[1...30] (カンマを入れることはできません) の短縮形。論理マシン識別子を表します。

{x | y | z}

xyz. の 1 つを選択します。

{x | y | z}

0 または xyz の 1 つを選択します。

{x | y | z},*

カンマで区切られた xy または z の 0 または 1 つ以上のオカレンス。

low = num

low 以上の数値。

low = num high

low 以上で、high 未満の数値。

GET:

検索 (GET) 操作で返されるか、キー値として指定できる状態属性値。示される値はつねに 3 つの英字からなる簡略名です。完全名は該当するクラスの TA_STATE の説明中に示されています。入力指定は簡略名でも完全名でも可能で、大文字/小文字は区別されます。出力状態は必ずすべて大文字の完全名で返されます。

SET:

更新 (SET) 操作でセットできる状態属性値。GET の場合と同様に簡略名の使用が許されます。


 

デフォルト値:

新しいオブジェクトを作成するとき、つまり INValid から NEW への状態変更時に使用されるデフォルト値。オブジェクトがアクティブのときに必要になるか、派生するか、または使用可能な属性については N/A の値が示されています。

TA_STATE の構文

TA_STATE 属性フィールドは、定義された各クラスのメンバです。この属性の意味はクラスごとに定義されています。簡潔にするために、TA_STATE 値は多くの場合 3 文字の簡略名で指定されます。TA_STATE値の完全名が示されるときは、3 文字の簡略名は大文字で、残りの文字 (ある場合) は小文字で表します。TA_STATE 値の入力は簡略名でも完全名でも可能で、大文字/小文字は区別されます。TA_STATE 値の出力はかならず大文字の完全名です。TA_STATE 属性の使用例を以下に示します。

完全名 :ACTive 
簡略名 :ACT
出力値 :ACTIVE
有効な入力値 :ACT、act、AcTiVe、active

T_CLASSクラスの定義

概要

T_CLASS クラスは、BEA Tuxedo システム・アプリケーション内の管理クラスの属性を表します。このクラスの主な用途はクラス名を識別することです。

属性表

MIB(5): T_CLASS クラス定義の属性表

属性

タイプ

パーミッション

デフォルト値

TA_CLASSNAME(k)

string

r--r--r--

string

N/A

TA_STATE(k)

string

r--r--r--

GET:VAL

SET:N/A

GET:N/A

SET:N/A

TA_GETSTATES

TA_INASTATES

TA_SETSTATES

string

string

string

r--r--r--

r--r--r--

r--r--r--

string

string

string

N/A

N/A

N/A

(k) - オブジェクト検索用のキー・フィールドです。


 

属性の意味

TA_CLASSNAME:string

クラス名

TA_STATE:

GET:

GET 操作は、選択された T_CLASS オブジェクトの情報を検索します。下に示した状態は、a GET 要求に対する応答で返される TA_STATE の意味を示します。リストされていない状態は返されません。

VALid

T_CLASS オブジェクトが定義されています。このクラスのすべてのオブジェクトがこの状態で存在しています。この状態は、パーミッション・チェックに際しては INActive 同等状態です。


 

SET:

SET 操作は、このクラスでは許可されません。

TA_GETSTATES:string

このクラスのオブジェクトに対して、または GET 操作の結果として返される可能性のある状態の、|で区切られたリスト。状態は大文字の完全名で返されます。

TA_INASTATES:string

このクラスのオブジェクトに対して、または GET 操作の結果として返される可能性のある非アクティブ同等の状態の、|で区切られたリスト。状態は大文字の完全名で返されます。

TA_SETSTATES:string

SET 操作の一部としてこのクラスのオブジェクトに対してセットされる可能性のある状態の、|で区切られたリスト。状態は大文字の完全名で返されます。

制限事項

なし

T_CLASSATT クラスの定義

概要

T_CLASSATT クラスは管理属性の特性をクラス/属性ごとに表します。

属性表

MIB(5): T_CLASSATT クラス定義の属性表

属性

タイプ

パーミッション

デフォルト値

TA_CLASSNAME(r)(*)

TA_ATTRIBUTE(r)(*)

string

long

ru-r--r--

ru-r--r--

string

0 <= num

N/A

N/A

TA_STATE(k)

string

rw-r--r--

GET:VAL

SET:{NEW | INV}

GET:N/A

SET:N/A

TA_PERM(r)

TA_FACTPERM

TA_MAXPERM

long

long

long

rw-r--r--

r--r--r--

r--r--r--

0000 <= num <= 0777

0000 <= num <= 0777

0000 <= num <= 0777

N/A

N/A

N/A

TA_ATTFLAGS

TA_DEFAULT

TA_VALIDATION

long

string

string

r--r--r--

r--r--r--

r--r--r--

long

string

string

N/A

N/A

N/A

(k) - GET キー・フィールド
(r) - オブジェクトの作成に必要なフィールド(SET TA_STATE NEW
(*) - GET/SET キー。SET 操作では 1 つ以上必要


 

属性の意味

TA_CLASSNAME:string

クラス名システムが認識しているクラス名だけがアクセス可能。

TA_ATTRIBUTE:long

システム提供のヘッダ・ファイル(tpadm.h など)に定義されている属性フィールド識別子。

TA_STATE:

GET:VALid

GET 操作は選択された T_CLASSATT オブジェクトの情報を検索します。下に示した状態は、GET 要求に対する応答で返される TA_STATE の意味を示します。

VALid

T_CLASSATT オブジェクトが定義されています。このクラスのすべてのオブジェクトがこの状態で存在しています。この状態は INActive と同等で、パーミッションの確認に使用されます。


 

SET:{NEW | INValid}

SET 操作は選択された T_CLASSATT オブジェクトの構成情報を更新します。次に、SET 要求で TA_STATE に設定できる値の意味を説明します。記述されていない状態を設定することはできません。

NEW

アプリケーション用の T_CLASSATT オブジェクトを作成します。状態の変更は、INValid 状態でのみ可能です。正常終了すると、オブジェクトの状態は VALid になります。

unset

T_CLASSATT オブジェクトを変更します。VALid 状態のときにしか許されません。正常終了すると、オブジェクトの状態は変わりません。

INValid

アプリケーション用の T_CLASSATT オブジェクトを削除または再設定します。状態の変更は、VALid 状態でのみ可能です。成功した場合、オブジェクトは INValid 状態また VALid 状態のままです。組み込まれている、つまりシステムに明示的に知らされている、このクラスのオブジェクトは、この状態変更でデフォルトのパーミッションに戻り、VALid 状態のままで存在し続けます。クラス属性が明示的に知らされていないアドオン・コンポーネントに属するこのクラスのオブジェクトは、この状態変更で削除され、INValid 状態に変わります。


 

TA_PERM:0000 <= num <= 0777

このクラス属性の組合せに対するアクセス・パーミッション。パーミッションを設定するときに、要求された設定値がその属性に対して許されるパーミッションを超えていると、設定された実際の値が自動的に再設定されます。属性に対して許される最大パーミッションは、管理向けに記述されているパーミッションをオペレータとその他の位置で繰り返したものです。たとえば、T_MACHINE クラスの TA_TYPE 属性は rw-r--r-- のパーミッションと記述されており、最大パーミッション rw-rw-rw- を持っています。

TA_FACTPERM:0000 <= num <= 0777

BEA Tuxedo システムが出荷時に設定された、このクラス属性の組合せに対するパーミッション。このパーミッションは、オブジェクトの TA_STATEINValid に変更する SET 操作の後に適用します。

TA_MAXPERM:0000 <= num <= 0777

このクラス属性の組合せに対する最大パーミッション。

TA_ATTFLAGS:long

この属性の特殊な特性を示す以下のフラグの一部または全部のビット単位の論理和。

MIBATT_KEYFIELD

属性はこのクラスのキー・フィールドである。

MIBATT_LOCAL

属性はローカル情報を表す。

MIBATT_REGEXKEY

属性はこのクラスの正規表現キー・フィールドである。

MIBATT_REQUIRED

属性はこのクラスの NEW オブジェクトを作成するときに必要である。

MIBATT_SETKEY

属性はこのクラスの SET キーである。

MIBATT_NEWONLY

属性は、TA_STATEINValid から NEW に変えることによって NEW オブジェクトを作成するときにのみ、このクラスの非アクティブ同等オブジェクトに対して書き込み可能である。

TA_DEFAULT:string

このクラスの NEW オブジェクトを作成するときの、この属性のデフォルト値。Admin APIを介して NEW オブジェクトを作成できないクラスについては、この属性はかならず長さがゼロの文字列として返されることに留意してください。また、NEW オブジェクト作成時に SET できない属性も長さがゼロの文字列として返されます。long 値をもつ属性は、long値を表す文字列として返されるデフォルト値を持ちます。ここで返される可能性がある以下のような特殊な値によって示される特殊な特性をもっている属性もあります。

# Inherited:Classname[:Attribute]

属性デフォルトは、このクラスの同名の属性から継承されます。Attribute が指定されている場合には、同名の属性の1つからではなく、この属性から継承されます。

# Required

属性は NEW オブジェクトを作成するときに必要です。

# Special

属性はデフォルト値を定義するための特別な規則を持っています。詳細については、該当するコンポーネントMIBのマニュアル・ページを参照してください。

TA_VALIDATION:string

新しい値が SET されるときに、このクラス/属性の組合せに適用されるバリデーション(妥当性チェック)規則を表す文字列。この文字列は以下のフォーマットの1つをとります。

CHOICES=string1|string2|...

示された選択肢の1つだけと一致する文字列属性値。

RANGE=min-max

min から max の値でなければならない数値属性値。

SIZE=min-max

min から max のバイト数でなければならない stringまたはcarray属性値。

READONLY=Y

書き込み操作に対するバリデーションを持たない読取り専用属性。

SPECIAL=Y

特殊なバリデーション規則。詳細については、該当するコンポーネント MIB マニュアル・ページを参照。

UNKNOWN=Y

未知のバリデーション規則。通常、詳細がコアシステムに知らされていない追加のコンポーネント属性エントリに関連付けられています。

MIB(5) に関する追加情報

制限事項

なし

診断

コンポーネントMIBとインターフェイスする際にユーザに返されるエラーには、一般的な 2 つのタイプがあります。1 つ目は、管理要求に対する応答を検索するために使用される ATMI 関数 tpcall()tpgetrply() 、および tpdequeue() の 3 つが返すエラーです。これらのエラーについては、いずれもそれぞれの関数のリファレンス・ページに定義されています。

第 2 のタイプのエラーは、要求がその処理機能を備えたシステム・サービスに正しく渡されたのち、そのサービスが要求を処理する際に問題があると判断した場合にアプリケーション・レベルのサービス・エラーとして返されるエラーです。サービスが要求を処理する際に問題があることが判明すると、tpcall() または tpgetrply()tperrno()TPESVCFAIL に設定してエラーを返すとともに、最初の要求および下に示したエラーを詳しく性格づけした TA_ERRORTA_STATUS、あるいは TA_BADFLD フィールドを含む応答メッセージを返します。TMQFORWARD(5) 経由でシステムに転送された要求に対するサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます(TMQFORWARDに対して -d オプションが指定されたと仮定します)。

管理要求の処理中にサービス・エラーが発生すると、TA_STATUS という FML32 フィールにエラーの内容について説明したテキストがセットされ、TA_ERROR という FML32 フィールドにはエラーの原因 (下記参照) を示す値がセットされます。TA_BADFLD にセットされる値については、下記のそれぞれのエラーに関する説明のなかで示します。以下のエラー・コードは、いずれも負であることが保証されています。

[TAEAPP]

要求が正しく処理されるためにはアプリケーションの協力を必要としたのに対し、アプリケーションが操作を終了させませんでした。サーバを停止させる場合などはアプリケーションの協力が必要になります。

[TAECONFIG]

要求を処理するために必要なコンポーネント MIB のコンフィギュレーション・ファイルにアクセスできませんでした。

[TAEINVAL]

指定したフィールドが無効です。TA_BADFLD は、フィールド識別子が無効であることが示す値にセットされます。

[TAEOS]

要求を処理しようとした際にオペレーティング・システムのエラーが発生しました。TA_STATUS の値は、システム・エラー・コード errno の値に更新されます。

[TAEPERM]

ユーザが書き込みパーミッションを持たない属性を設定しようとしたか、または読み取りパーミッションを持たないクラスに対して GET を実行しようとしました。TA_BADFLD は、パーミッション検査にパスしなかったフィールド識別子を示す値にセットされます。

[TAEPREIMAGE]

指定したプレイメージと現在のオブジェクトが一致しなかったため、SET を正しく実行できませんでした。TA_BADFLD は、プレイメージのチェックにパスしなかったフィールド識別子を示す値にセットされます。

[TAEPROTO]

管理要求が不正なコンテキストで送出されました。TA_STATUS には追加情報がセットされます。

[TAEREQUIRED]

必要なフィールド値が存在しません。TA_BADFLD は、抜け落ちているフィールドの識別子にセットされます。

[TAESUPPORT]

管理要求は、現在使用しているバージョンのシステムではサポートされません。

[TAESYSTEM]

要求を処理しようとした際に BEA Tuxedo システムのエラーが発生しました。TA_STATUS は、エラー条件の詳細を示す値にセットされます。

[TAEUNIQ]

SET 操作で、更新の対象となる一意なオブジェクトを特定するクラス・キーを指定しませんでした。

[other]

それぞれのコンポーネントMIBに固有のその他のエラー・コードは、各コンポーネントMIBに関するマニュアル・ページに記載されています。これらのエラー・コードは、すべてのコンポーネントMIB間でも、ここで定義した共通なコードとの間でも相互に排他的であることが保証されています。

以下の診断コードは TA_ERROR に戻され、管理要求が正常に完了したことを示します。これらのコードはマイナスでないことが保証されています。

[TAOK]

操作は正しく実行されました。コンポーネントMIBのオブジェクトは更新されません。

[TAUPDATED]

操作は正しく実行されました。コンポーネントMIBのオブジェクトは更新されました。

[TAPARTIAL]

操作は一部正しく実行されました。コンポーネントMIBのオブジェクトは更新されました。

相互運用性

FML32 インターフェイスへのアクセス、および BEA Tuxedo システムのアプリケーション管理に使用できるコンポーネント MIB へのアクセスは、BEA Tuxedo システム・リリース 4.2.2 以降のバージョンで可能です。共通の MIB 属性を定義したヘッダ・ファイルおよびフィールド・テーブルは、BEA Tuxedo リリース 5.0 以降のバージョンで使用できます。各コンポーネントMIBに固有の相互運用性の問題については、それぞれのコンポーネントのマニュアル・ページで考察します。

移植性

BEA Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらにこのマニュアル・ページに定義するヘッダ・ファイルとフィールド・テーブルは、すべてのサポート対象ネイティブ・プラットフォームおよびワークステーション・プラットフォームで利用可能です。

使用例

共通のMIBの処理とインターフェイスする際の既存のAPIの簡単な使用例については、前述の使用方法のセクションを参照してください。詳しい使用例は、各コンポーネントMIBのマニュアル・ページで実際のコンポーネントMIBのクラスや属性を利用して説明されています。

ファイル

${TUXDIR}/include/tpadm.h、
${TUXDIR}/udataobj/tpadm

関連項目

tpacall(3c)tpalloc(3c)tpcall(3c)tpdequeue(3c)tpenqueue(3c)tpgetrply(3c)tprealloc(3c)FML 関数の紹介Fadd、Fadd32(3fml)Fchg、Fchg32(3fml)Ffind、Ffind32(3fml)AUTHSVR(5)TM_MIB(5)TMQFORWARD(5)

『BEA Tuxedo アプリケーションの設定』

『BEA Tuxedo アプリケーション実行時の管理』

『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』

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

 

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