Oracle Tuxedo アプリケーションの設定

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

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

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

 


Tuxedo サービス メタデータ リポジトリ

Tuxedo サービス メタデータ リポジトリには、Oracle Tuxedo サービスの定義を格納します。Tuxedo クライアントは、この定義情報を使用して Oracle Tuxedo サービスのパラメータ情報にアクセスできます。このリポジトリを使用すると、Tuxedo アプリケーションの開発および管理に際して、一部またはすべての Tuxedo アプリケーション サービスに関する詳細なサービス パラメータ情報を格納および取得できます。

Tuxedo サービス メタデータ リポジトリは、アプリケーションの開発または変更時に、開発者と管理者による対話形式のクエリを処理することを目的に設計されました。アプリケーションのプロダクション過程で、自動化された大量のクエリを処理するためのものではありません。

Tuxedo サービス メタデータ リポジトリは、5 つのユーティリティと組み合わせて使用します。

注意 : .TMMETAREPOS バッファ形式は MIB(5) に似ています。

JOLT リポジトリとの類似点と相違点

Oracle Jolt にも、Tuxedo サービス情報をアプリケーションから手動で入力できるようにするためのサービス リポジトリが用意されています。サービス情報とは、サービス名、入出力バッファ タイプ、パラメータ名、パラメータのデータ型、各パラメータが予期される回数、各パラメータが入力用か、出力用か、入出力両用か、などの情報です。これらすべての点では、Tuxedo サービス メタデータ リポジトリとよく似ています。しかし、次の表に示すように、明確な相違点もいくつかあります。

表 8-1 JOLT リポジトリとの類似点と相違点
 
Jolt リポジトリ
Tuxedo サービス メタデータ リポジトリ


機能
JAVA クライアントによる Tuxedo サーバとの通信用に設計されています。
Tuxedo サーバとの Web サービス ベースの通信用に設計されています。
GUI インタフェース
あり。
なし。
プレーン テキストのリポジトリ入力ファイルの使用
使用可 (バルク ローダ経由)。
使用可 (tmloadrepos 経由)。
サービスおよびパラメータのキーワードと値
あり。
あり (Jolt リポジトリよりも詳しいサービス情報を提供します)。

リポジトリ ファイルの形式

プレーン テキスト。
バイナリ (サービスがインデックス化されており
素早くアクセスできます)。

アクセス方法

管理ユーティリティ、直接編集。
管理ユーティリティ、プログラミング API、システム サービス。

アンロードの出力形式

プレーン テキスト。
プレーン テキストおよび C 疑似コード。


相互運用性

Tuxedo サービス メタデータ リポジトリ ファイルは読み込めません。

既存の Jolt リポジトリ ファイルを読み込むことはできますが、変更することはできません。また、Jolt リポジトリ ファイルを作成することもできません。

MIB(5) との類似点と相違点

Tuxedo サービス メタデータ リポジトリにプログラム的にアクセスするには、FML32 バッファ形式を使用します。FML32 バッファ形式は、Tuxedo MIB 形式によく似ています。しかし、次の表に示すように、明確な相違点もいくつかあります。

表 8-2 MIB(5) との類似点と相違点
 
MIB(5)
METAREPOS(5)
入出力バッファ
FML32。
FML32。
汎用 MIB フィールド
あり。
あり。ただし、いくつかの制限があります。「METAREPOS(5)」を参照してください。

真正の MIB クラス エンティティ

多数。
真正の MIB クラス エンティティはありませんが、似たようなエンティティを使用します。

サービス エントリ
BBL
.TMIB
TMMETADA サーバの
.TMMETAREPOS

 


Tuxedo サービス メタデータ リポジトリを作成する

メタデータ リポジトリ ファイルには、Tuxedo サービス メタデータ リポジトリでアクセスするすべてのサービス パラメータ情報を格納します。tmloadrepos コマンドは、メタデータ リポジトリ ファイルを作成するために使用します。メタデータ リポジトリ ファイルのサービス パラメータ情報は、指定したプレーン テキストのリポジトリ入力ファイルから入力するか、リポジトリ入力ファイルが指定されていない場合はコンピュータのコンソール (標準入力) から直接入力します。たとえば、次のように入力します。

