目次 前 次 PDF


付録A: Oracle Tuxedo SCA ATMIバインディングのリファレンス

付録A: Oracle Tuxedo SCA ATMIバインディングのリファレンス
次の項では、SCA ATMIバインディングのリファレンス情報について説明します。
SCA ATMIバインディング・スキーマ
リストA-1には、ATMIバインディングの要素(<binding.atmi>)がどのように定義されているかを示します。これは、文法の使用方法と有効なパラメータを示すための擬似スキーマです。
注意:
パラメータ「transactionalintent legacyintent」はリテラル値ではありません。transactionalintentは、「suspendsTransaction」または「propagatesTransaction」で置き換えることができます(省略しても構いません)。 「legacyintent」は、「legacy」で置き換えることができます(省略しても構いません)。
?は0回または1回指定できるパラメータを表し、*は0回以上指定できるパラメータを表します。
<binding.atmi>要素を使用する場合は、/reference/@name(または/service/@name)とメソッド名の長さの合計を、Tuxedoサービス名の最大長(Tuxedoのリリースによって異なる)以下にする必要があります。この制限を回避する方法については、</binding.atmi/map>を参照してください。
リストA-1 SCA ATMIバインディングの擬似スキーマ
<binding.atmi requires="transactionalintent legacyintent"?>
<tuxconfig>...</tuxconfig>?
<map target="name">...</map>*
<serviceType target="name">...</serviceType>*
<inputBufferType target="name">...</inputBufferType>*
<outputBufferType target="name">...</outputBufferType>*
<errorBufferType target="name">...</errorBufferType>*
<workStationParameters>?
<networkAddress>...</networkAddress>?
<secPrincipalName>...</secPrincipalName>?
<secPrincipalLocation>...</secPrincipalLocation>?
<secPrincipalPassId>...</secPrincipalPassId>?
<encryptBits>...</encryptBits>?
</workStationParameters>
<authentication>?
<userName>...</userName>?
<clientName>...</clientName>?
<groupName>...</groupName>?
<passwordIdentifier>...</passwordIdentifier>?
<userPasswordIdentifier>...
</userPasswordIdentifier>?
</authentication>
<fieldTablesLocation>...</fieldTablesLocation>?
<fieldTables>...</fieldTables>?
<fieldTablesLocation32>...</fieldTablesLocation32>?
<fieldTables32>...</fieldTables32>?
<viewFilesLocation>...</viewFilesLocation>?
<viewFiles>...</viewFiles>?
<viewFilesLocation32>...</viewFilesLocation32>?
<viewFiles32>...</viewFiles32>?
<remoteAccess>...</remoteAccess>?
<transaction timeout="xsd:long"/>?
</binding.atmi>
 
