目次 前 次 PDF


Oracle Tuxedoサービス・メタデータ・リポジトリの管理

Oracle Tuxedoサービス・メタデータ・リポジトリの管理
このトピックには次の項が含まれます:
Oracle Tuxedoサービス・メタデータ・リポジトリ
Oracle Tuxedoサービス・メタデータ・リポジトリには、Oracle TuxedoクライアントがOracle Tuxedoサービスのパラメータ情報にアクセスできるようにするOracle Tuxedoサービスの定義が格納されます。これを使用すると、Oracle Tuxedoアプリケーションの開発者と管理者は、一部またはすべてのOracle Tuxedoアプリケーション・サービスに関する詳細なサービス・パラメータ情報を格納および取得できます。
Oracle Tuxedoサービス・メタデータ・リポジトリは、アプリケーションの開発または変更中に、開発者と管理者による対話形式の問合せを処理するために設計されました。アプリケーションの本番フェーズで、自動化された大量の問合せを処理するために設計されたものではありません。
Oracle Tuxedoサービス・メタデータ・リポジトリは、5つのユーティリティと組み合せて使用します
TMMETADATA(5): Oracle Tuxedoサービス・メタデータ・リポジトリ・サーバー。METAREPOS(5)に関する項で説明するFML32入出力バッファ形式を使用する1つのサービス(.TMMETAREPOS)を提供します。
注意:
.TMMETAREPOSバッファ形式はMIB(5)に似ています。
tmloadrepos(1): バイナリのメタデータ・リポジトリ・ファイルを作成または更新し、サービス・パラメータ情報とともにロードします。
tmunloadrepos(1): Oracle Tuxedoサービス・メタデータ・リポジトリからのサービス情報を表示します。出力は、オプションでプレーン・テキスト形式、WSDL形式またはC擬似コードとして指定できます
tpgetrepos(3c): プログラムでFML32バッファを使用して、Oracle Tuxedoサービス・メタデータ・リポジトリからのサービス情報を出力します。
tpsetrepos(3c): プログラムでFML32バッファを使用して、メタデータ・リポジトリ・ファイルに対するサービス・パラメータ情報の追加、削除および更新を実行します。
MIB(5)との類似点と相違点
Oracle Tuxedoシステム・メタデータ・リポジトリにプログラムでアクセスするには、Oracle Tuxedo MIB形式によく似たFML32バッファ形式を使用します。ただし、表8‑1に示すように、いくつかの明確な違いもあります。
 

.TMIB
(BBL内)
TMMETADAサーバーの
.TMMETAREPOS
Oracle Tuxedoサービス・メタデータ・リポジトリの作成
メタデータ・リポジトリ・ファイルには、Oracle Tuxedoサービス・メタデータ・リポジトリでアクセスするすべてのサービス・パラメータ情報が格納されます。tmloadreposコマンドは、メタデータ・リポジトリ・ファイルの作成に使用されます。メタデータ・リポジトリ・ファイルのサービス・パラメータ情報は、指定したプレーン・テキストのリポジトリ入力ファイルから入力するか、リポジトリ入力ファイルが指定されていない場合はコンピュータのコンソール(標準入力)から直接入力します。例:
tmloadrepos-i/usr/tuxedo/repository_input_file /usr/tuxedo/service_metatdata_repository
Oracle Tuxedoサービス・メタデータ・リポジトリの入力ファイル
repository_input_fileには、サービス・パラメータ・キーワードとそれらの関連値が含まれます。キーワードは、サービス・レベルとパラメータ・レベルの2つのカテゴリに分かれます。
注意:
1行に指定できるキーワードと値の組合せは1つのみです。1行の最大文字長は1024バイトです。文字列パラメータ値を引用符で囲む必要はありません。
repository_inputファイルでは、<keyword><=value>という構文を使用し、次の入力規則に従う必要があります。
"("および")"
パラメータでサブパラメータを定義する必要がある場合、単一の左カッコ'('から構成される行と単一の右カッコ')'から構成される行は、パラメータの埋込みサブパラメータ部分の開始と終了を示します。左右のカッコは入れ子状に使用できます。
\および"\"
repository_inputファイルには、必要に応じて読みやすくするための空白行を挿入できます。新しい行は文字で始めます。実際の「\」文字を使用する場合は、「\\」と記述する必要があります。
#
「#」で始まる行はコメント行と解釈されます。このようなコメントは、svcdescriptionまたはparamdescriptionキーワードで指定したコメントと異なり、バイナリのrepository_filetmunloadreposによる出力には含まれません。
repository_inputファイルは、0個以上のサービス・パラメータ定義で構成できます。各サービス定義は、<service>キーワードで始まる行で開始し、その後に他のいずれかのサービス・レベル・キーワードで始まる0個以上の行が続き、その後にパラメータ・レベル・キーワードが続きます。1つのサービスで、同じサービス・レベル・キーワードを繰り返し使用することはできません。
サービス・レベルのキーワードと値を使う
サービス定義は、キーワードservice<=NAME>または省略形sv<=NAME>で開始する必要があります。 CARRAYSTRINGまたはXMLバッファ・タイプを使用しているサービスには、サービスあたり1つのパラメータのみ使用できます。Oracle Tuxedoサービス・メタデータ・リポジトリのサービス・レベル・キーワードを表8-2に示します。
 
