ここでは、ウィザードを使用して短時間でアプリケーションとプロジェクトを作成し、外部Webサービス定義を使用してデータ・コントロールを作成します。
詳細を表示/非表示詳細表示
目的 所要時間 アプリケーション
このチュートリアルでは、外部のWebサービスを使用してデータ・コントロールを作成し、利用する方法について説明します。 これから作成するアプリケーションの完成版を確認するには、「Download」ボタンをクリックして最終アプリケーションのzipファイルをダウンロードし、JDeveloperのmyworkフォルダに解凍します。 30分 wsdatacontrolapp.zipのダウンロード
注:アプリケーションの完成版をダウンロードしている場合詳細を表示/非表示詳細表示
ステップ1: 新規アプリケーションとプロジェクトの作成
  1. メイン・メニューから「File」→「New」を選択します。 New Galleryで「General」カテゴリを展開し、「Applications」を選択します。 Itemsリストで「Custom Application」を選択し、「OK」をクリックします。

    New Gallery、Applications
  2. JDeveloperアプリケーションは、組織構造の最上位レベルです。 アプリケーションの開発中に、操作しているオブジェクトの情報がここに格納されます。 詳細を表示/非表示詳細表示
  3. この例に合わせるため、アプリケーション名としてWSDataControlAppと入力し、「Next」をクリックします。

    カスタム・アプリケーションの作成
  4. 初期プロジェクト構造(アプリケーションの作業領域内にある名前付きプロジェクト・フォルダ)および追加されるアプリケーション・ライブラリは、選択したアプリケーション・テンプレートによって決まります。 詳細を表示/非表示詳細表示
  5. プロジェクト名としてModelと入力します。

    カスタム・アプリケーションの作成、プロジェクト名の入力

  6. Finish」をクリックします。

    アプリケーション・ナビゲータのProjectsパネルは、次のように表示されます。

    新規プロジェクト作成後のアプリケーション・ナビゲータ

  7. テンプレートから作成された新規アプリケーションは、プロジェクト階層に分割されてアプリケーション・ナビゲータに表示されます。各プロジェクトには関連する機能が設定されています。 詳細を表示/非表示詳細表示
