Oracle Tuxedo アプリケーションの設定
Tuxedo サービス メタデータ リポジトリの管理
ここでは、以下の内容について説明します。
Tuxedo サービス メタデータ リポジトリ
Tuxedo サービス メタデータ リポジトリには、Oracle Tuxedo サービスの定義を格納します。Tuxedo クライアントは、この定義情報を使用して Oracle Tuxedo サービスのパラメータ情報にアクセスできます。このリポジトリを使用すると、Tuxedo アプリケーションの開発および管理に際して、一部またはすべての Tuxedo アプリケーション サービスに関する詳細なサービス パラメータ情報を格納および取得できます。
Tuxedo サービス メタデータ リポジトリは、アプリケーションの開発または変更時に、開発者と管理者による対話形式のクエリを処理することを目的に設計されました。アプリケーションのプロダクション過程で、自動化された大量のクエリを処理するためのものではありません。
Tuxedo サービス メタデータ リポジトリは、5 つのユーティリティと組み合わせて使用します。
TMMETADATA(5) : Tuxedo サービス メタデータ リポジトリ サーバ。1 つのサービス (.TMMETAREPOS
) を提供します。このサービスでは、「METAREPOS(5)」で説明する FML32 入出力バッファ形式を使用します。
注意 : |
.TMMETAREPOS バッファ形式は MIB(5) に似ています。 |
tmloadrepos(1) : バイナリのメタデータ リポジトリ ファイルを作成または更新し、サービス パラメータ情報と共にロードします。
tmunloadrepos(1) : Tuxedo サービス メタデータ リポジトリからのサービス情報を表示します。出力の形式として、プレーン テキスト、WSDL、C 疑似コードを指定することもできます。
tpgetrepos(3c) : FML32 バッファを使用して、Tuxedo サービス メタデータ リポジトリからのサービス情報を出力します。
tpsetrepos(3c) : FML32 バッファを使用して、サービス メタデータ リポジトリに対するサービス パラメータ情報の追加、削除、更新を行います。
JOLT リポジトリとの類似点と相違点
Oracle Jolt にも、Tuxedo サービス情報をアプリケーションから手動で入力できるようにするためのサービス リポジトリが用意されています。サービス情報とは、サービス名、入出力バッファ タイプ、パラメータ名、パラメータのデータ型、各パラメータが予期される回数、各パラメータが入力用か、出力用か、入出力両用か、などの情報です。これらすべての点では、Tuxedo サービス メタデータ リポジトリとよく似ています。しかし、次の表に示すように、明確な相違点もいくつかあります。
表 8-1 JOLT リポジトリとの類似点と相違点
|
|
|
|
JAVA クライアントによる Tuxedo サーバとの通信用に設計されています。
|
Tuxedo サーバとの Web サービス ベースの通信用に設計されています。
|
|
|
|
|
|
|
|
|
あり (Jolt リポジトリよりも詳しいサービス情報を提供します)。
|
|
|
バイナリ (サービスがインデックス化されており 素早くアクセスできます)。
|
|
|
管理ユーティリティ、プログラミング API、システム サービス。
|
|
|
|
|
Tuxedo サービス メタデータ リポジトリ ファイルは読み込めません。
|
既存の Jolt リポジトリ ファイルを読み込むことはできますが、変更することはできません。また、Jolt リポジトリ ファイルを作成することもできません。
|
MIB(5) との類似点と相違点
Tuxedo サービス メタデータ リポジトリにプログラム的にアクセスするには、FML32 バッファ形式を使用します。FML32 バッファ形式は、Tuxedo MIB 形式によく似ています。しかし、次の表に示すように、明確な相違点もいくつかあります。
表 8-2 MIB(5) との類似点と相違点
|
|
|
|
|
|
|
|
あり。ただし、いくつかの制限があります。「 METAREPOS(5)」を参照してください。
|
|
|
真正の MIB クラス エンティティはありませんが、似たようなエンティティを使用します。
|
|
|
TMMETADA サーバの .TMMETAREPOS 。
|
Tuxedo サービス メタデータ リポジトリを作成する
メタデータ リポジトリ ファイルには、Tuxedo サービス メタデータ リポジトリでアクセスするすべてのサービス パラメータ情報を格納します。tmloadrepos
コマンドは、メタデータ リポジトリ ファイルを作成するために使用します。メタデータ リポジトリ ファイルのサービス パラメータ情報は、指定したプレーン テキストのリポジトリ入力ファイルから入力するか、リポジトリ入力ファイルが指定されていない場合はコンピュータのコンソール (標準入力) から直接入力します。たとえば、次のように入力します。
Tuxedo サービス メタデータ リポジトリの入力ファイル
repository_input
_file
には、サービス パラメータ キーワードと、それらに関連付けられた値を格納します。キーワードは、サービスレベルとパラメータレベルの 2 つに分類されます。
1 行に指定できるキーワードと値の組み合わせは 1 つのみです。1 行に入力できる文字の長さは 1024 バイトまでです。文字列パラメータ値を引用符で囲む必要はありません。
repository_input
ファイルでは、<keyword><=value>
という構文を使用します。また、以下の入力規則に従う必要があります。
「(
」および「)
」
パラメータにサブパラメータを定義する必要がある場合は、1 つの左括弧「(」を含む行と 1 つの右括弧「)」を含む行で、パラメータに埋め込むサブパラメータ部分の開始と終了を示します。左括弧と右括弧は再帰的に使用できます。
\
および「\
」
repository_input
ファイルには、読みやすくするための空白行を挿入できます。新しい行は \ 文字で始めます。実際の「\」文字を使用する場合は、「\\」と記述する必要があります。
#
「#」で始まる行はコメント行と解釈されます。このようなコメントは、
svcdescription
または
paramdescription
キーワードで指定したコメントと異なり、バイナリの
repository_file
や tmunloadrepos による出力には含まれません。
repository_input
ファイルは、0 個以上のサービス パラメータ定義で構成できます。各サービス定義は、<service>
キーワードで始まる行で開始し、その後に他のいずれかのサービスレベル キーワードで始まる 0 個以上の行が続き、その後にパラメータレベル キーワードが続きます。1 つのサービスで、同じサービスレベル キーワードを繰り返し使用することはできません。
サービスレベルのキーワードと値を使う
サービス定義は、キーワード service<=NAME>
またはその省略形 sv<=NAME>
で始める必要があります。CARRAY
、STRING
、または XML
バッファ タイプを使うサービスに指定できるパラメータは 1 つだけです。次の表に、Tuxedo サービス メタデータ リポジトリのサービスレベル キーワードをまとめます。
表 8-3 サービスレベル キーワード、省略形、値
|
|
|
|
|
注意 : 値を指定したこのキーは、メタデータ リポジトリ インスタンスごとに 1 つのみ指定できます。同じメタデータ リポジトリ内で重複させることはできません。
|
|
|
注意 : service キーワードと tuxservice キーワードの違いは以下のとおりです。
service は、メタデータ リポジトリに格納するサービス エントリを表します。
tuxservice は実際の Tuxedo サービス名を表します。複数の service 定義で、同じ値の tuxservice を指定できます。
これら 2 つのキーワードを組み合わせて使用すると、1 つの Tuxedo サービスに対して複数のサービス定義を指定できます。 tuxservice は、デフォルトでは service と同じ値になります。
|
|
|
service - サービスが同期型の場合 oneway - サービスがクライアントに応答を送信しない場合 queue - サービスが /Q 関連のアプリケーションの場合
|
|
|
サービスの生成元のタイプ (省略可能)。以下の値を指定できます。
tuxedo - このサービスは、Tuxedo から生成したサービスです。
webservice - このサービスは、外部の Web サービス インタフェースから変換された SALT プロキシ サービスです。
指定しない場合、tuxedo がデフォルト値になります。
注意 : |
Tuxedo サービスに webservice を指定しないでください。webservice は SALT プロキシ サービスにのみ予約されています。 |
|
|
|
Y (デフォルト値) または N。Jolt リポジトリでは、このキーワードを使用して、Jolt クライアントに対するサービスの可用性を判別します。
このキーワードは、Tuxedo リポジトリでは使用されていません。既存の Jolt バルク ローダ ファイルとの互換性を維持するために残されています。
|
|
|
Tuxedo サービス要求 (入力) バッファ タイプ。次の値型のいずれかを選択します (大文字と小文字は区別されます)。
FML 、 FML32 、 VIEW 、 VIEW32 、 STRING 、 CARRAY 、 XML 、 X_OCTET 、 X_COMMON 、 X_C_TYPE 、 MBSTRING 、またはアプリケーション定義のカスタム バッファ型を表すその他の任意の文字列。
注意 : |
各サービス定義の「inbuf 」の値を NULL にすることはできません。 |
|
|
|
TPSUCCESS が指定された Tuxedo サービス応答 (出力) バッファ タイプ。次の値型のいずれかを選択します (大文字と小文字は区別されます)。
FML 、 FML32 、 VIEW 、 VIEW32 、 STRING 、 CARRAY 、 XML 、 X_OCTET 、 X_COMMON 、 X_C_TYPE 、 MBSTRING 、またはアプリケーション定義のカスタム バッファ型を表すその他の任意の文字列。
注意 : |
「service 」または「queue 」方式のサービスのサービス定義では、「outbuf 」の値を NULL にすることはできません。 |
|
|
|
TPFAIL が指定された Tuxedo サービス応答 (エラー) バッファ タイプ。次の値型のいずれかを選択します (大文字と小文字は区別されます)。
FML 、 FML32 、 VIEW 、 VIEW32 、 STRING 、 CARRAY 、 XML 、 X_OCTET 、 X_COMMON 、 X_C_TYPE 、 MBSTRING 、またはアプリケーション定義のカスタム バッファ型を表すその他の任意の文字列。
|
|
|
注意 : |
このキーワードが必須になるのは、バッファ タイプとして VIEW 、VIEW32 、X_COMMON 、または X_C_TYPE を使用している場合のみです。 |
|
|
|
注意 : |
このキーワードが必須になるのは、バッファ タイプとして VIEW 、VIEW32 、X_COMMON 、または X_C_TYPE を使用している場合のみです。 |
|
|
|
注意 : |
このキーワードが必須になるのは、バッファ タイプとして VIEW 、VIEW32 、X_COMMON 、または X_C_TYPE を使用している場合のみです。 |
|
|
|
入力バッファに対するカスタマイズされたメッセージ スキーマの関連付け (省略可能)。値形式は次のとおりです。
XSD_E:<element_local_name>@namespaceURI
たとえば、XSD_E:Book@http://example.org は、入力バッファが XML ネームスペース「http://example.org」に定義された XML 要素 <Book> に関連付けられていることを表しています。
注意 : |
このキーワードは、Oracle SALT 拡張メッセージのマッピングおよび変換機能をサポートするために導入されています。SALT メッセージ変換については、Oracle SALT の『Web サービスのプログラミング』の「データ型のマッピングとメッセージ変換」を参照してください。 |
|
|
|
出力バッファに対するカスタマイズされたメッセージ スキーマの関連付け (省略可能)。値形式は次のとおりです。
XSD_E:<element_local_name>@namespaceURI
|
|
|
エラー バッファに対するカスタマイズされたメッセージ スキーマの関連付け (省略可能)。値形式は次のとおりです。
XSD_E:<element_local_name>@namespaceURI
|
|
|
任意の文字列値。文字列が長い場合は、改行して読みやすくできます。
|
|
|
送信キュー スペース名。「 queue 」方式のサービスでは省略可能です。
|
|
|
送信キュー名。「 queue 」方式のサービスでは省略可能です。
|
|
|
応答キュー名。「 queue 」方式のサービスでは省略可能です。
|
|
|
エラー キュー名。「 queue 」方式のサービスでは省略可能です。
|
|
|
受信キュー スペース名。「 queue 」方式のサービスでは省略可能です。
|
|
|
受信キュー名。「 queue 」方式のサービスでは省略可能です。
|
|
|
このパラメータは、Tuxedo サービス メタデータ リポジトリ専用で、アプリケーションで使用するあらゆる文字列に対応できます。
Oracle Tuxedo では、このパラメータは解釈されません。
|
|
|
このパラメータは、Tuxedo サービス メタデータ リポジトリ専用で、アプリケーションで使用するあらゆる文字列に対応できます。
Oracle Tuxedo では、このパラメータは解釈されません。
|
|
|
このパラメータは省略可能です。このサービスで使用する FML または FML32 フィールドの検索に使用するフィールド テーブルのカンマ区切りのリストを指定します。 fieldtbls は、アプリケーション開発者が参照用に使用するパラメータです。
|
パラメータレベルのキーワードと値を使う
パラメータの定義では、まず <param><=NAME>
キーワード (または省略形 <pn><=NAME>
) を指定し、続いてパラメータ キーワードを指定します。パラメータ キーワードの次は、別の <param>
キーワードまたは <service>
キーワードが続くか、ファイルの最後になります。<param><=NAME>
キーワード以降のパラメータ キーワードは、どのような順序で指定してもかまいません。
注意 : |
特定のサービスに <param> キーワードを複数回指定できます。つまり、特定のサービスに、複数のパラメータが存在しても構いません。例としては、FML または VIEW バッファのパラメータが挙げられます。 |
次の表に、Tuxedo サービス メタデータ リポジトリのパラメータレベル キーワードをまとめます。
表 8-4 パラメータレベル キーワード、省略形、値
|
|
|
|
|
|
|
|
byte 、 short 、 integer 、 float 、 double 、 string 、 carray 、 dec_t 、 xml 、 ptr 、 fml32 、 view32 、 mbstring 。
注意 : |
パラメータの型は、サービス バッファ タイプと整合させる必要があります。たとえば FML16 バッファの場合、指定できるパラメータ型は byte (char) 、short 、integer 、long 、float 、double 、string 、carray です。その他のパラメータ型は指定できません。後に示すバッファ タイプとパラメータの型の対応表を参照してください。 |
|
|
|
|
|
|
in 、 out 、err、 inout 、inerr、outerr、inouterr、 noaccess 。
in - 入力にのみ使用するパラメータを示します。 out - 出力にのみ使用するパラメータを示します。 err - エラー出力にのみ使用するパラメータを示します。 inout - 入力と出力の両方に使用するパラメータを示します。 inerr - 入力とエラー出力の両方に使用するパラメータを示します。 outerr - 出力とエラー出力の両方に使用するパラメータを示します。 inouterr - 入力、出力、エラー出力に使用するパラメータを示します。 noacesss - 入力時に提供する必要はあってもサーバでは参照されないパラメータを示します。たとえば、使用されなくなったパラメータや、ビュー内のフィラー フィールドとして提供する必要のあるパラメータなどに使用します。
入力時に必要となるのは、 in 、 inout 、inerr、inouterr、または noaccess アクセスを指定したパラメータのセットです。
出力時に返されるのは、 out 、inout、outerr、または inouterr アクセスを指定したパラメータのセットです。
エラー出力時に返されるのは、 err 、inerr、outerr、または inouterr アクセスを指定したパラメータのセットです。
|
|
|
オカレンスの最大数 (デフォルトは 1)。オカレンスを無制限にするには 0 を指定します。
値の範囲は [0, 32767] です。
Jolt リポジトリでは、リポジトリ エディタでのテスト画面のフォーマットに使用します。それ以外には使用しません。Tuxedo リポジトリでは、表示用に格納され、 tmunloadrepos(1) 疑似コードの生成オプションでも使用します。
|
|
|
任意の文字列値。文字列が長い場合は、改行して読みやすくできます。
|
|
|
この省略可能なパラメータは、パラメータに割り当てるバイト数を示します。数値以外のパラメータの疑似コード生成で使用します。プログラマの参照用に使用できます。
パラメータの型が carray 、 string 、 xml 、または mbstring の場合はこの値を指定する必要があります。
|
|
|
パラメータの最小限の指定回数。値の範囲は [0, 32767] です。
|
|
|
この省略可能なパラメータは、 FML/FML32 フィールドである場合のパラメータのフィールド数を示します。
注意 : |
fieldtbl ファイルをすでに定義している場合 (環境 FLDTBLDIR(32) を使用してフィールド テーブル ディレクトリを指定し、環境 FIELDTBLS(32) または fieldtbl サービスレベル キーワードを使用してフィールド テーブル ファイルを指定している場合)、この情報を使用することはお勧めできません。 |
注意 : |
fldnum フィールドをコンフィグレーションした場合は、param 値ではなく fldnum 値に基づいて、対応する fldid を受け取ります。 |
|
|
|
ビュー構造体メンバーでは、このパラメータは省略可能です。このパラメータは、フィールド化バッファのフィールド名を指定するために使用します。「 viewfile(5)」を参照してください。
|
|
|
ビュー構造体メンバーでは、このパラメータは省略可能です。指定できる値は、「 C 」、「 F 」、「 L 」、「 N 」、「 P 」、「 S 」の組み合わせです。「 viewfile(5)」を参照してください。
|
|
|
ビュー構造体メンバーでは、このパラメータは省略可能です。このパラメータは、ビュー メンバーのデフォルトの null 値を示します。
|
|
|
分解された FML32 フィールドの XML スキーマ情報を保存する場合、このパラメータは省略可能です。
注意 : |
このパラメータ キーワードは、特に、「servicemode=webservice」型付きサービス定義 (アウトバウンド呼び出しの SALT プロキシ サービス) 用に導入されています。パラメータ値は、Oracle SALT wsdlcvt ユーティリティによる外部 WSDL ファイルの変換によって生成されます。キーワード値を手動で指定または変更しないでください。 |
|
|
|
分解された FML32 フィールドの元の XML プリミティブ データ型を保存する場合、このパラメータは省略可能です。
注意 : |
このパラメータ キーワードは、特に、「servicemode=webservice」型付きサービス定義 (アウトバウンド呼び出しの SALT プロキシ サービス) 用に導入されています。パラメータ値は、Oracle SALT wsdlcvt ユーティリティによる外部 WSDL ファイルの変換によって生成されます。キーワード値を手動で指定または変更しないでください。 |
|
|
|
埋め込み型の FML32 または VIEW32 バッファ フィールドに格納するパラメータの説明の始まりを示します。
関連付ける値はなく、1 つの行に単独で指定します。このキーワードは、その前に指定されている type キーワードの値が FML32 または VIEW32 である場合にのみ有効です。
埋め込み型のパラメータの説明を終了するには、右括弧「)」を指定します。
|
|
|
対応する左括弧「(」で開始した埋め込み型の FML32 または VIEW32 パラメータ定義を終了します。
関連付ける値はなく、1 つの行に単独で指定します。このキーワードは、その前に対応する「(」キーワードがある場合にのみ有効です。
埋め込みの最大レベルは、埋め込み型の FML32 のネスト レベル (現時点では 18) によって異なります。
|
パラメータのオカレンス
通常適用される Tuxedo の規則では、複数のパラメータを指定できるのは FML/FML32
、VIEW/VIEW32
、X_COMMON
、および X_C_TYPE
タイプのバッファのみです (その情報構造に起因する)。その他のすべてのタイプのバッファには、対応する型のパラメータを 1 つしか指定できません。たとえば、CARRAY
タイプのバッファには、格納する必須情報を記述するための CARRAY
型のパラメータを 1 つのみ指定します。アプリケーション サービスを定義する際は、この規則に従う必要があります。
表 8-5 サービス バッファ タイプ (大文字) とサービス パラメータの型 (小文字) の対応表 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表 8-6 サービス バッファ タイプ (大文字) とサービス パラメータの型 (小文字) の対応表 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tuxedo サービス メタデータ リポジトリ サーバをコンフィグレーションする
Tuxedo サービス メタデータ リポジトリをコンフィグレーションするには、以下を行う必要があります。
TMMETADATA
を、UBBCONFIG(5) の *SERVERS
セクションに追加します。
UBBCONFIG
ファイルで tmloadcf(1) を実行します。
tmloadrepos(1)
を使用してパラメータ情報を作成し、メタデータ リポジトリ ファイルに入力します。
サーバを起動します。
Tuxedo メタデータ サーバを起動すると、.TMMETAREPOS
サービスが自動的にアクティブになります。.TMMETAREPOS
は Tuxedo システム サービスであるため変更できません。
サーバに対するすべての要求には先着順で応答が返されます。
複数の Tuxedo サービス メタデータ リポジトリ サーバをコンフィグレーションする
特定の Tuxedo ノードに複数の TMMETADATA
サーバを設定する場合は、2 つの重要なコンフィグレーション規則を厳守する必要があります。
各 TMMETADATA サーバが同じメタデータ リポジトリ ファイル (またはその正確なコピー) にアクセスするようにコンフィグレーションすることで、要求に対して一貫した結果が返されるようにしなければなりません。したがって、複数の TMMETADATA サーバからメタデータ リポジトリに安定的にアクセスできるようにしておくことを強くお勧めします。
特定のノードの複数の TMMETADATA
サーバに、パーミッション設定 (読み取り専用または読み取り/書き込みのいずれか) が矛盾なく適用されなければなりません。
Tuxedo サービス メタデータ リポジトリ ファイルにアクセスする
Tuxedo サービス メタデータ リポジトリを使用すると、ネイティブ クライアントおよびリモート クライアントからアクセスしてパラメータ情報を表示、更新、追加、削除するのが容易になります。
関連項目
「TMMETADATA(5)」、「METAREPOS(5)」、「tmloadrepos(1)」、「tmunloadrepos(1)」、「tpgetrepos(3c)」、「tpsetrepos(3c)」