表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サービス・メタデータ・リポジトリの管理に関する項