|
表3-1に、SCAのコマンドと関数を示します。
buildscaclient – SCAコンポーネントを呼び出すプロセスをビルドします。
buildscaclient -c default_component [-v] [-h] [-k] [-o name] [-s SCAroot] [-f firstfiles] [-l lastfiles] [-S structurefiles]
このコマンドは、Tuxedo環境でホストされているSCAコンポーネントを呼び出すことのできるクライアント・プロセスをビルドするために使用します。このコマンドを実行すると、-fおよび -lオプションで指定したファイルがSCAおよび標準のTuxedo ATMIライブラリに結合され、クライアント・アプリケーションが形成されます。クライアント・アプリケーションは、CC環境変数でオーバーライドしないかぎり、使用しているオペレーティング・システム用に定義されたデフォルトのC++言語コンパイル・コマンドを使用してビルドされます。
指定したすべての.cおよび.cppファイルは、使用しているオペレーティング・システム用のコンパイル・システムを1回呼び出すことによってコンパイルされます。呼び出すコンパイラを指定するには、CC環境変数にコンパイラの名前を指定します。CC環境変数を定義していない状態でbuildscaclientが呼び出された場合は、すべての.cおよび.cppファイルがコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。
CFLAGSまたはCPPFLAGS環境変数を使用すると、コンパイラに渡す追加オプションを指定できます。CPPFLAGSの値は、CFLAGSを定義していない状態でbuildobjclientが呼び出された場合に使用されます。
buildscaclientでは、次のパラメータとオプションがサポートされます。
-c defaultcomponent
[-v]
[-k]
buildscaclientによって、クライアントと参照との動的なインタフェースを提供するプロキシ・ファイルが生成されます。通常これは、クライアントの構築時にコンパイルの後で削除されます。このオプションは、ソース・ファイルを保持する必要があることを示します。
| 注意: | このファイルの生成後の内容は、リリースによって異なる場合があります。このファイルに公開されているデータ構造やインタフェースに依存しないことをお薦めします。これは、ビルド時の問題のデバッグを支援するためのオプションです。 |
[-o name]
client<.type>になります。typeは拡張子で、オペレーティング・システムごとに異なります。たとえば、UNIXシステムでは拡張子はありませんが、Windowsシステムでは.EXEになります。
[-s scaroot]
[-f firstfiles]
buildscaclientのコンパイルとリンクの段階で、最初にインクルードすべきファイルを指定します。指定したファイルは、SCAライブラリよりも前にインクルードされます。次の表に、ファイルを指定する2つの方法を示します。
| 注: | スペースが含まれているファイル名はサポートされません。-f オプションは複数回指定できます。 |
[-l lastfiles]
buildscaclientのコンパイルとリンクの段階で、最後にインクルードすべきファイルを指定します。指定したファイルは、SCAライブラリよりも後にインクルードされます。次の表に、ファイルを指定する2つの方法を示します。
| 注: | スペースが含まれているファイル名はサポートされません。-lオプションは複数回指定できます。 |
-Sオプションは、同じコマンド行に複数回指定できます。
| 注: | スペースが含まれているファイル名はサポートされません。-Sオプションは複数回指定できます。 |
TUXDIR
CC
.cまたは.cppのすべてのファイルに使用するコンパイラを示します。定義しない場合は、すべての.cおよび.cppファイルのコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。
CFLAGS
.cまたは.cppのファイルのコンパイラ・コマンド行の一部として渡す引数を示します。buildscaclientコマンド環境内にCFLAGSが存在しない場合は、CPPFLAGS環境変数がチェックされます。 | 注: | CFLAGS環境変数によって渡される引数は、CPPFLAGS変数よりも優先されます。 |
CPPFLAGS
"-I$(TUXDIR)/include"、またはWindowsシステムのコマンド行オプション/I%TUXDIR%\includeへの追加として、buildscaclientコマンドによって自動的に渡されます。buildscaclientコマンド環境内にCPPFLAGSが存在しない場合、コンパイラ・コマンドは追加されません。
LD_LIBRARY_PATH (UNIXシステム)
LIB (Windowsシステム)
このユーティリティは、Oracle Tuxedo環境をサポートするすべてのプラットフォームで使用できます。
buildscaclient -s /myApplication/scaSrc/uBike -c uBike.client -f uBikeClient.cpp -o uBikeClient
buildscacomponent - SCAコンポーネントをビルドします。
buildscacomponent [-v] [-s scaroot] [-f firstfiles] [-l lastfiles] [-S structurefiles] -c compositename[/componentname][,compositename,..]] [-y] [-k] [-h]
buildscacomponentを使用すると、ソース・コードから個別のSCAコンポーネントをビルドできます。このコマンドを実行すると、SCDLソースの読み込み、指定されたコンポジット・ファイル内でのコンポーネントの検索、対応する.componentTypeファイルの解析、および対応する実行可能ライブラリの生成が、.componentTypeファイルと同じ場所で実行されます。
コンポーネント実装のビルドは、次に示すように<implementation.cpp>要素の内容に基づいて自動的に行われます。
コンポジットには1つまたは複数のコンポーネントを含めることができ、buildscacomponentコマンドによって一度に1つまたは複数のコンポジットをビルドできます。複数のコンポーネントをビルドする場合は、-fおよび-lスイッチで指定したファイルが各コンポーネントにインクルードされます。単一のコンポーネントをビルドするには、-c composite/component構文を使用する必要があります。これにより、個別のコンポーネントが特定のセットのソース・コードやライブラリで構成されるケースにも対応できるようになっています。
指定したすべての.cおよび.cppファイルは、使用しているオペレーティング・システム用のコンパイル・システムを1回呼び出すことによってコンパイルされます。呼び出すコンパイラを指定するには、CC環境変数にコンパイラの名前を指定します。CC環境変数を定義していない状態でbuildscacomponentが呼び出された場合は、すべての.cおよび.cppファイルがコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。
ユーザーは、環境変数CFLAGSまたはCPPFLAGSを設定することにより、コンパイラに渡すオプションを指定できます。CFLAGSが定義されておらずCPPFLAGSが定義されている場合は、buildscacomponentを呼び出すとCPPFLAGSの値が使用されます。
buildscacomponentでは、次のパラメータとオプションがサポートされます。
[-v]
[-s scaroot]
[-f firstfiles]
buildscacomponentのコンパイルとリンクの段階で、最初にインクルードすべきファイルを指定します。指定したファイルは、SCAライブラリよりも前にインクルードされます。次の表に、ファイルを指定する2つの方法を示します。
| 注: | スペースが含まれているファイル名はサポートされません。-fオプションは複数回指定できます。 |
[-l lastfiles]
buildscacomponentのコンパイルとリンクの段階で、最後にインクルードすべきファイルを指定します。指定したファイルは、SCAライブラリよりも後にインクルードされます。次の表に、ファイルを指定する2つの方法を示します。 | 注: | スペースが含まれているファイル名はサポートされません。-lオプションは複数回指定できます。 |
-c {composite[,composite]|composite/component}
APPDIR、または上で説明した -sスイッチに指定されているSCDLディレクトリから検索されます。見つからない場合は、コンポーネント・ライブラリがビルドされません。
-fおよび-lで指定した特定のソース・ファイルをインクルードする必要がある場合にも対応できます。
[-y]
[-k]
buildscacomponentでは、メソッド・オペレーションやパラメータ処理などのデータ構造に基づいてプロキシおよびラッパー・コードが生成されます。このコードは、通常どおりコンパイルされ、コンポーネントがビルドされたときに削除されます。このオプションは、ソース・ファイルを保持する必要があることを示します(ソース・ファイルの名前を調べるには-vを使用します)。 | 注: | このファイルの生成後の内容は、リリースによって異なる場合があります。このファイルに公開されているデータ構造やインタフェースに依存しないでください。これは、ビルド時の問題のデバッグを支援するためのオプションです。 |
-Sオプションは、同じコマンド行に複数回指定できます。
| 注: | スペースが含まれているファイル名はサポートされません。-Sオプションは複数回指定できます。 |
TUXDIR
APPDIR
CC
.cまたは.cppのすべてのファイルに使用するコンパイラを指定します。定義しない場合は、すべての.cおよび.cppファイルのコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。
CFLAGS
.cまたは.cppのファイルのコンパイラ・コマンド行の一部として渡す引数を示します。buildscacomponentコマンド環境内にCFLAGSが存在しない場合は、CPPFLAGS環境変数がチェックされます。
CPPFLAGS
| 注: | CFLAGS環境変数によって渡される引数は、CPPFLAGS変数よりも優先されます。 |
.cまたは.cppのファイルのコンパイラ・コマンド行の一部として渡す引数のセットを保持します。 これらの引数は、UNIXシステムのコマンド行オプション"-I$(TUXDIR)/include"、またはWindowsシステムのコマンド行オプション/I%TUXDIR%\includeへの追加として、buildscacomponentコマンドによって自動的に渡されます。buildscacomponentコマンド環境内にCPPFLAGSが存在しない場合、コンパイラ・コマンドは追加されません。
LD_LIBRARY_PATH (UNIXシステム)
SHLIB_PATH環境変数、AIXシステムではLIBPATH環境変数を使用します。
LIB (Windowsシステム)
このユーティリティは、Oracle Tuxedo環境をサポートするすべてのプラットフォームで使用できます。
buildscacomponent -f utils.c -c searchInventory,updateItem
「[-S]」、スペースが含まれているファイル名はサポートされません。-fオプションは複数回指定できます。
buildscaserver - SCAコンポーネントを含むOracle Tuxedoサーバーをビルドします。
-o servername -c composite[,composite][-v][-s scaroot]
[-w] [-r rmname][-y] [-k] [-t] [-S]
buildscaserverを使用すると、それ以前にbuildscacomponentコマンドでビルドしたSCAコンポーネントにリクエストをルーティングするために使用するTuxedoサーバーをビルドできます。このコマンドは、TuxedoやSCAのリクエストをSCAコンポーネントにルーティングするためのブートストラップ・ルーチンを含むメイン・ルーチンを生成し、これをコンパイルしてサーバー・ホスト・アプリケーションを形成します。サーバー・ホスト・アプリケーションは、使用しているプラットフォーム用のデフォルトのC++コンパイラでビルドされます。
SCDLコードに、<binding.ws>要素で参照やサービスが記述されている場合は、Webサービス・ゲートウェイ(GWWS)で使用できるよう自動的にWSDFファイルに変換されます。buildscaserverでビルドされたSCAサーバーは、すべてマルチスレッド・サーバーになります。
buildscaserverでは、次のパラメータとオプションがサポートされます。
-o servername
-c compositename[,compositename]
APPDIRから検索され、見つからない場合は上で説明した-sスイッチに指定されているSCDLディレクトリから検索されます。それでも見つからない場合、サーバーはビルドされません。コンポジットのリストを指定した場合は、リスト内のすべてのコンポジットが同じTuxedoサーバーによってホストされます。
incorrect name、composite does not have any atmi service bindingなど)が検出された場合は、コマンドの実行を続行するか中断するかを尋ねる警告メッセージが表示されます。
[-v]
[-s scaroot]
[-w]
buildscacomponentコマンドを使用してすでにビルドされている同じコンポーネントを両方のサーバーでホストできます)。
[-r rmname]
rmnameは、リソース・マネージャ表に指定されている必要があります。この表は、UNIXシステムでは$TUXDIR/udataobj/RMに、Windowsシステムでは%TUXDIR%\udataobj\RMに格納されています。このファイルの各エントリは、次の形式で指定します。
rmname:rmstructure_name:library_names rmname値を使用することで、$TUXDIR/udataobj/RMまたは%TUXDIR%\udataobj\RM内のエントリを、リソース・マネージャに関連付けられているライブラリに自動的にインクルードし、トランザクション・マネージャとリソース・マネージャの間のインタフェースを設定できます。値TUXEDO/SQLを指定すると、Oracle TuxedoシステムとSQLリソース・マネージャのライブラリがインクルードされます。その他の値は、リソース・マネージャ表に追加されていれば指定できます。-rオプションが指定されていない場合は、デフォルトでnullリソース・マネージャが使用されます。
[-y]
[-k]
buildscaserverでは、サービス表やmain()関数などのデータ構造に基づいてメイン・スタブが生成されます。このスタブは、通常どおりコンパイルされ、サーバーがビルドされたときに削除されます。このオプションは、ソース・ファイルを保持する必要があることを示します。 | 注: | ソース・ファイルの名前を調べるには、-vオプションを使用します。 |
| 注意: | このファイルの生成後の内容は、リリースによって異なる場合があります。このファイルに公開されているデータ構造やインタフェースに依存しないことをお薦めします。これは、ビルド時の問題のデバッグに役立つオプションです。 |
[-t]
-w オプションを指定する場合に必要です。 | 注: | -wオプションを指定しないと、buildscaserverは、構造体を使用するかどうかを決定するのにATMIバインディングを使用します。-Sオプションは必要ありません。 |
TUXDIR
CC
.cまたは.cppのすべてのファイルに使用するコンパイラを指定します。定義しない場合は、すべての.cおよび.cppファイルのコンパイル時に、デフォルトのC++言語コンパイル・コマンドが呼び出されます。
CFLAGS
.cまたは.cppのファイルのコンパイラ・コマンド行の一部として渡す引数を示します。buildscaserverコマンド環境内にCFLAGSが存在しない場合は、CPPFLAGS環境変数がチェックされます。 | 注: | CFLAGS環境変数によって渡される引数は、CPPFLAGS変数よりも優先されます。 |
CPPFLAGS
"-I$(TUXDIR)/include"、またはWindowsシステムのコマンド行オプション/I%TUXDIR%\includeへの追加として、buildscaserverコマンドによって自動的に渡されます。buildscaserverコマンド環境内にCPPFLAGSが存在しない場合、コンパイラ・コマンドは追加されません。
LD_LIBRARY_PATH (UNIXシステム)
:)で区切ります。一部のUNIXシステムでは、次のように別の環境変数が必要になります。
LIB (Windowsのみ)
このユーティリティは、Oracle Tuxedo環境をサポートするすべてのプラットフォームで使用できます。
buildscaserver -c uBike.server -o uBikeSCASvr
このコマンドでは、SCDLコード内の次の矛盾がチェックされ、矛盾が見つかった場合はエラーが報告されます。
<remoteAccess>要素でATMIバインディングを定義したサービスが含まれています。このコマンドでは、値としてWorkStationを指定した<remoteAccess> 要素はサポートされません。/binding.atmi/@requiresにレガシー値が含まれており、/binding.atmi/map要素に衝突する値が含まれています(たとえば、同じTuxedoサービス名が2つ以上のメソッドにマップされています)。
mkfldfromschemaおよびmkfld32fromschemaコマンドは、入力としてXMLスキーマを取り、フィールド表を生成します。この表は、mkfldhdrまたはmkfldhdr32コマンドで処理するか、それを必要とするプログラムによってロードされます。mkfldfromschemaは16ビットFMLで使用し、mlfld32fromschemaは32ビットFMLで使用します。
mkfldfromschema、mkfld32fromschema – XMLスキーマからフィールド表を生成します。
mkfldfromschema [{-i schema|-u schemaurl}] [-b basenumber] ]-o outputfile]mkfld32fromschema [{-i schema|-u schemaurl}] [-b basenumber] ]-o outputfile] これらのコマンドは、入力としてXMLスキーマを取り、フィールド表を生成します。XMLスキーマは、-iオプションまたは-uオプションで指定します。どちらのオプションも指定されていない場合、スキーマは標準入力から読み込まれます。
mkfldfromschemaおよびmkfld32fromschemaでは、次のオプションがサポートされます。
-b basenumber
-i schema
-u schemaurl
-o outputfile
このユーティリティは、Oracle Tuxedoサーバー環境をサポートするすべてのプラットフォームで使用できます。
mkviewfromschemaおよびmkview32fromschemaコマンドは、入力としてXMLスキーマを取り、ビュー・ファイルを生成します。このファイルは、viewcまたはviewc32コマンドで処理できます。mkviewfromschemaは16ビット・ビューで使用し、mkview32fromschemaは32ビット・ビューで使用します。
mkviewfromschema、mkview32fromschema – XMLスキーマからビュー表を生成します。
mkviewfromschema [{-i schema|-u schemaurl}] [-o outputfile]mkview32fromschema [{-i schema|-u schemaurl}] [-o outputfile] これらのコマンドは、入力としてXMLスキーマを取り、ビュー・ファイルを生成します。XMLスキーマは、-iオプションまたは-uオプションで指定します。どちらのオプションも指定されていない場合、スキーマは標準入力から読み込まれます。
mkviewfromschemaおよびmkview32fromschemaでは、次のオプションがサポートされます。
-i schema
-u schemaurl
-o outputfile
このユーティリティは、Oracle Tuxedoサーバー環境をサポートするすべてのプラットフォームで使用できます。
「SDO for C++ Specification V2.1」(2006年12月公開)
scaadmin – SCAサーバーの管理コマンド・インタプリタです。
scaadmin [-v]
scaadminコマンドは、SCAコンポジットを動的に再デプロイしたり、個別のサービスの統計値やステータスを表示したりするために使用します。TUXCONFIG環境変数を使用すると、Tuxedo構成ファイルをロードする場所を特定できます。
このコマンドは、buildscaserver(1)コマンドでビルドしたサーバーにのみ影響します。
scaadminコマンドでは、次のオプションがサポートされます。
[-v ]
default [-m machine] [-g groupename] [-i srvid] ] [-s servername]
reload [-m machine] [-g groupname] [-i srvid] ] [-s servername]
-m、-g、-i、および-sオプションは、マシン、グループ、サーバーID、およびサーバー名の組合せによって、再ロードするサーバーを限定するために使用します。
printstats [-m machine] [-g groupname] [-i srvid] [-s servername]
active、idle)を一覧で表示します。-m、-g、-i、および-sオプションは、マシン、グループ、サーバーID、およびサーバー名の組合せによって、再ロードするサーバーを限定するために使用します。
verbose (v) [{off | on}]
help (h) [{command | all}]
echo (e) [{off | on}]
quit (q)
scaadminコマンドはアクティブ・ノードで実行する必要があります。
このユーティリティは、Oracle Tuxedo環境をサポートするすべてのプラットフォームで使用できます。
次のコマンドを実行すると、buildscaserver(1)コマンドでビルドしたuBikeServer Tuxedoアプリケーション・サーバーによってホストされているすべてのコンポジットが再ロードされます。
次のコマンドを実行すると、buildscaserver(1)コマンドでビルドしたuBikerServer Tuxedoアプリケーション・サーバーによって提供されるサービスの統計値が表示されます。
scaadmin
> printstats -s uBikeServer
Service Method Status Requests
Processed
SEARCHINVENTORY searchInventory A 37
SCAHOST - Python、RubyまたはPHP SCAコンポーネントの一般的なサーバー。
SCAHOST SRVGRP="identifier" SRVID="number"
CLOPT="[-A] [servopts options]
-- -w -c composite"
SCAHOSTは、SCAコンポーネントとしてホストされたPython、RubyまたはPHPプログラムのためのブートストラップ機能を持つ、Oracle Tuxedoシステムで提供されているサーバーです。
SCAHOSTはOracle Tuxedoサービス・メタデータ・リポジトリ情報に依存しているため、UBBCONFIGファイルのTMMETADATAシステム・プロセスの後で定義する必要があります。
単一のSCAHOSTによって、Python、RubyおよびPHPコンポーネントをホストできます。ホストするコンポーネントは、Python、RubyおよびPHPコンポーネントのみにする(C++コンポーネントなどを含めない)ことをお薦めします。
SCAHOSTインスタンスがWebサービスを公開することを指定します。デフォルトでは、ATMIバインディング・サービスのみが公開されます。Webサービス・バインディングとATMIバインディングを同じSCAHOSTサーバーでホストすることはできません。コンポジットに両方のバインディングで公開されるサービスがある場合、すべてのATMIバインディングおよびWebサービス・バインディングを公開するために、2つのSCAHOSTインスタンスを構成する必要があります。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
リスト3-1には、SCAHOSTの例を示します。
*SERVERS
SCAHOST SRVGRP=GROUP1 SRVID=100
CLOPT="-A -- -c Account"
SCAHOST SRVGRP=GROUP2 SRVID=100
CLOPT="-A -- -c Loan"
scapasswordtool – SCAクライアント内でTuxedo認証用のパスワードを管理します。
scapasswordstore -i passwordidentifier -[a|d] このコマンドは、Tuxedoベースのサービスを参照するSCAコンポーネントが使用するpassword.storeファイルを管理します。
パスワードの入力を求められ、入力したパスワードは暗号化されます。暗号化されたパスワードはこのファイルに格納され、クリア・テキストの識別子に関連付けられます。このコマンドは、識別子とパスワードのペアをファイルから削除する場合にも使用します。
パスワードの長さは最大40文字です。標準入力がターミナルではない場合、つまり、たとえばHereファイルのようにユーザーにパスワードの入力を要求できない場合は、APP_PW環境変数にアクセスしてパスワードを設定します。APP_PW環境変数が設定されておらず、標準入力がターミナルでない場合、scapasswordtoolはエラー・メッセージを出力して終了します。
password.storeファイルが存在しない場合は、カレント・ディレクトリに作成されます。
-i passwordidentifier
-[a|d]
このユーティリティは、Oracle Tuxedo環境をサポートするすべてのプラットフォームで使用できます。
scastructc32、scastructc - Oracle Tuxedoの構造体記述コンパイラ。
scastructc32 [-n] [-d viewdir] structfile [structfile . . . ]
scastructc [-n] [-d viewdir] structfile [structfile . . . ]
scastructc32およびscastructcは、Oracle TuxedoのSCA構造体記述コンパイラ・プログラムです。これらのコマンドは、ソース構造体記述ファイルを使用し、次を作成します。
| 注: | COBOLはSCA環境でサポートされません。そのため、scastructc32およびscastructcには、COBOLコピーファイルを生成するオプションはありません。 |
SCA構造体記述ファイルは、次の拡張機能が有効になっていることを除き、Oracle Tuxedoのビュー・ファイルと同じです。
scastructc32は、32ビットのFMLに使用します。環境変数FIELDTBLS32およびFLDTBLDIR32を使用します。scastructcは、16ビットのFMLに使用します。環境変数FIELDTBLSおよびFLDTBLDIRを使用します。
SCA構造体ファイルの拡張機能を何も使用していない場合、scastructc32で作成されたバイナリ・ファイルはviewc32で作成されたバイナリ・ファイルと互換性があり、scastructcで作成されたバイナリ・ファイルはviewcで作成されたバイナリ・ファイルと互換性があります。
構造体ファイルは、ソース構造体記述が含まれるファイルです。複数の構造体ファイルで同じビュー名を使用しないかぎり、scastructc32またはscastructcコマンド行で複数の構造体ファイルを指定できます。
デフォルトでは、構造体ファイル内のすべてのビューがコンパイルされ、複数のファイルが作成されます。つまり、ビュー・オブジェクト・ファイル(接尾辞は.V)とCヘッダー・ファイル(接尾辞は.h)です。オブジェクト・ファイルの名前は、-dオプションによってかわりのディレクトリが指定されないかぎり、カレント・ディレクトリのstructfile.Vです。Cヘッダー・ファイルは、カレント・ディレクトリ内に作成されます。
| 注: | scastructc32およびscastructcでは、UNIXの場合は接尾辞.Vで、Windowsの場合は接尾辞.VV で、バイナリ・ファイルが生成されます。 |
scastructc32またはscastructcによるコンパイル時には、コンパイラは、ビュー・ファイルに指定されている各フィールドIDとフィールド名を、フィールド表ファイルから取得される情報と一致させ、後で使用するためにマッピング情報がオブジェクト・ファイルに格納されます。このため、環境変数FIELDTBLSとFLDTBLDIRを設定およびエクスポートして、関連するフィールド表ファイルを指すようにすることが重要です。詳細は、 『FMLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング』および 『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』を参照してください。
環境変数が正しく設定されていなかったり、フィールド表ファイルにフィールド名が含まれていなかったために、scastructc32またはscastructcコンパイラがフィールド名とそのフィールドIDを一致させることができなかった場合、フィールドが見つからないという警告メッセージが表示されます。
-n オプションを使用すると、FMLバッファにマッピングされていないC構造体に対応するビュー記述ファイルを作成できます。 『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』では、このような独立したVIEW記述ファイルを作成および使用する方法について説明しています。
scastructc32およびscastructcは、次のオプションを解釈します。
| 注: | Windowsでは、次の追加オプションが認識されます。 |
パス1を実行し、実行結果のバッチ・ファイルをfilename.batという名前で作成するように指定します。このファイルが作成されたら、パス2を実行する前に
出力VIEWファイルは、マシンおよびコンパイラに依存するバイナリ・ファイルです。あるマシン上で特定のコンパイラを使用してビューを生成した場合、そのVIEWファイルを別のタイプのマシン上で使用することはできません。また、パディングやパッキングなど、生成される構造体オフセットが異なるコンパイラで使用することもできません。
「scastructdis32」、「scastructdis」
FMLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング
Oracle Tuxedo ATMI FML関数リファレンスのFML関数の概要に関する項
C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング
scastructdis32、scastructdis - バイナリ構造体ファイルおよびビュー・ファイルの逆アセンブラ。
scastructdis32 [-E envlabel] viewobjfile [viewobjfile...]
scastructdis [-E envlabel] viewobjfile [viewobjfile...]
scastructdis32は、scastructc32 またはviewc32が作成したビュー・オブジェクト・ファイルを逆アセンブルし、ビュー・ファイル形式でビュー情報を表示します。また、対応する構造体メンバーのオフセットも表示します。
1つ以上のviewobjfiles(接尾辞は.V)をコマンド行に指定できます。デフォルトでは、カレント・ディレクトリのviewobjfileが逆アセンブルされます。これが見つからないと、エラー・メッセージが表示されます。
viewobjfileにある情報は、フィールド表ファイルの情報を使用してビュー・ファイルにある各フィールドIDとフィールド名の一致により取得されたため、環境変数FIELDTBLS32およびFLDTBLDIR32を設定およびエクスポートすることが重要です。
scastructdis32の出力は、元の構造体記述と同じように表示され、主に、コンパイルされたオブジェクト構造体記述の正確さを確認するために使用されます。
scastructdisは、scastructcまたはviewcで最初にコンパイルされたファイルに使用されます。環境変数は、FIELDTBLS32およびFLDTBLDIR32ではなく、FIELDTBLSおよびFLDTBLDIRが使用されます。
パス2。パス1とパス2を使用すると、コンパイルできるビューのサイズが大きくなります。-1オプションはWindowsのみでサポートされます。
FMLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング
scatuxgen - SCAインタフェースから、Tuxedoサービス・メタデータ・リポジトリのインタフェース情報を生成します。
scatuxgen (-c <composite file name> | -i <interface file name> [-I <inbuf>] [-O <outbuf>])-s <service name> [-t <string-type>][-w [-n <namespace> -a <network address>]] [-v]
SCA抽象クラス定義に基づいて、Tuxedoサービス・メタデータ・リポジトリのインタフェース情報を生成します。<service name>値が参照するインタフェースを検索できる(SCDLの)コンポジット・ファイルを解析することによって、またはコマンド行で処理するインタフェースを直接指定することによって、サービス・メタデータの生成が実行されます。
インタフェースは、C++ヘッダー・ファイルに含まれるSCA準拠の抽象クラス定義です。コンポジット・ファイルを解析すると、可能な場合はbinding.atmiの詳細(バッファ・タイプやxsdスキーマなど)を利用できます。
binding.atmi情報を使用できない場合、scatuxgenは、コマンド行に引数として含めるヘッダー・ファイルの名前を指定して、C++インタフェースを直接処理できます。
生成されたファイル名は、サービス名、コマンド行オプションを使用した入力、および.mif ファイルと、場合によっては.wsdf拡張子を使用して構成されます。
-i interface file name
-I inbuf
-i および-wオプションと同時に使用する場合のみ有効です。有効な値は、STRING、CARRAY、X_OCTET、VIEW/<viewname>、X_C_TYPE /<viewname>、X_COMMON/<viewname>、VIEW32/<viewname>、FML、FML32、MBSTRINGおよびXMLです。
-O outbuf
-iオプションと同時に使用する場合のみ有効です。有効な値は、STRING、CARRAY、X_OCTET、VIEW/<viewname>、X_C_TYPE/<viewname>、X_COMMON/<viewname>、VIEW32/<viewname>、FML、FML32、MBSTRINGおよびXMLです。
-E outbuf
-iオプションと同時に使用する場合のみ有効です。有効な値は、STRING、CARRAY、X_OCTET、VIEW/<viewname>、X_C_TYPE/<viewname>、X_COMMON/<viewname>、VIEW32/<viewname>、FML、FML32、MBSTRINGおよびXMLです。
-s service name
-t string-type
-w
-n
Definition/@wsdlNameSpace 属性値を示すことができます。指定しない場合、Definition/@wsdlNamespace属性には'##NAMESPACE##'プレースホルダーが含まれます。
-a
Definition/WSBinding/AccessingPoints/Endpoint/@address属性値を示すことができます。指定しない場合、Definition/WSBinding/AccessingPoints/Endpoint/@address属性には'##ADDRESS##'プレースホルダーが含まれます。
-v
このユーティリティは、Oracle Tuxedo環境をサポートするすべてのプラットフォームで使用できます。
次の例は、scatuxgenを呼び出すディレクトリと同じディレクトリに作成されるTOUPPER.mifファイルになります。
$ scatuxgen -c simpapp.composite -s TOUPPER
Flat Fileビュー。このオプションを指定すると、生成されたすべてのファイルがターゲットのルート・ディレクトリに格納されます。デフォルトはTree Fileビューです。
setSCAPasswordCallback() - <binding.atmi>要素内の識別子に関連付けられているパスワードを取得するためのコールバックを設定します。
#include <tuxsca.h>
void setSCAPasswordCallback(char * (_TMDLLENTRY *)(*disp) (char
*identifier)) SCAコンポーネントでsetSCAPasswordCallback()を使用すると、適切な認証コードに渡すクリア・テキストのパスワードを返すコールバックを特定できます。
setSCAPasswordCallback()を呼び出す際に渡す関数ポインタは、指定されたパラメータ定義と合致している必要があります。Windowsオペレーティング・システムでは、Tuxedoライブラリとコードの間の適切な呼出し規則を取得するため、_TMDLLENTRYマクロが必要になります。UNIXシステムの場合は、null文字列に拡張されるため_TMDLLENTRYマクロは必要ありません。
identifierは、コールバック関数に渡されるパスワード識別子を指します。その後、このコールバック関数によって、実際のクリア・テキスト・パスワードを指すchar *が返されます。
setSCAPasswordCallback()関数はいかなるデータも返しません。
エラーが発生すると、setSCAPasswordCallback()によって次のいずれかの値がtperrnoに設定されます。
[TPEPROTO]
[TPESYSTEM]
TPEOS]
tuxscagen - Tuxedoサービス用にSCAファイル、SCDLファイル、およびサーバー側のインタフェース・ファイルを生成します。
tuxscagen [-s <target-root-directory>] [-d <service-name>][-C <TUXEDO_cltname>][-u <TUXEDO_username>][(-S | -j <java_package_name>)][-o <output_SCDL_filename>][-i <output_interface_filename>[-m <max-intf-arguments>][-y] [-v] [-F] [-c] [-h][-g<i|a|s>] [-trepository=<filename> | -tinfile=<metarepos.infile> | -tmetadata]
tuxscagenを使用すると、インタフェース・ファイルおよびSCDLファイルを生成できます。インタフェース・ファイルは、ATMIバインディングによるSCAコンポーネントの開発や、SCAコンポーネント内での既存Tuxedoサービスのラップに使用します。SCDLファイルは、SCAランタイムがモジュールやサービスを検索する際に役立つアセンブリ・アーティファクトです。
-s target-root-directory
-d<service-name>
-C <TUXEDO_cltname>
-u <TUXEDO_username>
usernameを使用します。Tuxedoセキュリティ・レベルをAPP_PWより高く設定し、Tuxedoサービス・メタデータをTUXEDO.TMMETAREPOSサービスから取得して入力する場合は、このオプションを指定する必要があります。
-j <java_package_name>
tuxscagenは、デフォルトではC++ヘッダー・ファイルを生成します。-gを指定せず、-j <java_package_name>を指定した場合は、-gaが指定されたものとみなされます。ただし、-gのサブオプションであるiまたはsを指定すると、警告メッセージが表示されます。
-o <output_SCDL_filename>
componentTypeファイルで使用する出力SCDLファイルの名前を指定します。このオプションを指定しない場合のデフォルトでは、Tuxedoサービスごとに1つのコンポジットと1つのcomponentTypeが生成されます。一方、このオプションで出力ファイル名を指定した場合は、一致するすべてのTuxedoサービスで使用する1つのコンポジットと1つのcomponentTypeファイルのみが生成されます。指定した<output_SCDL_filename>がすでに存在する場合は、対話型のプロンプトが表示されてユーザーからの入力が求められます(-yが指定されていない場合)。このオプションを指定すると、-Fが指定されたものとみなされます。
-i <output_interface_filename>
<output_interface_filename>がすでに存在する場合は、対話型のプロンプトが表示されてユーザーからの入力が求められます(-yが指定されていない場合)。 このオプションを指定すると、-Fが指定されたものとみなされます。
-m <max-intf-arguments>
commonj::sdo::DataObjectPtrです。
-mを指定しない場合のデフォルトのしきい値は10です。 0を指定した場合は、常にcommonj::sdo::DataObjectPtrを使用して生成されることになります。 -gaが指定されていない場合、このオプションは無視されます。
-y
「Really overwrite files:<filename> [y, q] ?」を抑制でき、ユーザー入力なしでスクリプトを実行できます。この質問は、-oおよび-iオプションのいずれか、または両方が指定されている場合に表示されます。両方とも指定されていない場合のデフォルトでは、既存のファイルが上書きされます。
-v
-h
-F
-g a|i|s
aを使用すると、抽象ベース・クラス・ヘッダー・ファイルを生成できます。サブオプションiを使用すると、実装クラス・ヘッダー・ファイルを生成できます。サブオプションsを使用すると、SCDLファイルを生成できます。両方のヘッダー・ファイルを生成するには-gaiと指定します。すべてのファイルを生成するには-gaisと指定します。
[-trepository=<filename> | -tinfile=<metarepos.infile> | -tmetadata]
-trepository=<filename> を指定すると、tuxscagenではサービス・パラメータ情報がサービス・メタデータ・リポジトリ・ファイル<filename>から取得されます。-tinfile=<metarepos.infile>を指定すると、tuxscagenではサービス・パラメータ情報が<metarepos.infile>から取得されます。なお、<metarepos.infile>構文は、tmloadreposへの入力に適しています。-tmetadataを指定すると、サービス・パラメータ情報はTuxedo TMMETADATAサーバーから取得されます。 指定できる-tオプションは1つまでで、デフォルトは-tmetadataです。
-S オプションを使用すると、生成された抽象クラス・ヘッダー・ファイル${TUXSERVICE}.hの一部として、構造体定義が生成されます。 tuxscagen -Sでは、生成されたビューを記述するTuxedoビュー・ファイル${TUXSERVICE}.v も生成されます。 tuxscagen入力がフィールドに最大発生数を指定しない場合、tuxscagen -Sでは、そのフィールドに1回の発生が生成されます。tuxscagen入力がフィールドに無制限の発生数を指定した場合、tuxscagen -Sではエラーが生成されます。 tuxscagen入力がSTRING、CARRAYまたはMBSTRINGパラメータに最大長を指定しない場合、tuxscagenでは、そのパラメータに80文字の最大長と末尾のNULLが生成され、これが十分であるかどうかを確認する警告メッセージが出力されます。 | 注: | viewcでは、デフォルトで80文字は使用されません。viewcで長さを指定しないと、1文字の長さと末尾のNULLが生成され、これはほとんどのアプリケーションでは不十分です。 |
tuxscagen -Sオプションでは、生成されたコンポジット・ファイルの<inputBufferType>、<outputBufferType>および<errorBufferType>要素に指定された基礎となるTuxedoトランスポート・タイプは変更されません。DataObjectPtrまたは構造体を介してデータが渡される場合、通常、これはFML32になります。 | 注: | SCA Javaインタフェースでは、構造体はサポートされません。tuxscagenを-jと-Sの両方のオプションとともに使用すると、エラーが発生します。 |
このユーティリティは、Oracle Tuxedo環境をサポートするすべてのプラットフォームで使用できます。
次のコマンドを実行すると、現在の作業ディレクトリ内にあるmyrepositoryというTuxedoメタデータ・リポジトリ・ファイルから、SCDLファイル、インタフェース・ファイル、および実装ヘッダー・ファイルを生成できます。インタフェース・メソッドの入力引数の数は最大8個です。ただし、この制限を超えていても、XSDスキーマ・ファイルは生成されます。
tuxscagen -s /home/tux/sca -Dname=TRANSFER -gais -m 8 -trepository=myrepository
「scatuxgen(1)」、「tmloadrepos(1)」、「tmunloadrepos(1)」
Oracle Tuxedoアプリケーションの設定のTuxedoサービス・メタデータ・リポジトリの管理に関する項
|