Oracle Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.2.1 E72511-01 |
|
![]() 前 |
![]() 次 |
この章では、MAFアプリケーション・エディタとMAF機能エディタを使用してモバイル・アプリケーションのSpringboardおよびナビゲーション・バーの表示動作を定義し、アプリケーション機能を埋め込むことでコンテンツを指定する方法について説明します。
この章の内容は次のとおりです。
MAFアプリケーション・エディタは、少なくとも1つのアプリケーション機能を参照します。これらのアプリケーション機能は、機能アーカイブ・ファイル(FAR)と呼ばれるJARファイルにパッケージ化されると、他のモバイル・アプリケーションが使用できる再利用可能なコンテンツを提供します。FARは本質的に、アイコンのイメージ、リソース・バンドル、HTMLファイル、JavaScriptファイル、その他の実装固有のファイルなど、アプリケーション機能が必要とするすべてのものを格納した自己完結型のコレクションです。モバイル・アプリケーションでは、1つまたは複数のFARを参照することも、何も参照しないようにすることもできます。
MAFアプリケーション・エディタを使用してFARをMAFアプリケーションに追加できます。追加されると、それに含まれる機能を参照できるようになります。参照しなければ、FAR機能は使用されません。参照する場合は、FARで使用する任意の接続を、使用するアプリケーションで設定する必要があります。FARのコンテンツはカスタマイズできず、またその個々のアーティファクトを再利用することもできません。モバイル・アプリケーションではFAR全体を利用できます。たとえば、FARのタスク・フローは、タスク・フロー・コール・アクティビティのターゲットにすることはできません。
注意: 機能アーカイブに、地理マップを使用するAMXページが含まれる場合、アプリケーションのadf-config.xml ファイルで数多くのプロパティを設定する必要があります。第13.5.18.1項「地理プロバイダ情報を指定した地理マップ・コンポーネントの構成」を参照してください。 |
FARをアプリケーション・ライブラリとしてインポートして、MAFアプリケーションからその機能にアクセスできるようにすることができます。
FARをアプリケーション・ライブラリとしてインポートするには:
プロジェクト・エクスプローラで、最上位のアセンブリ・プロジェクトのフォルダを展開し、MAFフォルダを展開します。
「MAFアプリケーション・エディタ」をダブルクリックして開きます。
機能アーカイブ・フォルダを右クリックし、「新」→「機能アーカイブ」を選択します。
「URI」フィールドの「参照」ボタンをクリックして、モバイル機能のアーカイブ場所ダイアログを開き、FARを配置できるURIを入力します。Oracle Enterprise Pack for Eclipseによって、選択したファイルに機能の定義が含まれているかどうかと、場所がアクセス可能かどうかが検証されます。
URIを指定し、Oracle Enterprise Pack for Eclipseによってそれが確認されたら、「OK」をクリックします。
sync-config.xml
ファイルにより、モバイル・アプリケーションが、様々なタイプのWebサービス(SOAP、またはJSONペイロードによるREST)を介してアクセスされるサーバー側リソースから取得されたデータをSQLite埋込みデータベースにキャッシュできるようになるだけでなく、キャッシュ内のこのデータおよびサーバー側リソースも更新できるようになります。
ビュー・コントローラ・プロジェクトがFARとしてデプロイされると、sync-config.xml
ファイルは機能アーカイブ・ファイルに含まれます。connections.xml
ファイルと同様に、FARをアプリケーションに追加すると、MAFではFAR (jar-sync-config.xml)内のsync-config.xml
ファイルの内容と、使用するアプリケーションのsync-config.xml
ファイルの内容をマージします。sync-config.xmlファイルは、モバイル・アプリケーションで使用されるWebサービス・エンドポイントを記述しているため、FARを追加することによって、モバイル・アプリケーションを構成するアプリケーション機能によって使用されるすべてのWebサービスのエンドポイントを更新できます。
FARをアプリケーションに追加すると、MAFでは、アプリケーションのsync-config.xml
ファイルおよびconnections.xml
ファイルを確認し、必要に応じて変更するように求めるメッセージがログに記録されます。図9-1に示すように、これらのメッセージは、使用するアプリケーションのsync-config.xml
ファイルの状態を反映します。
使用するアプリケーションにsync-config.xml
ファイルがない場合、MAFではこのファイルをアプリケーションに追加し、次のようなメッセージを書き込みます。
oracle.adfmf.framework.dt.deploy.features.deployers.SyncConfigMerger _logNoSyncConfigInAppUsingFar
WARNING: The application does not contain a synchronization file, "sync-config.xml". Creating one containing the synchronization configuration in the Feature Archive.
sync-config.xml
ファイルの<ServerGroup>
要素に、使用するアプリケーションのconnections.xml
ファイルで定義された対応する<Reference>
要素がない場合、MAFでは接続の確認(または作成)をリクエストする次のようなログ・メッセージを書き込みます。
oracle.adfmf.framework.dt.deploy.features.deployers.SyncConfigMerger _logAddedServerGroups
WARNING: The following server groups were added sync-config.xml by the Add to Application
operation:{ ServerGroup1 - there is no existing application connection defined for this server group. Please create the connection. ServerGroup2 - verify its configuration.}
使用するアプリケーションのconfig-sync.xml
ファイルの<ServerGroup>
定義が、FAR内の対応するconfig-sync.xml
ファイルの定義を複製する場合、MAFでは次のSEVERE
レベルのメッセージをログに書き込みます。
oracle.adfmf.framework.dt.deploy.features.deployers.SyncConfigMerger _logDuplicateServerGroups
SEVERE: Cannot merge the server groups from the Feature Archive because the following definitions already exist:
ServerGroup1
ServerGroup2
FARをビュー・コントローラ・プロジェクトとして追加する場合:
MAFは、インポートしたFARと同じ名前のビュー・コントローラ・プロジェクトを生成します。このビュー・コントローラ・プロジェクトには、MAFビュー・コントローラ・プロジェクトのデフォルトの構造およびメタデータ・ファイルが含まれています。特に、FARビュー・コントローラ・プロジェクトには、maf-feature.xml
ファイルが含まれています。MAFアプリケーションに他のビュー・コントローラ・プロジェクトが含まれている場合、いずれのプロジェクトにもIDが同じアプリケーション機能が含まれていないことを確認する必要があります。
ライブラリとしてインポートしたFARと同様に、機能アーカイブJARにあるconnections.xml
ファイル内の情報は、使用するアプリケーションのconnections.xml
ファイルにマージされます。ターゲット・アプリケーションにconnections.xml
ファイルが存在しない場合、MAFではこのファイルが作成されます。同様に、sync-config.xml
ファイルは、使用するアプリケーションのsync-config.xml
ファイルにマージされます。
MAFでは、FARに含まれる.classおよびJARファイルをビュー・コントローラ・プロジェクトでライブラリとして使用できるように、これらをそのlibディレクトリ(C:\workspace\application\FAR view controller project\lib
など)にコピーします。MAFでは、これらのファイルをclassesFromFar.jar
というファイルにコンパイルします。
ライブラリとしてインポートしたFARとは異なり、ビュー・コントローラ・プロジェクトのファイルはカスタマイズできます。
ライブラリとしてインポートしたFARと同様に、FARのmaf-feature.xml
ファイル内で宣言されたすべてのアプリケーション機能は、使用するアプリケーションで使用できるようになります。
FARのリソースをアプリケーションで使用可能にするためには、FARの名前とその機能参照IDが両方ともグローバルに一意である必要があるため、maf-application.xml
ファイル内に機能参照IDの重複がないことを確認してください。FARの内部では、DataControl.dcx
ファイルが一意のパッケージ・ディレクトリ内に存在する必要があります。これらのパッケージ・ディレクトリのデフォルト名をそのまま使用するのではなく、プロジェクト用に一意のパッケージ階層を作成する必要があります。さらに機能参照IDについても、同じようなパッケージ・ネーミング・システムを使用する必要があります。