2 機能
2.8 TSCORB コネクタの機能
TSCORBコネクタは,ORBクライアント(TPBrokerクライアントを始めとする,
CORBA 2.5に準拠するクライアント)からのリクエストを受け付けて,OTMのサーバ
アプリケーションで処理できるようにするゲートウェイプロセスです。さらに,TSCレ ギュレータと同様に,ORBクライアントからのリクエストを受け付けるコネクションを 集約することで,リクエストの集中による問題を解決します。なお,このゲートウェイ 機能を使用するには,OTM - Connector for ORBが必要です。
!
!
!
!
注意事項OTM - Connector for ORBについては,サポート時期をご確認ください。
この節では,TSCORBコネクタを経由する場合の接続の仕組み,TSCORBコネクタと TSCデーモンの対応,およびORBクライアントへの例外の通知について説明します。
2.8.1 TSCORB コネクタ経由の接続の仕組み
TPBrokerでは,クライアントはサーバオブジェクトと直接接続します。一方,ORBク
ライアントからOTMに接続する場合は,TSCORBコネクタ経由でTSCノードに接続 します。そのため,TSCORBコネクタの開始時に,サーバオブジェクトの情報を登録す る必要があります。この登録には,アプリケーションプログラムの開発で定義したイン タフェースやオペレーションについて記述したIDLファイルを使用します。具体的には,
TSCORBコネクタの開始時にtscstartgwコマンドの-TSCIDLFileオプションでIDL ファイルを指定します。なお,一つのTSCORBコネクタの開始時に,複数のIDLファ イルを指定することもできます。
ORBクライアントは,IDLファイルの記述内容に従って,該当するインタフェースを持
つTSCORBコネクタに接続します。なお,接続に成功したORBクライアントからのリ
クエストでも,登録されていないオペレーションから送信された場合は,TSCORBコネ クタはそのリクエストを受け付けられません。
IDLファイルの記述内容に従って,ORBクライアントからOTMに接続する仕組みを次 の図に示します。
図2-29 ORBクライアントからOTMに接続する仕組み
ORBクライアントからOTMへの接続方法には,TPBrokerのスマートエージェントを 使用する方法とIOR文字列を使用する方法の2とおりがあります。それぞれの接続方法 について次に説明します。
●TPBrokerのスマートエージェントの使用
通常は,TPBrokerのスマートエージェント(osagent)を使用して接続を確立しま す。このとき,IDLファイルの記述内容に従って,オブジェクトリファレンスが
osagentに登録されます。これは,クライアントがTPBrokerクライアントの場合に
有効な接続方法です。
●IOR文字列の使用
IOR文字列を使用して接続を確立します。IOR文字列を使用する接続は,他ベンダの ORBクライアントから接続する場合などで,osagentを使用した接続ができない場合 や,osagentの負荷を軽減させる場合に有効な接続方法です。また,この接続では,
osagentへのオブジェクトリファレンスの登録の抑止もできます。
この場合の接続の手順を次に示します。
1. TSCORBコネクタの開始時に,tscstartgwコマンドに-TSCIORConnectオプ
ションを指定します。このとき,同時に-TSCPortオプションも指定します。
2. tscgetiorコマンドで,IOR文字列が記述されたテキストファイルを取得します。
3. 2.で取得したテキストファイルを,接続するORBクライアントに配布します。
4. ORBクライアントは,起動時にIOR文字列のファイルを読み込んでTSCノード
に接続します。このとき,CORBAのORBクラスで提供されるstring_to_object() を使用します。
なお,IOR文字列が記述されたファイルは,TSCORBコネクタに登録したIDLファ イルのインタフェース,サーバのIPアドレス,またはTSCORBコネクタの受信ポー ト番号を変更しないかぎり,繰り返し使用できます。そのため,2.と3.の手順は,シ ステムの構築時に一度実施すれば,以降の接続では省略できます。
2.8.2 TSCORB コネクタと TSC デーモンの対応
TSCレギュレータと同様に,一つのTSCデーモンに対して,必要に応じて複数の
TSCORBコネクタを開始できます。TSCORBコネクタは,対応するTSCデーモンと同
じコンピュータに配置する必要があります。
TSCORBコネクタがORBクライアントからのリクエストを受け付けると,対応する
TSCデーモンにリクエストを転送してリクエストの応答を待ちます。応答が返ってくる と,その応答をクライアントアプリケーションに返します。そのときの動作はマルチス レッドで並行処理されます。
2.8.3 ORB クライアントへの例外の通知
サーバアプリケーションのユーザオブジェクト内で発生したCORBA例外やユーザ例外 は,リクエストを送信したORBクライアントにそのまま通知されます。
一方,OTMのシステム例外が発生した場合は,CORBA例外に変換してORBクライア ントに通知されます。このとき,マイナーコードには0x48542400〜0x485424ffの値が 設定されます。デフォルトの例外変換以外の方法で変換して通知する場合は,例外変換 テーブルファイルを作成して使用します。例外変換テーブルファイルについては,「付録 D 例外変換テーブルファイルの作成方法」を参照してください。