tmloadrepos -i/usr/tuxedo/repository_input_file/usr/tuxedo/
service_metatdata_repository

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> で始める必要があります。CARRAYSTRING、または XML バッファ タイプを使うサービスに指定できるパラメータは 1 つだけです。次の表に、Tuxedo サービス メタデータ リポジトリのサービスレベル キーワードをまとめます。

表 8-3 サービスレベル キーワード、省略形、値
サービスレベル
キーワード
キーワード
の省略形

service
sv
任意の Tuxedo サービス名。
注意 : 値を指定したこのキーは、メタデータ リポジトリ インスタンスごとに 1 つのみ指定できます。同じメタデータ リポジトリ内で重複させることはできません。
tuxservice
tsv
実際の Tuxedo サービス名。
注意 : service キーワードと tuxservice キーワードの違いは以下のとおりです。
  • service は、メタデータ リポジトリに格納するサービス エントリを表します。
  • tuxservice は実際の Tuxedo サービス名を表します。複数の service 定義で、同じ値の tuxservice を指定できます。
これら 2 つのキーワードを組み合わせて使用すると、1 つの Tuxedo サービスに対して複数のサービス定義を指定できます。tuxservice は、デフォルトでは service と同じ値になります。
servicetype
st
サービスの呼び出し方式。以下の値を指定できます。
service - サービスが同期型の場合
oneway - サービスがクライアントに応答を送信しない場合
queue - サービスが /Q 関連のアプリケーションの場合
servicemode
sm
サービスの生成元のタイプ (省略可能)。以下の値を指定できます。
tuxedo - このサービスは、Tuxedo から生成したサービスです。
webservice - このサービスは、外部の Web サービス インタフェースから変換された SALT プロキシ サービスです。
指定しない場合、tuxedo がデフォルト値になります。

注意 : Tuxedo サービスに webservice を指定しないでください。webservice は SALT プロキシ サービスにのみ予約されています。

export
ex
Y (デフォルト値) または N。Jolt リポジトリでは、このキーワードを使用して、Jolt クライアントに対するサービスの可用性を判別します。
このキーワードは、Tuxedo リポジトリでは使用されていません。既存の Jolt バルク ローダ ファイルとの互換性を維持するために残されています。
inbuf
bt
Tuxedo サービス要求 (入力) バッファ タイプ。次の値型のいずれかを選択します (大文字と小文字は区別されます)。
FMLFML32VIEWVIEW32STRINGCARRAYXMLX_OCTETX_COMMONX_C_TYPEMBSTRING、またはアプリケーション定義のカスタム バッファ型を表すその他の任意の文字列。

注意 : 各サービス定義の「inbuf」の値を NULL にすることはできません。

outbuf
BT
TPSUCCESS が指定された Tuxedo サービス応答 (出力) バッファ タイプ。次の値型のいずれかを選択します (大文字と小文字は区別されます)。
FMLFML32VIEWVIEW32STRINGCARRAYXMLX_OCTETX_COMMONX_C_TYPEMBSTRING、またはアプリケーション定義のカスタム バッファ型を表すその他の任意の文字列。

注意 : service」または「queue」方式のサービスのサービス定義では、「outbuf」の値を NULL にすることはできません。

errbuf
ebt
TPFAIL が指定された Tuxedo サービス応答 (エラー) バッファ タイプ。次の値型のいずれかを選択します (大文字と小文字は区別されます)。
FMLFML32VIEWVIEW32STRINGCARRAYXMLX_OCTETX_COMMONX_C_TYPEMBSTRING、またはアプリケーション定義のカスタム バッファ型を表すその他の任意の文字列。
inview
vn
入力バッファのビュー名 (省略可能)。

注意 : このキーワードが必須になるのは、バッファ タイプとして VIEWVIEW32X_COMMON、または X_C_TYPE を使用している場合のみです。

outview
VN
出力バッファのビュー名 (省略可能)。

注意 : このキーワードが必須になるのは、バッファ タイプとして VIEWVIEW32X_COMMON、または X_C_TYPE を使用している場合のみです。

errview
evn
エラー バッファのビュー名 (省略可能)。

注意 : このキーワードが必須になるのは、バッファ タイプとして VIEWVIEW32X_COMMON、または X_C_TYPE を使用している場合のみです。

inbufschema
isc
入力バッファに対するカスタマイズされたメッセージ スキーマの関連付け (省略可能)。値形式は次のとおりです。
XSD_E:<element_local_name>@namespaceURI
たとえば、XSD_E:Book@http://example.org は、入力バッファが XML ネームスペース「http://example.org」に定義された XML 要素 <Book> に関連付けられていることを表しています。

注意 : このキーワードは、Oracle SALT 拡張メッセージのマッピングおよび変換機能をサポートするために導入されています。SALT メッセージ変換については、Oracle SALT の『Web サービスのプログラミング』の「データ型のマッピングとメッセージ変換」を参照してください。

outbufschema
osc
出力バッファに対するカスタマイズされたメッセージ スキーマの関連付け (省略可能)。値形式は次のとおりです。
XSD_E:<element_local_name>@namespaceURI
errbufschema
esc
エラー バッファに対するカスタマイズされたメッセージ スキーマの関連付け (省略可能)。値形式は次のとおりです。
XSD_E:<element_local_name>@namespaceURI
svcdescription
sd
任意の文字列値。文字列が長い場合は、改行して読みやすくできます。
sendqspace
sqs
送信キュー スペース名。「queue」方式のサービスでは省略可能です。
sendqueue
sqn
送信キュー名。「queue」方式のサービスでは省略可能です。
rplyqueue
rqn
応答キュー名。「queue」方式のサービスでは省略可能です。
errqueue
eqn
エラー キュー名。「queue」方式のサービスでは省略可能です。
rcvqspace
RQS
受信キュー スペース名。「queue」方式のサービスでは省略可能です。
rcvqueue
RQN
受信キュー名。「queue」方式のサービスでは省略可能です。
version
vs
このパラメータは、Tuxedo サービス メタデータ リポジトリ専用で、アプリケーションで使用するあらゆる文字列に対応できます。
Oracle Tuxedo では、このパラメータは解釈されません。
attributes
att
このパラメータは、Tuxedo サービス メタデータ リポジトリ専用で、アプリケーションで使用するあらゆる文字列に対応できます。
Oracle Tuxedo では、このパラメータは解釈されません。
fieldtbls
ftb
このパラメータは省略可能です。このサービスで使用する FML または FML32 フィールドの検索に使用するフィールド テーブルのカンマ区切りのリストを指定します。fieldtbls は、アプリケーション開発者が参照用に使用するパラメータです。

パラメータレベルのキーワードと値を使う

パラメータの定義では、まず <param><=NAME> キーワード (または省略形 <pn><=NAME>) を指定し、続いてパラメータ キーワードを指定します。パラメータ キーワードの次は、別の <param> キーワードまたは <service> キーワードが続くか、ファイルの最後になります。<param><=NAME> キーワード以降のパラメータ キーワードは、どのような順序で指定してもかまいません。

注意 : 特定のサービスに <param> キーワードを複数回指定できます。つまり、特定のサービスに、複数のパラメータが存在しても構いません。例としては、FML または VIEW バッファのパラメータが挙げられます。

次の表に、Tuxedo サービス メタデータ リポジトリのパラメータレベル キーワードをまとめます。

表 8-4 パラメータレベル キーワード、省略形、値
パラメータレベル
キーワード
メタデータ リポジトリ
での省略形

param
pn
任意のパラメータ名。
type
pt
byteshortintegerfloatdoublestringcarraydec_txmlptrfml32view32mbstring

