Oracle® Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド 11g リリース2(11.1.2.3.0) B69399-02 |
|
![]() 前 |
![]() 次 |
この付録は、データ・モデル・プロジェクトとユーザー・インタフェース・プロジェクトで作成されるOracle ADFメタデータ・ファイルのリファレンスです。この情報は、これらのファイルに定義されたメタデータの内容を編集する場合に使用できます。
この付録には、次の項が含まれます。
Oracle Fusion Webアプリケーションのメタデータ・ファイルは、アプリケーションによって使用される構造化XMLファイルです。次の目的で使用されます。
アプリケーションのOracle ADFデータ・コントロールで使用できるパラメータ、メソッドおよび戻り値を指定します。
Oracle ADFバインディング・コンテキストのオブジェクトを作成し、それらのオブジェクトの実行時動作を定義します。
JSFおよびOracle ADF FacesのUIコンポーネントに関する構成情報を定義します。
Java EEアプリケーション・サーバーのアプリケーション構成情報を定義します。
ADFバインディングの場合、バインディング固有のエディタを使用して、バインディング・オブジェクトの実行時プロパティをカスタマイズできます。バインディング固有のエディタを開くには、ページ定義ファイルの構造ウィンドウを表示して、ポップアップ・メニューから「プロパティ」を選択します。
また、JDeveloperのXMLエディタでは、任意のメタデータ・ファイルの内容を参照および編集できます。これらのファイルを操作する最も簡単な方法は、構造ウィンドウとプロパティ・インスペクタを使用することです。構造ウィンドウで要素を選択し、プロパティ・インスペクタで(通常はドロップダウン・メニュー・オプションを選択して)その要素の属性値を定義します。このリファレンスは、Oracle ADF固有の要素に選択できるオプションを理解するために使用できます。
Oracle ADFメタデータ・ファイル間の関係により、モデル・データ・プロジェクトとユーザー・インタフェース・プロジェクト間の依存性が定義されます。これらの依存性は、各ファイルのXML要素内のファイル参照として定義されます。
図A-1は、ADF Business Componentsアプリケーション・モジュールをJSF Webページに対するサービス・インタフェースとして使用しているFusion Webアプリケーションで操作する可能性のあるXMLメタデータ・ファイルの階層構造を示しています。
ADF Business Componentsアプリケーションの場合、データ・コントロール実装ファイルはアプリケーションに含まれます。データ・コントロール用の参照は、アプリケーション・モジュールおよびビュー・オブジェクトXMLコンポーネントのディスクリプタ・ファイルによって提供されます。これらのファイルはbc4j.xcfg
ファイルとともに、データ・コントロールに必要な情報を提供します。
1つのプロジェクトでADF Business Componentsを使用し、別のプロジェクトでADF Business Components以外のデータ・コントロールを使用するアプリケーションは、DataControls.dcx
ファイルと、サポート用の<sessionbeanname>
.xml
ファイルおよび<beanname>
.xml
ファイルを持つ場合があります。
Fusion Webアプリケーションの標準的な次のXML構成ファイルは、ユーザー・インタフェース・プロジェクトに表示されます。
adfm.xml
: このファイルには、現在のプロジェクトで利用できるDataBindings.cpx
ファイルがリストされます。
詳細はA.4項「adfm.xml」を参照してください。
DataBindings.cpx
: このファイルには、ページ・マップ、ページ定義参照およびデータ・コントロール参照が含まれます。このファイルは、(構造ウィンドウまたは「データ・コントロール」パネルで)UIコンポーネントのデータ・バインディングを最初に作成したときに作成されます。DataBindings.cpx
ファイルでは、アプリケーション全体のOracle ADFバインディング・コンテキストを定義します。バインディング・コンテキストは、アプリケーション全体にわたるバインディングおよびデータ・コントロールへのアクセスを提供します。DataBindings.cpx
ファイルには、各WebページのOracle ADFバインディングのメタデータを定義する<pagename>
PageDef.xml
ファイルへの参照も含まれます。
詳細は、A.7項「DataBindings.cpx」を参照してください。
<pagename>
PageDef.xml
: ページ定義XMLファイルです。これにより、WebページのUIコンポーネントがデータまたはデータ・コントロールと関連付けられます。ユーザーが「データ・コントロール」パネルまたは構造ウィンドウを使用して、新しいWebページを設計するたびに、JDeveloperによりこのファイルが作成されます。これらのXMLファイルには、WebページのUIコンポーネントにデータを移入するバインディングを作成するためのメタデータが含まれます。ADFバインディングを参照するすべてのWebページに対して、バインディング定義を含む専用のページ定義ファイルが必要です。
詳細は、A.8項「pageNamePageDef.xml」を参照してください。
JSFアプリケーションに必要とされる次の標準XML構成ファイルは、ユーザー・インタフェース・プロジェクトに表示されます。
web.xml
: アプリケーション構成の一部は、Java EEアプリケーション・デプロイメント・ディスクリプタのweb.xml
の内容によって決定されます。web.xml
ファイルでは、サーバーが認識する必要のあるアプリケーションのすべての設定を定義します。このファイルで、ADFBindingFilter
を設定してOracle ADFデータ・バインディングを構成します。追加の実行時設定には、サーブレットの実行時パラメータと初期化パラメータ、カスタム・タグ・ライブラリの場所、およびセキュリティ設定が含まれます。
ADFデータ・バインディングとJSF構成オプションの詳細は、A.13項「web.xml」を参照してください。
ADF Facesアプリケーションでは通常、web.xml
以外に構成ファイルの独自のセットが使用されます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のtrinidad-config.xmlでの構成に関する項を参照してください。
adfc-config.xml
: ADFバインドなしタスク・フローの構成ファイル。構成ファイルには、バインドなしタスク・フローに格納されているアクティビティおよび制御フローに関するメタデータが含まれています。このファイルのデフォルト名はadfc-config.xml
ですが、エンド・ユーザーはこの名前を変更できます。
詳細は、A.9項「adfc-config.xml」を参照してください。
task-flow-definition.xml
: ADFバインド・タスク・フローの構成ファイル。構成ファイルには、バインド・タスク・フローに格納されているアクティビティおよび制御フローに関するメタデータが含まれています。このファイルのデフォルト名はtask-flow-definition.xml
か、エンド・ユーザーが「ADFタスク・フローの作成」ダイアログで指定した名前にできます。複数のタスク・フロー定義ファイルを同一のアプリケーションに格納できます。
詳細は、A.10項「task-flow-definition.xml」を参照してください。
図A-2は、ADFアプリケーション・モジュールをADF Business Componentsに対するサービス・インタフェースとして使用しているWebアプリケーションで操作する可能性のあるXMLメタデータ・ファイルの階層構造を示しています。実行時には、これらのファイルから作成されたオブジェクトが次の順序で対話を行います。
ADFのデータ・バインドされたWebページに対する最初のリクエストが発生すると、サーブレットは、web.xml
ファイルに設定されているOracle ADFサーブレット・フィルタのADFBindingFilter
を登録します。
バインディング・フィルタにより、空のバインディング・コンテキストが作成されます。
ページがレンダリングされるとき、バインディング・フィルタはバインディング・コンテキストにこのページについて、対応するPageDef.xml
のロードを依頼します。
バインディング・コンテキストは、DataBindings.cpx
ファイルの<pagemap>
要素による参照に従って<page>
ファイルをロードし、バインディング・コンテナを作成します。
adfm.xml
ファイルはDataBindings.cpx
コンテンツをロードし、<pageDefinitionUsage>
要素に対する<pagemap>
要素参照に基づいて適切なPageDef.xml
を見つけます。
バインディング・コンテナのprepareModel
フェーズは、関連するすべての実行可能ファイル(その大半はデフォルトでdeferred
とマークされている)を準備し、リフレッシュします。
イテレータ・バインディングの実行には、bc4j.xcfg
ファイルのADFビジネス・コンポーネントに対して指定されたデータ・コントロール・ファクトリを通じて発見されたデータ・コントロールの名前付きメソッドが参照されます。
バインディング・コンテナは、マップされたWebページのpagename
PageDef.xml
ファイルの<bindings>
セクションに定義されたバインディングも作成します。
#{bindings}
という式を使用した式言語(EL)に基づくADFバインディングへのWebページ参照が、そのページのバインディング・コンテナにアクセスすることで解決されます。
ページは、バインディング・コンテナのバインディングから使用可能なデータを取得します。
adfm.xml
ファイルには、実行時にデプロイされたアプリケーションに組み入れられている各設計時プロジェクトの、.cpx
、.dcx
、.jpx
および.xcfg
ファイルのクラスパス相対パスが含まれています。adfm.xml
ファイルは、動的に管理される「レジストリのレジストリ」として動作し、.cpx
、.dcx
、.jpx
および.xcfg
ファイル(自身がメタデータのレジストリ)の迅速な検索に使用されます。
ファイル・レジストリは、ADFライブラリ・リソース・カタログのブラウズの実装や、ADFモデル・レイヤーの設計時、またマージや検索の実行中に幅広く使用されます。
開発者がページ上にバインディングを作成した場合、JDeveloperのプロジェクト・ソース・ツリーにメタデータ・ファイル(ページ定義など)が追加されます。その後adfm.xml
でそれぞれの場所を記録します。
プロジェクトが作成されると、adfm.xml
ファイルはproject-root
/adfmsrc/META-INF/adfm.xml
に配置されます。プロジェクト・レベルのアーカイブ・デプロイ・プロファイルでは、ファイル位置はMETA-INF/adfm.xml
とされます。
実行時、アプリケーション・クラスパスはスキャンされ、アプリケーションを構成する.cpx
ファイルのリストを作成します。次にアプリケーションが必要に応じて各.cpx
をロードし、バインディング・コンテキストを作成します。ADFモデル・レイヤーの使用の詳細は、13.4.2項「「データ・コントロール」パネルの使用時の処理」を参照してください。
adfm.xml
ファイルにより、次の4つのタイプのサブレジストリが現在記録されています。
DataBindingRegistry
(.cpx
)
DataControlRegistry
(.dcx
)
BusinessComponentServiceRegistry
(.xcfg
)
BusinessComponentProjectRegistry
(.jpx
)
.jpx
ファイルにはJDeveloperが設計時に使用して、ユーザーによるADFビジネス・コンポーネントを使ったデータ・モデル・プロジェクトの作成を可能にするための構成情報が含まれます。また、共有アプリケーション・モジュールが実行時に使用される方法を定義するメタデータも含まれます。共有アプリケーション・モジュールは同じFusion Webアプリケーションのデータ・モデル・プロジェクトからアクセスできるため、ADFビジネス・コンポーネント・プロジェクト構成ファイル(.jpx)にある共有アプリケーション・モジュールのスコープが保持されます。
このファイルは、プロジェクトのsrc
ディレクトリに保存されています。たとえば、Fusion Order DemoアプリケーションのStoreFrontService
プロジェクトの./src/model
ディレクトリの中にあるStoreFrontService.jpx
ファイルを見ると、SharedLookupService
アプリケーション・モジュールの慣用名定義がわかります。共有アプリケーション・モジュール使用の詳細は、10.2.2項「共有アプリケーション・モジュール定義時の処理」を参照してください。
例A-2に、デフォルトの.jpx
ファイルの例を示します。
例A-1 サンプル.jpxファイル
<JboProject xmlns="http://xmlns.oracle.com/bc4j" Name="StoreFrontService" Version="11.1.1.49.73" SeparateXMLFiles="true" PackageName=""> <DesignTime> <Attr Name="_appModuleNames0" Value="oracle.fodemo.storefront.lookups.LookupServiceAM"/> <Attr Name="_domainNames0" Value="oracle.fodemo.storefront.entities.formatters.UppercaseOracleStyleDate"/> <Attr Name="_jprName" Value="../StoreFrontService.jpr"/> <Attr Name="_appModuleNames1" Value="oracle.fodemo.storefront.store.service.StoreServiceAM"/> <Attr Name="_NamedConnection" Value="FOD"/> </DesignTime> <Containee Name="links" FullName="oracle.fodemo.storefront.account.queries.links.links" ObjectType="JboPackage"> <DesignTime> <Attr Name="_VO" Value="true"/> <Attr Name="_VL" Value="true"/> </DesignTime> </Containee> <Containee Name="queries" FullName="oracle.fodemo.storefront.account.queries.queries" ObjectType="JboPackage"> <DesignTime> <Attr Name="_VO" Value="true"/> </DesignTime> </Containee> <Containee Name="associations" FullName="oracle.fodemo.storefront.entities.associations.associations" ObjectType="JboPackage"> <DesignTime> <Attr Name="_AS" Value="true"/> </DesignTime> </Containee> <Containee Name="entities" FullName="oracle.fodemo.storefront.entities.entities" ObjectType="JboPackage"> <DesignTime> <Attr Name="_EO" Value="true"/> </DesignTime> </Containee> <Containee Name="formatters" FullName="oracle.fodemo.storefront.entities.formatters.formatters" ObjectType="JboPackage"> <DesignTime> <Attr Name="_DO" Value="true"/> </DesignTime> </Containee> <Containee Name="lookups" FullName="oracle.fodemo.storefront.lookups.lookups" ObjectType="JboPackage"> <DesignTime> <Attr Name="_VO" Value="true"/> <Attr Name="_AM" Value="true"/> </DesignTime> </Containee> <Containee Name="links" FullName="oracle.fodemo.storefront.store.queries.links.links" ObjectType="JboPackage"> <DesignTime> <Attr Name="_VL" Value="true"/> </DesignTime> </Containee> <Containee Name="queries" FullName="oracle.fodemo.storefront.store.queries.queries" ObjectType="JboPackage"> <DesignTime> <Attr Name="_VO" Value="true"/> </DesignTime> </Containee> <Containee Name="service" FullName="oracle.fodemo.storefront.store.service.service" ObjectType="JboPackage"> <DesignTime> <Attr Name="_AM" Value="true"/> </DesignTime> </Containee> <AppModuleUsage Name="SharedLookupService" FullName="oracle.fodemo.storefront.lookups.LookupServiceAM" ConfigurationName="oracle.fodemo.storefront.lookups.null" SharedScope="1"/> </JboProject>
bc4j.xcfg
ファイルには、アプリケーション・モジュール名に関するメタデータ情報、アプリケーション・モジュールが使用するデータベース接続、およびユーザーがアプリケーション・モジュールに対して構成した実行時パラメータが含まれています。
bc4j.xcfg
ファイルは、アプリケーション・モジュールのXMLコンポーネント定義に対して./common
と相対位置指定されるサブディレクトリにあります。同一のJavaパッケージ内の全アプリケーション・モジュールの構成はすべて、この同じファイルに保存されます。たとえば、Fusion Order DemoアプリケーションのStoreFront
プロジェクトの./classes/oracle/fodemo/storefront/store/service/common
ディレクトリにあるbc4j.xcfg
ファイルを見ると、そのStoreServiceAM
アプリケーション・モジュール用に名前の付いた構成が3つあることがわかります。構成の編集の詳細は、9.3.4項「アプリケーション・モジュールのランタイム構成の変更方法」と44.2項「プール構成パラメータの設定」を参照してください。
例A-2に、Fusion Order Demoアプリケーションからのbc4j.xcfg
ファイルの例を示します。
例A-2 サンプルbc4j.xcfgファイル
<BC4JConfig version="11.1" xmlns="http://xmlns.oracle.com/bc4j/configuration"> <AppModuleConfigBag ApplicationName="oracle.fodemo.storefront.store.service.StoreServiceAM"> <AppModuleConfig DeployPlatform="LOCAL" JDBCName="FOD" jbo.project="StoreFrontService" name="StoreServiceAMLocal" ApplicationName="oracle.fodemo.storefront.store.service.StoreServiceAM"> <Database jbo.locking.mode="optimistic"/> <Security AppModuleJndiName="oracle.fodemo.storefront.store.service.StoreServiceAM"/> </AppModuleConfig> <AppModuleConfig DeployPlatform="LOCAL" JDBCName="FOD" jbo.project="StoreFrontService" name="StoreServiceAMLocalWeb" ApplicationName="oracle.fodemo.storefront.store.service.StoreServiceAM"> <AM-Pooling jbo.ampool.initpoolsize="1"/> <Database jbo.locking.mode="optimistic"/> <Security AppModuleJndiName="oracle.fodemo.storefront.store.service.StoreServiceAM"/> <Custom fod.application.issoaenabled="true"/> </AppModuleConfig> <AppModuleConfig name="StoreFrontService" ApplicationName="oracle.fodemo.storefront.store.service.StoreServiceAM" jbo.project="StoreFrontService" DeployPlatform="SI"> <AM-Pooling jbo.ampool.resetnontransactionalstate="true"/> <Database jbo.SQLBuilder="ORACLE" jbo.locking.mode="optimistic" jbo.TypeMapEntries="Java"/> <Security AppModuleJndiName="oracle.fodemo.storefront.store.service.StoreServiceAM"/> <Custom JDBCDataSource="java:comp/env/jdbc/FODDS"/> </AppModuleConfig> </AppModuleConfigBag> </BC4JConfig>
DataBindings.cpx
ファイルは、データ・コントロール使用名を、ビジュアル・エディタのWebページに初めてドロップしたときに、ユーザー・インタフェース・プロジェクト内に作成されます。DataBindings.cpx
ファイルでは、アプリケーション全体のOracle ADFバインディング・コンテキストが定義され、メタデータが提供されます。実行時には、このメタデータからOracle ADFバインディング・オブジェクトが作成されます。これは、ADFライブラリ・リソース・パレットのブラウズの実装により、また.cpx
や.dcx
の設計時および実行時のマージや検索により広く使用されます。データ・バインドUIコンポーネントをドキュメントに挿入した時点で、実行時にOracle ADFバインディング・オブジェクトにアクセスするバインディング式がページに存在するようになります。
旧リリースのJDeveloperでFusion Webアプリケーションを作成したことのあるユーザーは、以前のように.cpx
ファイルにDataControls.dcx
ファイルからコピーされた情報がすべて含まれておらず、その参照のみが含まれていることに気付くはずです。.cpx
ファイルに変更を加える場合は、DataControls.dcx
ファイルを編集する必要があります。
DataBindings.cpx
ファイルは、ユーザー・インタフェース・プロジェクト・フォルダの/src
ディレクトリにあります。ファイル・ノードをダブルクリックすると、XMLソース・エディタにバインディング・コンテキスト記述が表示されます。(バインディング・コンテキスト・パラメータを編集するには、プロパティ・インスペクタを使用して、構造ウィンドウで適切なパラメータを選択します。)
DataBindings.cpx
ファイルのトップレベル要素は、<DataControlConfigs>
です。
<?xml version = '1.0' encoding = 'UTF-8'?> <BC4JConfig version="11.0" xmlns="http://xmlns.oracle.com/bc4j/configuration">
ここでのXMLネームスペース属性(xmlns
)により、データ・コントロールの実行時のバインド先となるURIを指定します。パッケージ名のみ編集可能であり、他のすべての属性はここに示したとおりの値に設定する必要があります。
図A-3は、<DataControlConfigs>
要素の子要素の階層を示しています。データ・コントロールを作成したビジネス・サービスごとに、独自の<dataControlUsages>
定義が割り当てられます。
子要素の使用方法は、次のとおりです。
<definitionFactories>
には、実行時に個別のネームスペースに関連付けられるADFバインディング・オブジェクトを作成するためのファクトリ・クラスが登録されます。ファクトリ・クラスは、ADFバインディングのタイプ(タスク・フロー・バインディングなど)に関連付けられたネームスペースに固有です。
<pageMap>
要素: すべてのユーザー・インタフェースURLと、対応するページ定義慣用名をマップします。このマップは、実行時にURLをそのページ定義にマップするために使用されます。
<pageDefinitionUsages>
は、ページ定義慣用名(BindingContainer
インスタンス名)を、対応するページ定義にマップします。id
属性は、使用IDを示します。path属性は、ページ定義へのフルパスを示します。
<dataControlUsages>
は、データ・コントロール慣用名(短縮名)と、それらに対応する.dcx
または.xcfg
ファイルのデータ・コントロール定義エントリへのパスのリストを宣言します。
表A-1に、DataBindings.cpx
の各要素の属性を示します。
表A-1 DataBindings.cpxファイルの各要素の属性
要素の構文 | 属性 | 属性の説明 |
---|---|---|
|
|
URI。ページ定義慣用名における実行可能要素の位置を識別します。 |
|
完全修飾クラス名。ページ定義慣用名オブジェクトを作成するファクトリ・クラスの位置を識別します。 |
|
|
|
ディレクトリへのフルパス。ユーザー・インタフェース・ページの場所を識別します。 |
|
一意の修飾子。ADFページ定義ファイルに出現するページ定義IDを指定します。ADFバインディング・サーブレットは、受信URLリクエストを検出し、 |
|
|
|
一意の修飾子。ADFページ定義ファイルに出現するページ定義IDを参照します。 |
|
完全修飾パッケージ名。ユーザー・インタフェース・ページのADFページ定義ファイルの場所を識別します。 |
|
|
|
一意の修飾子。 |
|
完全修飾パッケージ名。データ・コントロールの場所を識別します。 |
例A-3は、Fusion Order DemoアプリケーションのDataBindings.cpx
ファイルの構文を示しています。
ADF実行可能定義ファクトリ(factory
要素)はclassName
属性により指定され、namespace
と関連付けられます。実行時、ファクトリ・クラスは、特定のページ定義に関連付けられるADFバインディング・コンテナで使用されるバインディング・オブジェクトの作成を導く実行可能定義オブジェクトを作成します。ファクトリは2個のDataBindings.cpx
ファイル要素を通じて、ページ定義を見つけます。この要素の1つは設計時に割り当てられたページ定義ID(usageId
属性)にページURLをマップするpageMap
要素で、もう1つはプロジェクトまたはプロジェクト・クラスパスのページ定義の場所にこのIDをマップするpageDefinitionUsages
要素です。
さらに、ADF Business Componentsデータ・コントロール(BC4JDataControl
要素)は、id
属性によって名前を指定されます。Package
属性とConfiguration
属性の組合せは、指定されたパッケージの./common
サブディレクトリ内でbc4j.xcfg
ファイルの場所を識別するために使用されます。該当する構成には、アプリケーション・モジュール名とユーザーが構成済の全ランタイム・パラメータに関する情報が含まれています。
例A-3 サンプルDataBindings.cpxファイル
<Application xmlns="http://xmlns.oracle.com/adfm/application" version="11.1.1.44.61" id="DataBindings" SeparateXMLFiles="false" Package="oracle.fodemo.storefront" ClientType="Generic" ErrorHandlerClass="oracle.fodemo.frmwkext.FODCustomErrorHandler"> <definitionFactories> <factory nameSpace="http://xmlns.oracle.com/adf/controller/binding" className="oracle.adf.controller.internal.binding. TaskFlowBindingDefFactoryImpl"/> <factory nameSpace="http://xmlns.oracle.com/adfm/dvt" className="oracle.adfinternal.view.faces.dvt.model.binding. FacesBindingFactory"/> </definitionFactories> <pageMap> <page path="/home.jspx" usageId="homePageDef"/> ... </pageMap> <pageDefinitionUsages> <page id="homePageDef" path="oracle.fodemo.storefront.pageDefs.homePageDef"/> ... </pageDefinitionUsages> <dataControlUsages> <BC4JDataControl id="StoreServiceAMDataControl" Package="oracle.fodemo.storefront.store.service" FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl" SupportsTransactions="true" SupportsFindMode="true" SupportsRangesize="true" SupportsResetState="true" SupportsSortCollection="true" Configuration="StoreServiceAMLocalWeb" syncMode="Immediate" xmlns="http://xmlns.oracle.com/adfm/datacontrol"/> ... </dataControlUsages> </Application>
pageName
PageDef.xml
ファイルは、「データ・コントロール」パネルまたは構造ウィンドウを使用して、データバインドされたコンポーネントをWebページに挿入するたびに作成されます。これらのXMLファイルにより、アプリケーションの各WebページのOracle ADFバインディング・コンテナが定義されます。バインディング・コンテナは、ページ内のバインディングへのアクセスを提供します。データバインドされたWebページごとに1つのXMLファイルが割り当てられます。
注意:
|
PageDef.xml
ファイルは、ユーザー・インタフェース・プロジェクトの/src/view
ディレクトリにあります。アプリケーション・ナビゲータでは、「アプリケーション・ソース」ノードのビュー・パッケージ内にこのファイルが表示されます。ファイル・ノードをダブルクリックすると、XMLソース・エディタにページ記述が表示されます。ページ記述パラメータを編集するには、プロパティ・インスペクタを使用して、構造ウィンドウで適切なパラメータを選択します。
詳細は、第13章「ページ定義ファイルでの作業」を参照してください。
ページ定義の生成方法は、単一値を戻すメソッドとコレクションを戻すメソッドでは大きな違いがあります。
PageDef.xml
ファイルのトップレベルの要素は、<pageDefinition>
です。
<pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel" version="10.1.3.35.83" id="<pagename>PageDef" Package="oracle.fod.view.pageDefs">
ここでのXMLネームスペース属性(xmlns
)により、ADFバインディング・コンテナの実行時のバインド先となるURIを指定します。パッケージ名のみ編集可能であり、他のすべての属性はここに示したとおりの値に設定する必要があります。
例A-4は、<pageDefinition>
要素の子要素の階層を示しています。データ・コントロールを作成したビジネス・サービスごとに、独自の<dataControlUsages>
定義が割り当てられます。
例A-4 PageDef.xml要素の階層
<?xml version="1.0" encoding="UTF-8" ?> <pageDefinition> <parameters> ... </parameters> <executables> ... </executables> <bindings> ... </bindings> </pageDefinition>
子要素の使用方法は、次のとおりです。
<parameters>
: ELでアクセス可能なページ・レベルのパラメータを定義します。これらのパラメータは、Webページ・リクエストに固有の情報を格納しており、バインディング式を通じてアクセスできます。
<executables>
: ADFページ・ライフサイクルのprepareModel
フェーズ中に実行される項目(メソッド、ビュー・オブジェクトおよびアクセッサ)のリストを定義します。実行されるメソッドは、<methodIterator>
により定義されます。ライフサイクルでは、<executables>
セクションにリストされた順序で実行処理が行われます。メソッドまたは操作が実行されるかどうかは、そのrefreshまたはrefreshCondition
属性の値に依存します。データ・コントロールの組込み操作は、次の要素で定義されます。
- <page>
: ネストされたページ定義の定義(バインディング・コンテナ)
- <iterator>
: DataControls
の名前付きコレクションの定義
- <accessorIterator>
: データ・コントロール階層のアクセッサを取得するための定義
- <methodIterator>
: 同じファイルのmethodAction
により定義された起動メソッドから戻されるイテレータを取得するための定義
- <variableIterator>
: バインディング・コンテナに対して宣言された変数を格納する内部イテレータ
- <invokeAction>
: 実行可能項目として起動されるメソッドの定義
<bindings>
: <executables>
内のエントリを参照して、バインディングが属性レベルのデータを抽出または送信するコレクションを取得します。
表A-2に、<pageDefinition>
トップレベル要素の属性を示します。
表A-2 PageDef.xmlファイルの<pageDefinition>要素の属性
要素の構文 | 属性 | 属性の説明 |
---|---|---|
|
|
コントローラがこの |
|
ポストバックが発生したときに、このbindingContainerで現在位置検証を有効化します。これにより、Web層の状態が特定ページのレンダリング状態と一致することが保証されます。 |
|
|
FindModeは旧リリース(10.1.2)でのみ使用します。初期準備の際に、このbindingContainerをfindModeで開始するかどうかを示します。 |
|
|
完全修飾パッケージ名。任意のバインディングの翻訳文字列を含むクラスを識別します。 |
|
|
データ検証が行われたかどうかを判断します。サポートされる値は次のとおりです。
たとえば、トレイン・コンポーネントなどのデータ検証を省略する必要がある場合には、この属性に値を設定しておくと便利です。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のトレイン・モデルの作成方法に関する項を参照してください。 |
|
|
このバインディングおよび関連コンポーネントをレンダリングするかどうかを決定するため、実行時に解決されるEL式。 |
表A-3に、<parameters>
の子要素の属性を示します。
表A-3 PageDef.xmlファイルの<parameters>要素の属性
要素の構文 | 属性 | 属性の説明 |
---|---|---|
|
|
|
|
一意の識別子。ADFバインディングにより参照できます。 |
|
|
バインディング・コンテナ内での変数の使用方法を次のように示します。
|
|
|
パラメータ値が変更可能であるかどうかを示します。パラメータ値の変更をアプリケーションに許可しない場合は、 |
|
|
デフォルト値。EL式を使用できます。 |
表A-4に、PageDef.xml
の<executables>
要素の属性を示します。
表A-4 PageDef.xmlファイルの<executables>要素の属性
要素の構文 | 属性 | 属性の説明 |
---|---|---|
|
|
このバインディングによって定義されるその他のアクセッサを指定します。 |
|
イテレータのバインド先となるビューまたはアクションを指定します。 |
|
|
関連付けられたイテレータ(コレクション)のBeanのJava型を識別します。 |
|
|
|
|
|
コンポーネントがこのイテレータを介してデータに関連付けられているとき、およびポーリング・イベント・モードのときの、イベントのレートを指定します。 |
|
|
このイテレータ・バインディングにより参照されるコレクションを解析して、戻します。 |
|
|
一意の識別子。任意のADF値バインディングにより参照できます。 |
|
|
マスターとして機能するデータ・コレクションをアクセッサ・イテレータのディテール・コレクションにバインドする |
|
|
ADF Business Components専用。ブール値により、コレクションがオブジェクト型であるかどうかを指定します。 |
|
|
バインドされたコレクションからフェッチする、範囲内のデータ・オブジェクトの数を指定します。レンジは、コレクション内のデータ・オブジェクトのサブセットにアクセスする際に使用できるウィンドウを定義します。デフォルトでは、レンジ・サイズは、ちょうど10のデータ・オブジェクトをフェッチするレンジに設定されます。セット全体を使用する場合、またはページに表示されるデータ・オブジェクトの数を制限したい場合は、 |
|
|
どのようなときに実行可能項目を起動するかを指定します。必要に応じて次のいずれかのプロパティを設定します。
|
|
|
解決されたときに実行可能項目の起動条件を決定するEL式。たとえば、 |
|
|
ページをリフレッシュした後の条件を指定します。 |
|
|
ユーザーが値として指定した行数が結果セットから戻されるかどうかを決定する値を指定します。 ユーザーが |
|
|
イテレータがソート可能かどうかを指定します。 |
|
|
|
起動するアクションを指定します。任意の
|
|
一意の識別子。任意のADFアクション・バインディングにより参照できます。 |
|
|
|
|
|
|
|
|
|
関連付けられたイテレータ(コレクション)のBeanのJava型を識別します。 |
|
この属性は、下位互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。JDeveloperの現在のリリースでは使用されません。 |
|
|
|
|
|
|
|
|
コンポーネントがこのイテレータを介してデータに関連付けられているとき、およびポーリング・イベント・モードのときの、イベントのレートを指定します。 |
|
|
このイテレータが関連付けられている |
|
|
ADFによる内部使用属性。 |
|
|
一意の識別子。任意のADF値バインディングにより参照できます。 |
|
|
EJBセッション・ファサード・データ・コントロールでは使用されません(ADF Business Componentsでのみ使用されます)。 |
|
|
|
|
|
|
|
|
ページをリフレッシュした後の条件を指定します。 |
|
|
|
|
|
|
|
< |
|
一意の識別子。 |
|
コンポーネントがこのイテレータを介してデータに関連付けられているとき、およびポーリング・イベント・モードのときの、イベントのレートを指定します。 |
|
|
|
|
|
|
|
|
ページをリフレッシュした後の条件を指定します。 |
|
|
|
表A-5に、PageDef.xml <bindings>
要素の属性を示します。
表A-5 PageDef.xmlファイルの<bindings>要素の属性
要素の構文 | 属性 | 属性の説明 |
---|---|---|
|
|
完全修飾パッケージ名。データ・コントロールの作成されるクラスを識別します。EJBセッション・ファサードの場合は、セッションBeanです。 |
|
この属性は、下位互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。 |
|
|
この |
|
|
自動的に構成された |
|
|
アクションのインスタンス名を指定します。 |
|
|
このバインディングが関連付けられている |
|
|
メソッド・アクション・バインディングの結果(一度 |
|
|
|
デフォルトで |
|
この属性は、下位互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。 |
|
|
ADS(アクティブ・データ・サービス)を使って実行される場合のコンポーネントのイベント戦略を指定します。次のいずれかを指定できます。 push poll ppr none |
|
|
ADFによる内部使用属性。 |
|
|
これは、指定された値バインディングに対して |
|
|
ADFによる内部使用属性。 |
|
|
一意の識別子。任意のADFアクション・バインディングにより参照できます。 |
|
|
このバインディングが関連付けられている |
|
|
リスト表示にNULL値を示すための |
|
|
|
デフォルトで |
|
この属性は、下位互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。 |
|
|
このブール・リスト・バインディングの静的値のリストにおいて、0(ゼロ)索引の値が |
|
|
ADFによる内部使用属性。 |
|
|
特定の値バインディングの |
|
|
ADFによる内部使用属性。 |
|
|
一意の識別子。任意のADFアクション・バインディングにより参照できます。 |
|
|
このバインディングが関連付けられている |
|
|
この |
|
|
このリスト・バインディングをナビゲーション用とするか、値の静的リストとするか、またはLOV型のリストとするかを指定します。 |
|
|
このリスト・バインディングにNULL値を含めるかどうかを指定します。含める場合は、リストの最初または最後のどちらに表示するかを指定します。 |
|
|
リスト表示にNULL値を示すための |
|
|
ADF Faces ganttコンポーネントのデータ・バインディングXMLをマップします。 |
|
|
ADF Faces gaugeコンポーネントのデータ・バインディングXMLをマップします。 |
|
< |
|
デフォルトで |
|
この属性は、下位互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。 |
|
|
このブール・リスト・バインディングの静的値のリストにおいて、0(ゼロ)索引の値が |
|
|
ツリー内の特定の階層ノード・タイプについて、ノードの次のレベルを取得するために呼び出されるアクセッサの名前。 |
|
|
ADFによる内部使用属性。 |
|
|
特定の値バインディングの |
|
|
ADFによる内部使用属性。 |
|
|
使用するグラフのタイプ(円グラフや棒グラフなど)を指定するXMLファイル。このXMLファイルを使用してグラフのビジュアル・プロパティをカスタマイズできます。これには、タイトル、サブタイトル、脚注、グラフのタイプ、凡例エリアおよび描画エリアなどのグラフ属性が含まれます。デフォルトのファイル名は |
|
|
マスター/ディテール・フォームの場合は、データのグループ化に使用する属性を指定します。 |
|
|
一意の識別子。任意のADFアクション・バインディングにより参照できます。 |
|
|
このバインディングが関連付けられている |
|
|
リスト表示にNULL値を示すための |
|
|
提供されるデータに基づいて属性を定義します。 |
|
|
グラフが単一ビュー( |
|
|
ADF Faces graphコンポーネントのデータ・バインディングXMLをラップします。 |
|
|
|
デフォルトで |
|
この属性は、下位互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。 |
|
|
ADFによる内部使用属性。 |
|
|
特定の値バインディングの |
|
|
ADFによる内部使用属性。 |
|
|
一意の識別子。任意のADFアクション・バインディングにより参照できます。 |
|
|
このバインディングが関連付けられている |
|
|
この |
|
|
このリスト・バインディングをナビゲーション用とするか、値の静的リストとするか、またはLOV型のリストとするかを指定します。 |
|
|
この属性の値のよって、リスト・バインディングが実際の値( |
|
|
ユーザーが最近選択したアイテムをショートカットとして提供するときに、選択リストに表示するアイテム数を指定します。たとえば、フォームにサプライヤIDの選択リストを表示して、発注書を作りやすくすることができます。この例では、ユーザーは最近表示されたサプライヤのリストから選択することができますが、このリストに表示される選択肢の数は、ユーザーが入力した値によって決定されます。デフォルトは0(ゼロ)で、選択リストには属性の値がすべて表示されます。 |
|
|
MRUリストのための識別子行になる |
|
|
このリスト・バインディングにNULL値を含めるかどうかを指定します。含める場合は、リストの最初または最後のどちらに表示するかを指定します。 |
|
|
リスト表示にNULL値を示すための |
|
|
バインドされたリスト・コンポーネントにレンダリングされる値の静的リストを定義します。 |
|
|
ADFデータ視覚化地理マップ・コンポーネントに対するデータ・バインディングXMLをラップします。 |
|
|
|
完全修飾パッケージ名。データ・コントロールの作成されるクラスを識別します。EJBセッション・ファサードの場合は、セッションBeanです。 |
|
この属性は、下位互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。 |
|
|
起動されるメソッドが属しているクラスです。 |
|
|
この |
|
|
ADFによる内部使用属性。 |
|
|
一意の識別子。任意のADFアクション・バインディングにより参照できます。 |
|
|
関連付けられたメソッドが起動されるJavaオブジェクト・インスタンスへのドット区切りのELパス。 |
|
|
|
|
|
|
|
|
この |
|
|
このアクションの起動前に、アクションでモデルの更新を必要とするかどうかを指定します。 |
|
|
関連付けられたメソッドにより戻される結果のELパス。 |
|
|
ADF Facesピボット・テーブル・コンポーネントのデータ・バインディングXMLをラップします。 |
|
|
|
デフォルトで |
|
この属性は、下位互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。 |
|
|
|
|
|
テスト用の内部使用属性。 |
|
|
特定の値バインディングの |
|
|
ADFによる内部使用属性。 |
|
|
階層タイプのバインディング(ツリー・ノードのタイプ定義)における多相化識別子の値を示します。この値により、多相ツリー・バインディングにレンダリングされるコレクションの特定行を、包含階層タイプのバインディングを使用してレンダリングするかどうかを指定します。 |
|
|
一意の識別子。任意のADFアクション・バインディングにより参照できます。 |
|
|
このバインディングが関連付けられている |
|
|
ADFツリー・コンポーネントで使用されるデータ・モデル。 |
adfc-config.xml
ファイルは、Fusion Webアプリケーション(ADF)テンプレートを使用してアプリケーションを作成するときにデフォルトでJDeveloperが作成するADFバインドなしタスク・フローのソース・ファイルです。デフォルトでは、JDeveloperは、adfc-config.xml
ファイルを次のディレクトリに格納します。
application_root
\ViewController\Web Content\WEB-INF
追加のバインドなしタスク・フローを作成すると、JDeveloperは、追加のバインドなしタスク・フローのソース・ファイルに次のファイル名を提案します。
adfc-config
N
.xml
ここでNは新しいバインドなしタスク・フローを作成するたびに増分する番号です。または、バインドなしタスク・フローのソース・ファイルに好きなファイル名を選択します。
バインドなしタスク・フローのソース・ファイルそれぞれに、バインドなしタスク・フローに追加したアクティビティのメタデータ、制御フロー・ルール、マネージドBeanが含まれ、エンド・ユーザーは、Fusion Webアプリケーションと連動してタスクを完了できます。
adfc-config.xml
ファイルの有効なメタデータ・エントリを定義するXMLスキーマ定義ファイル(XSD)はadfc-config_1_0.xsd
です。adfc-config_1_0.xsd
ファイルは、インストールしたJDeveloperの次のディレクトリにあるadf-controller-schema.jar
ファイルに格納されます。
jdev_install
\oracle_common\modules\oracle.adf.model_11.1.1
JDeveloperのXSDビジュアル・エディタを使用してadfc-config_1_0.xsd
ファイルを表示します。このエディタを使用すると、adfc-config.xml
ファイルの有効なメタデータ要素および属性を識別できます。
例A-5に、ビュー・アクティビティ、制御フロー・ルールなどがまだ追加されていないバインドなしタスク・フローのソース・ファイルを示します。
例A-5 エントリがないサンプルadfc-config.xmlファイル
<?xml version="1.0" encoding="windows-1252" ?> <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2"> </adfc-config>
図A-4に、Fusion Order Demoアプリケーションのadfc-config.xml
ファイルの図を示します。例A-6に、図A-4で表示したバインドなしタスク・フローの対応するソース表示を示します。簡潔にするために、多くのメタデータ・エントリが例A-6から削除されています。ただし、ビュー・アクティビティ(<view id>
)、タスク・フロー・コール・アクティビティ(<task-flow-call>
)、制御フロー・ルール(<control-flow-rule>
)およびマネージドBean(<managed-bean>
)を識別するメタデータのインスタンスはそのままです。
バインドなしタスク・フローの詳細は、第18章「ADFタスク・フローの概説」を参照してください。
例A-6 Fusion Order Demoアプリケーションのadfc-config.xmlファイルのソース・ビュー
<?xml version="1.0" encoding="windows-1252" ?> <adfc-config xmlns="http://xmlns.oracle.com/adf/controller"> <metadata-resource>/WEB-INF/adfc-config.xml</metadata-resource> <view id="home"> <page>/home.jspx</page> </view> <task-flow-call id="checkout-task-flow"> <task-flow-reference> <document>/WEB-INF/checkout-task-flow.xml</document> <id>checkout-task-flow</id> </task-flow-reference> </task-flow-call> <view id="updateUserInfo"> <page>/account/updateUserInfo.jspx</page> </view> ... <task-flow-call id="myorders-task-flow"> <task-flow-reference> <document>/WEB-INF/myorders-task-flow.xml</document> <id>myorders-task-flow</id> </task-flow-reference> </task-flow-call> <control-flow-rule> <from-activity-id>*</from-activity-id> <control-flow-case> <from-outcome>globalHome</from-outcome> <to-activity-id>home</to-activity-id> </control-flow-case> <!-- removed control flow cases for brevity --> </control-flow-rule> <managed-bean> <managed-bean-name>homePageBean</managed-bean-name> <managed-bean-class>oracle.fodemo.storefront.store.view.managed.HomeBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> <!-- removed managed beans for brevity --> </adfc-config>
作成した最初のADFバインド・タスク・フローのソース・ファイルに対してJDeveloperが提案するデフォルトのファイル名は、task-flow-definition.xml
です。このファイルにはバインド・タスク・フローのメタデータが格納されています。これには、バインド・タスク・フローに追加する、各ビュー・アクティビティ、メソッド・コール・アクティビティ、タスク・フロー・コールなどのエントリが含まれています。
JDeveloperは、作成する後続のバインド・タスク・フローに次のファイル名を提案します。
task-flow-definition
N
.xml
ここでNは新しいバインド・タスク・フローを作成するたびに増分する番号です。または、バインド・タスク・フローのソース・ファイルに好きなファイル名を選択します。デフォルトでは、JDeveloperは、task-flow-definition.xml
ファイルを次のディレクトリに格納します。
application_root
\ViewController\Web Content\WEB-INF
バインド・タスク・フローのソース・ファイルの有効なメタデータ・エントリを定義するXMLスキーマ定義ファイル(XSD)は、インストールしたJDeveloperの次のディレクトリにあるadf-controller-schema.jar
ファイルに格納されます。
jdev_install
\oracle_common\modules\oracle.adf.model_11.1.1
JDeveloperのXSDビジュアル・エディタを使用して、これらのファイルを表示し、バインド・タスク・フローのソース・ファイルの有効なメタデータ要素と属性を識別します。
例A-7に、「タスク・フローの作成」ダイアログを使用して新しいバインド・タスク・フローを作成するときのソース・ファイルの内容を示します。<task-flow-definition>
要素によって、このファイルがバインド・タスク・フローとして識別されます。JDeveloperは、「タスク・フローの作成」ダイアログの「バインド・タスク・フローとして作成」チェック・ボックスを選択するときに<task-flow-definition>
要素を生成します。<task-flow-definition>
要素のid
属性(task-flow-definition
)の値は、「タスク・フローの作成」ダイアログの「タスク・フローID」フィールドに入力した値に対応します。<use-page-fragments/>
要素は、このバインド・タスク・フローのすべてのビュー・アクティビティをページ・フラグメントと関連付ける必要があることを示しています。JDeveloperは、「タスク・フローの作成」ダイアログの「ページ・フラグメントを使用して作成」チェック・ボックスを選択するときにこのエントリを生成します。
例A-7 エントリがないサンプルtask-flow-definition.xml
<?xml version="1.0" encoding="windows-1252" ?> <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2"> <task-flow-definition id="task-flow-definition"> <use-page-fragments/> </task-flow-definition> </adfc-config>
例A-8に、Fusion Order Demoアプリケーションのcustomer-registration-task-flow.xml
ファイルの省略形を示します。簡潔にするために、多くのメタデータ・エントリが削除されています。ただし、図A-5の「構造」ウィンドウに表示されるアクティビティのエントリは表示できます。
バインド・タスク・フローの詳細は、第18章「ADFタスク・フローの概説」を参照してください。
例A-8 customer-registration-task-flow.xmlファイルの省略ソース・ビュー
<?xml version="1.0" encoding="windows-1252" ?> <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.0"> <task-flow-definition id="customer-registration-task-flow"> <default-activity>userRegistrationCreate</default-activity> <transaction> <requires-transaction/> </transaction> <input-parameter-definition> <name>param_userType</name> <value>#{pageFlowScope.userType}</value> <class>java.lang.String</class> <required/> </input-parameter-definition> <managed-bean> <managed-bean-name>custRegBasicInformationBean</managed-bean-name> <managed-bean-class>....CustRegBasicInformationBean</managed-bean-class> <managed-bean-scope>view</managed-bean-scope> <managed-property> <property-name>allItemsIteratorName</property-name> <value>AvailableCategoriesShuttleListIterator</value> </managed-property> </managed-bean> <exception-handler>errorPage</exception-handler> <view id="reviewCustomerInfo"> <display-name>Review</display-name> <page>/account/reviewCustomerInfo.jsff</page> <train-stop> <display-name>Review</display-name> </train-stop> </view> <task-flow-return id="rollbackReturn"> <outcome> <name>cancelCreateCust</name> <rollback/> </outcome> </task-flow-return> <method-call id="createAddress"> <method>#{bindings.CreateInsert.execute}</method> <outcome> <fixed-outcome>editAddress</fixed-outcome> </outcome> </method-call> <view id="paymentOptionDetails"> <page>/account/paymentOptionDetails.jsff</page> </view> <parent-action id="Exit"> <parent-outcome>globalHome</parent-outcome> </parent-action> <train/> <control-flow-rule> <from-activity-id>*</from-activity-id> <control-flow-case> <from-outcome>exitRegistration</from-outcome> <to-activity-id>Exit</to-activity-id> </control-flow-case> <control-flow-case> <from-outcome>cancelRegistration</from-outcome> <to-activity-id>rollbackReturn</to-activity-id> </control-flow-case> </control-flow-rule> <control-flow-rule> <from-activity-id>userRegistrationCreate</from-activity-id> <control-flow-case> <from-outcome>editBasicInfo</from-outcome> <to-activity-id>basicInformation</to-activity-id> </control-flow-case> </control-flow-rule> <use-page-fragments/> </task-flow-definition> </adfc-config>
Fusion Webアプリケーション(ADF)テンプレートを使用してアプリケーションを作成すると、JDeveloperによってadf-config.xml
ファイルが生成されます。このファイルは次のディレクトリに格納されます。
application_root
\.adf\META-INF
adf-config.xml
ファイルでは、通常はデプロイ時に決定され、実行時に変更されることも多いアプリケーションレベルの設定が指定されています。デプロイメント・プロファイルを使用して、アプリケーションのデプロイ時に使用される設定を指定することができます。Oracle Enterprise Managerを使用して、実行時に一部の設定を変更できます。
adf-config.xml
ファイルの設定を変更することによって実現できるタスクの例には、次のものが含まれます。
ADFコントローラのメタデータの有効化および無効化
クラスタ環境にFusion Webアプリケーションをデプロイする場合のメモリー・スコープのレプリケート
アプリケーションがEL式を使用して実行時にリソース・バンドルから文字列を取得する場合にリソース・バンドルのキャッシュを管理するプロパティの構成
構成できるプロパティを次に示します。
initial-size
アプリケーションがキャッシュできるリソース・バンドルの個数の初期値を指定します。デフォルト値は100
です。
max-size
アプリケーションがキャッシュできるリソース・バンドルの個数の最大値を指定します。デフォルト値は100
です。
load-factor
デフォルト値は0.75
です。
expire-time
デフォルト値は43200
秒(12時間)です。
これらのプロパティは、adf-config.xml
ファイルで<resource-bundle-cache>
要素の属性値として指定できます。例A-9は、adf-config.xml
ファイルで、アプリケーションに対するこれらの値を設定する方法を示しています。
adf-config.xml
ファイルでリソース・バンドルのキャッシュを設定するかわりに、Java Virtual Machine(JVM)のパラメータとして、リソース・バンドルのキャッシュ・プロパティを指定できます。プロパティをJVMのパラメータとして指定した場合、JVMが管理しているアプリケーションすべてに変更が適用されます。この理由から、アプリケーションのadf-config.xml
ファイルでリソース・バンドルのキャッシュ・プロパティを設定することをお薦めします。JVMのパラメータとしてリソース・バンドルのキャッシュ・プロパティを指定することに決めた場合は、次のプロパティ名を使用します。
resource-bundle-cache-initial-size
resource-bundle-cache-max-size
resource-bundle-cache-load-factor
resource-bundle-cache-expire-time
実行時、Fusion Webアプリケーションは、META-INF
ディレクトリからadfm.xml
ファイルをロードします。このFusion Webアプリケーションにより、複数のadfm.xml
ファイルが検出された場合、ファイルのロードは停止され、警告がログに記録されます。
次のタスクは、adf-config.xml
ファイルが変更されるかこのファイルの変更が要求されます。
タスク・フローの作成
詳細は、第18章「ADFタスク・フローの概説」を参照してください。
明示的なセーブ・ポイントの有効化
詳細は、22.7.7項「暗黙的なセーブポイントを有効化する方法」を参照してください。
アプリケーションのデフォルトの動作として、自動部分ページ・レンダリングを無効にします。これを行うには、changeEventPolicy
属性の値をppr
のデフォルト値から変更する必要があります。
<defaults changeEventPolicy="ppr"/>
詳細は、25.2.1項「部分ページ・レンダリングおよびイテレータ・バインディングについて」を参照してください。
MDSでの保存済の検索の永続化
詳細は、31.2.4項「保存済の検索をMDSに保存する方法」を参照してください。
「ADF Business Components」グローバル設定の構成
詳細は、42.1.1項「最初のn行をフェッチするためのビュー・オブジェクト最大フェッチ・サイズの制限」および3.3.1項「接続、SQLプラットフォームおよびデータ型マップの選択」を参照してください。
Oracle ADFセキュリティの有効化
詳細は、35.3.2項「ADFセキュリティを有効にしたときの処理」を参照してください。
シード・カスタマイズの有効化
詳細は、39.2.4項「ビュー・プロジェクトでシード・カスタマイズを有効化する方法」および39.2.5項「既存のページでシード・カスタマイズを有効化する方法」を参照してください。
変更永続性の構成
詳細は、40.2.1項「ユーザー・カスタマイズを有効にする方法」を参照してください。
ユーザー・カスタマイズの有効化
詳細は、40.2.2項「ユーザー・カスタマイズを有効する場合の処理」を参照してください。
例A-9に、アプリケーションのadf-config.xml
ファイルのエントリ例を示します。
例A-9 サンプルadf-config.xmlファイル
<?xml version="1.0" encoding="windows-1252" ?> <adf-config xmlns="http://xmlns.oracle.com/adf/config" xmlns:sec="http://xmlns.oracle.com/adf/security/config"> <sec:adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config"> <JaasSecurityContext initialContextFactoryClass="oracle.adf.share.security.JAASInitialContextFactory" jaasProviderClass="oracle.adf.share.security.providers.jps.JpsSecurityContext" authorizationEnforce="true" authenticationRequire="true"/> <CredentialStoreContext credentialStoreClass="oracle.adf.share.security.providers.jps.CSFCredentialStore" credentialStoreLocation="../../src/META-INF/jps-config.xml"/> </sec:adf-security-child> <adf-controller-config xmlns="http://xmlns.oracle.com/adf/controller/config"> <savepoint-datasource>java:comp/env/jdbc/FODDS</savepoint-datasource> <enable-implicit-savepoints>true</enable-implicit-savepoints> </adf-controller-config> <adf-faces-config xmlns="http://xmlns.oracle.com/adf/faces/config"> <persistent-change-manager> <persistent-change-manager-class>oracle.adf.view.rich.change.MDSDocumentChangeManager</persistent-change-manager-class> </persistent-change-manager> <taglib-config> <taglib uri="http://xmlns.oracle.com/adf/faces/rich"> <tag name="calendar"> <attribute name="activeDay"> <persist-changes>true</persist-changes> </attribute> </tag> <!-- Additional tags omitted to make this example concise --> <tag name="table"> <attribute name="filterVisible"> <persist-changes>true</persist-changes> </attribute> </tag> </taglib> </taglib-config> </adf-faces-config> <adf-mds-config xmlns="http://xmlns.oracle.com/adf/mds/config"> <mds-config xmlns="http://xmlns.oracle.com/mds/config" version="11.1.1.000"> <cust-config> <match path="/"> <customization-class name="oracle.adf.share.config.UserCC"/> </match> </cust-config> </mds-config> </adf-mds-config> <adf-adfm-config xmlns="http://xmlns.oracle.com/adfm/config"> <defaults rowLimit="100"/> <startup> <amconfig-overrides> <config:Database jbo.SQLBuilder="Oracle" jbo.locking.mode="optimistic"/> </amconfig-overrides> </startup> </adf-adfm-config> <!-- Properties to manage the caching of a resource bundle in your application --> <adf-resourcebundle-config xmlns="http://xmlns.oracle.com/adf/resourcebundle/config"> <applicationBundleName> path-to-resource-bundle/bundle-name </applicationBundleName> <resource-bundle-cache initial-size="20" max-size="100" expire-time="30000" load-factor=".75"/> <bundleList> <bundleId override="true"> package.BundleID </bundleId> </bundleList> </adf-resourcebundle-config> </adf-config>
adf-settings.xml
ファイルには、プロジェクト・レベルおよびライブラリ・レベルの設定(ADF Facesヘルプ・プロバイダ、ADF Controllerフェーズ・リスナーなど)が保持されます。
adf-settings.xml
の構成設定は固定で、アプリケーション・デプロイメント時またはその後に変更できません。アプリケーションに複数のadf-settings.xml
ファイルがあることがあります。それらの構成の内容をマージするのはadf-settings.xml
ファイル・ユーザーの役目です。
JDeveloperは、次の場合にadf-settings.xml
ファイルを作成します。
Fusion Webアプリケーション(ADF)テンプレートを使用してアプリケーションを作成するとき
ADFページ・フロー(ADFコントローラ)を既存のプロジェクトのテクノロジ・スコープに追加するとき
デフォルトでは、JDeveloperは、adf-settings.xml
ファイルを次のディレクトリに格納します。
application_root\ViewController\src\META-INF
次のタスクでは、adf-settings.xml
ファイルが変更されるか、またはユーザーによるこのファイルの変更が要求されます。
フェーズ・リスナーの登録
詳細は、25.4.2項「リスナーをグローバルに登録する方法」を参照してください。
ADF Facesコンポーネントのヘルプの作成
詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のコンポーネントへのヘルプの表示に関する項を参照してください。
例A-10に、フェーズ・リスナーおよびヘルプ・プロバイダ向けに構成された設定のサンプルadf-setting.xml
ファイルを示します。
例A-10 サンプルadf-settings.xmlファイル
<?xml version="1.0" encoding="windows-1252" ?> <adf-settings xmlns="http://xmlns.oracle.com/adf/config"> <adfc-controller-config xmlns="http://xmlns.oracle.com/adf/controller/config"> <lifecycle> <phase-listener> <listener-id>FODPhaseListener</listener-id> <class>oracle.fodemo.storefront.listeners.FODPhaseListener</class> </phase-listener> </lifecycle> </adfc-controller-config> <adf-faces-config> <help-provider prefix="MYAPP"> <help-provider-class>oracle.fodemo.storefront.MyHelpProvider</help-provider-class> <property> <property-name>myCustomProperty</property-name> <value>someValue</value> </property> </help-provider> </adf-faces-config> </adf-settings>
Oracle ADFには、標準のweb.xml
デプロイメント・ディスクリプタ・ファイルに固有の構成設定があります。
JDeveloperでJSFテクノロジを使用するプロジェクトを作成すると、デフォルト設定を含む初期のweb.xml
ファイルが/WEB-INF
に自動的に作成されます。ファイルを編集するには、アプリケーション・ナビゲータでweb.xmlをダブルクリックし、XMLエディタに表示します。
次の設定は、JSFおよびADF Facesを使用するすべてのアプリケーションのweb.xml
で構成する必要があります。
ADFライブラリ・リソース・サーブレットとマッピング: アプリケーション・クラス・パスのADFライブラリJARファイルのWebアプリケーション・リソース(イメージ、スタイル・シート、JavaScriptライブラリ)として動作します。
デフォルトでは、イメージなどの静的Webアプリケーション・リソース(ADFライブラリのリソースを含む)には、364日の失効期限設定があります。この失効期間設定では、次のイベントのいずれかが発生するまで、静的Webアプリケーション・リソースの検証をクライアントがサーバーにリクエストしないことが要求されます。
失効期限が切れる
ブラウザ・キャッシュに静的リソースが含まれなくなる
ユーザーがページ・リフレッシュを実行する
クライアントがサーバーにリクエストを行い、リソースが変更しなかった場合、サーバーは、本文なしでHTTP 304応答(変更なし)を返します。
初期化パラメータをweb.xml
ファイルに追加して、ADFライブラリのすべての静的Webアプリケーション・リソースに対する失効期限設定364日をオーバーライドできます。例A-11に、多くの例を使用してこれらの初期化パラメータを設定する方法を示します。
例A-11 web.xmlでの静的リソースの失効設定
<!-- Expires all static resources in 30 days --> <init-param> <param-name>expires</param-name> <param-value>60*60*24*30</param-value> </init-param> <!-- Expires static resources with the .js file extension in 1 day --> <init-param> <param-name>expires.js</param-name> <param-value>60*60*24</param-value> </init-param> <!-- Turns off staleness setting. Use for testing --> <init-param> <param-name>expires</param-name> <param-value>OFF</param-value> </init-param>
例A-12に、デフォルトのファイル拡張子を示します。extensions
パラメータ値を構成して必要なファイル拡張子を含めることによって、ファイル拡張子を追加できます。ファイル拡張子の前後に「.
」を付ける必要があることに注意してください。例A-12に、キャッシュ制御の可視性を指定する方法も示します。
例A-12 追加のファイル拡張子およびキャッシュ制御の指定
<!-- Specify file extensions for a number of different file formats --> <init-param> <param-name>extensions</param-name> <param-value>.png.jpg.jpeg.gif.js.css.</param-value> </init-param> <!-- Specify visibility for cache control, for example --> <init-param> <param-name>visibility</param-name> <param-value>Public</param-value> </init-param>
JSFのサーブレットとマッピング: JSFを使用してユーザー・インタフェースを構築するWebアプリケーションのリクエスト処理ライフサイクルを管理するサーブレットjavax.faces.webapp.FacesServlet
。
ADF Facesのフィルタとマッピング: AdfFacesContext
オブジェクトを構成してADF Facesを適切に初期化するためのサーブレット・フィルタ。このフィルタでは、ファイル・アップロードも処理されます。
JSFのサーブレットとマッピングの構成設定は、JSFプロジェクトを最初に作成したときに、自動的に初期のweb.xml
ファイルに追加されます。ADF Facesのフィルタとマッピング、およびリソース・サーブレットとマッピングの構成設定は、JSFページに最初にADF Facesコンポーネントを挿入したときに自動的に挿入されます。
詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』の付録「ADF Facesの構成」を参照してください。
ADF Loggerは診断ツールの一種で、アプリケーションのデバッグ時にJDeveloperでこのツールを使用して、実行時トレース・メッセージをキャプチャできます。このツールの使用を設定するには、logging.xml
ファイルを編集します。
logging.xml
ファイル、およびADF Loggerの使用に関する詳細は、36.6項「ADF Loggerの使用」を参照してください。