Oracle® Mobile Application Framework Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.1.0 E60836-01 |
|
![]() 前 |
![]() 次 |
この付録では、モバイル・アプリケーション・フレームワークのアプリケーション・テンプレートを使用してMAFアプリケーションを作成する際に、JDeveloperによって生成されるファイルについて説明します。
この付録の内容は次のとおりです。
デフォルトで、JDeveloperはMAFアプリケーションを2つのプロジェクト(ApplicationControllerとViewController)とともに作成します。MAFアプリケーションのセキュリティを構成する場合、ApplicationControllerプロジェクトにはアプリケーション全体のリソース(ログイン・ページなど)が格納されます。ViewControllerプロジェクトには、アプリケーション機能のコンテンツとしてレンダリングされる、アプリケーション機能のリソース(HTML、AMX、タスク・フロー・ファイルなど)が格納されます。これらのプロジェクトの詳細は、第C.2項「アプリケーション・コントローラ・プロジェクト・レベルのリソースについて」および第C.3項「ビュー・コントローラ・プロジェクトのリソースについて」を参照してください。
これらのプロジェクト内には、MAFアプリケーションとアプリケーション機能の構成用ファイル、またはMAFアプリケーションをターゲット・プラットフォームにデプロイする際にそのアプリケーションで必要になるファイルもJDeveloperによって生成されます。例C-1に、新規作成したMAFアプリケーションに対してJDeveloperによって生成されるファイルを示します。
MAFアプリケーションの開発時に最もよく使用されるファイルは、maf-application.xml
ファイル(アプリケーションの構成)とmaf-features.xml
ファイル(機能の構成)の2つです。これらのファイルの詳細は、第C.4項「MAFアプリケーションの構成ファイルについて」および第C.5項「MAFアプリケーション機能の構成ファイルについて」を参照してください。
例C-1 新規作成したMAFアプリケーションのファイル
RootApplicationDirectory | MAFApplication.jws | +---.adf | \---META-INF | adf-config.xml | maf-application.xml | maf-config.xml | maf-plugins.xml | sync-config.xml | +---.data | \---00000000 | 00000000.jdb | je.lck | +---ApplicationController | | ApplicationController.jpr | | | +---adfmsrc | | +---application | | | DataControls.dcx | | | | | \---META-INF | | adfm.xml | | | +---public_html | \---src | +---application | | LifeCycleListenerImpl.java | | | \---META-INF | maf-skins.xml | +---resources | +---android | | display-hdpi-icon.png | | // Additional image files omitted for brevity | | display-xhdpi-icon.png | | | +---default | | MissingIcon_144x144.png | | | +---ios | | Default-1104h@2x.png | | // Additional image files omitted for brevity | | iTunesArtwork.png | | | \---security | cacerts | +---src | \---META-INF | logging.properties | maf.properties | \---ViewController | ViewController.jpr | +---public_html \---src \---META-INF maf-feature.xml
JDeveloperでは、アプリケーション・コントローラ・プロジェクト内にMAFアプリケーション用のファイルが生成されます。これらのファイル(表C-1を参照)は、MAFアプリケーションのメタデータを記述した構成情報を含んでいます。これらのファイルには、「アプリケーション」ウィンドウの「アプリケーション・リソース」ペイン(図C-1を参照)からアクセスします。
アプリケーション全体のリソースが含まれるアプリケーション・コントローラ・プロジェクトは、モバイル・デバイスでのアプリケーションの表示方法を構成するためのメタデータ・ファイルが含まれるという点で、MAFアプリケーションのプレゼンテーション・レイヤーを提供しています。このプロジェクトはMAFアプリケーションのセキュリティを指定するもので、アプリケーションのログイン・ページ、およびアプリケーション全体のリソースを含めることができます。アプリケーション・コントローラ・プロジェクトは、本質的には、アプリケーション機能とそのコンテンツを定義するビュー・コントローラ・プロジェクトのコンシューマです。詳細は、第C.3項「ビュー・コントローラ・プロジェクトのリソースについて」を参照してください。
表C-1 アプリケーション・リソースを介してアクセスされるMAFアプリケーション・レベルのアーティファクト
アーティファクト | ファイルの場所 | 説明 |
---|---|---|
|
次に例を示します。
|
アプリケーションレベルの情報を定義するXMLファイル。アプリケーションの内容、ナビゲーションの動作およびそのユーザー認証要件を定義できます。 |
|
次に例を示します。
|
MAFアプリケーションに使用されるデフォルト・スキンの構成に使用されます。詳細は、第7章「MAFアプリケーションのスキニング」を参照してください。 |
アプリケーション・イメージ |
次に例を示します。
|
iOSおよびAndroidアプリケーションのデプロイメントに必要とされる一連のイメージ。ここには、アプリケーション・アイコンやスプラッシュ画面のPNGイメージも含まれます。iPhoneなどのiOSデバイスへのデプロイメントでは、様々なサイズのイメージ・セットが必要です。 プロジェクトで提供されるデフォルトのiOSイメージは次のとおりです。
これらのイメージをオーバーライドするには、第27.2.5.3項「iOSアプリケーションへのカスタム・イメージの追加」を参照してください。 |
|
次に例を示します。
|
システム全体のキーストアである |
|
次に例を示します。
|
ロギング・レベルやロギング・コンソールなど、アプリケーション・エラーのロギングを設定できます。詳細は、第30.4項「ロギングの使用方法と構成」を参照してください。 |
|
次に例を示します。
|
JVMの構成ファイル。このファイルを使用して、アプリケーションの起動やヒープ領域の割当て、JavaおよびJavaScriptのデバッグ・オプションを構成します。詳細は、第30.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照してください。 |
|
次に例を示します。
|
構成サービス・パラメータなど、アプリケーション・レベルの設定の構成に使用します。第16章「MAFアプリケーションで使用されるエンド・ポイントの構成」も参照してください。 |
|
次に例を示します。
|
MAFアプリケーションで定義されているすべての接続のリポジトリ。 |
|
次に例を示します。
|
保護されたWebサービスに使用されるWebサービス・ポリシー定義を格納します。 |
ヒント: アプリケーション・コントローラ・プロジェクト内には、アプリケーション・レベルのライフサイクル・リスナーなど、アプリケーション全体の機能をサポートするコードを配置してください。 |
JDeveloperでは、アプリケーション・コントローラ・プロジェクト自体の中に、表C-2にリストされたアーティファクトが作成されます。
表C-2 アプリケーション・コントローラのアーティファクト
アーティファクト | ファイルの場所 | 説明 |
---|---|---|
|
次に例を示します。
|
MAFアプリケーションのデフォルトのアプリケーション・ライフサイクル・リスナー(ALCL)。 詳細は、第11章「MAFアプリケーションでのライフサイクル・リスナーの使用方法」を参照してください。 |
|
次に例を示します。
|
使用可能なスキンを定義するもので、新しいスキンを定義することもできます。 詳細は、第7章「MAFアプリケーションのスキニング」を参照してください。 |
|
次に例を示します。
|
|
|
次に例を示します。
|
データ・コントロールのレジストリ。デバイスのサービスを活用するDeviceFeaturesデータ・コントロールの使用方法の詳細は、第14項「MAF AMXでのバインディングの使用とデータ・コントロールの作成」を参照してください。埋込みアプリケーション機能をコールするSpringboardページを作成できるようにするApplicationFeaturesデータ・コントロールの詳細は、第4.6項「MAF AMXコンテンツによるカスタムSpringboardアプリケーション機能に関する必知事項」を参照してください。 |
ビュー・コントローラ・プロジェクト(ViewControll
というデフォルト名で生成されます)には、アプリケーション機能のリソースが格納されます。アプリケーション・コントローラ・プロジェクトとは異なり、ビュー・コントローラ・プロジェクトのメタデータ・ファイルでは、アプリケーション機能レベルのリソース、特に、実行時にモバイル・デバイスでMAFアプリケーション自体のSpringboard内またはそのナビゲーション・バーに表示できるように1つのMAFアプリケーションに集約可能な様々なアプリケーション機能が記述されます。さらに、アプリケーション機能のメタデータ・ファイルでは、アプリケーション機能をHTMLページとMAF AMXページのどちらで構成するのかが記述されます。また、ビュー・コントローラ・プロジェクトには、これらのアプリケーション・ページと、アプリケーション機能レベルのリソース(MAFアプリケーション用に定義された、Springboardおよびナビゲーション・バー上のアプリケーション機能を表すアイコン・イメージなど)を含めることができます。
ヒント: ビュー・コントローラ・プロジェクト内には、アプリケーション機能に固有のコードを格納します。アプリケーション・コントローラ・プロジェクトは、(特に別々のビュー・コントローラ・プロジェクト内で定義されている)アプリケーション機能間で共有されるコードの場所として使用してください。 |
ビュー・コントローラ・プロジェクトはアプリケーション・コントローラ・プロジェクトと分離して、別のMAFアプリケーションで再使用できるように、アーカイブ・ファイルとしてデプロイできます(第8章「MAFアプリケーション・コンテンツの再使用」を参照)。また、稀なケースとして、アプリケーション・コントローラ・プロジェクトが複数のビュー・コントローラ・プロジェクトを使用することもできます。
注意: MAFビュー・コントローラ・プロジェクトを別のMAFビュー・コントローラ・プロジェクトの依存性またはMAFアプリケーション・コントローラ・プロジェクトの依存性として追加すると、MAFアプリケーションをデプロイできなくなります。詳細は、第2.5.2項「機能参照IDと機能IDに関する必知事項」を参照してください。 |
表C-3に示すように、これらのリソースには、maf-feature.xml
という名前のアプリケーション機能の構成ファイルが含まれます。
表C-3 ビュー・コントローラのアーティファクト
アーティファクト | ファイルの場所 | 説明 |
---|---|---|
|
次に例を示します。
|
アプリケーション機能を定義できるようにする、スタブXMLの識別子ファイル。『Oracle Mobile Application Frameworkのインストール』の説明に従ってモバイル・プリファレンスを構成したら、デフォルトのデプロイメント・プロファイル設定を使用してこのアプリケーションをデプロイできます。詳細は、第27章「MAFアプリケーションのデプロイ」を参照してください。 |
アプリケーション固有のコンテンツ |
次に例を示します。
|
|
maf-application.xml
ファイルでは、表示名と一意のアプリケーションID (名前の競合を防ぐ)を指定し、実行時にMAFアプリケーションのSpringboardに表示するアプリケーション機能を選択することで、MAFアプリケーションの基本構成を指定します。さらに、maf-application.xml
ファイルでは、MAFアプリケーションのユーザー・プリファレンス・ページも作成できます。
このファイルは、第2.2項「MAFアプリケーションの作成」で説明したように、アプリケーション作成ウィザードの完了後にJDeveloperによって生成されるもので、表C-4に示す要素が含まれています。
表C-4 アプリケーション識別子ファイルの要素
要素 | 説明 |
---|---|
|
|
|
アプリケーションの説明。 |
|
機能参照は、FAR (機能アーカイブ・ファイル)にパッケージ化されているか、 |
|
ユーザー・プリファレンスのオプションおよび動作をアプリケーション・レベルで設定できます。 |
|
アプリケーション機能のログイン・ページを設定できます。詳細は、第29章「MAFアプリケーションの保護」を参照してください。 |
|
ナビゲーション・バーとSpringboardの動作を定義できます。Springboardはホーム・ページで、ここには、埋め込まれたアプリケーション機能のすべてのアプリケーション・アイコンとラベルがリスト・ビューに整理されて表示されます。Springboardには、ユーザーが使用可能なすべてのアプリケーションの最上位のビューが表示されます。ユーザーは内容に目を通してアプリケーションを選択できます。詳細は、第4章「アプリケーションのナビゲーションの構成方法」を参照してください。 |
maf-feature.xml
ファイルでは、MAFアプリケーションのmaf-application.xml
ファイル内の<adfmf:featureReference>
要素によって参照されるアプリケーション機能を構成します。例C-2は、WorkBetterサンプル・アプリケーションのmaf-feature.xml
ファイル内に含まれている、人々および組織というアプリケーション機能を示しています。
maf-feature.xml
ファイル内の<adfmf:features>
ルート要素では、1つ以上の<adfmf:feature>
要素を使用して、MAFアプリケーションのアプリケーション機能のプロパティを定義します。例C-2では、WorkBetterサンプル・アプリケーションの人々および組織アプリケーション機能の名前とID、およびアイコン(Springboardとナビゲーション・バーでこれらのアプリケーション機能を表す)を定義するプロパティの値を指定します。さらに、<adfmf:feature>
要素では、アプリケーション機能用にレンダリングされるコンテンツも参照します。人々および組織アプリケーション機能では、タスク・フロー、.CSS
および.JS
の各ファイルを参照しています。
MAFアプリケーションはアプリケーション機能レベルでセキュリティを実装します。アプリケーション機能を保護するための1つの手段は、エンド・ユーザーがアプリケーション機能へアクセスできるようになる前に認証を要求することです。これを行うには、maf-feature.xml
ファイルでアプリケーション機能の「セキュリティ有効化」プロパティ(securityEnabled
)を構成します。詳細は、第29.5項「MAFアプリケーションのセキュリティの構成」を参照してください。
表C-5 <Feature>要素の子要素
要素 | 説明 |
---|---|
|
特定のデバイスやユーザーに対してアプリケーション機能で使用される形式を記述します。アプリケーション機能のコンテンツ(通常はユーザー・インタフェース)は、MAF AMXページやHTML5ページとして記述することも、リモートWebサーバー上でホストされるWebページから配信することもできます。コンテンツをWebアプリケーションとして指定する方法の詳細は、第20章「リモートURLを使用したアプリケーション機能コンテンツの実装」を参照してください。 |
|
指定したアプリケーション機能を実行時にアプリケーションに表示できるようにするかどうかを決定します。制約を使用すると、ユーザー・ロールやデバイスのプロパティなどの基準に基づいてアプリケーション機能の使用を許可または回避できます。詳細は、第22章「アプリケーション機能に関する制約の設定」を参照してください。 |
例C-2 WorkBetterサンプル・アプリケーションのmaf-feature.xmlファイル
<?xml version="1.0" encoding="UTF-8" ?> <adfmf:features xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:adfmf="http://xmlns.oracle.com/adf/mf"> <adfmf:feature id="People" name="People" icon="images/people.png" image="images/people.png"> <adfmf:content id="People.1"> <adfmf:amx file="People/taskflow.xml#taskflow"> <adfmf:includes> <adfmf:include type="StyleSheet" file="css/WorkBetter.css" id="i1"/> <adfmf:include type="JavaScript" file="js/customsearch.js" id="i2"/> </adfmf:includes> </adfmf:amx> </adfmf:content> </adfmf:feature> <adfmf:feature id="Organizations" name="Organizations" icon="images/departments.png" image="images/departments.png"> <adfmf:content id="Organizations.1"> <adfmf:amx file="Organizations/taskflow.xml#taskflow"> <adfmf:includes> <adfmf:include type="StyleSheet" file="css/WorkBetter.css" id="i3"/> <adfmf:include type="JavaScript" file="js/customsearch.js" id="i4"/> </adfmf:includes> </adfmf:amx> </adfmf:content> </adfmf:feature> ... </adfmf:features>