Web サービスでの Tuxedo サービスの使用
Tuxedo コントロールを使用すると、ビジネス ロジックで 1 つまたは複数の Tuxedo サービスを使用する Web サービスまたは Workshop アプリケーションを作成できます。Tuxedo コントロールは汎用インタフェースです。コントロールを使用して、特定の Tuxedo サービスと通信するには、コントロールを作成する必要があります。コントロールは、Java インタフェースと実装ファイルの組み合わせで構成されます。この組み合わせにより、呼び出す Tuxedo サービスの名前、サービスに必要な対話のタイプ (応答ありのサービス、キューを使用するサービスなど)、およびサービスが入力として必要とする Tuxedo バッファ タイプが Tuxedo コントロールに通知されます。アプリケーションでは、コントロール インタフェースによって定義されたメソッドを呼び出して、Tuxedo サービスを呼び出します。Tuxedo サービスの特定のセットに対応するコントロールを作成したら、それらのサービスにアクセスする必要のある任意のアプリケーションでコントロールを再利用できます。コントロールを作成するためのほとんどの処理は、Workshop によって実行されます。
この節では、Web サービスの作成例を示します。
Tuxedo サービスを使用する Web サービスを作成するために必要な手順は以下のとおりです。
環境の設定
使用する Tuxedo サービスをアドバタイズする Tuxedo サーバを起動します。
Workshop を起動します。
WebLogic Server を起動します。WebLogic Server のステータスは、サーバ ビューで確認できます。
Tuxedo コントロール ファセットを含む Web サービス プロジェクトの作成
注意 : Web サービス プロジェクトがすでに存在する場合は、プロジェクトを右クリックし、[プロパティ|プロジェクト ファセット] を選択して、Tuxedo コントロール ファセットを追加できます。
- [ファイル|新規|プロジェクト] を選択します。
- [新規プロジェクト] ダイアログで、[Web サービス|Web サービス プロジェクト] を選択し、[次へ] をクリックします。
- [プロジェクト名] にプロジェクトの名前を入力し、[次へ] をクリックします。
- [プロジェクト ファセット] ページで [Tuxedo Control] を選択し、[次へ] をクリックします。
![alt](images/facet.gif)
Web サービスの作成
-
src dir に新しいフォルダ/パッケージを作成します。
-
新しいフォルダを右クリックし、[新規|WebLogic Web サービス] を選択します。
ウィザードを完了し、[OK] をクリックします。
Web サービスへの Tuxedo コントロールの追加
コントロールは、Web サービスと他のデータ ソース間のインタフェースとして機能します。したがって、Web サービスが Tuxedo サービスにアクセスできるように、Tuxedo コントロールを Web サービスに追加します。
この手順のタスクは以下のとおりです。
Tuxedo コントロールの使用
このタスクでは、Tuxedo コントロール ファイルを使用し、コントロール ファイルにメソッドを追加します。
Tuxedo サービスを使用する Web サービスを開きます。
- Web サービスのデザイン ビューまたはソース ビューで右クリックし、[挿入|Control] を選択します。
- [コントロールの選択] メニューから、既存の Tuxedo コントロールを選択するか、[新しいシステム コントロール|Tuxedo Control] を選択し、[OK] をクリックします。[新しいコントロール] ダイアログが表示されます。
- 新しいコントロールの場合、「Tuxedo コントロールの作成」に記載された手順に従って、アプリケーションで使用する新しい Tuxedo コントロールを作成します。
WebLogic Tuxedo Connector (WTC) サービスの作成
WTC は、Tuxedo 環境と WebLogic 環境間のゲートウェイとして機能します。そのため、Web サービスで使用する Tuxedo サービスにマップされた WTC サービス定義が必要となります。
Web サービスで使用する Tuxedo サービスをインポートします。WTC サービスをインポートする方法については、「WTC サービスのコンフィグレーション」を参照してください。
コントロールのパブリック メソッドの使用
Tuxedo コントロールは、コントロールによって定義されたメソッドだけでなく、Web サービスで使用する以下のパブリック メソッドも提供します。これらのメソッドを使用する場合は、メソッドを明示的に呼び出す必要があります。
|
|
getConnection()
|
このコントロールで現在使用されている WTC 接続を取得します。これにより、接続に対して定義されているより多くの WTC API を使用できるようになります。getConnection() は、JATMI 呼び出しを通じて Tuxedo と対話する際に使用できる ApplicationToMonitorInterface オブジェクトのインスタンスを返します。
注意 : このメソッドでは、接続を終了したり、非同期呼び出しで tpacall を使用したりすることはできません。
getConnection() メソッドの使用は、開発者が WTC 呼び出しの実務的な知識があることを前提としています。
|
getMappingIssues()
|
最後に行われた要求に関連付けられた MappingIssues の配列を返します。マッピングの問題は、Java データ型と Tuxedo バッファとの間で不一致があるときに、コントロールによって生成されます。
|
gettpurcode()
|
最後に発生した例外に関連付けられた tpurcode を返します。
|
gettperrno()
|
コントロールによって最後に行われた要求に関連付けられた tperrno を返します。
|
コントロールからの Tuxedo サービスの使用
次に、前の手順で作成したコントロールの 1 つまたは複数のメソッドを Web サービスに組み込む必要があります。
デザイン ビューで、Web サービス ファイルを開きます。
Tuxedo コントロールのメソッドを右クリックし、[代理メソッドの生成] を選択します。これにより、対応するメソッドが Web サービスに作成されます。
Tuxedo サービスの呼び出しの前または後に Web サービスで追加処理を行う場合、または Web サービスで別のシグネチャが必要な場合は、[ソース ビュー] タブをクリックし、必要に応じて Java コードを編集します。
メニューから [ファイル|保存] を選択します。
デバッガを使用した Web サービスのテスト
次に、デバッガを使用して Web サービスをテストします。
Web サービスを右クリックし、[実行|サーバで実行] を選択します。
Workshop テスト クライアントが表示され、以前に追加した Web サービス メソッドのパラメータを入力する場所が示されます。適切なパラメータを入力し、メソッド名のボタンをクリックします。
テスト ブラウザでウィンドウが更新されたら、ページの下部で返された結果を確認します。
関連トピック