Oracle® Mobile Application Framework Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.3.3 E82940-01 |
|
前 |
次 |
この章の内容は次のとおりです。
機能アーカイブ・ファイルとは、別のMAFアプリケーションで再利用するためにアプリケーション機能をパッケージ化したJARファイルです。機能アーカイブ・ファイルには、アプリケーション機能のコンポーネントが格納されていてます。このファイルは、アプリケーション・ライブラリとして追加することも、ビュー・コントローラ・プロジェクトとして追加することもできます。
アプリケーション機能は、機能アーカイブ・ファイル(FAR)と呼ばれるJARファイルにパッケージ化されると、他のMAFアプリケーションが使用できる再利用可能なコンテンツを提供します。MAFアプリケーションは1つ以上のFARファイルを使用できます。FARファイルには、アイコンのイメージ、リソース・バンドル、HTMLファイル、JavaScriptファイル、その他の実装固有のファイルなど、アプリケーション機能が必要とするすべてのものが格納されています。
また、FARには、パッケージ化された各アプリケーション機能を一意のIDで識別する、1つのmaf-feature.xml
ファイルも含まれています。このファイルを編集することで、コンテンツ実装(MAF AMX、ローカルHTML、リモートURL)などのアプリケーション機能プロパティを更新し、ユーザー・ロールや権限またはデバイス・プロパティなどのファクタに基づいてプロパティを表示できます。
アプリケーション・ライブラリとしてFARを追加することも、ビュー・コントローラ・プロジェクトとして追加することもできます。プロジェクト・ライブラリとして追加したFARのコンテンツはカスタマイズできません。また、そのコンテンツの個別のアーティファクトを再利用することもできません。FARがライブラリ・ファイルとして追加される場合、MAアプリケーションではFAR全体が使用されます。たとえば、FARのタスク・フローは、タスク・フロー・コール・アクティビティのターゲットになることはできません。ただし、「MDSを使用したMAFアプリケーションのアーティファクトのカスタマイズ」で説明されているように、FARをビュー・コントローラ・プロジェクトとして追加すると、そのアーティファクトをカスタマイズできるようになります。
アプリケーション機能のコンテンツをライブラリとしてMAFアプリケーションに追加するための手順と、FARをビュー・コントローラ・プロジェクトとして追加する手順を使用してください。
アプリケーション機能は、その機能を使用するアプリケーションのクラスパスに追加することで、MAFアプリケーションで使用できるようになります。
注意:
FARは、アプリケーション・コントローラ・プロジェクトにのみ追加でき、ビュー・コントローラ・プロジェクトにFARを追加することはできません。
始める前に:
「機能アーカイブのデプロイメント・プロファイルのデプロイ方法」の説明に従って、アプリケーション機能を機能アーカイブ・ファイルとしてデプロイします。
アプリケーション機能コンテンツをライブラリとしてMAFアプリケーションに追加するには:
「リソース」ウィンドウを開き、「新規」、「IDE接続」、「ファイルシステム」の順にクリックします。
「ファイルシステム接続」ダイアログに入力し、機能アーカイブJARファイルを格納するディレクトリへのファイル接続を作成します。詳細は、Oracle JDeveloperのオンライン・ヘルプを参照してください。
「リソース」ウィンドウで、機能アーカイブ・ファイル(JARファイルとして示されている)を右クリックします。
「名前を付けてアプリケーションに追加」をクリックして、「ライブラリ」をクリックし、これを使用するアプリケーションのクラスパスを追加します(図10-1を参照)。
図10-1 ライブラリとしてのFARのMAFアプリケーションへの追加
ヒント:
使用するアプリケーションのクラスパスから機能アーカイブJARを削除するには、「ライブラリをアプリケーションから削除」をクリックします。
FARをビュー・コントローラ・プロジェクトとして追加するには:
FARファイルは、アプリケーションのクラスパスに手動で追加することも、アプリケーションで使用できるように「リソース」に機能を追加することもできます。「リソース」ウィンドウでアプリケーション機能を追加または削除する手順を使用してください。
FARをライブラリとして(または手動でアプリケーションのクラスパスに)追加した場合:
FARのコンテンツが、「アプリケーション・リソース」の「ライブラリ」ノードの下に表示されます(図10-3を参照)。
図10-3 使用するアプリケーションの「アプリケーション・リソース」に表示されるFAR JARファイル
JARに含まれるmaf-feature.xml
ファイルで宣言されたすべてのアプリケーション機能は、アプリケーションで使用できるようになります(図10-4を参照。ドロップダウンには、JAR内の使用可能なアプリケーション機能のIDと、アプリケーション内で定義済のIDが表示されています)。
図10-4 様々なmaf-feature.xmlファイルで定義されたアプリケーション機能の参照
ヒント:
機能アーカイブJARをアプリケーションのクラスパスに手動で追加すると、アプリケーション機能が「機能参照の挿入」ダイアログにも表示されるようになります。
または、次のように「リソース」ウィンドウからアプリケーション機能を追加したり、削除することもできます。
「リソース」ウィンドウで、機能アーカイブJARを開きます。
「MAF機能」フォルダから、アプリケーション機能を右クリックします。
「機能参照をmaf-application.xmlに追加」(図10-5を参照)、または「機能参照をmaf-application.xmlから削除」(図10-6を参照)を選択します。図10-5に、MAF_DevGuideExample.jar
からの人々というアプリケーション機能の追加を示しています。
図10-5 機能参照の追加
図10-6に、maf-application.xml
ファイルからのアプリケーション機能参照の削除を示しています。
図10-6 機能参照の削除
機能アーカイブJARにあるconnections.xml
ファイル内の情報は、それを使用するアプリケーションのconnections.xml
ファイルにマージされます。図10-7に示す「ログ」ウィンドウには、名前の競合が表示されています。
注意:
使用するアプリケーションで接続が有効であるかどうかを確認する必要があります。
図10-7 接続での名前の競合を示すメッセージ・ログ・ウィンドウ
ビュー・コントローラ・プロジェクトとしてFARが追加されると、connections.xml
ファイルが作成され、ビュー・コントローラ・プロジェクトで使用できるようにFARに.class
とJARファイルが含まれます。
FARをビュー・コントローラ・プロジェクトとして追加する場合:
MAFは、インポートしたFARと同じ名前のビュー・コントローラ・プロジェクトを生成します。図10-8に、MAFで、StockTracker
(図10-2のStockTrackerFAR.jar
を参照)というインポートしたFARファイルに対してビュー・コントローラ・プロジェクト(.jprファイル)を作成する方法を示しています。「ビュー・コントローラ・プロジェクトのリソースについて」で説明されているように、このビュー・コントローラ・プロジェクトには、MAFビュー・コントローラ・プロジェクトのデフォルトの構造およびメタデータ・ファイルが含まれています。特に、FARビュー・コントローラ・プロジェクトには、maf-feature.xml
ファイルが含まれています。MAFアプリケーションに他のビュー・コントローラ・プロジェクトが含まれている場合、いずれのプロジェクトにもIDが同じアプリケーション機能が含まれていないことを確認する必要があります。「機能アーカイブ・リソースの再使用の有効化に関する必知事項」も参照してください。
図10-8 MAFアプリケーション内のビュー・コントローラ・プロジェクトとしてインポートしたFAR
ライブラリとしてインポートしたFARと同様に、機能アーカイブJARにあるconnections.xml
ファイル内の情報は、それを使用するアプリケーションのconnections.xml
ファイルにマージされます。ターゲット・アプリケーションにconnections.xml
ファイルが存在しない場合、MAFではこのファイルが作成されます。
MAFでは、FARに含まれる.class
およびJARファイルをビュー・コントローラ・プロジェクトでライブラリとして使用できるように、これらをそのlib
ディレクトリ(C:\jdeveloper\mywork\
application
\
FAR view controller project
\lib
など)にコピーします。MAFでは、これらのファイルをclassesFromFar.jar
というファイルにコンパイルします。
ライブラリとしてインポートしたFARとは異なり、ビュー・コントローラ・プロジェクトのファイルはカスタマイズできます。
注意:
FARに含まれているオリジナルのリソース・バンドルは、生成されたビュー・コントローラ・プロジェクトでは使用できない可能性があるため、「リソース・バンドルでのカスタマイズの有効化」の説明に従って、このプロジェクト内に新しいリソース・バンドルを作成する必要があります。
ライブラリとしてインポートしたFARと同様に、FARのmaf-feature.xml
ファイル内で宣言されたすべてのアプリケーション機能は、それ使用するアプリケーションで使用できるようになります。
FARのリソースは、いくつかの条件(プロジェクトに固有のパッケージ階層や機能参照IDに対する一意のパッケージ・ネーミング・システムなど)が満たされている場合にのみアプリケーションで使用できます。
FARのリソースをアプリケーションで使用可能にするためには、FARの名前とその機能参照IDが両方ともグローバルに一意である必要があります。重複した機能参照IDがmaf-application.xml
ファイルに存在しないことを確認します。FARの内部では、DataControl.dcx
ファイルが一意のパッケージ・ディレクトリ内に存在する必要があります。これらのパッケージ・ディレクトリのデフォルト名をそのまま使用するのではなく、プロジェクト用に一意のパッケージ階層を作成します。機能参照IDについても、同じようなパッケージ・ネーミング・システムを使用します。