注意: serviceキーワードとtuxserviceキーワードの違いは次のとおりです。
serviceは、メタデータ・リポジトリに格納するサービス・エントリを表します。
tuxserviceは、実際のOracle Tuxedoサービス名を表します。複数のservice定義で、tuxserviceと同じ値を指定できます。
request - response - サービスは同期型です
oneway - サービスはクライアントにレスポンスを送信しません
queue - サービスは/Q関連アプリケーションです
conv - サービスは変換型です
tuxedo - このサービスは、Oracle Tuxedoから生成されたサービスです
webservice - 外部のWebサービス・インタフェースから変換されたプロキシ・サービス
sna - SNAゲートウェイ用インポート・サービス。エクスポート・サービスの場合、tuxedoがデフォルト値です。
指定しない場合、tuxedoがデフォルト値になります。
注意:
Oracle Tuxedoサービスにはwebserviceを指定しないでください(webserviceはSALTプロキシ・サービス用に予約されています)。
注意:
exportをNに設定すると、サービスはC擬似コードまたはテキスト形式ではエクスポートされません。
FMLFML32VIEWVIEW32STRINGCARRAYXMLX_OCTETX_COMMONX_C_TYPEMBSTRINGまたはアプリケーション定義のカスタム・バッファ・タイプを表すその他の任意の文字列。
注意:
各サービス定義のinbufの値はNULLにできません。
FMLFML32VIEWVIEW32STRINGCARRAYXMLX_OCTETX_COMMONX_C_TYPEMBSTRINGまたはアプリケーション定義のカスタム・バッファ・タイプを表すその他の任意の文字列。
注意:
各サービス定義のoutbufの値は、serviceまたはqueue方式のサービスではNULLにできません。
FMLFML32VIEWVIEW32STRINGCARRAYXMLX_OCTETX_COMMONX_C_TYPEMBSTRINGまたはアプリケーション定義のカスタム・バッファ・タイプを表すその他の任意の文字列。
注意:
このキーワードが必須になるのは、バッファ・タイプとしてVIEWVIEW32X_COMMONX_C_TYPEFMLFML32のいずれかを使用している場合のみです。
注意:
このキーワードが必須になるのは、バッファ・タイプとしてVIEWVIEW32X_COMMONX_C_TYPEFMLFML32のいずれかを使用している場合のみです。
注意:
このキーワードが必須になるのは、バッファ・タイプとしてVIEWVIEW32X_COMMONX_C_TYPEを使用している場合のみです。
たとえば、XSD_E:Book@http://example.orgは、入力バッファがXMLネームスペースhttp://example.orgに定義されたXML要素<Book>に関連付けられていることを表します。
送信キュー・スペース名。queue方式のサービスでは省略可能です。
送信キュー名。queue方式のサービスでは省略可能です。
応答キュー名。queue方式のサービスでは省略可能です。
エラー・キュー名。queue方式のサービスでは省略可能です。
受信キュー・スペース名。queue方式のサービスでは省略可能です。
受信キュー名。queue方式のサービスでは省略可能です。
パラメータ・レベルのキーワードと値を使う
パラメータは、キーワード<param><=NAME>または省略形<pn><=NAME>から開始し、パラメータ・キーワードのリストが続きます。別の<param>または<service>キーワードで終了するか、またはファイルの終わりが検出されると終了します。パラメータは、<param><=NAME>の後に任意の順序でリストできます。
注意:
特定のサービスで複数の<param>キーワードのオカレンスを指定できます。つまり、ある特定のサービスに複数のパラメータが存在できます。たとえば、FMLまたはVIEWバッファを持つパラメータなどです。
Oracle Tuxedoサービス・メタデータ・リポジトリのパラメータ・レベル・キーワードを表8-3に示します。
 