ステップ2: Webサービス定義を使用したデータ・コントロールの作成
アプリケーション内でWebサービスを使用するもっとも一般的な方法は、外部のWebサービスに対応するデータ・コントロールを作成することです。 詳細を表示/非表示詳細表示
  1. メイン・メニューから「Tools」→「Preferences」を選択します。 Preferencesダイアログの左側で「Web Browser and Proxy」をクリックしてから、右側で「Use HTTP Proxy Server」を選択して、サーバーからインターネットへのアクセスにプロキシが使用されるようにします。 組織のプロキシ・サーバーのURLまたはDNS名と、プロキシ・サーバーへのアクセスに使用するマシンのポート番号を入力します。

  2. ファイアウォールの内部にあるマシンから外部のWebサービスにアクセスするには、JDeveloperのプロキシ設定を変更しなければならない場合があります。 詳細を表示/非表示詳細表示
  3. アプリケーション・ナビゲータでプロジェクトを右クリックし、「New」→「Business Tier」→「Data Controls」→「Web Service Data Control」の順にクリックして、「OK」をクリックします。

    New Gallery、Business Tier、Data Controls

  4. ウィザードのステップ1のData Source画面で、データ・コントロール名としてGetWeatherを入力します。

  5. URLフィールドに、WSDLのURLであるhttp://www.webservicex.net/WeatherForecast.asmx?WSDLを入力します。

  6. WSDL(Webサービス記述言語)は、Webサービスとの通信方法を定義した記述言語です。 詳細を表示/非表示詳細表示
  7. [Tab]キーを押します。

    サービスの使用状況によって異なりますが、しばらくするとServiceドロップダウン・リストに{http://www.webservicex.net}WeatherForecastが移入され、表示されます。

    Create Web Service Data Control、Data Source画面

  8. Serviceドロップダウン・リストに値が移入されたら、「Next」をクリックします。

  9. ステップ2のData Control Operations画面で、「矢印アイコン」矢印アイコンを使用して、WeatherForecastSoap12の下に表示されたGetWeatherByZipCodeを、AvailableペインからSelectedペインへ移動します。

    Create Web Service Data Control、Operations画面

  10. Finish」をクリックします。

    JDeveloperによって、プロジェクトにデータ・コントロール定義ファイル(DataControls.dcx)が追加され、このファイルが概要エディタ内に開きます。

    概要エディタ、DataControls.dcxファイル

  11. すべて保存アイコンSave Allをクリックして作業内容を保存します。

  12. アプリケーション・ナビゲータで「Data Controls」パネルを展開します。

    アプリケーション・ナビゲータ、Data Controlsパネル

    作成したデータ・コントロールが表示されていない場合、パネル・ツールバーの「更新アイコンRefreshアイコンをクリックします。

  13. Data Controlsパネルには、先ほど作成し、アプリケーションから使用できるようになったGetWeatherデータ・コントロールが表示されています。 詳細を表示/非表示詳細表示
ステップ3: ページ・フローの作成とJSFページの追加

ここではデフォルトのページ・フロー・ダイアグラムを使用して、2つのJSFページを作成します。

  1. メイン・メニューから「File」→「New」→「General」→「Projects 」→「ADF ViewController Project」の順に選択し、「OK」をクリックします。

    New Gallery、ViewControllerプロジェクト

  2. プロジェクト名として「ViewController」を受け入れます。

    カスタム・プロジェクトの作成

  3. Finish」をクリックします。

    アプリケーション・ナビゲータにViewControllerプロジェクトが表示されています。

    アプリケーション・ナビゲータ、作成されたViewControllerプロジェクト

  4. アプリケーション・ナビゲータのViewControllerプロジェクトでWEB-INFの下にある「adfc-config.xml」ダブルクリックし、デフォルトのページ・フロー・ダイアグラムを開きます。

    ダイアグラムは最初、空白のキャンバスです。 ダイアグラマが現在のエディタとして選択されていない場合、エディタ・ウィンドウの一番下にある「Diagram」タブをクリックします。

    ダイアグラマ、adfc-config.xml
  5. デフォルトで、ViewControllerプロジェクトには、JDeveloperによって空のアンバウンド・タスク・フロー(ソース・ファイルはadfc-config.xml)が含まれています。 詳細を表示/非表示詳細表示
  6. コンポーネント・パレットで、ADF Task FlowページのComponentsパネルの Activitiesセクションに対して、ダイアグラム上に「facespageアイコンViewをドラッグ・アンド・ドロップし、ビュー・アクティビティの名前を変更します。 次のビュー・アクティビティ名を使用して、このページに対して同じ操作を2回繰り返します。

    InputPage
    ResultsPage

    追加されたビュー・アクティビティ、アンバウンド・タスク・フロー・ダイアグラム
  7. もっとも重要なタスク・フロー・アクティビティ・タイプはViewです。ViewタイプはJSFページを表します。 タスク・フロー・ダイアグラムでは、通常、エンドユーザーのタスクを完了するために相互作用するアクティビティとコントロール・フロー・ルールを定義します。 詳細を表示/非表示詳細表示
  8. コンポーネント・パレットのComponentsパネルのControl Flowセクションで、「緑の右矢印Control Flow Caseをクリックします。 ダイアグラムで、「InputPage」ページ・アイコンをクリックしてから、「ResultsPage」ページ・アイコンをクリックします。 コントロール・フロー・ケース要素の名前をshowに変更します。

  9. コンポーネント・パレットで、「緑の右矢印Control Flow Caseを再度クリックします。 ダイアグラムで、「ResultsPage」ページ・アイコンをクリックしてから、「InputPage」ページ・アイコンをクリックします。 コントロール・フロー・ケース要素の名前をbackに変更します。

    ダイアグラマ、完了したページ・フロー

  10. ダイアグラムで「InputPage」ページ・アイコンをダブルクリックし、Create JSF Pageダイアログを開きます。

  11. ドキュメント・タイプとして「Facelets」を選択し、InputPage.jsfというデフォルトのファイル名を受け入れます。

    Create JSF Pageダイアログ、InputPage
  12. アプリケーション向けに作成するJSFページには、Faceletsドキュメント(ファイル拡張子は.jsf)、またはXML構文で記述されたJSPドキュメント(ファイル拡張子は.jspx)を使用できます。 詳細を表示/非表示詳細表示
  13. Page Layoutページで「Blank Page」を選択します。 Managed Beanページで、「Do Not Automatically Expose UI Components in a Managed Bean」を選択します。

  14. Create JSF Pageダイアログでは、新しいページのルック・アンド・フィールの一部を任意で定義でき(PageLayoutタブ)、また、ページ上のコンポーネントをマネージドBeanで公開するかどうかを指定できます(Managed Beanタブ)。 詳細を表示/非表示詳細表示
  15. OK」をクリックします。

    デフォルトではビジュアル・エディタに新規のJSF Faceletsページが表示されます。

    ビジュアル・エディタ、コンポーネント・パレット
  16. 新しいJSFページをFaceletsドキュメント・タイプ(ファイル拡張子は.jsf)として作成すると、JSFコア・タグ・ライブラリ向けのxmlns属性とOracle ADF Facesタグ・ライブラリ向けのxmlns属性を1つずつ持つ初期ページ構造が、JDeveloperによって自動的に作成されます。詳細を表示/非表示詳細表示
  17. エディタ・ウィンドウで、「adfc-config.xml」ドキュメント・タブを選択して、ダイアグラムを前面に表示します。 「ResultsPage」ページ・アイコンをダブルクリックして、Create JSF Pageダイアログを開きます。

    Create JSF Pageダイアログ

  18. ドキュメント・タイプとして「Facelets」を選択します。 ファイル名はデフォルトのResultsPage.jsfのままにします。 Page Layoutページで「Blank Page」を選択します。 Managed Beanページで、「Do Not Automatically Expose UI Components in a Managed Bean」を選択します。 「OK」をクリックします。

  19. コンポーネント・パレットのADF FacesページのLayoutパネルで、「borderlayoutアイコンPanel Stretch Layoutをドラッグしてビジュアル・エディタの空白ページにドロップします。

    ビジュアル・エディタにコンポーネントをドラッグすると、ページ上にFormという名前の長方形の領域が表示されます。これは、ドラッグしているコンポーネントがターゲット・コンポーネント内に挿入されることを意味します。

    ビジュアル・エディタ、フォームへの挿入

  20. すべて保存アイコンSave Allをクリックして作業内容を保存します。

  21. ページ・フローとJSFページの作成ステップが完了すると、アプリケーション・ナビゲータのViewControllerプロジェクトは次のように表示されます。 詳細を表示/非表示詳細表示
ステップ4: パラメータ・フォームの作成

最初のページに、エンドユーザーが郵便番号を入力するためのフォームを追加します。 このフォームには入力テキスト・フィールドとコマンド・ボタンが含まれています。 ボタンがクリックされると、アプリケーションによって、入力値が渡される2番目のページにナビゲートされます。

  1. エディタ・ウィンドウで、上部にある「InputPage.jsf」タブをクリックして、ページを前面に表示します。

    エディタ・ウィンドウのドキュメント・タブ

    まだ開いていない場合は、アプリケーション・ナビゲータのViewControllerプロジェクトにある「InputPage.jsf」をダブルクリックして、ビジュアル・エディタ内にページを開きます。

  2. Data Controlsパネルで、「GetWeather」を展開します。

    Data Controlsパネル、GetWeatherを展開した状態
  3. データ・コントロールはビジネス・サービスを表すものであり、使用可能なビジネス・オブジェクト(コレクション、属性、メソッドなど)の階層表示で構成されています。 詳細を表示/非表示詳細表示
  4. GetWeatherByZipCode(String)」メソッドをビジュアル・エディタにドラッグして、ページにドロップします。 Createコンテキスト・メニューから「ADF Parameter Form」を選択します。

    Createコンテキスト・メニュー、フォーム

  5. Edit Form Fieldsダイアログで、デフォルトの値を受け入れて「OK」をクリックします。

    Edit Form Fieldsダイアログ

    ビジュアル・エディタでページが次のように表示されます。

    ビジュアル・エディタ、InputPage
  6. Data Controlsパネルを使用してパラメータ・フォームを作成すると、JDeveloperによって次のOracle ADF Facesタグがページに追加されます。 詳細を表示/非表示詳細表示
  7. ビジュアル・エディタで、ページ上の入力フィールドを選択します。 Input Textのプロパティ・インスペクタで、Labelフィールドからバインディング値を削除し、Enter zip codeというテキストで置き換えます。

    プロパティ・インスペクタ、入力テキストのラベル
  8. Input TextコンポーネントのValue属性に対するバインディングに注意してください。 詳細を表示/非表示詳細表示
  9. ビジュアル・エディタで、ページ上のボタンを選択します。 ボタンのプロパティ・インスペクタで、Actionドロップダウン・リストから「show」を選択します。

    プロパティ・インスペクタ、ボタン
  10. showという要素名を使用したコントロール・フロー・ケースは、タスク・フロー・ダイアグラム上のInputPageとResultsPage間に前もって追加してあります。 詳細を表示/非表示詳細表示
  11. ActionListenerフィールドからデフォルト値の#{bindings.GetWeatherByZipCode.execute}を削除し、空白のままにします。

    プロパティ・インスペクタ、Button Actionセクション
  12. アプリケーションが天気予報Webサービスを2回呼び出さないようにするには、コマンド・ボタンのActionListener属性からバインディング値を削除する必要があります。 詳細を表示/非表示詳細表示
  13. コンポーネント・パレットのADF Facesページで、「Operations」パネルを展開します。 Listenersセクションまでスクロールしたら、「リスナー・アイコンSet Property Listenerをビジュアル・エディタにドラッグし、ページのボタン上にドロップします。

    Set Property Listenerを使用すると、ボタンがクリックされた際に2番目のページに値が渡されます。

  14. Set Property Listenerダイアログで、Fromフィールドの横にあるプロパティ・メニュー・アイコンドロップダウン・メニューから「Expression Builder」を選択します。

    Insert Set Property Listenerダイアログ

  15. Expression Builderで、「ADF Bindings」→「bindings」→「ZipCode」の順に展開します。

    Expression Builder、Oracle ADF Bindingsを展開した状態

  16. ZipCodeの下で、inputValueが表示されるまで下方向にスクロールしたら、これを選択します。

    inputValue」を選択すると、Expressionボックスに#{bindings.ZipCode.inputValue}というEL式が表示されます。 「OK」をクリックして、Expression Builderを閉じます。

    Expression Builder、式が移入されたExpressionボックス

  17. Insert Set Property Listenerダイアログで、Toフィールドに#{pageFlowScope.ZipCode}と入力します。 次に、Typeドロップダウン・リストから「action」を選択し、「OK」をクリックします。

    Insert Set Property Listenerダイアログ
  18. setPropertyListenerタグは、イベントの発生時に値を割り当てるための宣言的な構文を提供します。 このタグは、さまざまなイベントのリスナー・インタフェースを実装します。 詳細を表示/非表示詳細表示
  19. すべて保存アイコンSave Allをクリックして作業内容を保存します。

    ビジュアル・エディタで、InputPageは次のように表示されます。

    ビジュアル・エディタ、InputPageパラメータ・フォーム

  20. アプリケーション・ナビゲータで、ViewControllerプロジェクトは次のように表示されます。 詳細を表示/非表示詳細表示
ステップ5: 結果表の作成

ここでは、最初のページ上のパラメータ・フォームに入力された値を使用して、Webサービスのメソッドから返された天気データを表示するための表を、2番目のページに追加します。

  1. エディタ・ウィンドウで、「ResultsPage.jsf」タブをクリックして、ページを前面に表示します。

    エディタ・ウィンドウのドキュメント・タブ

    まだ開いていない場合は、アプリケーション・ナビゲータのViewControllerプロジェクトにある「ResultsPage.jsf」をダブルクリックして、ビジュアル・エディタ内にページを開きます。

  2. コンポーネント・パレットのADF FacesページのLayoutパネルで、「Decorative BoxアイコンDecorative Boxをビジュアル・エディタにドラッグし、ページ上のパネル拡張レイアウト・コンポーネントのcenterファセットにドロップします。

    ビジュアル・エディタ、ResultsPage、centerファセットへの挿入

    この例に従って作業している場合、ページ上にパネル拡張レイアウト・コンポーネントが表示されているはずです。このコンポーネントはステップ3のサブステップ14で追加されています。

  3. Data Controlsパネルで、「GetWeatherByZipCode(String)」→「Return」→「GetWeatherByZipCodeResult」→「Details」の順に展開します。

    Data Controlsパネル

  4. WeatherData」コレクション・オブジェクトをドラッグし、先ほど追加したDecorative Boxのcenterファセット内にドロップします。 Createコンテキスト・メニューから「Table」→「ADF Read-only Table」を選択します。

    Createコンテキスト・メニュー、Table

  5. Edit Table Columnsダイアログで「Enable Sorting」を選択し、「OK」をクリックします。

    Edit Table Columnsダイアログ

  6. Edit Action Bindingダイアログでデフォルト値を受け入れます。

    ほとんどの値は、データ・コントロールによって公開されたWebサービスのメソッドに基づいて、宣言的に設定されています。 ZipCodeパラメータの値は後で設定します。

    Edit Action Bindingダイアログ

  7. OK」をクリックします。

    ビジュアル・エディタで、このページは次のように表示されます。

    ビジュアル・エディタ、ResultsPage、表の追加

  8. コンポーネント・パレットのLayoutパネルで、「flowlayoutアイコンPanel Group Layoutをドラッグし、ビジュアル・エディタのページ下部近くにあるbottomファセットにドロップします。

  9. プロパティ・インスペクタのCommonセクションで、Haligncenterに変更し、Layoutscrollに変更します。 次に、「Style」セクションを展開し、InlineStyleフィールドにpadding:5px;と入力して[Enter]を押します。

    プロパティ・インスペクタ、パネル・グループ・レイアウト

  10. コンポーネント・パレットのGeneral Controlsパネルで、「ボタン・アイコンButtonをドラッグし、先ほど追加したパネル・グループ・レイアウトにドロップします。

  11. プロパティ・インスペクタで、ボタンのText値をReturnに変更します。 次に、Actionドロップダウン・リストから「back」を選択します。

    プロパティ・インスペクタ、ボタン - Return

    ビジュアル・エディタで、ResultsPageの下部は次のように表示されます。

    ビジュアル・エディタ、ResultsPage、Returnボタン

  12. backという要素名を使用したコントロール・フロー・ケースは前もって追加してあります。このケースはタスク・フロー・ダイアグラム上の矢印の方向が示すとおり、ResultsPageからInputPageへ接続されています。 詳細を表示/非表示詳細表示
  13. ResultsPage.jsfのビジュアル・エディタで、「Bindings」タブをクリックします。 Bindings and ExecutablesページのBindingsボックスで、「GetWeatherByZipCode」を選択します。

    Bindingsタブ、ResultsPage
  14. WeatherDataなどのツリー値バインディング・オブジェクトは、表全体をデータ・コレクションに対してバインドします。 ツリー値バインディング・オブジェクトはイテレータを使用して値を取得します。 詳細を表示/非表示詳細表示
  15. ResultsPagePageDef.xmlのStructureウィンドウで、bindingsの下にある「GetWeatherByZipCode」を展開し、「ZipCode」を選択します。

    Structureウィンドウ、ResultsPagePageDef、bindingsを展開した状態

  16. プロパティ・インスペクタのNDValueフィールドに#{pageFlowScope.ZipCode}と入力し、[Enter]を押します。

    プロパティ・インスペクタ、ZipCode
  17. ステップ4のサブステップ12では、最初のページのコマンド・ボタンにSet Property Listenerタグを追加する際、入力フィールドから取得されたパラメータ値を格納するために、pageFlowScopeZipCodeプロパティを使用しました。 詳細を表示/非表示詳細表示
ステップ6: 結果表の完成とアプリケーションの実行
  1. ResultsPage.jsfのエディタ・ウィンドウで、下部にある「Design」タブをクリックし、ビジュアル・エディタに切り替えます。

  2. ページ上で、表の列見出しをクリックします。

  3. Structureウィンドウで「af:table」を展開し、次に、2番目の列「af:column - #{...WeatherImage.label}」を展開します。

    Structureウィンドウ、ResultsPage、af:tableを展開した状態
  4. JDeveloperはデフォルトで、すべての表の列に対してOutput Textコンポーネントを挿入しています。 しかし、WeatherImage列は図を表示するため、Imageコンポーネントが必要です。 詳細を表示/非表示詳細表示
  5. コンポーネント・パネルのGeneral Controlsパネルで、「ImageアイコンImageをドラッグし、Structureウィンドウのaf:column - #{...WeatherImage.label}にドロップします。

    Structureウィンドウ、af:tableを展開した状態

  6. Insert Imageダイアログで、何も値を入力せずに「OK」をクリックします。

  7. Imageコンポーネントのプロパティ・インスペクタで、Sourceフィールドの横にあるPropertyメニュー・アイコンドロップダウン・メニューから「Expression Builder」を選択します。

  8. Expression Builderダイアログで、「JSP Objects」→「row」の順に展開し、「WeatherImage」を選択します。

    Expressionボックスに#{row.WeatherImage}という式が移入されることを確認します。

    Expression Builder

  9. OK」をクリックします。

    ビジュアル・エディタで、ページ上の表は次のように表示されます。

    ビジュアル・エディタ内のページ

  10. Structureウィンドウで、「af:outputText - #{...WeatherImage.label}」を選択し、[Delete]キーを押してコンポーネントを削除します。

    2番目の列af:column - #{...WeatherImage.label}は、Structureウィンドウで次のように表示されます。

    Structureウィンドウ、2番目の列に追加されたaf:image

  11. エディタ・ウィンドウで、「adfc-config.xml」タブをクリックして、ダイアグラムを前面に表示します。 「InputPage」アイコンを右クリックし、「Run」を選択します。

    Create Default Domainダイアログが表示されたら、PasswordフィールドとConfirm Passwordフィールドにデフォルト・パスワード(例:weblogic1)を入力し、「OK」をクリックします。

    最初のページは、ブラウザで次のように表示されます。

    ブラウザのページ

  12. 入力フィールドに94065と入力し、「GetWeatherByZipCode」をクリックします。

    サービスの使用状況によって異なりますが、2番目のページにデータが返されるまでしばらくかかる場合があります。

    ブラウザのページ

    2番目のページの表に、今後数日間の天気予報が表示されています。

    列見出しの間にカーソルを合わせ、左右にドラッグすると、表の列幅を調整できます。

    列見出しのSort AscendingアイコンやSort Descendingアイコンを選択すると、列のソート機能を使用できます。

    列見出しのソート・アイコン

  13. ブラウザに表示された2番目のページで、「Return」ボタンをクリックします。 別の郵便番号に対する天気予報を表示してみます。

  14. IDEからJSFアプリケーションを実行すると、JDeveloperは次の処理を自動的に実行します。 詳細を表示/非表示詳細表示
ステップ7: ラベルの設定
  1. エディタ・ウィンドウで、「DataControls.dcx」タブをクリックして、DCX概要エディタを前面に表示します。

    DCXファイルが開かれていない場合は、アプリケーション・ナビゲータのModelプロジェクトにある「DataControls.dcx」をダブルクリックし、ファイルを開きます。

    概要エディタ、DataControls.dcxファイル

  2. GetWeather」→「GetWeatherByZipCode()」→「Return」→「GetWeatherByZipCodeResult」→「Details」の順に展開します。 次に、「WeatherData」を選択し、「編集アイコンEditをクリックして、概要エディタをもう1つ開きます。

    概要エディタ、DataControls.dcxファイル

  3. WeatherData.xml概要エディタの左側にある「Attributes」をクリックします。

    概要エディタ、arg0.xml

  4. Attributes表でDayが選択された状態で、「UI Hints」タブをクリックします。 次に、LabelフィールドにDay of the weekと入力します。

    概要エディタ、Attributes、UI Hints
  5. Oracle ADFコントロール・ヒントは、JavaBeansベースのどのビジネス・サービスのデータ項目も、すべてのクライアント・タイプを通じて同じようにレンダリングさせるメカニズムが集約されています。 詳細を表示/非表示詳細表示
  6. Attributes表で「WeatherImage」を選択し、LabelフィールドにGraphicと入力します。

  7. ビジネス・サービス・レベルでコントロール・ヒントを追加すると、プロジェクトに対するテキスト・リソースを含む.propertiesファイルがJDeveloperによって作成されます。 詳細を表示/非表示詳細表示
  8. エディタ・ウィンドウで、「adfc-config.xml」タブをクリックして、ダイアグラムを前面に表示します。 「InputPage」アイコンを右クリックし、「Run」を選択します。

    ブラウザに2番目のページが表示されたら、表の左側の2つの列見出しに設定した新しいラベルを確認します。

    ブラウザのResultsPage、追加されたラベル

まとめ
このチュートリアルでは、サービスのWSDLを使用して、既存のWebサービスに対するデータ・コントロールを作成しました。 このチュートリアルで学習した内容は、以下のとおりです。 Oracle ADFデータ・バインディングおよびデータバインド・アプリケーションの開発について、詳しくは下記のWebサイトを参照してください。

ブックマーク 印刷 すべて表示 | すべて非表示
トップへ戻る

このページはお役に立ちましたか。



Copyright © 2011, Oracle and/or its affiliates. All rights reserved.