SCA ATMIバインディングの属性の説明
<binding.atmi>要素では次の属性がサポートされます。
</binding.atmi/@requires>
この属性にlegacy値を使用すると、既存のTuxedoサービスとの相互運用を実現できます。指定しない場合、通信にはSCA間のセマンティクスを使用するものとみなされ、/binding.atmi/map要素が定義されている場合を除き、実際のTuxedoサービス名は/service/@nameまたは/reference/@nameと実際のメソッド名から構成されます(リストA-1を参照)。この属性にlegacy値を指定し、呼び出されたメソッドに/binding.atmi/map要素が定義されていない場合、実行時の動作は次のようになります。
<reference>要素の場合は、/reference/@name内に指定されている値を使用し、使用するインタフェース・メソッドに基づくセマンティクスでTuxedo呼出しを実行します。
<service>要素内: /binding.atmi/map要素に指定されているTuxedoサービスが通知され、/binding.atmi/map/@target属性に指定されているメソッドにマップされます。
この属性にトランザクション値を使用すると、このバインディングの使用時にバインディング拡張が従うべきトランザクション動作を指定できます。有効な値は次のとおりです。
指定しない(値なし) - すべてのトランザクション動作はTuxedo構成によって制御されます。Tuxedo構成でトランザクションがサポートされている場合は、トランザクションが存在していればそのトランザクションを伝播できます。Tuxedo構成でトランザクションがサポートされていないのにトランザクションが存在する場合はエラーになります。ただし、すでに存在しているトランザクションでないと開始できません。
suspendsTransaction - 呼び出されたサービスにトランザクション・コンテキストが伝播されます。<service>要素の場合は、アプリケーション・コードを呼び出す前に、すでに存在しているトランザクションが自動的に中断されます。トランザクションは、呼出しの結果に関係なく後で再開されます。<reference>要素の場合は、TPNOTRANフラグを指定してtpcall()を実行した場合と同じになります。
propagatesTransaction - <reference>要素にのみ適用できます。<service>要素では無視されます。トランザクションが存在しない場合は新しいトランザクションが開始されます。存在する場合は、既存のトランザクションに参加します。
このような動作は、UBBCONFIGファイルで<service>要素をAUTOTRANに構成することで、コンポーネントまたはコンポジット内で取得できます。TuxedoサーバーがSCAコンポーネントの実装をホストしており、UBBCONFIGファイルでトランザクション・グループに構成されていない場合は、エラーが生成されます。
</binding.atmi/tuxconfig>
クライアントのみのプロセスにおいて、/binding.atmi/workstationParametersが設定されていない場合に、<reference>要素内で使用します。この属性は、プロセスを追加する必要があるTuxedoアプリケーションを示します。1つのプロセスを複数のアプリケーションに追加したり、アプリケーションを再起動なしで切り替えることも可能です。
設定しない場合は、TUXCONFIG環境変数が使用されます。この属性が必要とされるにもかかわらず設定されていない場合は、プロセスが終了してエラーが返されます。
</binding.atmi/map>
<reference>要素の場合の</binding.atmi/map>は、/binding.atmi/map/@target値に対応する呼出しの実行時に使用する必要があるTuxedoサービス名を提供します。この値は、呼び出されるメソッドの名前になります。
<service>要素の場合の</binding.atmi/map>は、 /binding.atmi/map/@target値に応じて通知する必要があるTuxedoサービス名を提供します。
/binding.atmi/map/@target値は、対応するサービス・インタフェースの名前と一致させる必要があります。
/binding.atmi/map要素が存在する場合は、Tuxedoサービス名をマッピングする他のいかなるサービスやメソッドのフォームよりも優先されます。</binding.atmi/@requires>属性を参照してください。
</binding.atmi/serviceType>
処理する呼出しのタイプを指定する省略可能な要素です。有効な値は次のとおりです。
Oneway - 応答を期待しない呼出しです。
RequestResponse - 通常の呼出しパラダイムです。これがデフォルト値です。
</binding.atmi/inputBufferType>、</binding.atmi/outputBufferType>、</binding.atmi/errorBufferType>
プロセスが交換するバッファのタイプを指定する省略可能な要素です。inputBufferType要素は、バインディング拡張がリクエストのタイプを特定または確認するために使用します。
outputBufferType要素は、バインディング拡張が応答のタイプを特定または確認するために使用します。
errorBufferType要素は、クライアントが受け取った(またはサーバーが送出した)例外のデータ部分に指定されているバッファのタイプを特定するために使用します。
表A-1には、サポートされる値とそれに対応するTuxedoバッファ・タイプを示します。不正な値や構文が含まれていると、実行時に検出されて呼出しが失敗します。指定しない場合、デフォルト値STRINGが使用されます。
 
SCAでサポートされるTuxedoバッファ・タイプ
/binding.atmi/bufferType value
Tuxedoバッファ・タイプ
注意
STRING
STRING
 
CARRAY
CARRAY
 
X_OCTET
X_OCTET
 
VIEW
VIEW
形式はVIEW/<subtype>
X_C_TYPE
X_C_TYPE
形式はX_C_TYPE/<subtype>
X_COMMON
X_COMMON
形式はX_COMMON/<subtype>
VIEW32
VIEW32
形式はVIEW32/<subtype>
XML
XML
 
FML
FML
形式は次のとおりです。
FML/<subtype><subtype>は省略可能です。
<subtype>値には、メッセージ(リクエストまたはレスポンス)がXMLスキーマ内に記述されている場合に、それに使用するSDOタイプを指定できます。
注意:
FML32 <subtype>は、JATMIバインディングには使用できません。
FML32
FML32
形式は次のとおりです。
FML32/<subtype><subtype>は省略可能です。
<subtype>値には、メッセージ(リクエストまたはレスポンス)がXMLスキーマ内に記述されている場合に、それに使用するSDOタイプを指定できます。
注意:
FML32 <subtype>は、JATMIバインディングには使用できません。
MBSTRING
MBSTRING
 
</binding.atmi/workStationParameters>
Tuxedo WorksStationプロトコルに固有のパラメータを指定する省略可能な要素です。参照でのみ使用します。
/binding.atmi/workStationParameters/networkAddress
このアプリケーションを接続するワークステーション・リスナーのアドレスです。Tuxedoワークステーション・ソフトウェアで認識可能なすべてのアドレス形式を使用できます。もっとも一般的なアドレス形式は次のとおりです。
//<hostname or IP address>:<port>
詳細は、SALTの『プログラミング・ガイド』を参照してください。
必要に応じて複数のアドレスを指定できます。その場合は、WSNADDRのパス名のリストをカンマ区切りで指定します。接続が確立されるまで、それらのアドレスが順番に試行されます。アドレス・リストのメンバーは、どれでもパイプで区切られたネットワーク・アドレスのかっこ付きのグループとして指定することができます。例:
<networkAddress>
(//m1.acme.com:3050|//m2.acme.com:3050),//m3.acme.com:3050
</networkAddress>
Tuxedoでは、丸かっこ内のアドレスがランダムに選択されます。これにより、複数のリスナー・プロセスの間で負荷をランダムに分散できます。接続が確立されるまで、それらのアドレスが順番に試行されます。
ipv6をサポートするバージョンのTuxedoでは、対応するアドレス形式もサポートされます。形式は、Tuxedo /WSクライアントのWSNADDRで使用されるアドレスと同じです。
secPrincipalNamesecPrincipalLocationsecPrincipalPassId
これらのパラメータは、ワークステーション・クライアントでSSL接続が必要とされる場合に必要なパラメータを指定します。パスワードを別のファイルに格納し、コールバック・メカニズムを使用してアクセスできます。デフォルトのコールバックでは、scapasswordtoolコマンドを使用して管理するpassword.storeファイルを使用します。詳細は、SALTの『プログラミング・ガイド』を参照してください。
encryptBits
クライアント接続がネゴシエートを試みる暗号化の強度を指定します。形式は<minencryptbits>/<maxencprytbits>で、値には数値を指定します(たとえば128/128)。無効な値を指定すると、構成例外が発生します。有効な値は、0(暗号化を使用しない場合)、または40、56、128、256(指定した数値が暗号化キー内の有効ビットの数である場合)です。
</binding.atmi/authentication>
参照タイプの呼出しで、Tuxedoアプリケーションとの接続の確立に使用するセキュリティ・パラメータを指定します。次の値は、それぞれTPINFO構造要素usrnamecltnamegrpname、およびpasswdに対応します(詳細は、『Oracle Tuxedo ATMI C言語関数リファレンス』の「tpinit(3c)」を参照してください)。
/binding.atmi/authentication/userName
/binding.atmi/authentication/clientName
/binding.atmi/authentication/groupName
/binding.atmi/authentication/passwordIdentifier-(アプリケーション・パスワード)
/binding.atmi/authentication/userPasswordIdentifier-(ユーザー認証ごとのユーザー・パスワード)
パスワードはクリア・テキストでは保存されませんが、識別子を使用してルックアップされます。パスワードの取得にはコールバック関数を使用できます。詳細は、Oracle Tuxedoリファレンス・ガイドのsetSCAPasswordCallback()を参照してください。
パスワードは、デフォルトでは/reference/binding.atmi/authentication/passwordIdentifierまたは/reference/binding.atmi/authentication/userPasswordIdentifier要素と同じディレクトリにあるパスワード・ストア・ファイルに、暗号化された状態で保管されています。この識別子は、認証の実行時に必要に応じて読み込まれます。
詳細は、Oracle Tuxedoリファレンス・ガイドのscapasswordtoolおよびsetSCAPasswordCallback(3c)を参照してください。
注意:
この情報がSCAカーネルでサポートされる場合は、ポリシー・セットと目的に基づいて処理する必要があります。
</binding.atmi/fieldTablesLocation>
ローカル・ファイル・システム内で、フィールド表を検索するディレクトリを指定する省略可能な要素です。相対パスを指定した場合は、$APPDIRからの相対ディレクトリが検索されます。それ以外の場合は絶対パスとみなされます。
</binding.atmi/fieldTablesLocation32>
FML32バッファ用のfieldTablesLocationです。
</binding.atmi/fieldTables>
使用できるFMLフィールド表を指定する省略可能な要素です。フィールド表は、/binding.atmi/fieldTablesLocation要素で指定した場所から検索されます。
/binding.atmi/bufferType値がFMLで、この要素が指定されていないか無効な場合(つまり、指定された表が見つからないか、見つかったものがフィールド表でない場合)は、クライアント・プロセスの初期化時かサーバー・プロセスの起動時にエラーが表示されます。
</binding.atmi/fieldTables32>
FML32バッファ用のfieldTablesです。
</binding.atmi/viewFilesLocation>
ローカル・ファイル・システム内で、ビュー表を検索するディレクトリを指定する省略可能な要素です。相対パスを指定した場合は、$APPDIRからの相対ディレクトリが検索されます。それ以外の場合は絶対パスとみなされます。
</binding.atmi/viewFilesLocation32>
VIEW32バッファ用のviewTablesLocationです。
</binding.atmi/viewFiles>
影響を受けるコンポーネントで使用するVIEWファイルを指定する省略可能な要素です。/binding.atmi/bufferType値がVIEWで、この要素が指定されていないか無効な場合(つまり、指定されたフィールドが見つからないか、見つかったものがビュー・ファイルでない場合)は、クライアント・プロセスの実行時かサーバー・プロセスの起動時にエラーが表示されます。
</binding.atmi/viewFiles32>
VIEW32バッファ用のViewFilesです。
注意:
FML/FML32およびVIEW/VIEW32パラメータは省略可能です。省略する場合は、対応するTuxedo環境変数(FLDTBLDIR/32、FLDTBLS/32、VIEWDIR/32、およびVIEWFILES/32)が必要になります。両方が使用されていない場合は、実行時に指定されたバッファを使用しようとするとエラーが出力されます。両方が設定されている場合は、SCDLコードに含まれているパラメータが優先されます。
</binding.atmi/remoteAccess>
通信プロトコルとして次の値のいずれかを指定する省略可能な要素です。デフォルトはNativeです。
Native - コンポーネントがネイティブなTuxedo通信(IPCキュー)を使用することを示します。
WorkStation - コンポーネントがTuxedo /WS通信プロトコルを使用することを示します。
この値を設定した場合、バインディング拡張は/binding.atmi/workStationParameters要素が設定されていて有効かどうかも確認します。設定されていないか無効な場合は、実行時エラー・メッセージが生成されます。
</binding.atmi/transaction/@timeout>
トランザクションがタイムアウトになるまでの時間(秒単位)。この属性は、グローバル・トランザクションを開始するコンポーネントやクライアントに影響します。<reference> コンポーネントの場合は必須です。<service>コンポーネントに設定した場合は無視されます。また、トランザクションがすでに開始されていたコンポーネントでも無視されます。トランザクションを開始する必要があり、この属性が存在しない場合(たとえば「requires=propagatesTransaction」が設定されている場合)は、構成エラーが発生します。

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