byteshortintegerfloatdoublestringcarraydec_txmlptrfml32view32mbstring
注意:
このパラメータ・タイプとサービス・バッファ・タイプとの間には一貫性がある必要があります。たとえば、FML16バッファでは、byte (char)shortintegerlongfloatdoublestringcarrayのタイプのパラメータのみを使用できます。他のすべてのタイプのパラメータは許可されません。次のバッファ・タイプ/パラメータ・タイプの一致表を参照してください。
inout、err、inout、inerr、outerr、inouterr、noaccess
in - 入力にのみ使用されるパラメータを示します。
out - 出力にのみ使用されるパラメータを示します。
err - エラー出力にのみ使用されるパラメータを示します。
inout - 入力と出力の両方に使用されるパラメータを示します。
inerr - 入力とエラー出力の両方に使用されるパラメータを示します。
outerr - 出力とエラー出力の両方に使用されるパラメータを示します。
inouterr - 入力、出力およびエラー出力に使用されるパラメータを示します。
noacesss - 古いパラメータやビューの入力フィールドとして提供する必要のあるパラメータなど、入力で提供する必要はあるがサーバーでは参照されないパラメータを示します。
入力で期待されるパラメータのセットは、ininoutinerrinouterrまたはnoaccessアクセスを使用して指定されるものです
出力で返されるパラメータのセットは、outinoutouterrまたはinouterrアクセスを使用して指定されるものです。
エラー出力で返されるパラメータのセットは、errinerrouterrまたはinouterrアクセスを使用して指定されるものです。
carraystringxmlmbstringのパラメータ・タイプでは、この値が期待されます。
注意:
FML/FML32の場合、別のパラメータ・レベル・キーワードparamのかわりに、このfieldnameを使用してフィールド名を指定します。
このオプションのパラメータは、FML/FML32フィールドの場合にパラメータのフィールド番号を示します。
注意:
環境FLDTBLDIR(32)を使用してフィールド表ディレクトリを指定し、環境FIELDTBLS(32)またはfieldtblサービス・レベル・キーワードを使用してフィールド表ファイルを指定することで、fieldtblファイルがすでに定義されている場合は、この情報を使用しないことをお薦めします。
注意:
fldnumフィールドを構成した場合は、param値ではなくfldnum値に従って応答fldidを受信します。
注意:
このパラメータ・キーワードは、servicemode=webserviceタイプのサービス定義(アウトバウンド・コールのSALTプロキシ・サービス)用に導入されました。パラメータ値は外部WSDLファイルの変換からOracle SALT wsdlcvtユーティリティで生成されます。このキーワード値を手動で指定または変更しないでください。
注意:
このパラメータ・キーワードは、servicemode=webserviceタイプのサービス定義(アウトバウンド・コールのSALTプロキシ・サービス)用に導入されました。パラメータ値は外部WSDLファイルの変換からOracle SALT wsdlcvtユーティリティで生成されます。このキーワード値を手動で指定または変更しないでください。
Yに設定すると、フィールドのオカレンスが1つのみである場合も、SALT REST/JSONサービスによって、TuxedoバッファがJSON配列型にマップされます。
現在は、FML/FML32バッファ・タイプのみサポートされています。
inheaderoutheaderの組合せ。このパラメータは、SOAPメッセージのSOAPヘッダー部分に追加される対象となり、かつ、そこから取得される対象となります。
このパラメータがcollapseに設定され、タイプがstringの場合に、GWWSがTuxedoバッファとXMLデータのマッピングを実行すると、空白が結合され、次のようになります。
埋め込まれたFML32またはVIEW32バッファ・フィールドに含まれるパラメータの説明の開始を示します。
これには、関連付けられた値は含まれず、1行に単独で指定されます。これは、FML32値またはVIEW32値のこのパラメータに前のタイプ・キーワードが指定されている場合にのみ有効です。
対応する左カッコ(で開始した埋込みFML32またはVIEW32パラメータ定義を終了します。
パラメータのオカレンス
一般的に適用されるOracle Tuxedoルールとして、(その情報構造により) FML/FML32VIEW/VIEW32X_COMMONおよびX_C_TYPEタイプのバッファのみが複数のパラメータを指定できます。他のすべてのタイプのバッファは、対応するパラメータ・タイプのパラメータを1つのみ持ちます。たとえば、CARRAYタイプのバッファには、そこに含まれる必要な情報を記述する1つのCARRAYタイプ・パラメータのみあります。アプリケーション・サービスを定義するにはこのルールに従う必要があります。
 
 
 
Oracle Tuxedoサービス・メタデータ・リポジトリ・サーバーの構成
Oracle Tuxedoサービス・メタデータ・リポジトリを構成するには、次の操作が必要です。
UBBCONFIG(5)*SERVERSセクションにTMMETADATAを追加します。
UBBCONFIGファイルでtmloadcf(1)を実行します。
tmloadrepos(1)を使用してサービス・パラメータ情報を作成し、メタデータ・リポジトリ・ファイルに入力します。
Oracle Tuxedoメタデータ・サーバーが実行されると、.TMMETAREPOSサービスが自動的にアクティブになります。.TMMETAREPOSはOracle Tuxedoシステム・サービスであり、変更できません。
サーバーに対して行われたすべてのリクエストは、先に到着したものから順に処理されます。
複数のOracle Tuxedoサービス・メタデータ・リポジトリ・サーバーの構成
特定のOracle Tuxedoノードで複数のTMMETADATAサーバーを設定するには、2つの重要な構成ルールに従う必要があります。
一貫性のあるリクエスト結果を提供するために、各TMMETADATAサーバーは、同じメタデータ・リポジトリ・ファイルまたはファイルの正確なコピーにアクセスするように構成する必要があります。したがって、安定したバージョンのメタデータ・リポジトリを複数のTMMETADATAサーバー・アクセスで使用可能にすることをお薦めします。
特定のノード上の複数のTMMETADATAサーバーに対して、権限設定を一貫して適用する必要があります(読取り専用または読取り/書込み)。
Oracle Tuxedoサービス・メタデータ・リポジトリ・ファイルへのアクセス
Oracle Tuxedoサービス・メタデータ・リポジトリは、サービス・メタデータ・リポジトリ・パラメータ情報を表示、更新、追加または削除するために、ネイティブおよびリモートのクライアント・アクセスを促進します。
ネイティブ・クライアントの場合のみtpgetrepos(3c)およびtpsetrepos(3c)が、Oracle Tuxedoサービス・メタデータ・リポジトリ・アクセスに使用されます。
tpgetrepos(3c)およびtpsetrepos(3c)は、サーバーが起動されているかどうかにかかわらず、Oracle Tuxedoサービス・メタデータ・リポジトリにアクセスできます。
関連項目
TMMETADATA(5)METAREPOS(5)tmloadrepos(1)tmunloadrepos(1)tpgetrepos(3c)tpsetrepos(3c)に関する項

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved