企業はWebサービスを利用することで、元のアプリケーションのプラットフォームや言語に関係なく、ビジネス機能を公開できます。ビジネス機能を公開するには、ビジネス機能を抽象化して、その他のアプリケーションが認識および使用できる標準XML構成要素からなるメッセージを作成します。Oracle ADFは、Webサービスを含む各種のビジネス・サービスまたはデータ・サービスへのアクセスに使用できるアクセス・レイヤーを提供します。
Oracle ADFを使用して開発されたアプリケーションでWebサービスを使用するためのもっとも一般的な方法は、外部Webサービス向けのデータ・コントロールを作成することです。その際の一般的な理由は、アプリケーション内で開発すると時間がかかると思われる機能がWebサービスとしてすぐに利用できる場合に、これを追加するためです。
この項では、統合サーバーにデプロイしたWSDLを使用して、データ・コントロールを作成します。前述のシナリオと同様にアプリケーションは元のJavaコードを含まず、デプロイされたWSDLからデータ・コントロールを作成します。いったんデータ・コントロールを作成したら、すべてのADFクライアント・アプリケーションでこれを使用できます。
-
アプリケーション・ナビゲータでアプリケーション名の右側にある下矢印をクリックし、メニューから「New」→「Project」を選択します。
-
New Galleryで「Web Project」を選択して、「OK」をクリックします。
-
Create Web Projectウィザードで、プロジェクトにWebClientという名前をつけます。「Next」をクリックし、もう一度「Next」をクリックします。
-
Page Flow Technologyステップで「JavaServer Faces (JSF)」を選択し、「Next」をクリックします。
-
Tag Librariesで、Available LibrariesからSelected Librariesに「ADF Faces Components 11」を移動します。JSF Core 2.1とJSF HTML 2.1が自動的に追加されることを確認します。
-
「Next」をクリックします。
-
「Next」、「Finish」の順にクリックします。
-
アプリケーション・ナビゲータで「WebClient」ノードを右クリックし、コンテキスト・メニューから「New」→「From Gallery」を選択します。
-
New GalleryのBusiness Tierカテゴリから「Web Services」ノードを選択し、Itemsリストから「Web Service Data Control (SOAP/REST)」を選択し、「OK」をクリックします。
-
Create Web Service Data Controlウィザードの最初のステップで、データ・コントロールにMyCompanyDCという名前をつけて、先ほどコピーしたWSDLのURLを貼りつけます。
http://localhost:7101/WebService-Annotation-context-root/MyCompanyPort?WSDL. -
[Tab]キーを押すと、ウィザードによってWebサービスからServiceフィールドが入力されます。
-
「Next」をクリックします。
-
Data Control Operationsページで、「getDeptInfo」メソッドをSelectedリストに移動します。
-
「Next」、「Finish」の順にクリックします。
アプリケーション・ナビゲータは、次のように表示されます。
-
「
」Save Allをクリックして作業内容を保存します。
-
アプリケーション・ナビゲータで「Data Control」アコーディオンを開き、先ほど作成したMyCompanyDCデータ・コントロールを表示します。
ここまでで、JSFページを作成し、データ・コントロールを使用する準備が整いました。
![Create Web Service Data Controlのステップ1](images/p6s0110.gif)
この項では、Webサービス・プロキシを起動するクライアント・クラスを更新し、結果をメッセージ・ウィンドウに返すようにします。
-
WebClientプロジェクトから「New Gallery」→「From Gallery」を起動します。
-
「Web Tier」ノードを開き、「JSF / Facelets 」サブノードを選択します。Items列で「Page」を選択し、「OK」をクリックします。
-
プロジェクトにDept_Empという名前をつけ、Document Typeに「Facelets Create as JSP XML」を指定します。Page Layoutタブで「Copy Quikc Start Layoutを選択し、Categoriesで「Three Column Layout」を選択して「OK」をクリックします。
ページ・エディタ内にページが開きます。
次の数ステップで、メソッドにデータ・コントロールを追加します。このページはパラメータを受け入れ、Webサービスへの呼出しを実行し、マスター・ディテール形式で結果を返します。 -
Data Controlsパネルで、「MyCompanyDC」データ・コントロールを開き、「getDeptInfo(Integer)」メソッドを選択します。
-
「getDeptInfo(Integer)」メソッドをドラッグして、ページのfirstファセットにドロップします。ドロップするとメニューが表示されます。「ADF Parameter Form」を選択します。
-
Create Formダイアログで、「OK」をクリックしてデフォルト値を受け入れます。
-
Data Controlsパネルで「MyCompanyDC」→「getDeptInfo(Integer)」→「Return」→「Return」の順に展開し、「Employees」を選択します。
-
「employees」をドラッグしてsecondファセット(firstファセットの右隣)にドロップします。動的メニューから「Master-Details」→「ADF Master Form - Detail Table」を選択します。
-
「
」Save Allをクリックして作業内容を保存します。
-
endファセットを右クリックして、コンテキスト・メニューから「Delete」を選択します。
-
このページのStructureウィンドウでsecondファセットを開きます。secondファセット内で「af:panelGridLayout」→「af:gridRow」→「af:gridCell」→「af:panelGroupgLayout」→「af:panelHeader - employees」の順に展開します。「af:table - t1」コンポーネントを右クリックし、コンテキスト・メニューから「Surround With」を選択します。
-
Surround Withウィンドウで「Panel Collection」を選択し、「OK」をクリックします。
-
「panelCollection」を開き、「af:table - t1」コンポーネントを選択します。プロパティ・インスペクタで、Column Selectionプロパティを「single」に設定します。
-
ページ内を右クリックして、コンテキスト・メニューから「Run」を選択します。
-
デフォルトのブラウザにページがロードされます。
C
-
パラメータ・フィールドに部門番号として20を入力し、「getDeptInfo」ボタンをクリックします。
-
部門情報と関連従業員が取得され、表示されます。
Summary:
- アノテーション付きPOJO Webサービスの作成
- POJOの作成と、JDeveloperを使用したWebサービスへの宣言的なアノテーションの追加
- 既存のWSDLドキュメントを使用したWebサービスの構築
- Enterprise Java Beanを使用したアノテーション付きWebサービスの構築
- Javaプログラムでの消費を可能にするための、既存Webサービスに対するプロキシクラスの作成
- 既存Webサービスに基づくADFデータ・コントロールの作成
- Developing Fusion Web Applications with Oracle Application Development Framework
- Exposing Web Services Using the ADF Model Layer
- Developing Applications with Oracle JDeveloper
![ブックマーク](../_image/bookmark.png)
![印刷](../_image/print_ena.png)