このチュートリアルでは、Oracle Service Architecture Leveraging Tuxedo(Oracle SALT)製品を使用してOracle Tuxedo SCAコンポーネントをコールするために必要なすべてのコンポーネントを構成する方法を学習します。
このコースを完了すると、以下のことができるようになります。
約2時間(製品のダウンロードおよびインストールにかかる時間を含む)
Oracle SALTを使用すると、開発者や管理者はTuxedoサービスをWebサービスおよびSCAコンポーネントとして公開できます。
このOBEでは、Oracle SALT SOAPサーバー・ゲートウェイを使用したTuxedo SCAコンポーネントのコールを例にとって、アプリケーションの構成について説明します。 uBikeアプリケーションのバックエンドはTuxedoに記述されています。 このアプリケーションのTuxedo側で提供されるバックエンド・サービスについては、uBike Tuxedoの概要ページを参照してください。 この例では、uBikeアプリケーションのSEARCHINVENTORYサービスのみを使用します。
このチュートリアルでは、まずuBike C++サービスをWebサービスとして公開するよう、Oracle SALT環境を構成します。このWebサービスはあらゆるSCA対応コードからコールできます。次に、soapUIを使用して、サービス・コールの入力と して色を指定すると、その色に一致する利用可能な自転車の在庫が返されるWebサービスが動作していることをテストします。
このハンズオン・エクササイズは次のセクションで構成されます。
ここでは、ある企業がC++で実装されたuBikeという既存のアプリケーションを所有していると想定します。 この企業は、コストのかかる大規模な変更を行わずに、SOAの全体的戦略の範囲内でこのIT資産を活用する方法を調査しています。 その結果、Oracle SALTを使用して、既存のuBike C++サービスをSCAコンテナ内でWebサービスとして公開することを決定しました。このWebサービスはSCA対応アプリケーションから簡単に利用で きます。 この戦略によって、既存のテクノロジーが統合され、アプリケーション・サーバー層でほとんど変更を行うことなく自由にC++サービスを利用できるようにな ります。
ソリューションの高水準なアーキテクチャを下図に示します。
ソフトウェア要件は、以下のとおりです。
このチュートリアルを始める前に、以下について、この順番のとおりに実行しておく必要があります。
. | GNU 4.1.2コンパイラのインストール |
---|---|
. | Oracle Tuxedo 11g Release 1のインストール(手順): インストール先は/home/vmuser/tuxedo/tuxedo11g |
. | Oracle SALT 11g Release 1のインストール(手順): インストール先は/home/vmuser/tuxedo/tuxedo11g |
. | soapUIのインストール |
. |
インストール・ファイルの抽出
uBikeSCAフォルダには、このエクササイズの実行に必要なすべてのファイルが含まれます。 以下の表で、各ファイルの目的について説明します。
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
. | setenv.shの編集と実行
cd handson/uBikeSCA
. ./setenv.sh これで、この実習ガイドの手順を実行する準備ができました。 |
以下の手順では、コンポーネントのC++インタフェースを記述する方法について説明します。
. |
テキスト・エディタを開く
|
---|---|
. |
C++インタフェースのコード入力
コードは以下のように表示されます。
|
. |
ファイルを正しい場所に保存
このソース・エディタを開いたままにして、この実習の次のタスクで使用できます。
|
以下の手順で、Oracle SALT SCAコンテナの実際のビジネス・コードを開発するために必要なことを確認します。
. |
uBike実装コードの確認と修正
$APPDIR/uBike.server/uBike.server.compositeにある以下のSCDLコードから判断すると、実装ソース・コードはuBikeServiceImpl.cppというファイルに記述されています。
便宜上、このファイルと関連コードはすでに/home/vmuser/handson/uBikeSCA/uBike.serverディレクトリに用意されています。
|
---|---|
. |
コンポーネントのビルド
buildscacomponent -c uBike.server この結果、libuBike.soという共有ライブラリ・ファイルが生成されます。 buildscacomponentコマンドはSCDLコードを検索し、見つかったすべてのC++コンポーネントをビルドします。 個々のコンポーネントをコマンドライン・オプションに指定してビルドすることもできます。
|
以 下の手順では、C++インタフェースからWSDLインタフェースを作成し、コンポーネントをWebサービスとして公開する方法を確認します。 ここで示す詳細手順は簡単にスクリプトに統合して自動化できますが、ここでは便宜上、カスタマイズが必要な場合に個別に実行する方法を説明しています。
. |
メタデータ・リポジトリ・インタフェースの生成
cd uBike.server scatuxgen -D FML32/BikeInventory -c uBike.server.composite
tmloadrepos -i uBike.server/uBikeService.mif meta.repos
|
---|---|
. |
WSDLの生成 以下のコマンドを実行して、先ほど開発したサービスのWSDLインタフェースを生成します。 ディレクトリを$APPDIRに変更し、以下のようにtmloadcfコマンドを実行して、tuxconfigファイルが作成されることを確認します。さらに、その後の手順を実行します。 tmloadcf -y ubb tmboot -A -s TMMETADATA tmwsdlgen -c uBike.server/uBikeService.wsdf -y -o uBike.server/uBikeService.wsdl tmshutdown -y 生成されたWSDLファイルをよく確認します。
|
. |
サーバーのビルド buildscaserverコマンドは、SCDLを読み取ってC++インタフェースを解析し、Tuxedo環境でSCAコンポーネントをホストする適切なブートストラップ・サーバーを生成します。 コマンドは以下のように実行する必要があります。 buildscaserver -w -c uBike.server -o uBikeSCASvr この実行によって、$APPDIRに以下の複数のファイルが生成されます。
これらのファイルは、Oracle SALT GWWSのSOAPゲートウェイの操作に必要です。
|
. |
ビルド後のセットアップ 重要:
これを行うには、以下のコマンドを実行します。 tmloadrepos -i uBike.server/uBikeService.mif meta.repos wsloadcf -y GWWS.dep
|
. |
アプリケーションのブート 以下のコマンドを実行して、Tuxedoアプリケーションをブートします。 tmboot -y
|
---|---|
. |
GWWSサーバーのWSDLおよびXSD構成のテスト
http://localhost:12345/wsdl 出力結果は以下のようになります。
http://localhost:12345/xsd/uBikeService_1.xsd 出力結果は以下のようになります。 有効なWSDLと関連スキーマを取得したので、soapUIを使用してサービスをテストできます。
|
. | soapUIの実行
soapUIを起動して、SCAサービスをテストします。
|
. | soapUIプロジェクトの作成
左側のペインの「default」ワークスペース・ノードを右クリックして、「New soapUI Project」を選択します。 Project NameにuBikeService、Initial WSDLプロパティに/home/vmuser/handson/uBikeSCA/uBike.server/uBikeService.wsdlと入力して、「OK」ボタンをクリックします。
|
. |
searchBikeサービスのテスト
uBikeServiceプロジェクトの「uBikeServiceSOAP」ノードを開き、「Request1」ノードをダブルクリックして、SOAPリクエスト/レスポンス・ペイロード・ウィンドウを開きます。 ペイロードの内容を編集し、COLOR要素をORANGEに設定して、リクエストをsearchBikeサービスに送信します。 色は大文字で入力する必要があります。 また、BLACK、WHITE、GREEN、RED、BLUE、YELLOW、SILVERなどの別の色を使用してテストすることもできます。 ペイロードは以下のイメージのようになります。 「」アイコンをクリックして、リクエストをsearchBikeサービスに送信します。 レスポンス・ウィンドウに、以下のイメージのような自転車のリストが返されることを確認できます。 エラーが表示された場合は、uBikeServiceImpl.cppファイル内の問題を調査し、これまでのすべての手順が正しく実行されていることを確認してください。 これで、searchBikeサービスが正常に動作することを検証できました。 注: 必要に応じて、Tuxedo管理クライアント(tmadmin)を開いて、Tuxedoサービスが実際にコールされている様子を監視できます。 Tuxedoサービスの監視に使用するtmadminコマンドはprintservice(略称psc)と呼ばれます。
|
これで、 このOBEチュートリアルは完了です。
Oracle SALTはTuxedoサービスをWebサービスおよびSCAコンポーネントとして公開し、Tuxedoアプリケーションとの双方向ゲートウェイとして機 能します。 これによって、SCA対応アプリケーションが、エンタープライズSOAアプリケーションの一部であるTuxedo SCAコンポーネントをコールできます。 これで、これらのテクノロジーを同時に利用する独自のソリューションを実装できるようになりました。
このチュートリアルで学習した内容は、次のとおりです。
今後もOTNで、この例を基にしたその他のOBEチュートリアルを確認してください。他のTuxedo製品統合の例について説明しています。