Tuxedo コントロールの作成
このタスクでは、Tuxedo コントロール ファイルを作成し、コントロール ファイルにメソッドを追加します。
Tuxedo サービスを使用する Web サービス内 (ソース ビューまたはデザイン ビュー) で右クリックし、[挿入|コントロール] を選択します。
[コントロールの選択] メニューから、[新しいシステム コントロール|Tuxedo コントロール] を選択します。[新しいコントロール] ダイアログが表示されます。
コントロールの場所と名前を選択し、[次へ] をクリックします。 注意 : 作成した Tuxedo コントロールは、プロジェクト内のフォルダに格納されている必要があります。
![image](images/tuxinsert.gif)
ウィザードの次のページで、コントロール プロパティを入力できます。
![alt](images/newControl.gif)
以下の Tuxedo サービス属性を指定します。
|
|
[サービス名] |
WTC インポート サービス名を入力します。この名前は、「WebLogic Tuxedo Connector (WTC) サービスの作成」でマップされたサービス名と一致する必要があります。
サービス名が正確にわからない場合は、[参照] をクリックすると、インポートされている WTC サービス名のリストが表示されます。[WTC インポート済みサービス] ダイアログのリストにサービスが表示されている場合は、サービスを選択し、[選択] をクリックします。必要なサービスがリストに表示されていない場合、そのサービスは WebLogic Server にインポートされていません。
[WTC インポート済みサービス] ダイアログからサービスをインポートするには、[インポート] をクリックします。[ワークステーション アドレス] ダイアログが表示されます。
このフィールドは、アノテーション属性 @tuxedo(serviceName) に対応しています。
WTC サービスをインポートする方法については、「新しい Tuxedo サービスのインポート」を参照してください。
|
[サービスの種類]
|
メニューからサービスのタイプを選択します。このフィールドでは、Tuxedo サービスで Tuxedo コントロールがサポートする対話のタイプを指定します。
指定可能な値を次に示します。
デフォルトは service です。
このフィールドは、アノテーション属性 @tuxedo(serviceType) に対応しています。 |
[バッファ タイプ]
|
メニューからバッファのタイプを選択します。このフィールドでは、Tuxedo コントロールが Tuxedo サービスに送信するために構築するバッファのタイプを指定します。
指定可能な値を次に示します。
Carray : データが NULL 文字を含むことのできる未指定の文字配列 (バイト配列) である場合に使用します。Tuxedo の CARRAY と等価です。
FML : データに単純型の名前付きフィールド (各フィールドの最大長は 65 KB) が含まれている場合に使用します。
FML32 : データにネストされた FML32 フィールド (各フィールドの最大長は 4 GB) を含む名前付きフィールドが含まれている場合に使用します。
String : データに単純文字列だけが含まれている場合に使用します。
View : Tuxedo アプリケーションでは、C 構造体または COBOL 構造体の定義に使用し、WebLogic アプリケーションでは、等価である Java TypedView バッファの定義に使用します。データ構造体のフィールドと型が定義された view 記述ファイルは、VIEW 型バッファに記述されたデータ構造体を使用するクライアント プロセスとサーバ プロセスで使用できる必要があります。さまざまな種類のマシン間でバッファが渡される場合、エンコードとデコードが自動的に実行されます。
View32 : View と同じですが、長さフィールドとカウント フィールドに 32 ビットが使用されます。そのため、View よりも長いフィールドを使用でき、より多くのフィールドを使用できます。
XML : データが XML ドキュメントの場合に使用します。 メソッドへのデータ入力は、Java String または XML Bean の形式である必要があります。Tuxedo の XML (Tuxedo リリース 7.1 以降) と等価です。
注意 : データ依存型ルーティングを使用する入力 XML では、Workshop テスト ブラウザによって生成された XML バッファ内のすべてのコメントを削除してください。バッファ内のコメントの場所によっては、Tuxedo でバッファの解析に関する問題が発生することがあります。
XCOMMON : View バッファ タイプのシノニムです。XCOMMON バッファは、TypedXCommon クラスを拡張する Java クラスによって表されます。このバッファは、セマンティクスにおいて View バッファと同じです。
XCTYPE : View バッファ タイプのシノニムです。XCTYPE バッファは、TypedXCType クラスを拡張する Java クラスによって表されます。このバッファは、セマンティクスにおいて View バッファと同じです。
XOCTET : 単なるバイト配列であり、Tuxedo の CARRAY バッファ タイプのシノニムです。
none : Tuxedo サービスへの要求で入力バッファを使用しない場合に使用します。メソッド シグネチャに入力パラメータが含まれている場合は、エラーが生成されます。
- unknown
デフォルトは none です。
このフィールドは、アノテーション属性 @tuxedo(bufferType) に対応しています。
|
[フィールド テーブル]
|
FML バッファまたは FML32 バッファを使用するときに、Tuxedo サービスのフィールド テーブルの名前を入力します。FML バッファまたは FML32 バッファは、呼び出されたサービスから送信されたり、応答バッファとして機能したりします。これらのバッファを使用するときには、フィールド テーブルを指定する必要があります。フィールド テーブルの名前は、mkfldclass ユーティリティまたは mkfldclass32 ユーティリティで生成されたクラスと一致する必要があります。
バッファ タイプが FML および FML32 の場合、WTC はバッファに格納できるフィールドの名前とタイプを必要とします。これらは、mkfldclass ユーティリティおよび mkfldclass32 ユーティリティで作成されたフィールド テーブル クラスに記述されています。
mkfldclass ユーティリティおよび mkfldclass32 ユーティリティの詳細については、「WebLogic Server Javadoc」を参照してください。
このフィールドは、アノテーション属性 @tuxedo(bufferType) に対応しています。 |
[戻りビュー クラス]
|
Tuxedo サービスから受信できる View バッファ タイプに対応する view クラスの名前を入力します。このフィールドが必要となるのは、Tuxedo サービスが View バッファまたは View32 バッファを返す場合だけです。これらのクラスは、送信ビュー クラス 属性には影響されません。この属性は、Tuxedo サービスが入力として必要とする View バッファを表す view クラスまたは view32 クラスを指定する際に使用します。
注意 : 1 つの Tuxedo サービスがさまざまな VIEW バッファで応答できるように、この属性の値をクラスのリストにできます。
viewj ユーティリティおよび viewj32 ユーティリティについては、「WebLogic Server Javadoc」を参照してください。
このフィールドは、アノテーション属性 @tuxedo(bufferType) に対応しています。 |
[送信ビュー クラス]
|
[バッファ タイプ] フィールドで View または View32 を選択した場合、[送信ビュー クラス] フィールドがアクティブになります。この属性は、サービスが入力バッファとして必要としている View/View32 バッファを表すクラスの名前を示します。この view クラスは、TypedView バッファを作成する際に使用されます。
このフィールドは、アノテーション属性 @tuxedo(bufferType) に対応しています。 |
[終了] をクリックします。デザイン ビューに新しい Tuxedo コントロールが表示されます。
デザイン ビューで、新しく作成された Tuxedo コントロールのイメージをダブルクリックします。
ソース ビューに新しい Tuxedo コントロール ファイルが表示されます。
[ソース ビュー] タブをクリックします。 呼び出される Tuxedo サービスに必要なバッファの内容に合わせて、このメソッドのシグネチャを編集します。
[挿入] ウィザードを使用して新しいコントロールを作成すると、ウィザードで指定したサービスの種類とサービス名に対応する 1 つのメソッドが定義されます。呼び出される Tuxedo サービスに必要な名前とバッファの内容に合わせて、このメソッドのシグネチャと、場合によってはメソッド名を編集する必要があります。また、このコントロールが呼び出すその他のサービスでも、このインタフェースにメソッドが定義されている必要があります。
要求/応答バッファを作成するために、データとフィールドをマップする方法については、「Java データ型と FML バッファおよび VIEW バッファ間でのマッピング」を参照してください。
メニューから [ファイル|保存] を選択します。
〔Ctrl〕+〔W〕を押して、Tuxedo コントロール ファイルを閉じます。
新しい Tuxedo サービスのインポート
Web サービスまたは Java アプリケーション内では、[新しいコントロール] ダイアログから、使用できる Tuxedo サービスを参照できます。[サービス名] フィールドまたは [受信キュー スペース] フィールドで [参照] をクリックすると、使用できる WTC インポート サービスのリストを表示できます。必要なサービスがリストに表示されていない場合、そのサービスは WebLogic Server にインポートされていません。
注意 : WebLogic Server にサービスをインポートするには、WTC サービスをコンフィグレーションしておく必要があります。WTC サービスをコンフィグレーションするには、[WTC インポート済みサービス] ダイアログ ボックスで、[コンフィグレーション] をクリックします。(WTC 接続がすでに存在する場合には、[コンフィグレーション] ボタンは灰色で表示されます)。「WTC サービスのコンフィグレーション」を参照してください。
[WTC インポート済みサービス] ダイアログからサービスをインポートするには、[インポート] をクリックします。[ワークステーション アドレス] ダイアログが表示されます。
machine_name:port number の形式で、リモート Tuxedo ドメインのワークステーション リスナのネットワーク アドレスを入力します。たとえば、//mach1:5100 のように入力します。これは Tuxedo アプリケーションのアドレスであるため、サービス名を取得できます。[次へ] をクリックします。
注意 : Tuxedo ドメインのセキュリティが有効になっている場合、[ワークステーション アドレス] ダイアログで [次へ] をクリックすると、[Security Information for Tuxedo login] ダイアログが表示されます。Tuxedo アプリケーションの情報を入力し、[次へ] をクリックします。
Tuxedo ドメインへの接続が行われ、リモート Tuxedo ドメインによってエクスポートされたサービスのリストが表示されます。
インポートするサービスを選択します。WebLogic Server で複数のローカル WTC ドメインをコンフィグレーションしている場合は、コンフィグレーションされているローカル ドメインのリストが表示されます。このリストから、このサービスを提供するローカル ドメインを選択できます。[インポート] をクリックして、関連するインポート サービスを作成します。
[戻る] をクリックすると、[WTC インポート済みサービス] ダイアログが表示されます。
WTC サービスをインポートする方法の詳細については、「WebLogic Tuxedo Connector (WTC) 接続の設定」を参照してください。