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

前
 
次
 

1 ADFモデルの概要

この章では、データ・コントロールの簡単な概要と、Oracle ADFアプリケーションによるビジネス・サービスからユーザー・インタフェースへのデータのバインディングについて説明します。データ・コントロールのタイプについて説明した後、これらのデータ・コントロールを使用した、データバインドされたUIコンポーネントの作成について説明します。

この章の内容は次のとおりです。

1.1 ADFモデルについて

ADFモデルは宣言的なデータ・バインディング機能で、コードを使用せずにユーザー・インタフェースをビジネス・サービスにバインドする統一されたアプローチを提供します。ADFモデルによって、ユーザー・インタフェース・テクノロジとビジネス・サービス実装の分離を可能にする2つの概念(データ・コントロールと宣言的ADFバインディング)が実装されています。図1-1は、アプリケーション・アーキテクチャ内でADFモデルの各要素が占める位置を示しています。

図1-1 ADFモデルを含むADFアーキテクチャ

この図は周囲のテキストで説明しています

データ・コントロールでは、関連するプロパティ、メソッド、タイプの情報を含め、サービスの操作とデータ・コレクションを表す標準のメタデータ・インタフェースを使用してビジネス・サービスの実装技術を抽象化します。これらの操作とコレクションは、データ・コントロール・オブジェクトとして公開されます。開発者とUI設計者は、これらを使用してデータバインドされたUIコンポーネントを作成でき、基礎となるビジネス・サービスのタイプについて考慮する必要はほとんどありません。

宣言的なバインディングによって、データ・コントロール内のデータ・コレクションからのデータ・アクセスの詳細と、その操作の実行が抽象化されます。宣言的なバインディング・オブジェクトには、次の3つの基本的なカテゴリがあります。

実行時に、ADFモデル・レイヤーによって、適切なXMLファイルからデータ・コントロールおよびバインディングを記述した情報が読み取られ、ユーザー・インタフェースとビジネス・サービスの双方向の結合が実装されます。

ADFモデル・レイヤーをデータのバインドに使用するには、サービスに対してデータ・コントロールを作成する必要があります。データ・コントロールが「データ・コントロール」パネルのツリー階層として表示され、ツリーの各サブノードにコレクション、操作、メソッド、属性などの要素が表されます。その後、Webページのビジュアル・エディタまたはその他のユーザー・インタフェース・コンポーネントに、それらのサブノードをドラッグ・アンド・ドロップすることにより、データバインドされたコンポーネントを作成します。データ・コントロールからサブノードをページにドラッグすると、JDeveloperによって、ページからサービスへのバインディングを表すメタデータが自動的に作成されます。

たとえば、EJBセッション・ファサードを使用するアプリケーションでは、開発者はファサードのデータ・コントロールを作成できます。その後、JDeveloperの「データ・コントロール」パネル(図1-2を参照)に表示されたデータ・コントロールの表現を使用して、セッション・ファサードに自動的にバインドされるUIコンポーネントを作成できます。

図1-2 「データ・コントロール」パネル

この図は周囲のテキストで説明しています

ページのUIコンポーネントをサポートするバインディングのグループは、ページ定義ファイルというページ固有のXMLファイルに記述されます。ADFモデル・レイヤーでは実行時にこのファイルが使用され、ページのバインディングがインスタンス化されます。これらのバインディングは、バインディング・コンテナと呼ばれるリクエスト・スコープ・マップに保持されます。

JSFアプリケーションでは、バインディング・コンテナは、各ページ・リクエスト時にEL式#{bindings}を使用してアクセスできます。この式により、現在のページのバインディング・コンテナが常に評価されます。

例1-1に、フォーム内のチェック・ボックスをOrdersSessionEJBLocalデータ・コントロールのorderFilled属性にバインディングするために使用されるコードを示します。

例1-1 JSF Webページのチェック・ボックスのバインディング・コード

<af:selectBooleanCheckbox value="#{bindings.orderFilled.inputValue}"
                   label="#{bindings.orderFilled.label}"
                   shortDesc="#{bindings.orderFilled.hints.tooltip}" id="sbc1"/>

1.2 データ・コントロールのタイプ

データ・コントロールの実装には様々なものがあり、これらは次に示すカテゴリに分けることができます。

このガイドでは主に、アダプタ・データ・コントロールの作成と使用を中心に説明しますが、情報の大部分はADFビジネス・コンポーネント・データ・コントロールにも適用されます。

1.3 このガイドで説明しないデータ・コントロール

次に、このガイドでは説明しないデータ・コントロールのタイプをいくつか示します。

1.4 アダプタ・フレームワークを使用しないデータ・コントロールに関する必知事項

レガシー・データ・コントロールを使用している場合は、アダプタ・データ・コントロール・フレームワークに基づく新しいデータ・コントロールへの移行を検討することをお薦めします。このフレームワークは、検証ルールや値リスト・オブジェクトなど、多数の便利な機能を備えています。アダプタ・フレームワークを使用して、新しいデータ・コントロール・タイプを最初から作成することも、既存のデータ・コントロール・タイプ(Beanデータ・コントロール・タイプなど)のいずれかを拡張することもできます。