注意 : パラメータの型は、サービス バッファ タイプと整合させる必要があります。たとえば FML16 バッファの場合、指定できるパラメータ型は byte (char)shortintegerlongfloatdoublestringcarray です。その他のパラメータ型は指定できません。後に示すバッファ タイプとパラメータの型の対応表を参照してください。

subtype
pst
view32 タイプのパラメータのビュー名。
access
pa
inout、err、inout、inerr、outerr、inouterr、noaccess
in - 入力にのみ使用するパラメータを示します。
out - 出力にのみ使用するパラメータを示します。
err - エラー出力にのみ使用するパラメータを示します。
inout - 入力と出力の両方に使用するパラメータを示します。
inerr - 入力とエラー出力の両方に使用するパラメータを示します。
outerr - 出力とエラー出力の両方に使用するパラメータを示します。
inouterr - 入力、出力、エラー出力に使用するパラメータを示します。
noacesss - 入力時に提供する必要はあってもサーバでは参照されないパラメータを示します。たとえば、使用されなくなったパラメータや、ビュー内のフィラー フィールドとして提供する必要のあるパラメータなどに使用します。
入力時に必要となるのは、ininout、inerr、inouterr、または noaccess アクセスを指定したパラメータのセットです。
出力時に返されるのは、out、inout、outerr、または inouterr アクセスを指定したパラメータのセットです。
エラー出力時に返されるのは、err、inerr、outerr、または inouterr アクセスを指定したパラメータのセットです。
count
po
オカレンスの最大数 (デフォルトは 1)。オカレンスを無制限にするには 0 を指定します。 値の範囲は [0, 32767] です。
Jolt リポジトリでは、リポジトリ エディタでのテスト画面のフォーマットに使用します。それ以外には使用しません。Tuxedo リポジトリでは、表示用に格納され、tmunloadrepos(1) 疑似コードの生成オプションでも使用します。
paramdescription
pd
任意の文字列値。文字列が長い場合は、改行して読みやすくできます。
size
pl
この省略可能なパラメータは、パラメータに割り当てるバイト数を示します。数値以外のパラメータの疑似コード生成で使用します。プログラマの参照用に使用できます。
パラメータの型が carraystringxml、または mbstring の場合はこの値を指定する必要があります。
requiredcount
ro
パラメータの最小限の指定回数。値の範囲は [0, 32767] です。
fldnum
fno
この省略可能なパラメータは、FML/FML32 フィールドである場合のパラメータのフィールド数を示します。

注意 : fieldtbl ファイルをすでに定義している場合 (環境 FLDTBLDIR(32) を使用してフィールド テーブル ディレクトリを指定し、環境 FIELDTBLS(32) または fieldtbl サービスレベル キーワードを使用してフィールド テーブル ファイルを指定している場合)、この情報を使用することはお勧めできません。

注意 : fldnum フィールドをコンフィグレーションした場合は、param 値ではなく fldnum 値に基づいて、対応する fldid を受け取ります。

vfbname
vfb
ビュー構造体メンバーでは、このパラメータは省略可能です。このパラメータは、フィールド化バッファのフィールド名を指定するために使用します。「viewfile(5)」を参照してください。
vflag
vfl
ビュー構造体メンバーでは、このパラメータは省略可能です。指定できる値は、「C」、「F」、「L」、「N」、「P」、「S」の組み合わせです。「viewfile(5)」を参照してください。
vnull
vnu
ビュー構造体メンバーでは、このパラメータは省略可能です。このパラメータは、ビュー メンバーのデフォルトの null 値を示します。
paramschema
psc
分解された FML32 フィールドの XML スキーマ情報を保存する場合、このパラメータは省略可能です。

注意 : このパラメータ キーワードは、特に、「servicemode=webservice」型付きサービス定義 (アウトバウンド呼び出しの SALT プロキシ サービス) 用に導入されています。パラメータ値は、Oracle SALT wsdlcvt ユーティリティによる外部 WSDL ファイルの変換によって生成されます。キーワード値を手動で指定または変更しないでください。

