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

Tuxedo のファイル形式とデータ記述方法

 Previous Next Contents View as PDF  

LAUTHSVR に関する追加情報

移植性

LAUTHSVR は、Tuxedo System/T に付属のサービスとして非 Workstation プラットフォームでサポートされます。

使用例

# LAUTHSVR の使用例
*RESOURCES
AUTHSVC "..AUTHSVC"
SECURITY ACL

*SERVERS
LAUTHSVR SRVGRP="AUTH" SRVID=100
CLOPT="-A -- -f /usr/tuxedo/udataobj/tpldap"

 


MIB(5)

名前

MIB-管理情報ベース

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

機能説明

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

ただし、これらのコンポーネントの MIB は、必要なアクセスを提供するための関連インターフェイスについて十分に定義したものではありません。この MIB(5) リファレンス・ページでは、管理者、オペレータ、あるいはユーザが、定義済みコンポーネント MIB と相互作用するための汎用的なインターフェイスを記述しています。BEA Tuxedo システムの MIB に対する汎用インターフェイスは、2 つの主要部分から構成されます。

その 1 つでは、BEA Tuxedo システムの既存のインターフェイスが、コンポーネント MIB をサポートする管理サービスへのアクセスを提供する際にどのように使用されるかを記述しています。BEA Tuxedo システムのバッファ・タイプの 1 つである FML32 は、コンポーネント MIB に入力データを渡したり、コンポーネントMIB から出力データを受け取ったりするために使用します。ATMI 要求/応答関数は、システム提供のサービスとして組み込まれており、コンポーネント MIB に対するインターフェイスとして使用します。FML32 バッファの ATMI 関数を使用した管理ユーザとコンポーネント MIB との相互作用については、このリファレンス・ページの「FML32」および「ATMI」で詳しく説明します。

汎用インターフェイスのもう 1 つの部分では、すべてのコンポーネント MIB との相互作用に使用する FML32 の追加の入出力フィールドについて記述しています。FML32 の追加のフィールドを使用すると、要求の機能を拡張したり (操作コードの指定など)、新たな応答属性 (エラー・コード、説明文など) を使用したりできます。FML32 の追加フィールドについては、このマニュアルの「入力」および「出力」で詳しく説明します。

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

また、このリファレンス・ページでは、アプリケーションを管理する際のユーザとコンポーネント MIB とのインターフェイスを定義するのに加え、コンポーネント MIB のリファレンス・ページでクラスの定義に使用する形式を制定しています (「クラスの説明」を参照)。

このリファレンス・ページでは、T_CLASS および T_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

アプリケーション・プログラムでコンポーネント MIB 固有の属性情報にアクセスしたり更新したりするには、FML32 型付きバッファを割り当て、要求されたデータをそのバッファに格納した上でサービス要求を送出し、サービス要求に対する応答を受け取って結果に関する情報を取り出します。FML32 型付きバッファでの情報の格納および抽出には、前述した FML32 インターフェイスを使用します。バッファの割り当て、要求の送出、および応答の受信は、下記の汎用 ATMI ルーチンを使用して、そのガイドラインと制約の範囲内で行われます。すべてのコンポーネントに対する MIB 要求は、コアの BEA Tuxedo コンポーネント 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 または GETNEXT の要求が満たされた後、最初の GET 操作で生成されたシステム・スナップショットを処分せずに保持しておく時間 (秒数) を示す long 値の FML32 フィールド。0 以下の値を指定した場合、現在の要求が満たされるとスナップショットが処分されます。この値を指定しない場合、デフォルトで 120 に設定されます。

次の表では、R は必須の INPUT 属性、O はオプションの INPUT 属性、− は使用されない INPUT 属性を示します。

表 38 入力表

属性

タイプ

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 番目のオブジェクトに、オカレンス 1 は 2 番目のオブジェクトに関連します (オカレンス 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 フィールド。エラーが複数のフィールドの値の組み合わせに起因する場合は、このフィールドのオカレンスが複数存在することがあります。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy