ヘッダーをスキップ
Oracle® Fusion Middleware Oracle ADFデータ・コントロールによるアプリケーションの開発
12c (12.1.2)
E48095-02
  目次へ移動
目次

前
 
次
 

5 ADFモデル・レイヤーを使用したWebサービスの公開

この章では、SOAPおよびREST Webサービス用のADFデータ・コントロールを作成して、ユーザー・インタフェース内でこれらのサービスをより高度に活用できるようにする方法を説明します。

この章には次の項が含まれます:

5.1 Fusion WebアプリケーションのWebサービスについて

企業はWebサービスを使用して、元のアプリケーションのプラットフォームや言語に関係なくビジネス機能を公開できます。これは、ビジネス機能を、他のアプリケーションでも認識され、使用可能な標準XMLコンストラクトで構成されるメッセージに抽象化して公開するからです。

Webサービスは統合と再利用が簡単なモジュール化ビジネス・サービスで、SOA内のコンポーネントとして理想的です。JDeveloperでは、トップダウンWebサービス(WSDLから作成されるサービス)、ボトムアップWebサービス(JavaクラスやデータベースのPL/SQLストアド・プロシージャなどの基礎となる実装から作成されるサービス)、および既存の機能から作成されるサービス(アプリケーション・モジュールをサービスとして公開したものなど)を作成できます。

5.1.1 Webサービスのユースケースと例

WebサービスはWebアプリケーションで使用できますが、その一般的な理由は次のとおりです。

  • アプリケーションとともに開発するには時間がかかる機能を、Webサービスとして即座に提供できます。

  • 異なるアーキテクチャで動作するアプリケーションにアクセスできます。

  • 別チームのアプリケーションを個別にインストール、アップグレード、および管理する必要がある場合、特にデータがローカルでレプリケートされていない場合(つまり他の方法を使用してアプリケーションにアクセスできない場合)に、そのチームが所有しているアプリケーションにアクセスできます。

5.1.2 FusionアプリケーションのWebサービスの追加機能

Webサービスを使用する前に、他のOracle ADF機能を理解しておくと役立つ場合があります。次に、関連する他の機能へのリンクを示します。

  • 「データ・コントロール」パネルから項目をドラッグし、それを特定のUIコンポーネントとしてページ上にドロップすることで、データバインドされたユーザー・インタフェースを設計できます。詳細は、2.3.1項「データ・コントロール」パネルの使用方法」を参照してください。

  • ファイアウォールで保護されている環境で、ファイアウォール外にあるWebサービスを使用する場合は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「ブラウザ・プロキシ情報の設定」の説明に従って、JDeveloperでWebブラウザとプロキシの設定を構成する必要があります。

次の各章では、データ・コントロールで使用できる特定のオブジェクトに関する情報を提供しています。

  • データ・コントロール上のコレクションを使用してフォームを作成する方法については、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の基本的なデータバインドされたページの作成に関する項を参照してください。

  • コレクションを使用して表を作成する方法については、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたADF表の作成に関する項を参照してください。

  • マスター/ディテール関係を使用してUIコンポーネントを作成する方法については、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のマスター/ディテール・データの表示に関する項を参照してください。

  • リストの作成については、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされた選択リストとシャトルの作成に関する項を参照してください。

  • グラフ、チャート、およびその他の視覚化UIコンポーネントの作成については、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたグラフおよびゲージ・コンポーネントの作成に関する項を参照してください。

5.2 Webサービス・データ・コントロールの作成

Oracle ADFを使用して開発されたアプリケーションでWebサービスを使用する場合、外部Webサービスのデータ・コントロールを作成するのが最も一般的な方法です。これは、アプリケーションとともに開発するには時間がかかる機能を、Webサービスとして即座に提供でき、異なるアーキテクチャで動作するアプリケーションにアクセスできるからです。

また、Oracle ADFで作成されたコンポーネントを再利用して、他のアプリケーションからアクセス可能なWebサービスとして提供することもできます。