primetype
pxt
分解された FML32 フィールドの元の XML プリミティブ データ型を保存する場合、このパラメータは省略可能です。

注意 : このパラメータ キーワードは、特に、「servicemode=webservice」型付きサービス定義 (アウトバウンド呼び出しの SALT プロキシ サービス) 用に導入されています。パラメータ値は、Oracle SALT wsdlcvt ユーティリティによる外部 WSDL ファイルの変換によって生成されます。キーワード値を手動で指定または変更しないでください。

(
 
埋め込み型の FML32 または VIEW32 バッファ フィールドに格納するパラメータの説明の始まりを示します。
関連付ける値はなく、1 つの行に単独で指定します。このキーワードは、その前に指定されている type キーワードの値が FML32 または VIEW32 である場合にのみ有効です。
埋め込み型のパラメータの説明を終了するには、右括弧「)」を指定します。
)
 
対応する左括弧「(」で開始した埋め込み型の FML32 または VIEW32 パラメータ定義を終了します。
関連付ける値はなく、1 つの行に単独で指定します。このキーワードは、その前に対応する「(」キーワードがある場合にのみ有効です。
埋め込みの最大レベルは、埋め込み型の FML32 のネスト レベル (現時点では 18) によって異なります。

パラメータのオカレンス

通常適用される Tuxedo の規則では、複数のパラメータを指定できるのは FML/FML32VIEW/VIEW32X_COMMON、および X_C_TYPE タイプのバッファのみです (その情報構造に起因する)。その他のすべてのタイプのバッファには、対応する型のパラメータを 1 つしか指定できません。たとえば、CARRAY タイプのバッファには、格納する必須情報を記述するための CARRAY 型のパラメータを 1 つのみ指定します。アプリケーション サービスを定義する際は、この規則に従う必要があります。

表 8-5 サービス バッファ タイプ (大文字) とサービス パラメータの型 (小文字) の対応表 1
 
byte (char)
short
integer
long
float
double
string
CARRAY
             
FML
X
X
X
X
X
X
X
FML32
X
X
X
X
X
X
X
STRING
           
X
VIEW
X
X
X
X
X
X
X
VIEW32
X
X
X
X
X
X
X
X_COMMON
 
X
 
X
   
X
X_C_TYPE
X
X
X
X
X
X
X
XML
           
X
X_OCTET
             
MBSTRING
             

表 8-6 サービス バッファ タイプ (大文字) とサービス パラメータの型 (小文字) の対応表 2
 
carray
dec_t
xml
ptr
fml32
view32
mbstring
CARRAY
X
           
FML
X
           
FML32
X
 
X
X
X
X
X
STRING
             
VIEW
X
X
         
VIEW32
X
X
       
X
X_COMMON
             
X_C_TYPE
             
XML
   
X
       
X_OCTET
X
           
MBSTRING
X
         
X

 


Tuxedo サービス メタデータ リポジトリ サーバをコンフィグレーションする

Tuxedo サービス メタデータ リポジトリをコンフィグレーションするには、以下を行う必要があります。

Tuxedo メタデータ サーバを起動すると、.TMMETAREPOS サービスが自動的にアクティブになります。.TMMETAREPOS は Tuxedo システム サービスであるため変更できません。

サーバに対するすべての要求には先着順で応答が返されます。

複数の Tuxedo サービス メタデータ リポジトリ サーバをコンフィグレーションする

特定の Tuxedo ノードに複数の TMMETADATA サーバを設定する場合は、2 つの重要なコンフィグレーション規則を厳守する必要があります。

 


Tuxedo サービス メタデータ リポジトリ ファイルにアクセスする

Tuxedo サービス メタデータ リポジトリを使用すると、ネイティブ クライアントおよびリモート クライアントからアクセスしてパラメータ情報を表示、更新、追加、削除するのが容易になります。

関連項目

TMMETADATA(5)」、「METAREPOS(5)」、「tmloadrepos(1)」、「tmunloadrepos(1)」、「tpgetrepos(3c)」、「tpsetrepos(3c)


  ページの先頭       前  次