Oracle Fusion Middleware Oracle SOA Suite、WebCenterおよびADFアップグレード・ガイド 11g リリース1 (11.1.1) B55926-03 |
|
前 |
次 |
この付録では、複合的なOracle SOA Suite(SOA)アプリケーションをOracle Application Server 10g リリース3 (10.1.3.3)からOracle Fusion Middlewareリリース11 (11.1.1.0.0)にアップグレードする手順について、順を追って説明します。
この手順を通して、Oracle SOA Suite環境およびアプリケーションのアップグレード処理全体の例を示します。
この付録の具体的な内容は次のとおりです。
タスク6: SOA Order BookingアプリケーションをOracle JDeveloper 11gで開き、アプリケーション・プロジェクトを移行
タスク7: Oracle Fusion Middleware 11gでの各アプリケーション・プロジェクトのコンパイルとデプロイ
タスク8: Fusion Middleware ControlでのSOA Order Bookingアプリケーションのテスト
Oracle Application Server 10g リリース3(10.1.3.1.0)でサンプル・アプリケーションとして提供されたSOA Order Bookingアプリケーションでは、Oracle Application Server 10g リリース3(10.1.3.1.0)の多くの主要機能およびコンポーネントの実際の使用例を示しています。
SOA Order Bookingアプリケーションの詳細は、『Oracle SOA Suiteチュートリアル』および『Oracle SOA Suiteクイック・スタート・ガイド』を参照してください。この2つのドキュメントは、Oracle Technology NetworkのOracle Application Server 10g リリース3 (10.1.3.1.0)ドキュメント・ライブラリから入手できます。
http://www.oracle.com/technology/documentation/index.html
Oracle Application Server 10g リリース3(10.1.3.4)パッチ・セットにより、共通の問題に対する一連の改善と修正が適用されます。また、10g リリース3(10.1.3.4)用にテスト済の改善されたSOA Order Bookingの新バージョンもリリースされました。
この付録は、SOA Order Bookingアプリケーションと、このアプリケーションで使用されているテクノロジを理解しているユーザーを対象としています。
図A-1は、Oracle Application Server 10g リリース3(10.1.3.4)にデプロイされたSOA Order Bookingデモのログイン・ページを示しています。
図A-1 10g リリース3(10.1.3.4)にデプロイされたSOA Order Bookingアプリケーション
SOA Order Bookingアプリケーションを11gに移行する前に、次の前提条件を満たしていることを確認する必要があります。
タスク1a: SOA Order BookingがOracle Application Server 10g リリース3(10.1.3.4)に正常にデプロイされていることの確認
タスク1b: SOA Order BookingがOracle Application Server 10g リリース3(10.1.3.4)で現在稼働していることの確認
SOA Order Bookingアプリケーションを11gに移行する前に、次の条件を満たす必要があります。
Oracle Application Server 10g リリース3(10.1.3.1.0)のインストールと構成作業、および10g リリース3(10.1.3.4)パッチ・セットの適用作業が完了していること
Oracle JDeveloper 10g リリース3(10.1.3.4)のインストールと構成作業が完了していること
SOA Order Bookingデモ・アプリケーションの、更新された10g リリース3(10.1.3.4)バージョンのダウンロード作業が完了していること
10g リリース3(10.1.3.4)のSOA Order Bookingデモ・アプリケーションは、Oracle Technology Network(OTN)の次の場所からダウンロードできます。
http://www.oracle.com/technology/products/ias/bpel/
10g リリース3 (10.1.3.1.0)の『Oracle SOA Suiteチュートリアル』または『Oracle SOA Suiteクイック・スタート・ガイド』の指示に従って、SOA Order BookingアプリケーションをOracle Application Server g リリース3 (10.1.3.4)にデプロイしていること
これには、SOA Order Bookingの10g リリース3(10.1.3.4)アプリケーションのデータベース・スキーマを、使用可能なデータベースにインストールすることも含まれます。
SOA Order Bookingアプリケーションを11gに移行する前に、アプリケーションを10g リリース3(10.1.3.4)上でテストし、正しく動作していることを確認します。これにより、SOA Order Bookingスキーマのインストール先データベースが稼働していて、外部サービスや外部パートナも稼働していることを確認します。
たとえば、アプリケーションへのログイン、製品一覧の閲覧(図A-2)および発注が可能であることを確認してください。また、BPEL Worklist Managerを使用したBPELプロセスの監視が可能であることを確認してください。
詳細は、Oracle Application Server 10g リリース3 (10.1.3)の『Oracle SOA Suite クイック・スタート・ガイド』の、SOA Order Bookingアプリケーションの実行と監視に関する項を参照してください。
『Oracle SOA Suiteクイック・スタート・ガイド』はOracle Application Server 10g リリース3 (10.1.3)ドキュメント・ライブラリに含まれています。ドキュメント・ライブラリはOracle Technology Network (OTN)から入手できます。
http://www.oracle.com/technology/documentation/
SOA Order Bookingアプリケーションを11gにアップグレードする前に、外部パートナが(リモートWebサービスの形態で)稼働していて使用可能であることを確認する必要があります。
Oracle JDeveloper 11gがこれらの外部パートナにアクセスでき、Oracle BPEL Process Managerと、10gにデプロイされているOracle Enterprise Service Busの各サービスにアクセスできることが必要です。アクセスできない場合、アプリケーション内のプロジェクトを11gに正しく移行できません。
必要なWebサービスが使用可能であることを確認するには、11gへの移行前にOracle SOA Suiteアプリケーションの各プロジェクトを調査する必要があります。たとえば、各プロジェクトのOracle BPEL Process Manager構成ファイルを確認し、これらの構成ファイルから参照されているWebサービスのURIが有効で稼働していることを確認します。
SOA Order Bookingアプリケーションでは、次のような方法でSOAOrderBookingプロジェクトの内容を確認できます。
Oracle JDeveloper 10g リリース3(10.1.3)で、SOA Order Booking 10g リリース3(10.1.3.4)アプリケーションを開きます。
SOAOrderBookingプロジェクトを展開し、「インテグレーション・コンテンツ」フォルダを展開します。
「bpel」フォルダを展開し、bpel.xml
ファイル(図A-3)をダブルクリックします。
bpel.xmlファイル内で、次のエントリを探します。
<partnerLinkBinding name="OrderFulfillment"> <property name="wsdlLocation"> http://host.domain:port/esb/wsil/Fulfillment/OrderFulfillment?wsdl </property> <property name="preferredBindings"> http://www.oracle.com/esb/ </property> </partnerLinkBinding>
wsdlLocation
要素のURLをブラウザにコピーし、そのURLが有効で図A-4のような出力が表示されることを確認します。
WebサービスのURLが正しく表示されない場合は、アプリケーションを11gに移行する前にトラブルシューティングを実施し問題を解決します。
たとえば、SOA Order Bookingスキーマのインストール先データベースが稼働していて、アプリケーションのすべてのコンポーネントが正常にデプロイされていることを確認します。
bpel.xml
ファイル内のその他のURLについても、この手順を繰り返します。
次のプロジェクトのWSDL URLに対しても同様に調査します。
SOAOrderBooking:
CreditValidatingService.wsdl CustomerSvc.wsdl RapidService.wsdl
OrderBookingESB:
OrderBooking_OrderBookingProcess.esbsvc OrderBooking_OrderBookingService.esbsvc
図A-4 Internet Explorerで表示したOrderFulfillmentのWSDL URL
SOA Order BookingアプリケーションがOracle Application Server 10g リリース3(10.1.3)環境で正常に稼働していることを確認した後に、新しいOracle Fusion Middleware 11g環境をインストールして環境をアップグレードします。
第6章「Oracle SOA Suite環境のアップグレード」の指示に従って、SOA Order Bookingの移行と再デプロイに備え、Oracle Fusion Middleware環境を準備します。
このタスクの内容は次のとおりです。
Oracle SOA Suite 11g中間層のインストールと構成
Oracle SOA Suiteスキーマの11gへのアップグレード
SOA Order Bookingデモ・アプリケーションを使用するには、SOA Order Bookingのデプロイ先のOracle WebLogic Server管理対象サーバーに、データ・ソースと一連のJMSリソースが存在している必要があります。
これらのリソースを作成するためのOracle WebLogic Server管理コンソールの使用方法の詳細は、次の項を参照してください。
SOA Order Bookingのサンプル・アプリケーションをOracle WebLogic Serverにデプロイする前に、SOA Order Bookingスキーマがインストールされているデータベースを参照するOracle WebLogic Serverデータ・ソースを最初に定義する必要があります。
このスキーマは、Oracle Application Server 10g リリース3(10.1.3.4)にSOA Order Bookingデモ・アプリケーションをデプロイしたときにインストールしたスキーマ(A.2項「タスク1: SOA Order Bookingと外部パートナが稼働していることの確認」を参照)と同じです。
データ・ソースを作成する手順は、次のとおりです。
管理コンソールにログインします。
「ドメイン構造」ツリーで「サービス」→「JDBC」の順に展開し、次に、「データ・ソース」を選択します。
データ・ソースの概要ページで、「新規」をクリックします。
「JDBCデータ・ソースのプロパティ」ページが表示されます。
このページで次のプロパティを入力します。
名前: soademoDS
JNDI名: jdbc/soademoDS
データベースのタイプ: Oracle
データベース・ドライバ: Oracleのドライバ(Thin XA)
「次へ」をクリックして、「トランザクション・オプション」ページを表示します。
「次へ」をクリックして、「接続の詳細」ページを表示します。
「データベース名」: Oracle_database_system_identifer_(SID)
「ホスト名」: Host_where_the_database_is_installed
「ポート」: Database_listening_port_for_example_1521
「データベース・ユーザー名」: soademo
「パスワード」および「パスワードの確認」: soademo
「次へ」をクリックしてデータベース接続をテストします。
「次へ」をクリックして「ターゲットの選択」ページを表示し、次に「soa_server1」を選択します。
「終了」をクリックしてデータ・ソースをsoa_server1にデプロイします。
SOA Order Bookingアプリケーションをデータベースに接続するには、Oracle SOA Suite 11gドメインの一部としてインストールされ構成されているデフォルトのDbAdapterアプリケーションに変更を加える必要があります。
DbAdapterをSOA Order Bookingアプリケーション用に構成する方法は、次の項を参照してください。
次の手順を使用して、DbAdapterアプリケーションに新規アウトバウンド接続プールを作成します。
DbAdapterアプリケーションのデプロイメント・プランを保存するためのディレクトリを作成します。
例:
MW_HOME/Oracle_SOA1/soa/DBPlan
「ドメイン構造」ツリーで「デプロイメント」をクリックします。
DbAdapterアプリケーションをクリックします(チェック・ボックスではなく名前をクリックします)。
「構成」タブをクリックし、「アウトバウンド接続プール」タブをクリックします。
「新規」をクリックします。
javax.resource.cci.ConnectionFactory
のラジオ・ボタンを選択し、「次へ」をクリックします。
「JNDI名」にeis/DB/soademoDS
と入力します。
このJNDI名は、データベース接続で入力する値と一致する必要があります。データベース接続は、この手順の後のほうで、Oracle JDeveloperとともにアプリケーションをアップグレードする際に作成します。
「終了」をクリックします。
このとき、デプロイメント・プランの場所を入力するように求められます。
先に作成したディレクトリへのパスをクリックし、デプロイメント・プラン名Plan.xml
を入力します。
正しいデプロイメント・プランが選択されていることを確認します。
「次へ」をクリックし、「終了」をクリックします。
次の手順を使用して、データ・ソースを参照するように新規接続プールを構成します。
「構成」タブをクリックし、コネクション・ファクトリを展開して新規接続プールをクリックします(チェック・ボックスではなく名前をクリックします)。
「プロパティ」表で、「xADataSource」の右側のボックスを選択します。
編集ボックスが表示されます。
前に作成したデータ・ソースの名前を入力します。
jdbc/soademoDS
[Enter]キーを押して値を適用し、「保存」をクリックします。
フィールドに値を入力するには[Enter]キーを使用し、変更を保存するには「保存」をクリックする必要があります。
「デプロイメント」ページに戻り、左側のナビゲーション・バーで「デプロイメント」をクリックします。
「DbAdapter」の左側のチェック・ボックスを選択します。
「更新」をクリックします。
「このアプリケーションを再デプロイ」を選択し、デプロイメント・プランの場所を再確認して「終了」をクリックします。
変更を検証して、確実に正しい構成になるようにします。構成が正しくないと、後でデプロイメント・エラーが発生します。
「DbAdapter」→「構成」→「アウトバウンド接続プール」ページに戻り、コネクション・ファクトリを展開して、接続プールが追加されたことを確認します。
前に入力した「xADataSource」プロパティの値を確認します。
DbAdapterの「アウトバウンド接続プール」タブに戻り、eis/DB/soademoDS
接続プールのコネクション・ファクトリのプロパティ値を確認します。
SOA Order Bookingサンプル・アプリケーションは、メッセージ・キューを使用して注文および調達の詳細を送信します。このため、アプリケーションを正常にデプロイできるようにするには、事前にJMSキューを構成しておく必要があります。
JMSの構成にはWLSTコマンドおよびスクリプトを使用できますが、次の手順では、JMSの構成にOracle WebLogic管理コンソールを使用する方法を示しています。
次の項では、SOA Order Bookingデモ・サンプル・アプリケーション向けにJMSを構成する方法について説明します。
SOA Order Bookingデモに必要なJMS宛先を作成する手順は、次のとおりです。
Oracle WebLogic管理コンソールで、JMSモジュールの概要ページに移動し、「SOAJMSModule」JMSモジュールをクリックします。
このモジュールは、Oracle SOA Suite 11gをインストールおよび構成するときに作成および構成します。
JMSモジュールの構成ページで、「新規」をクリックします。
リソース・タイプのリストから「キュー」を選択します。
「JMS宛先のプロパティ」ページで、宛先キューの名前とJNDI位置を入力します。
この手順では、次の値を入力します。
名前: demoFulfillmentQueue
JNDI名: jms/demoFulfillmentQueue
「次へ」をクリックします。
「サブデプロイメント」ドロップダウン・メニューから「SOASubDeployment」を選択します。
「SOAJMSServer」JMSサーバーを選択し、「終了」をクリックします。
SOA Order Bookingデモ・サンプル・アプリケーションに必要なコネクション・ファクトリを作成する手順は、次のとおりです。
Oracle WebLogic管理コンソールで、JMSモジュールの概要ページに移動し、「SOAJMSModule」JMSモジュールをクリックします。
JMSモジュールの構成ページで、「新規」をクリックします。
リソース・タイプのリストから「接続ファクトリ」を選択し、「次へ」をクリックします。
「接続ファクトリのプロパティ」ページで、JMSコネクション・ファクトリの名前とJNDI位置を入力します。
次の値を使用します。
名前: demoCF
JNDI名: jms/demoCF
「次へ」をクリックします。
「終了」をクリックします。
キューとコネクション・ファクトリが「リソースの概要」にリストされます。
次の手順を使用して、新規接続プールを作成します。接続プールがJmsAdapterアプリケーションに構成され、デプロイメント・プランが使用されます。
JmsAdapterアプリケーションのデプロイメント・プランのディレクトリを作成します。
例:
MW_HOME/Oracle_SOA1/soa/JMSPlan
Oracle WebLogic Server管理コンソールで、「デプロイメント」をクリックします。
「JmsAdapter」をクリックします(チェック・ボックスではなく名前をクリックします)。
「構成」タブをクリックし、「アウトバウンド接続プール」タブをクリックします。
「新規」をクリックします。
oracle.tip.adapter.jms.IJmsConnectionFactory
ファクトリを選択します。
「次へ」をクリックします。
eis/demo/Queue
と入力します。
「終了」をクリックします。
このとき、デプロイメント・プランの場所を入力するように求められます。
前に作成したディレクトリへのパスをクリックし、計画名にPlan.xml
を入力します。
画面下部にラジオ・ボタンで選択されたプラン・ファイルがある場合は、入力したプラン・ファイルが優先されます。
「次へ」をクリックし、「終了」をクリックします。
次の手順を使用して、前項で作成した接続プールを構成します。
Oracle WebLogic Server管理コンソールで、「デプロイメント」をクリックします。
「JmsAdapter」をクリックします(チェック・ボックスではなく名前をクリックします)。
「構成」タブをクリックし、「アウトバウンド接続プール」タブをクリックします。
oracle.tip.adapter.jms.IJmsConnectionFactory
コネクション・ファクトリを展開します。
eis/demo/Queue
をクリックします。
「ConnectionFactoryLocation」プロパティの値をjms/demoCF
に変更し、[Enter]キーを押します。
フィールドに値を入力するには[Enter]キーを使用する必要があります。
「保存」をクリックします。
値を保存するには、「保存」ボタンを使用する必要があります。
次の手順を使用して、JmsAdapterを再デプロイします。
Oracle WebLogic Server管理コンソールのナビゲーション・ツリーで、「デプロイメント」をクリックします。
「JmsAdapter」の左側のチェック・ボックスを選択します。
「デプロイメント」表の上部の「更新」をクリックします。
正しいデプロイメント・プランが選択されていることを確認します。
「このアプリケーションを再デプロイ」を選択し、デプロイメント・プランの場所を再確認して「終了」をクリックします。
Oracle JDeveloper 11gは、Oracle Fusion Middlewareに付属しているCDのZIPファイルからインストールするか、またはOracle Technology Network(OTN)からOracle JDeveloper Studio Editionバージョン11.1.1.1.0.0のZIPファイルをダウンロードしてインストールできます。
http://www.oracle.com/technology/software/products/jdev/index.html
JDeveloperのインストール先は、Oracle Fusion Middleware 11gを稼働しているマシンでも、Oracle Fusion Middlewareを稼働しているマシンとは異なるマシンでもかまいません。
詳細は、『Oracle Fusion Middleware Oracle JDeveloperインストレーション・ガイド』を参照してください。
Oracle JDeveloperリリース11(11.1.1.0.0)で、データベースおよびOracle Application Serverへの接続を設定します。これらの接続を使用すると、SOADEMOスキーマのデータを表示し、アプリケーションをJDeveloperからOracle Fusion Middlewareにデプロイできます。
このタスクには、次のサブタスクが含まれます。
WindowsでOracle JDeveloper Studioを起動するには、次のいずれかの方法を使用します。
「スタート」メニューから、「すべてのプログラム」→「Oracle Fusion Middleware 11.1.1.x.x」→「Oracle JDeveloper Studio 11.1.1.x.x」の順に選択します。
Oracle JDeveloperは、コマンドラインで次のいずれかのコマンドを実行して起動することもできます。
install_dir\jdeveloper\jdeveloper.exe install_dir\jdeveloper\jdev\bin\jdevw.exe install_dir\jdeveloper\jdev\bin\jdev.exe (to display a console window for internal diagnostic information)
UNIXシステムでOracle JDeveloperを起動するには、次のファイルを実行します。
install_dir/jdeveloper/jdev/bin/jdev
Oracle SOA Suiteアプリケーションを11gにアップグレードするには、Oracle JDeveloper 11gにOracle SOA Composite Editor拡張機能がインストールされている必要があります。
この拡張機能がインストールされていることを確認するには、Oracle JDeveloperの「ヘルプ」メニューから「バージョン情報」を選択し、「バージョン」タブをクリックします。コンポーネントのリストに「SOAコンポジット・エディタ」
というエントリが表示されます。
「バージョン情報」ダイアログ・ボックスの「バージョン」タブにこのコンポーネントが表示されない場合は、「バージョン情報」ダイアログを閉じて、「ヘルプ」メニューから「更新の確認」を選択します。更新の確認ウィザードを使用して、最新バージョンの「SOAコンポジット・エディタ」拡張機能を検索し、インストールします。
JDeveloperで、SOADEMOスキーマへのデータベース接続を作成します。
注意: このチュートリアルでは、データベース接続にSOADEMOという名前を付与します。別の名前を使用することもできますが、同じ命名規則を使用したほうがデモの手順がわかりやすくなります。 |
Oracle JDeveloperで、「表示」→データベース・ナビゲータを選択します。
「IDE接続」ノードを右クリックし、「接続の作成」を選択します。
表示されるダイアログ・ボックスで、次の値を入力します。
接続名: 「SOADEMO」と入力します。
接続タイプ: 「Oracle (JDBC)」を選択します。
ユーザー名: 「SOADEMO」と入力します。
パスワード: 「soademo」と入力します。
ロール: 空白のままにします。
パスワードの保存: このチェック・ボックスを選択します。
カスタムJDBC URLの入力: このチェック・ボックスの選択を解除します。
ドライバ: 「thin」を選択します。
ホスト名: SOADEMOスキーマをインストールしたデータベースが実行されているマシンの名前を入力します。
JDBCポート: データベースのポート番号を入力します。デフォルト値は1521
です。
SID: データベースのシステム識別子を入力します。デフォルト値はORCL
です。
データベース接続値が不明な場合は、データベース管理者に確認してください。
「接続のテスト」をクリックします。
テストが成功しない場合は、データベースが使用可能であること、および接続値が正しいことを確認してください。
「終了」をクリックします。接続ナビゲータの「データベース」ノードの下に、接続が表示されます。
これで、Oracle JDeveloperからスキーマを調べることができます。「接続ナビゲータ」で、「データベース」→「SOADEMO」の順に展開します。「順序」および「表」ノードを開き、リストされる表が、『Oracle SOA Suite チュートリアル 10g リリース3 (10.1.3.1.0)』のSOADEMOスキーマの内容に関する項にリストされている表と一致していることを確認します。
JDeveloperで、Oracle SOA Suite 11gをインストールおよび構成したOracle WebLogic Serverドメインへの接続を作成します。
Oracle JDeveloperで、「表示」→「アプリケーション・サーバー・ナビゲータ」を選択します。
「アプリケーション・サーバー」ノードの下にある「アプリケーション・サーバー」フォルダを右クリックし、「新規アプリケーション・サーバー」を選択します。
アプリケーション・サーバー接続ウィザードの「ようこそ」ページで、「次へ」をクリックします。
次の値を入力します。
接続名: SoademoApplicationServer
と入力します。
接続タイプ: 「WebLogic 10.3」を選択します。
「次へ」をクリックします。
ステップ2の認証ページで、次の値を入力します。
ユーザー名: 「weblogic」と入力します。これは、Oracle WebLogic Serverのデフォルトの管理ユーザー名です。
パスワード: weblogic
ユーザーのパスワードを入力します。これは、Oracle SOA Suite 11gドメインを構成したときに設定したパスワードです。
「次へ」をクリックし、A.3項「タスク2: Oracle Fusion Middleware SOA Suiteのインストールとアップグレード」でインストールおよび構成したOracle WebLogic Serverドメインのホスト、ポートおよび名前を入力します。
「次へ」をクリックします。「接続のテスト」ページが表示されます。
「接続のテスト」をクリックします。
「終了」をクリックします。
接続ナビゲータの「アプリケーション・サーバー」ノードの下に、接続が表示されます。
次の項では、以前のバージョンのOracle JDeveloperで作成したアプリケーションを開き、移行ウィザードを使用してそのアプリケーションをOracle Fusion Middleware 11gにアップグレードする方法について説明します。
重要: SOA Order Bookingアプリケーションおよびそのプロジェクトは、外部パートナに依存しています。SOA Order BookingアプリケーションをOracle Fusion Middleware 11gに移行する際は、これらのリモートWebサービスが稼働中でSOA Order Bookingアプリケーションから使用できる必要があります。外部パートナのURIが使用できない場合、アプリケーションをOracle JDeveloper 11gで正常に開くことができません。詳細は、「タスク1: SOA Order Bookingと外部パートナが稼働していることの確認」を参照してください。 |
アプリケーションをOracle JDeveloper 11gで開いて移行する手順は、次のとおりです。
10g リリース3(10.1.3.4)のSOA Order Bookingデモ・アプリケーションのソース・ファイルがあるsoademoフォルダのバックアップ・コピーを作成します。
soademoフォルダの内容はアップグレード時に変更されます。バックアップ・コピーを使用すると、必要な場合に元の10g リリース3(10.1.3)バージョンのデモをリストアできます。
この手順では、作業フォルダ(アップグレードするファイルがあるフォルダ)がSOADEMO_HOMEディレクトリとして記載されていることに注意してください。
SOADEMO_HOMEディレクトリの内容を確認し、次のファイルがあれば削除します。
SOADEMO_HOME/SOAOrderBooking/bpel/rules/com
このbpel/rules/com/
ディレクトリの下位にあるサブディレクトリも含まれます。
「ファイル」メニューから「開く」を選択し、Oracle JDeveloper 10g リリース3 (10.1.3.1.0)のsoademo.jws
ファイルを選択します。
移行ウィザードのステップ1の「ようこそ」ページが表示されます。
「次へ」をクリックします。
ステップ2(図A-5)で「はい」を選択し、プロジェクト・ファイルをOracle JDeveloperリリース11(11.1.1.0.0)に移行します。
「次へ」をクリックします。
ステップ3で、「Webapp 2.5へ移行」チェック・ボックスの選択を解除します。
注意: 「Webapp 2.5へ移行」チェック・ボックスの選択を解除することは重要です。SOA Order Bookingデモ・アプリケーションでは、この手順の後半で手動でアップグレードするWebサービスを使用するためです。このWebサービスが移行ウィザードにより自動アップグレードされないように、必ず「Webapp 2.5へ移行」チェック・ボックスの選択を解除してください。 |
「次へ」をクリックします。
図A-6 Oracle JDeveloperの移行ウィザードの WebApp 2.5オプションの選択の解除
ステップ4で、ページの各項目を確認し、デフォルトの選択を受け入れて「次へ」をクリックします。
ステップ5で、選択した設定オプションを確認し、「終了」をクリックしてアプリケーションをOracle JDeveloperリリース11gにアップグレードします。
移行の進行状況を示す「移行ステータス」ダイアログ・ボックスが表示されます。また、移行についての情報が、Oracle JDeveloperのメイン・ウィンドウのロギング・ペインに表示されます。
移行の完了後、「終了」をクリックします。
移行の後で、アプリケーション移行時に生成されたログ・ファイルを確認できます。ログ・ファイルには、プロジェクトが開かれてOracle JDeveloper 11gに移行された際にOracle JDeveloper 11gによって加えられた様々な変更が記録されています。
ログ・ファイルは次のディレクトリにあります。
JDEV_HOME\upgrade\logs\
各アプリケーションのログ・ファイルを識別するには、各ログ・ファイルの日付およびタイムスタンプを参照します。例:
SOAOrderBooking2009-04-29-12-46-35PM.log
また、Oracle JDeveloperのメイン・ウィンドウの「メッセージ」タブには、移行された各プロジェクトの個別のログ・ファイルへのリンクが表示されます。移行ログ・ファイルを表示する任意のリンクをクリックします。
SOADEMOアプリケーションを開いてプロジェクトをOracle JDeveloper 11gに移行した後、各プロジェクトを1つずつ再コンパイルおよび再デプロイできます。
各プロジェクトの確認、コンパイルおよび再デプロイは、次の順序で行います。
SOA Order BookingアプリケーションのCreditService、RapidServiceおよびCustomerServiceプロジェクトは、このアプリケーションの他のプロジェクトから参照されるJava EE Webサービスです。
このため、この例のためにこれら3つのプロジェクトを11gにアップグレードする必要はありません。引き続き、これらのサービスのOracle Application Server 10gバージョン(現在10g環境で実行されているバージョン)を使用できます。
これら3つのWebサービス・プロジェクトをアップグレードする場合は、次の点に注意します。
Java EEアプリケーションとWebサービスの開発に関する知識と経験があれば、Webサービス・プロジェクトの変更手順は、この付録に書かれている内容で十分です。ただし、この手順は、Java EEプロジェクトのアップグレードに関するチュートリアルとしては説明されていません。
CustomerService Webサービス・プロジェクトをアップグレードする場合は、SOAOrderBookingの追加変更がいくつか必要となりますが、この変更の詳細はこの付録には説明されていません。
SelectManufacturerプロジェクトは非同期のBPELプロセスです。つまり、このプロジェクトには、BPELプロセス・フローを開始する受信アクティビティと、フローの最後に結果(つまり、見積)と非同期にクライアントをコールバックする起動アクティビティが含まれています。
SelectManufacturerプロジェクトをコンパイルおよび再デプロイする手順は、次のとおりです。
アプリケーション・ナビゲータでプロジェクトを右クリックします。
コンテキスト・メニューから「SelectManufacturer.jprのメイク」を選択します。
プロジェクトが正常にコンパイルされます。
プロジェクトを再度右クリックし、「デプロイ」→「SelectManufacturer」を選択します。
デプロイメント・ウィザードの最初のページが表示されます。
ウィザード・ページの指示に従い、プロジェクトをSoademoApplicationServerにデプロイします。
DHLShipmentプロジェクトは、Oracle Application Server 10g リリース3 (10.1.3)のOracle Enterprise Service Bus (ESB)サービスとして作成されました。このプロジェクトをOracle JDeveloper 11gによって開いた後に変更する必要はありません。
DHLShipmentプロジェクトをコンパイルおよび再デプロイする手順は、次のとおりです。
アプリケーション・ナビゲータでプロジェクトを右クリックします。
コンテキスト・メニューから「DHLShipment.jprのメイク」を選択します。
プロジェクトを再度右クリックし、「デプロイ」→「DHLShipment」を選択します。
デプロイメント・ウィザードの最初のページが表示されます。
ウィザード・ページの指示に従い、プロジェクトをSoademoApplicationServerにデプロイします。
FulfillmentESBプロジェクトは、10g リリース3(10.1.3)のOracle Enterprise Service Bus(ESB)プロジェクトとして作成されました。
注文が承認されると、SOAOrderBookingプロジェクトはFulfillmentESBプロジェクトを起動して注文の出荷方法を決定します。
注文はファイル・アダプタを介してUSPSに送信されます。注文情報はファイルに書き込まれます。Fedexの場合は、注文がデータベース・アダプタを介して送信されます。注文情報はデータベースに書き込まれます。FulfillmentESBプロジェクトは注文をJMSキューにも送信します。
このプロジェクトをコンパイルおよび再デプロイする前に、Oracle JDeveloper 11gで次の小さないくつかの変更を行う必要があります。
FulfillmentESBプロジェクトを次のように変更します。
FullfillmentESBプロジェクトを展開し、composite.xmlをダブルクリックします。
FulfillmentESBコンポジットが「SOAコンポジット・エディタ」に表示されます(図A-4)。
詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のSOAアプリケーションおよびプロジェクト作成時の処理内容に関する項を参照してください。
右側のスイムレーンでFulfillment.FulfillmentBatchへの参照を表すアイコンをダブルクリックします。
この外部参照はFulfillment.FulfillmentBatch JMSアダプタを表します。
この参照をダブルクリックすると、アダプタ構成ウィザードが表示されます。
アダプタ構成ウィザードの指示に従って、JMSアダプタをOracle Fusion Middleware 11g環境向けに再構成します。
ウィザードのデフォルト設定は、次を除いてすべて受け入れることができます。
Oracle Enterprise Messaging Serviceとして「Oracle Weblogic JMS」を選択します。
「タスク5d: Oracle WebLogic Serverへの接続の作成」で作成したアプリケーション・サーバー接続を選択します。
キュー名の横にある「参照」ボタンをクリックし、「demoFulfillmentQueue」を選択します。
「キュー名」フィールドに「jms/demoFullfillmentQueue」
が入力されます。
「JNDI名」をeis/demo/Queue
に設定します。
コンポジット・エディタに戻ったら、右側のスイムレーンでFulfillment.FedexShipmentへの参照を表すアイコンをダブルクリックします。
この外部参照はデータベース・アダプタを表します。
この参照をダブルクリックすると、アダプタ構成ウィザードが表示されます。
アダプタ構成ウィザードの指示に従って、データベース・アダプタをOracle Fusion Middleware 11g環境向けに再構成します。
ウィザードのデフォルトは、次を除いてすべて受け入れることができます。
データベース接続としてsoademo
を選択します。
「JNDI名」をeis/DB/soademoDS
に設定します。
Fulfillment.USPSShipmentへの外部参照(ファイル・アダプタを表す)を次のように更新します。
ディスク上にファイル・アダプタのディレクトリを作成します。例:
MW_HOME/Oracle_SOA1/soa/USPSShipment
FulfillmentESBプロジェクトのためにコンポジット・エディタに戻り、FulfillmentUSPSShipmentへの外部参照をダブルクリックします。
アダプタ構成ウィザードが表示されます。
「ファイル構成」画面が表示されるまで、画面の指示に従います。
「発信ファイルのディレクトリ(物理パス)」フィールドで、ステップ7aで作成したディレクトリへのパスを入力します。
「次へ」をクリックし、アダプタ構成手順の残りを実行します。
図A-7 SOA Order BookingアプリケーションのFulfillmentESBプロジェクトのコンポジット・エディタ
Fulfillmentプロジェクトをコンパイルおよび再デプロイする手順は、次のとおりです。
アプリケーション・ナビゲータでプロジェクトを右クリックします。
コンテキスト・メニューから「FulfillmentESB.jprのメイク」を選択します。
プロジェクトを再度右クリックし、「デプロイ」→「FulFillmentESB」を選択します。
デプロイメント・ウィザードの最初のページが表示されます。
ウィザード・ページの指示に従い、プロジェクトをSoademoApplicationServerにデプロイします。
CreditServiceプロジェクトは、顧客のクレジット・カードが有効かどうかをチェックします。このSOA Order Bookingアプリケーションで、コードは、クレジット・カード番号の値のみをチェックします。クレジット・カード番号が12345678未満の場合、カードは無効です。12345678以上の場合は、有効です。
このプロジェクトはJava EE Webサービスのプロジェクトです。続行する前に、A.8.1項「CreditService、RapidServiceおよびCustomerServiceプロジェクトについて」を参照してください。
このプロジェクトをコンパイルおよび再デプロイする前に、WebサービスをOC4J JAX-RPCからOracle WebLogic Server JAX-RPCにアップグレードしておく必要があります。
OC4J JAX-RPC WebサービスをOracle WebLogic Server JAX-RPCにアップグレードする手順は、次のとおりです。
アプリケーション・ナビゲータで、CreditServiceプロジェクトを展開し、次の項目を選択します。
「アプリケーション・ソース」→「org.soademo.creditservice」→「CreditService」
Credit Service Webサービスを右クリックし、コンテキスト・メニューから「WebサービスをWLS JAX-RPC構成にアップグレード」を選択します。
「アップグレードの確認」ダイアログ・ボックスが表示されます。
「はい」をクリックして、CreditService WebサービスをOracle WebLogic Server JAX-RPCにアップグレードします。
アップグレードが完了したら、プロジェクトを保存します。
図A-8 CreditService Webサービスをアップグレードする際の確認ダイアログ・ボックス
CreditServiceプロジェクトをコンパイルおよび再デプロイする手順は、次のとおりです。
アプリケーション・ナビゲータでプロジェクトを右クリックします。
コンテキスト・メニューから「CreditService.jprのメイク」を選択します。
プロジェクトを再度右クリックし、「デプロイ」→「CreditService」を選択します。
デプロイメント・ウィザードの最初のページが表示されます。
ウィザード・ページの指示に従い、プロジェクトをSoademoApplicationServerにデプロイします。
RapidServiceプロジェクトは、顧客注文の見積価格を提示するサプライヤを表します。このサプライヤと競合する他のサプライヤが、SelectManufacturerです。顧客注文に対して低い見積を提示するサプライヤが、注文に対する供給を行うことができます。
このプロジェクトはJava EE Webサービスのプロジェクトです。続行する前に、A.8.1項「CreditService、RapidServiceおよびCustomerServiceプロジェクトについて」を参照してください。
このプロジェクトをコンパイルおよび再デプロイするには、Oracle JDeveloper 11gを使用して変更しておく必要があります。
このプロジェクトをコンパイルおよびデプロイする前に、OC4J JAX-RPC WebサービスをOracle WebLogic Server JAX-WSにアップグレードしておく必要があります。
次の手順では、トップダウン手法を使用し、既存のWSDLを使用してWebサービスを再生成します。
RapidServiceプロジェクトから既存のJAX-RPC Webサービス・ファイルを削除します。
Oracle JDeveloper 11gアプリケーション・ナビゲータ・ペインで、RapidServiceプロジェクトを開いて、次のノードを開きます。
「アプリケーション・ソース」→「org.soademo.rapidservice」
「RapidService」ノードを右クリックし、コンテキスト・メニューから「削除」を選択します。
「Webサービスを削除しますか。」ダイアログ・ボックスで、「すべて選択」をクリックして、ダイアログ・ボックスに表示されたファイルをすべて選択します。
図A-9に示すように、RapidService.wsdl
ファイルのチェック・ボックスの選択を解除します。
「OK」をクリックします。
「タイプ」ノードの内容を開き、Item.java
、Quote.java
を削除します。
「Webコンテンツ」→「WEB-INF」ノードの内容を開き、oracle-webservices.xml
、web.xml
およびwebservices.xml
を削除します。
図A-10はRapidServiceの下のファイルを示しています。これらのファイルを選択して削除します。
クラスパスからJAX-RPC Webサービスを削除します。
「RapidService」プロジェクトを右クリックし、コンテキスト・メニューから「プロジェクト・プロパティ」を選択します。
「プロジェクト・プロパティ」ウィンドウが表示されます。
「ライブラリとクラスパス」→JAX-RPC 10.1.3 Webサービスの順に選択し、「削除」→「OK」の順にクリックします。
新しいJAX-WS Webサービスを生成します。
RapidServiceプロジェクト内の次の場所の下にあるRapidService.wsdl
ファイルを右クリックします。
「アプリケーション・ソース」→「org.soademo.rapidservice」→「RapidService」
コンテキスト・メニューから「Webサービスの作成」を選択します。
「WSDLからJava Webサービスを作成」ウィザードが表示されます。
画面の指示に従い、新しいJAX-WS Webサービスを作成します。
「デプロイメント・プラットフォームの選択」画面で、必ず「Java EE 1.5(JAX-WS注釈のサポート付き)」を選択します。
RequestQuoteImpl.java
ファイルのpoItemsQuote
メソッドを次のように変更します。
public Quote poItemsQuote(@WebParam(name = "param0", targetNamespace = "http://rapidservice.soademo.org/types/") List<Item> param0) { Long totalPrice = new Long(0); for (int i = 0; i < param0.size(); i++) { Item localItem = param0.get(i); totalPrice += localItem.getQuantity() * 110; } Quote priceQuote = new Quote(); priceQuote.setSupplierName("RapidDistributors"); priceQuote.setSupplierPrice(totalPrice.toString()); return priceQuote; }
RequestQuoteImpl.java
ファイルのorderQuoteメソッドを次のように変更します。
public Quote orderQuote(@WebParam(name = "param0", targetNamespace = "http://rapidservice.soademo.org/types/") String param0, @WebParam(name = "param1", targetNamespace = "http://rapidservice.soademo.org/types/") String param1, @WebParam(name = "param2", targetNamespace = "http://rapidservice.soademo.org/types/") String param2, @WebParam(name = "param3", targetNamespace = "http://rapidservice.soademo.org/types/") String param3, @WebParam(name = "param4", targetNamespace = "http://rapidservice.soademo.org/types/") String param4) { Quote priceQuote = new Quote(); priceQuote.setSupplierName("RapidDistributors"); priceQuote.setSupplierPrice("5000"); return priceQuote; }
RapidServiceプロジェクトの変更を保存します。
Fulfillmentプロジェクトをコンパイルおよび再デプロイする手順は、次のとおりです。
アプリケーション・ナビゲータでプロジェクトを右クリックします。
コンテキスト・メニューから「RapidService.jprのメイク」を選択します。
プロジェクトを再度右クリックし、「デプロイ」→「RapidService」を選択します。
デプロイメント・ウィザードの最初のページが表示されます。
ウィザード・ページの指示に従い、プロジェクトをSoademoApplicationServerにデプロイします。
CustomerServiceプロジェクトは、SOAデモ・クライアント・アプリケーションなどのクライアント・アプリケーションがデータベースから顧客情報を取り出したり顧客をデータベースに追加するためのメソッドを提供するEJB実装です。
このプロジェクトはJava EE Webサービスのプロジェクトです。続行する前に、A.8.1項「CreditService、RapidServiceおよびCustomerServiceプロジェクトについて」を参照してください。
このプロジェクトをコンパイルおよびデプロイする前に、Oracle JDeveloper 11gでプロジェクトに対していくつかの変更を行っておく必要があります。
Oracle JDeveloper 11gでCustomerServiceオブジェクトを変更するには、プロジェクトの/src/org/soademo/customerservice/
ディレクトリにある次のファイルを変更する必要があります。
business/Customerservice.java:
finsCustomerById()
メソッドから"throws RemoteException"
を削除します。
client/CustomerServiceClient.javaとbusiness/CustomerServiceClient.java
business/CustomerserviceBean.java:
例A-3に示す変更を反映した内容になるようにこのファイルを変更します。
例A-1 オリジナルのCustomerService.javaファイル
private static Context getInitialContext() throws NamingException { Hashtable en = new Hashtable(); // Standalone OC4J connection details env.put( Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory" ); env.put( Context.SECURITY_PRINCIPAL, "oc4jadmin" ); env.put( Context.SECURITY_CREDENTIALS, "welcome1" ); env.put(Context.PROVIDER_URL, "ormi://localhost:23791/CustomerService"); return new InitialContext( env );
例A-2 変更されたCustomerService.javaファイル
private static Context getInitialContext() throws NamingException { Hashtable env = new Hashtable(); env.put( Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory" ); env.put( Context.SECURITY_PRINCIPAL, "weblogic" ); env.put( Context.SECURITY_CREDENTIALS, "weblogic" ); env.put(Context.PROVIDER_URL, "t3://edith:7101"); return new InitialContext( env ); }
例A-3 更新されたCustomerServiceBean.javaクラス・ファイル
package org.soademo.customerservice.business; import javax.ejb.Remote; import javax.ejb.RemoteHome; import javax.ejb.Stateless; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.soademo.customerservice.persistence.Customer; @Remote @WebService(serviceName = "CustomerSvc", targetNamespace = "http://www.globalcompany.com/ns/customer") @Stateless(name="CustomerService", mappedName = "CustomerService") public class CustomerServiceBean implements CustomerServiceLocal, CustomerService { @PersistenceContext(unitName = "customerServiceUnit" ) private EntityManager em; public CustomerServiceBean() { } /** * @param entity * @return */ public Object mergeEntity(Object entity) { return em.merge(entity); } public Object persistEntity(Object entity) { em.persist(entity); return entity; } public Object refreshEntity(Object entity) { em.refresh(entity); return entity; } public void removeEntity(Object entity) { em.remove(em.merge(entity)); } /** <code>select object(cust) from Customer cust where cust.custid = :custid</code> */ @WebMethod public Customer findCustomerById(@WebParam(name = "custid", targetNamespace = "http://www.globalcompany.com/ns/customer") String custid){ // public Customer findCustomerById(String custid) { return (Customer)em.createNamedQuery("Customer.findCustomerById").setParameter("custid", custid).getSingleResult(); } // public String getCustomerStatus(String CustomerID) { @WebMethod public String getCustomerStatus(@WebParam(name = "CustomerID", targetNamespace = "http://www.globalcompany.com/ns/customer") String CustomerID){return findCustomerById(CustomerID).getStatus(); } // public String addNewCustomer(Customer customer) { @WebMethod public String addNewCustomer(@WebParam(name = "customer", targetNamespace ="http://www.globalcompany.com/ns/customer") Customer customer){ em.persist(customer); //making the change to return the customer id // that client application can use to query orders return customer.getCustid(); //return "New customer added sucessfully to customer database"; } // public Customer findCustomerByEmail(String email, String password) { @WebMethod public Customer findCustomerByEmail(@WebParam(name = "email", targetNamespace = "http://www.globalcompany.com/ns/customer") String email, @WebParam(name = "password", targetNamespace = "http://www.globalcompany.com/ns/customer") String password){ return(Customer)em.createNamedQuery( "Customer.findCustomerByEmail").setParameter("email", email).setParameter("password", password).getSingleResult(); } }
Oracle Weblogic Serverで明示的にKodoを使用するようにsrc/META-INF/persistence.xml
を変更します。
Kodoは、透過なデータ・オブジェクトの規格であるSun Microsystem社のJava Persistence API(JPA)およびJava Data Objects(JDO)を実装したものです。Kodoは、スタンドアロン製品として使用可能で、WebLogic Serverに統合されます。
次のエントリをpersistence.xmlファイルの<persistence-unit>
要素に追加します。
<provider>kodo.persistence.PersistenceProviderImpl</provider>
Fulfillmentプロジェクトをコンパイルおよび再デプロイする手順は、次のとおりです。
アプリケーション・ナビゲータでプロジェクトを右クリックします。
コンテキスト・メニューから「CustomerService.jprのメイク」を選択します。
プロジェクトを再度右クリックし、「デプロイ」→「CustomerService」を選択します。
デプロイメント・ウィザードの最初のページが表示されます。
ウィザード・ページの指示に従い、プロジェクトをSoademoApplicationServerにデプロイします。
SOAOrderBookingプロジェクトはBPELプロジェクトで、SOA Order Bookingアプリケーションのメイン・フローを表します。これにより、注文情報が適切なタイミングで適切なサービスに送信されます。たとえば、CreditServiceに接続して顧客のクレジット・カードをチェックし、クレジット・カードがチェックに合格したら、サプライヤに接続(「Select Manufacturer」および「Rapid Distributors」)して注文の見積価格を入手します。
Oracle JDeveloper 11gでこのプロジェクトをコンパイルおよびデプロイするには、次のいくつかの変更を行う必要があります。
Oracle JDeveloper 11gで、SOAOrderBookingプロジェクトを次のように変更します。
SOAOrderBookingプロジェクトを展開し、「SOAコンテンツ」→「ApproveOrder」フォルダを開きます。
ApproveOrder.taskファイルをダブルクリックします。このファイルで、手動による承認タスクを定義します。
割当ておよびルーティングのセクションの「マネージャ」アイコンをダブルクリックし、「識別タイプ」ドロップダウン・メニューから「ユーザー」を選択して、該当フィールドにweblogic
を入力します。
「SOAコンテンツ」フォルダを開き、「composite.xml」をダブルクリックします。
「SOAコンポジット・エディタ」にSOAOrderBookingコンポジットが表示されます。
Orderへの参照を表すアイコンをダブルクリックします。
この外部参照はOrderデータベース・アダプタを表します。
この参照をダブルクリックすると、アダプタ構成ウィザードが表示されます。
ウィザードの指示を実行します。デフォルト設定は、次の変更を除いて受け入れます。
データベース接続としてsoademo
を選択します。
「JNDI名」をeis/DB/soademoDS
に設定します。
OrderSequenceへの参照とOrderStatusへの外部参照に対してステップ5と6を実行します。これらの参照はともに、soademoデータベースおよびスキーマに接続するデータベース・アダプタを表しています。
SelectServiceへの参照をダブルクリックします。
「参照の更新」ダイアログ・ボックスが表示されます。
「WSDL URL」フィールドの横の「WSDL」アイコンをクリックすると、「SOAリソース・ブラウザ」が表示されます。
ドロップダウン・メニューから「リソース・パレット」を選択し、次に「リソース・パレット」から「SelectManufacturer」を選択します。
OrderFulfillmentへの参照に対してステップ8を繰り返します。ただし、今回は「リソース・パレット」のFulfillmentESBでFulfillment.OrderFulfillment_epエントリ・ポイントを選択します。
プロジェクトの変更を保存します。
この手順の前のほうでRapidService、CreditServiceおよびCustomerServiceプロジェクトをアップグレードして再デプロイした場合、Oracle Application Server 10g環境にデプロイされ稼働しているWebサービスではなく、新しい11g Webサービスを使用するように、SOAOrderBookingプロジェクトを変更できます。
または、引き続き、既存の10g Webサービスを参照することもできます。詳細は、A.8.1項「CreditService、RapidServiceおよびCustomerServiceプロジェクトについて」を参照してください。
新しくアップグレードされたRapidService、CreditServiceおよびCustomerService Webサービスを使用するようSOAOrderBookingプロジェクトを変更する手順は、次のとおりです。
アップグレードされたWebサービス・プロジェクトの新しいWSDL URLを検索します。
Webブラウザを開き、Fusion Middleware Controlにログインします。
For example: host24.mycompany.com:7001/em
詳細は、『Oracle Fusion Middleware管理者ガイド』のOracle Enterprise Manager Fusion Middleware Controlの使用に関するスタート・ガイドの項を参照してください。
ターゲット・ナビゲーション・ペインで、「アプリケーション・デプロイメント」フォルダを開きます。
デプロイ済アプリケーションのリストで、「SOADEMO-RAPIDSERVICE-RapidService-WS」アプリケーションをクリックします。
選択したアプリケーション用の「アプリケーション・デプロイメント」ページが表示されます。
このページの「エントリ・ポイント」セクションにある「Webサービス」表で、「SOADEMO-RAPIDSERVICE-RapidService-WS」に対して「テスト」アイコンをクリックします。
「Webサービスのテスト」ページから、WebサービスのWSDL URLをメモします。
CreditServiceおよびCustomerServiceアプリケーションに対してステップcからeまでを繰り返します。
新しいWSDL URLを使用してSOAOrderBookingコンポジットを変更します。
SOAOrderBookingプロジェクトを展開し、composite.xmlをダブルクリックします。
「SOAコンポジット・エディタ」にSOAOrderBookingコンポジットが表示されます。
右側のスイムレーンでRapidServiceへの外部参照を表すアイコンをダブルクリックします。
この外部参照はRapidService Webサービスを表します。
この参照をダブルクリックすると、「参照の更新」ダイアログ・ボックスが表示されます。
「WSDL URL」フィールドに新しい11gのWSDL URLを入力し、「OK」をクリックします。
CreditValidationServiceおよびCustomerServiceへの外部参照に対してステップcとdを繰り返します。
プロジェクトの変更を保存します。
CustomerServiceプロジェクトを11gにアップグレードした場合は、11gへのアップグレード時に加えた変更を反映するよう、SOAOrderBooking.bpel
ファイルも変更する必要があります。
それには、Webサービス・バインディングを再接続し、customerServiceRequest
、customerServiceResponse
および後続の可変問合せを更新する必要があります。
SOAOrderBookingプロジェクトをコンパイルおよび再デプロイする手順は、次のとおりです。
アプリケーション・ナビゲータでプロジェクトを右クリックします。
コンテキスト・メニューから「メイク」を選択します。
プロジェクトが正常にコンパイルされます。
プロジェクトを再度右クリックし、「デプロイ」→「SOAOrderBooking」を選択します。
デプロイメント・ウィザードの最初のページが表示されます。
ウィザード・ページの指示に従い、プロジェクトをSoademoApplicationServerにデプロイします。
OrderBookingESBプロジェクトはSOA Order Bookingアプリケーションへのエントリ・ポイントです。
OrderBookingESBプロジェクトによりSOAOrderBookingプロジェクトが起動されます。SOAOrderBookingプロジェクトは、SOA Order Bookingアプリケーションの主要なフローを定義するBPELプロジェクトです。
これは、10g リリース3 (10.1.3)のOracle Enterprise Service Bus(ESB)プロジェクトとして作成されました。
Oracle JDeveloper 11gでこのプロジェクトをコンパイルおよびデプロイするには、次のいくつかの変更を行う必要があります。
Oracle JDeveloper 11gでOrderBookingESBプロジェクトを変更する手順は、次のとおりです。
OrderBookingESBプロジェクトを展開し、composite.xmlをダブルクリックします。
OrderBookingESBコンポジットが「SOAコンポジット・エディタ」に表示されます(図A-4)。
右側のスイムレーンでOrderBookingへの外部参照を表すアイコンをダブルクリックします。
この外部参照はOrderBooking Webサービスを表します。
この参照をダブルクリックすると、「参照の更新」ダイアログ・ボックスが表示されます。
「WSDL URL」フィールドの横の「WSDL」アイコンをクリックすると、「SOAリソース・ブラウザ」が表示されます。
ドロップダウン・メニューから「リソース・パレット」を選択してアプリケーション・サーバー接続を開き、「リソース・パレット」から「SOAOrderBooking」→「クライアント」リソースを選択します。
プロジェクトの変更を保存します。
OrderBookingESBプロジェクトをコンパイルおよび再デプロイする手順は、次のとおりです。
アプリケーション・ナビゲータでプロジェクトを右クリックします。
コンテキスト・メニューから「メイク」を選択します。
プロジェクトが正常にコンパイルされます。
プロジェクトを再度右クリックし、「デプロイ」→「SOAOrderBookingESB」を選択します。
デプロイメント・ウィザードの最初のページが表示されます。
ウィザード・ページの指示に従い、プロジェクトをSoademoApplicationServerにデプロイします。
Oracle JDeveloper 11gでSOA Order Bookingアプリケーションを開いてアップグレードすると、ApproveOrderTaskFormプロジェクトが自動的に作成されます。
このプロジェクトは変更する必要はありません。ただし、このプロジェクトをデプロイするには、プロジェクトとしてではなくアプリケーションとしてデプロイする必要があります。
ApproveOrderTaskFormプロジェクトを選択します。
「アプリケーション」メニューから、「デプロイ」→「ApproveOrderTaskForm」を選択します。
デプロイメント・ウィザードの最初のページが表示されます。
ウィザード・ページの指示に従い、プロジェクトをSoademoApplicationServerにデプロイします。
Oracle Enterprise Manager Fusion Middleware Controlでは、Webベースの管理コンソールが用意されており、Oracle SOA Suiteコンポジット・アプリケーションの管理に使用できます。
Fusion Middleware ControlでSOA Order Bookingアプリケーションをテストする手順は、次のとおりです。
SOA Order Bookingアプリケーション・プロジェクトをデプロイしたOracle WebLogic ServerドメインのFusion Middleware Controlにログインします。
Fusion Middleware ControlのURLは通常次のようになります。
http://hostname:7001/em
詳細は、『Oracle Fusion Middleware管理者ガイド』のOracle Enterprise Manager Fusion Middleware Controlの使用に関するスタート・ガイドの項を参照してください。
ターゲット・ナビゲーション・ペインで、「SOA」フォルダ→「soa-infra(soa_server1)」ノードの順に開き、ドメインにデプロイされたSOAコンポジット・アプリケーションを表示します。
「OrderBookingESB」コンポジット・アプリケーションをクリックします。
OrderBookingESBコンポジット・アプリケーション・ホームページの「ダッシュボード」タブが表示されます。このタブを使用することで、デプロイされたSOAコンポジット・アプリケーションを管理および監視できます。
ページの上部にあるボタン・バーの「テスト」をクリックします。
「Webサービスのテスト」ページに、「WSDLの位置」、「操作リスト」および2つのタブ「リクエスト」と「レスポンス」が表示されます。
このページで「引数を入力」セクションまで下にスクロールします。
ページのこのセクションで、コンポジット・アプリケーションをテストするための入力データを入力できます。SOA Order BookingアプリケーションのZIPファイルには、SOA Order Bookingアプリケーションのテストに使用するサンプル・データの入った、2つのテキスト・ファイルが含まれています。
SOADEMO_HOMEのルート・ディレクトリで、次の入力サンプル・テスト・ファイルを特定します。
sampleInput2.txt
sampleInput2.txt
を開き、ファイルのコンテンツをすべて選択およびコピーします。
「Webサービスのテスト」ページの「引数を入力」セクションのドロップダウン・メニューから、「XML表示」を選択します。
ページの「引数を入力」セクションの「リクエスト」タブに表示されたXMLコンテンツを選択して削除します。
図A-11は、「引数を入力」セクションで選択されたXMLコンテンツを示しています。
sampleinput2.txt
ファイルのコンテンツをテキスト・フィールドに貼り付け、ページの下部で「Webサービスのテスト」をクリックします。
数秒後、Webサービスが正常に起動されたことを示すメッセージが表示されます。サービスが取得した戻り値も表示されます。
「メッセージ・フロー・トレースの起動」リンクをクリックして、コンポジットのフローならびにサービス、コンポーネントおよび参照の各ステータスを確認します。
「フローのトレース」ページ(図A-12)にプロセス・フローの各ステップが表示されます。このビューを使用することで、アプリケーションがその中の各コンポーネントおよびタスクを進行する過程を監視できます。
また、コンポーネントをクリックすることで、コンポーネントの「インスタンスの詳細」にドリルダウンできます。
追加のテストとして、この同じ手順を実行するために、sampleinput2.txt
と同じディレクトリに入っているsampleinput1.txt
を使用でき、$1000を超える注文を発行します。
sampleinput1.txt
の場合、次のURLにログインして注文を承認するまで、ワークフローが停止し、続行されません。
http://domain:port/integration/worklistapp
図A-11 「SOAコンポジット - Webサービスのテスト」ページの「引数を入力」セクションにおけるXMLコンテンツの選択
図A-12: Fusion Middleware ControlでのSOA Order Bookingアプリケーションのフロー・トレース