5.2.1 SOAPベースのWebサービス用のデータ・コントロールを作成する方法

JDeveloperでは、サービスにWSDLのみを使用して既存のWebサービスのデータ・コントロールを作成できます。ローカル・ファイル・システムまたはUDDIレジストリでWSDLを検索するか、WSDL URLを直接入力します。


注意:

ファイアウォールで保護されている環境で、ファイアウォール外にあるWebサービスを使用する場合は、JDeveloperでWebブラウザとプロキシの設定を構成する必要があります。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のブラウザ・プロキシ情報の設定に関する項を参照してください。


始める前に:

Fusion WebアプリケーションでのWebサービス・データ・コントロールの使用方法に関する知識があると、役立つ場合があります。詳細は、5.2項「Webサービス・データ・コントロールの作成」を参照してください。

また、他のWebサービス機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、5.1.2項「FusionアプリケーションのWebサービスの追加機能」を参照してください。

次のタスクを完了する必要があります。


アプリケーション・ワークスペースを作成し、プロジェクトをそのワークスペース内で作成します。プロジェクトの編成方法に応じて、既存のアプリケーション・ワークスペースとプロジェクトを使用することも、新規に作成することもできます。アプリケーション・ワークスペースの追加については、『Oracle JDeveloperによるアプリケーションの開発』のアプリケーションとプロジェクトの作成に関する項を参照してください。

SOAPベースのWebサービス用のデータ・コントロールを作成する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、Webサービス・データ・コントロールを作成する先のプロジェクトを右クリックして、「新規」→「ギャラリから」を選択します。

  2. 「新規ギャラリ」で、「ビジネス層」を展開して「Webサービス」を選択し、「Webサービス・データ・コントロール(SOAP/REST)」を選択して「OK」をクリックします。

  3. 「Webサービス・データ・コントロールの作成」ウィザードの「データ・ソース」ページで、データ・コントロールの名前を入力し、「SOAP」ラジオ・ボタンを選択して、WSDL URLを入力し、データ・コントロールによってアクセスする特定のWebサービスを指定します。

  4. 「データ・コントロール操作」ページで、データ・コントロールによってサポートする操作を「選択済」に移動します。

    オプションで、「HTTPヘッダー・パラメータを含める」チェック・ボックスを選択します。詳細は、5.2.3項「Webサービス・データ・コントロール用のヘッダー・パラメータの含み方」

  5. 「レスポンス・フォーマット」ページで、SOAPレスポンスのフォーマットを指定します。

  6. 「エンドポイント認証」ページで、エンドポイントURLの認証詳細を指定し、「終了」をクリックします。

5.2.2 RESTful Webサービス用のデータ・コントロールを作成する方法

JDeveloperにより、Webサービスへの接続と、呼び出すメソッドのスキーマを使用して、REST Webサービス用のデータ・コントロールを作成できます。

始める前に:

Fusion WebアプリケーションでのWebサービス・データ・コントロールの使用方法に関する知識があると、役立つ場合があります。詳細は、第5.1項「Fusion WebアプリケーションのWebサービスについて」を参照してください。

また、他のWebサービス機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、5.1.2項「FusionアプリケーションのWebサービスの追加機能」を参照してください。

次のタスクを完了する必要があります。


アプリケーション・ワークスペースを作成し、プロジェクトをそのワークスペース内で作成します。プロジェクトの編成方法に応じて、既存のアプリケーション・ワークスペースとプロジェクトを使用することも、新規に作成することもできます。アプリケーション・ワークスペースの追加については、『Oracle JDeveloperによるアプリケーションの開発』のアプリケーションとプロジェクトの作成に関する項を参照してください。

RESTful Webサービス用のデータ・コントロールを作成する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、Webサービス・データ・コントロールを作成する先のプロジェクトを右クリックして、「新規」→「ギャラリから」を選択します。

  2. 「新規ギャラリ」で、「ビジネス層」を展開して「Webサービス」を選択し、「Webサービス・データ・コントロール(SOAP/REST)」を選択して「OK」をクリックします。

  3. 「Webサービス・データ・コントロールの作成」ウィザードの「データソース」ページで、データ・コントロールの名前を指定して「REST」ラジオ・ボタンを選択します。

  4. 「接続」フィールドで、使用するURL接続を選択します。

    URL接続を確立していない場合は、「新規URL接続の作成」アイコンをクリックして「URL接続の作成」ダイアログを開きます。そのダイアログで、接続の名前とベースURLを入力します。URLにはリソースまたはパラメータを含めないでください。


    注意:

    「URL接続の作成」ダイアログで、「接続のテスト」をクリックして、URLに接続できることを確認できます。ただし、URLのサーバーがベースURLに対するリクエストを受け入れないように構成されている場合、テストは失敗します。失敗しても関係なく、「OK」をクリックして接続を作成できます。

    このようなベースURLを使用していて、サービスに接続できることを確認する必要がある場合は、URLに一時的にリソースを追加して、接続をテストしてから、「OK」をクリックする前にリソースを削除できます。


  5. 「リソース」ページで、リソースごとに次のサブステップを実行して、接続のリソースを指定します。

    1. 「追加」ボタンをクリックしてリソース・パスを追加します。

    2. リソース・パスの名前をインラインで入力します。

      リソース・パスの一部として、パス・パラメータを入力することもできます。

      パス・パラメータは、##paramName##の形式で入力します。たとえば、アクセス対象のWebサービスが株式相場を提供している場合に、株の1つを表すリソースの完全なURLがhttp://www.example.com/quotes/ACOMPANYで、パス・パラメータ名がtickerの場合は、リソース・パスとして/quotes/##ticker##のように入力します。


      注意:

      パラメータを使用して、ソース・パスに動的入力を提供することもできます(たとえば、/##servicename##/##ticker##)。この場合、ユーザーはサービス名も入力する必要があります(たとえば、quote)。


      問合せパラメータを指定してリソースを作成する場合は(つまり、?ParamName=ParamValueの形式をとるパラメータ)、ウィザードの次のページでこれらのパラメータを指定できます。

    3. ダイアログの右側で、チェック・ボックスの1つを選択してリソース・パスのRESTメソッドを指定し、そのメソッドを「データ・コントロール」パネルで識別するために使用できる名前を入力します。

  6. データ・コントロールに組み込むリソースごとに、ステップ5を繰り返します。

    図5-1は、2つのリソースが入力されたウィザードの「リソース」ページを示しており、2つ目のリソースにパス・パラメータが含まれています。図に示したように、2つ目のリソースが選択され、そのリソースに対してGETメソッドが指定されています。

    図5-1 「Webサービス・データ・コントロールの作成」ウィザードの「リソース」ページ

    /Departments/##deptId##パスとGETメソッドが選択されている
  7. 「メソッドの詳細」ページで、メソッドを選択して、そのメソッドの応答フォーマットを提供するXSDファイルを指定します。


    ヒント:

    応答フォーマットのスキーマがない場合は、ドキュメントに基づいてリソースのXMLを再作成し、そのXMLファイルからXSDを作成することによって、ユーザーが独自にスキーマを作成できます。JDeveloperでは、「ファイル」→「新規」→「ギャラリから」→「XML」→「XMLドキュメントからのXMLスキーマ」を選択することによって、XMLドキュメントからXSDファイルを生成できます。


  8. メソッドがPUTまたはPOSTメソッドの場合は、「ペイロードXSD」フィールドでリクエスト・ペイロードのスキーマを指定します。

  9. 選択したメソッドに対して、URLパラメータとデフォルト値を指定します。

    リソース・パスに含まれていたパラメータの場合は、パラメータ名が「URLパラメータ」リストに含まれています。これらのパラメータに対しては、デフォルト値を入力する必要があります。

    たとえば、ステップ5に示したサンプル・パラメータでは、tickerがパラメータ名、ACOMPANYがデフォルト値です。

  10. オプションで、「HTTPヘッダー・パラメータを含める」チェック・ボックスを選択します。詳細は、5.2.3項「Webサービス・データ・コントロール用のヘッダー・パラメータの含み方」

  11. メソッドごとにステップ7から10を繰り返します。

    図5-2に示す「メソッドの詳細」ページでは、getDetailsメソッドが選択され、応答XSDが指定され、そのdeptIdパラメータにデフォルト値が設定されています。

    図5-2 「Webサービス・データ・コントロールの作成」ウィザードの「メソッドの詳細」ページ

    getDetailメソッドが選択され、応答XSDが指定されている
  12. 「終了」ページで、生成するデータ・コントロールの詳細を確認して、「終了」をクリックします。

5.2.3 Webサービス・データ・コントロール用のヘッダー・パラメータの含み方

Webサービス・データ・コントロールを使用する場合、HTTPリクエストの起動時にHTTPヘッダーにカスタム・パラメータを追加する場合があります。このようなパラメータは、セキュリティや通知など、様々な目的で役立ちます。たとえば、リクエストを呼び出すときにエンタープライズIDをHTTPヘッダーに追加できます。リクエスト内のエンタープライズIDによって、Webサービス・データ・コントロールは、リクエストの転送先クラウド・サービスを指定できます。

ヘッダー・パラメータを使用するようにWebサービス・データ・コントロールを構成するには、「Webサービス・データ・コントロールの作成」ウィザードで、「HTTPヘッダー・パラメータを含める」を選択します。SOAPベースのWebサービス・データ・コントロールの場合、これは「データ・コントロール操作」ページにあります。RESTベースのWebサービス・データ・コントロールの場合は、「メソッドの詳細」ページにあります。

データ・コントロールの作成後、「データ・コントロール」パネル内のWebサービス・データ・コントロールのメソッドの「パラメータ」ノードの下に、HttpHeaderが表示されます。また、Webサービス・データ・コントロールのAdapterDataControl要素(.dcxファイル内)に、<httpHeaders paramName="HttpHeader"/>要素が含まれています。

HttpHeaderパラメータを使用するには、Webサービス・データ・コントロール用のユーザー・インタフェース・プロジェクトでバッキングBeanを作成する必要があります。HttpHeaderパラメータの値はバッキングBean経由で提供されます。バッキングBeanはMapの型のプロパティを持ち、HTTPヘッダーの名前/値のペアをそのプロパティに追加する必要があります。さらに、Mapの型は<String, List<String>>または<String,String>でなければならず、例5-1のように、getterおよびsetterメソッドを使用してプロパティを公開する必要があります。

例5-1 バッキングBeanによるWebサービス・データ・コントロールでのHttpヘッダー・パラメータのサポート

public class BackingBean {
  private Map<String,Object> httpHeadersMap = new HashMap<String,Object>();
  public BackingBean() {
    List<String> headersList = new ArrayList<String>();
    headersList.add("Oracle");
    httpHeadersMap.put("enterpriseID",headersList);
  }
  public void setHttpHeadersMap(Map<String,Object> httpHeadersMap) {
    this.httpHeadersMap = httpHeadersMap;
  }
  public Map<String,Object> getHttpHeadersMap() {
    return httpHeadersMap;
  }
}

「データ・コントロール」パネルからページに操作を「ADFパラメータ・フォーム」としてドラッグ・アンド・ドロップする際、フィールド・リストからHttpHeaderを削除します。次に、「アクション・バインディングの編集」ダイアログの「パラメータ」セクションで、バッキングBeanのMapプロパティを指す式を提供することで、HttpHeaderパラメータの値を指定します。

5.2.4 SOAP Webサービス・データ・コントロールのエンドポイントの調整方法

Webサービス・データ・コントロールを開発すると、エンドポイントを変更できます。これは、アプリケーションをテスト環境から本番環境に移行する場合などに便利です。

始める前に:

Fusion WebアプリケーションでのWebサービス・データ・コントロールの使用方法に関する知識があると、役立つ場合があります。詳細は、5.2項「Webサービス・データ・コントロールの作成」を参照してください。

また、他のWebサービス機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、5.1.2項「FusionアプリケーションのWebサービスの追加機能」を参照してください。

Webサービス・データ・コントロールのエンドポイントを変更するには:

  1. 「アプリケーション」ウィンドウで、Webサービス・データ・コントロールのDataControls.dcxファイルを選択します。

  2. 「構造」ウィンドウで、Webサービス・データ・コントロールを右クリックして「Webサービス接続の編集」を選択します。

  3. 「Webサービス接続の編集」ダイアログで、必要に応じてエンドポイントのURLとポート名を変更します。

  4. 「OK」をクリックします。

5.2.5 Webサービス・データ・コントロールのリフレッシュ方法

SOAPベースのWebサービス・データ・コントロールの更新後、Webサービス操作のメソッド・シグネチャ、戻り型、または構造が変更されています。この場合、作成しなおさなくても、データ・コントロールを更新できます。

始める前に:

Fusion WebアプリケーションでのWebサービス・データ・コントロールの使用方法に関する知識があると、役立つ場合があります。詳細は、5.2項「Webサービス・データ・コントロールの作成」を参照してください。

また、他のWebサービス機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、5.1.2項「FusionアプリケーションのWebサービスの追加機能」を参照してください。

SOAPベースのWebサービス・データ・コントロールの操作をリフレッシュする手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、Webサービス・データ・コントロールのDataControls.dcxファイルを選択します。

  2. 「構造」ウィンドウで、該当するWebサービス操作を右クリックし、「更新」を選択します。

JDeveloperはWebサービスを問い合せ、Webサービス・データ・コントロールを更新して、選択した操作の最新の状態を反映します。

5.2.6 SOAPベースのWebサービス・データ・コントロールの主キーに関する必知事項

SOAPベースのWebサービスにデータ・コントロールを作成すると、そのデータ・コントロールは公開された任意のコレクションに対する主キー操作をサポートします。

Webサービス定義で参照されるスキーマで、要素または属性がxsd:ID型として定義されている場合、その属性はデータ・コントロールによってキー属性として公開され、コレクションでsetCurrentRowWithKeyおよびsetCurrentRowWithKeyValueデータ・コントロール操作の使用が可能になります。

たとえば、<xsd:attribute>要素を次のように使用することにより、スキーマでdeptno属性を主キーとして設定できます。

<xsd:attribute name="deptno" type="xsd:ID" use="required"/>

また、<xsd:element>要素を次のように使用しても、スキーマでdeptno属性を主キーとして設定できます。

xsd:element name="deptno" type="xsd:ID"/>

注意:

WebサービスをJavaクラスから作成し、キーを表すフィールドまたはgetterメソッドに、JAXB @XmlIDアノテーションおよび@XmlAttribute(required=true)@XmlElement(required=true)のいずれかを追加している場合は、実行時に前述のXSDエントリが生成されます。


前述のいずれかの方法でコレクションにIDを定義していない場合は、データ・コントロールにより、索引に基づく主キーとなる非表示の属性がコレクションに作成されます。その後、setCurrentRowWithKeyまたはsetCurrentRowWithKeyValueデータ・コントロール操作を使用して、行の索引を渡すことができます。


注意:

コレクションのsetCurrentRowWithKeyまたはsetCurrentRowWithKeyValue操作が「データ・コントロール」パネルに表示されない場合は、DataControls.dcxファイルを手動で更新してこれらの操作を公開する必要がある場合があります。そのためには、DataControls.dcxのソース・ビューを開き、サービスのensureKeyAttributeプロパティの値をtrueに設定します。その後、「データ・コントロール」パネルの「リフレッシュ」アイコンをクリックして、操作のリストをリフレッシュします。


5.2.7 Webサービス・データ・コントロールに関する必知事項

他の種類のデータ・コントロールと同様に、「データ・コントロール」パネルから項目をドラッグし、それを特定のUIコンポーネントとしてページ上にドロップすることで、データバインドされたユーザー・インタフェースを設計できます。詳細は、2.3.1項「データ・コントロール」パネルの使用方法」を参照してください。

「データ・コントロール」パネルでは、各データ・コントロール・オブジェクトがアイコンで表されます。表5-1は、各アイコンが表すもの、「データ・コントロール」パネルの階層内で表示される場所、そのアイコンを使用して作成できるコンポーネントを示しています。

表5-1 Webサービスの「データ・コントロール」パネルのアイコンおよびオブジェクト階層

アイコン 名前 説明 作成できるコンポーネント

データ・コントロールのアイコン


データ・コントロール

データ・コントロールを表します。UIコンポーネントを作成するためにデータ・コントロール自体を使用できませんが、その下のリストに含まれるいずれかの子オブジェクトを使用できます。通常、各Webサービスに対するデータ・コントロールは1つです。

他のオブジェクトのコンテナとして機能し、コンポーネント作成には使用されません。

コレクションのアイコン


コレクション

サービスの操作から返されるデータ・コントロールを表現します。コレクションは、メソッド戻りオブジェクト、他のコレクション、または構造化属性の下の子としても表示されます。コレクションの下の子は、属性、他のコレクション、カスタム・メソッド、コレクションに対して実行できる組込み操作などです。

フォーム、表、グラフ、ツリー、レンジ・ナビゲーションの各コンポーネント、およびマスター/ディテール・コンポーネント。

詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の基本的なデータバインドされたページの作成に関する項、データバインドされたADF表の作成に関する項、マスター/ディテール・データの表示に関する項、およびデータバインドされたグラフおよびゲージ・コンポーネントの作成に関する項 を参照してください。

属性のアイコン


属性

オブジェクト内の個別データ要素を表します(行内の属性など)。属性は、それが属するコレクションまたはメソッド戻りオブジェクトの下に子として示されます。

ラベル、テキスト・フィールド、日付、値リスト、および選択リストの各コンポーネント。

詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータ・コントロール属性を使用したテキスト・フィールドの作成に関する項を参照してください。

構造化属性のアイコン


構造化属性

複合型でありコレクションではない、返されたオブジェクトを表します。たとえば、構造化属性は、現在のサービス・リクエストに割り当てられた単一のユーザーを表現します。

ラベル、テキスト・フィールド、日付、値リスト、および選択リストの各コンポーネント。

詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータ・コントロール属性を使用したテキスト・フィールドの作成に関する項、およびデータバインドされた選択リストとシャトルの作成に関する項を参照してください。

メソッドのアイコン


メソッド

データ・コントロールの操作またはその公開された構造のいずれかを表し、パラメータの受入れや、ビジネス・ロジックの実行を行ったり、オプションで単一の値、構造、またはそれらのコレクションを戻すことができます。

コマンド・コンポーネント。

パラメータをとるメソッドの場合: コマンド・コンポーネントおよびパラメータ付きフォーム。

詳細は、コマンド・コンポーネントを使用したビュー・レイヤーの機能の呼出しに関する項を参照してください。

メソッド戻りのアイコン


メソッド戻り

Webサービス・メソッドによって戻されたオブジェクトを表します。返されるオブジェクトは、単一の値またはコレクションです。

メソッドの戻りオブジェクトは、それを返すメソッドの下の子として示されます。メソッドの戻りオブジェクトの下の子として表示されるオブジェクトは、該当コレクションの属性、親コレクションに関連するアクションを実行する他のメソッド、および親コレクション上で実行可能な操作です。

単一値のメソッド戻りオブジェクトがドロップされた場合、メソッドはフレームワークによって自動的に起動されません。メソッドを起動するために、対応するメソッドをボタンとしてドロップする必要があります。また、タスク・フローを使用している場合は、メソッド・アクティビティを作成できます。実行可能ファイルの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のページ定義ファイルで定義される実行可能ファイル・バインディング・オブジェクトに関する項を参照してください。

コレクションと属性、および問合せフォームの場合と同じコンポーネント。

問合せフォームの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたADF検索フォームの作成に関する項を参照してください。

操作のアイコン


操作

親オブジェクト上でアクションを実行する組込みデータ・コントロール操作を表します。データ・コントロール操作は、コレクションの下の「操作」ノードにあります。1つ以上のパラメータが操作に必要な場合、それらのパラメータは操作の下の「パラメータ」ノードにリストされます。

現在行のナビゲーションと設定のために、FirstLastNextPrevioussetCurrentRowWithKey、およびSetCurrentRowWithKeyValueの各操作がサポートされます。問合せをリフレッシュするために、Executeがサポートされます。Webサービス操作に応じて、CreateおよびDeleteが使用可能です。Webサービス・データ・コントロールはトランザクション方式ではないので、CommitおよびRollbackはサポートされません。

ボタン、リンクおよびメニューなどのUIコマンド・コンポーネント。

詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータ・コントロール操作を使用したコマンド・コンポーネントの作成に関する項、および入力フォームの作成に関する項を参照してください。

パラメータのアイコン


パラメータ

パラメータが示されているメソッドまたは操作によって宣言されたパラメータ値を表します。パラメータは、メソッドまたは操作の下の「パラメータ」ノード内に表示されます。

配列および構造化パラメータは、データ・コントロールの下の更新可能な構造化属性およびコレクションとして公開され、UI上にADFフォームまたは更新可能な表としてドロップできます。UIを使用して配列または複合オブジェクト(標準のJava型ではない)のパラメータを作成できます。

ラベル、テキストおよび選択リストの各コンポーネント。


5.3 Webサービス・データ・コントロールのセキュリティ保護

Webサービスを使用すると、アプリケーションは定義済アプリケーション・プログラミング・インタフェースからデータと情報を交換できます。SSL (Secure Sockets Layer)は、信頼性の低いネットワークでの安全なデータ転送を提供しますが、SSLは2点間でのみ機能します。データが相手側に到達すると、SSLセキュリティは解除され、データはそのままの形式でアクセスできるようになります。複雑なWebサービス・トランザクションでは、データの複数メッセージが異なるシステムに送信されることがありますが、SSLはエンドツーエンドのセキュリティを提供できないため、データは盗み読みされる危険があります。

Webサービスでは、あらゆる形態のセキュリティで、次の問題に対応する必要があります。

この項では、「クライアント」とは、デプロイされたWebサービスにSOAPまたはRESTメッセージを送信するWebサービス・データ・コントロールを指します。デプロイされたWebサービスは次のいずれかです。

5.3.1 Oracle WSMのポリシー・フレームワーク

Oracle Web Services Manager (WSM)ポリシー・フレームワークを使用して、組織全体にわたって整合的にWebサービスを管理および保護できます。ポリシー・フレームワークは、WS-Policy標準を使用して構築されます。この標準は、複数のセキュリティ・テクノロジを統一し、システムおよびプラットフォーム間での安全なWebサービスの相互運用性を実現します。

Oracle WSMポリシー・フレームワークは、主に次のような面でWebサービスのセキュリティ問題を解決します。

  • 認証と認可

    データの送信者のアイデンティティが確認され、セキュリティ・システムによって、送信者がデータ・トランザクションを実行する権限を持っていることが確認されます。

    認証型はプレーン・テキストまたは信頼性の高いX509認証チェーンで送信される、基本的なusername/passwordペアです。SAMLアサーション・トークンを使用して、クライアントがサービスに対する認証を受けたり、フェデレートされたSSO環境に参加できるようにすることもできます。この場合、認証の詳細は、ベンダー固有の方法を使用してドメイン間で共有します。

  • データの真正性、整合性および否認防止

    業界標準メッセージを使用するXMLデジタル署名は、アルゴリズムをダイジェスト化し、SOAPメッセージにデジタル署名します。

  • データのプライバシ

    業界標準の暗号化アルゴリズムを使用するXML暗号化により、メッセージを暗号化します。

  • サービス拒否攻撃

    SOAPメッセージにタイム・スタンプを押すXML構造を定義します。サーバーは、タイム・スタンプを使用して、定義された間隔後SOAPメッセージを無効にします。

Webサービスのセキュリティの詳細は、Oracle Web Services Managerの理解に関する項を参照してください。

5.3.2 キー・ストアの使用

キー・ストアを使用して、メッセージ・レベルのセキュリティに対応するようにWebサービスを構成できます。メッセージ保護のためにキー・ストアを作成して使用する方法の詳細は、Webサービスの管理に関する項を参照してください。

5.3.3 SOAPベースのWebサービス・データ・コントロールのセキュリティの定義方法

JDeveloperプロジェクトにSOAPベースのWebサービス・データ・コントロールを作成したら、「データ・コントロール・ポリシーの編集」ダイアログを使用して、データ・コントロールのセキュリティを定義できます。

始める前に:

Webサービス・データ・コントロールでのセキュリティの使用方法に関する知識があると役立つ場合があります。詳細は、5.3項「Webサービス・データ・コントロールのセキュリティ保護」を参照してください。

また、他のWebサービス機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、5.1.2項「FusionアプリケーションのWebサービスの追加機能」を参照してください。

Webサービス・データ・コントロールを定義するには:

  1. 「アプリケーション」ウィンドウで、Webサービス・データ・コントロールのDataControls.dcxファイルを選択します。

  2. 「構造」ウィンドウで、Webサービス・データ・コントロールを右クリックして「Webサービス・セキュリティの定義」を選択します。

    JDeveloperは「データ・コントロール・ポリシーの編集」ダイアログに「ポリシー・ストア」の場所を表示します。


    注意:

    別のポリシー・ストアを使用するには、「プリファレンス」ダイアログの「WSポリシー・ストア」ページでそのポリシー・ストアをまず指定する必要があります。このためには、メイン・メニューで「ツール」→「プリファレンス」を選択し、「WSポリシー・ストア」ページを選択します。


  3. 「ポート」ドロップダウン・リストから、指定したポリシーを適用するポートを選択します。

  4. 「MTOM」ドロップダウン・リストから、使用するMTOM (メッセージ送信最適化メカニズム)ポリシーを選択します。このフィールドを空白のままにすると、MTOMポリシーは使用されません。

  5. 「信頼性」ドロップダウン・リストから、使用する信頼性ポリシーを選択します。このフィールドを空白のままにすると、信頼性ポリシーは使用されません。

  6. 「アドレス指定」ドロップダウン・リストから、使用するアドレス指定ポリシーを選択します。このフィールドを空白のままにすると、アドレス指定ポリシーは使用されません。

  7. 「セキュリティ」リストで、適用する追加のポリシーを任意に指定できます。ポリシーを追加するには、そのポリシーのチェック・ボックスを選択します。

  8. 「管理」リストで、適用する追加の管理ポリシーを任意に指定できます。ポリシーを追加するには、そのポリシーのチェック・ボックスを選択します。

  9. 必要な場合は、ポリシーに対応するチェック・ボックスを選択解除して、「セキュリティ」リストと「管理」リストからポリシーを削除することもできます。

  10. 「プロパティのオーバーライド」をクリックして、オプションで「セキュリティ」リストおよび「管理」リスト内のポリシーのプロパティをオーバーライドできます。

  11. 「OK」をクリックします。

事前定義ポリシー、およびポリシーとそのプロパティの構成の詳細は、Webサービスの管理に関する項を参照してください。