ヘッダーをスキップ

Oracle® Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.0.1 E57593-01 |
| 目次

前 | 次 |

# 3 モバイル・アプリケーション開発のスタート・ガイド

この章では、Oracle Enterprise Pack for Eclipse (OEPE)のウィザードおよびツールを使用して、Oracle Mobile Application Framework (MAF)で基本的なアプリケーションを作成する方法を説明し、さらにアプリケーションの作成時に自動的に生成されるアーティファクトについても説明します。

この章には次の項が含まれます:

- 第3.1項「MAFアプリケーションの宣言的な開発の概要」

- 第3.2項「アプリケーション・ワークスペースの作成」

- 第3.3項「モバイル・アプリケーションの移行」

## 3.1 MAFアプリケーションの宣言的な開発の概要

MAFは設計時にOracle Enterprise Pack for Eclipseに統合されるため、コードを一行も記述せずに単純なモバイル・アプリケーション(およびより複雑なモバイル・アプリケーションの多くの部分)の作成、デプロイおよびテストが可能です。

## 3.2 アプリケーション・ワークスペースの作成

Oracle Mobile Application Frameworkには、基本ファイルを持つ完成したプロジェクトをシードするアプリケーション・テンプレート備えたOracle Enterprise Pack for Eclipseが用意されています。MAFアプリケーションを構築する最初の手順は、名前の割当てと、ソース・ファイルを保存するディレクトリの指定です。Oracle Enterprise Pack for Eclipseで用意されているアプリケーション・テンプレートを使用してアプリケーションを作成すると、必要な構成ファイルとともに、ワークスペースがプロジェクトに自動的に編成されます。

### 3.2.1 モバイル・アプリケーション用のワークスペースの作成方法

アプリケーションの作成ウィザードを使用して、アプリケーションを作成します。

モバイル・アプリケーションを作成するには、次の手順を実行します。

1. 「ファイル」→「新」を選択し、次に「MAFアプリケーション」を選択します。「MAFアプリケーション」ウィザード(図3-1参照)が開きます。

   図3-1 MAFアプリケーションの作成

2. 「アプリケーション表示名」フィールドに、MobileApplicationなどのアプリケーションの名前を入力します。これは、MAFアプリケーションの最上位構造になります。これは、アセンブリ・プロジェクトとも呼ばれ、アプリケーションのパッケージ化およびデプロイメントに必要なすべてのアーティファクトを保持します。「次へ」をクリックします。

   図3-2 アプリケーション名およびプロジェクト名の指定

3. 図3-2に示される、ウィザードの次のページには、作成するMAFアプリケーションの「アプリケーション・プロジェクト名」および「ビュー・プロジェクト名」が表示されます。デフォルトでOracle Enterprise Pack for Eclipseは最初のページで入力した名前を使用しますが、プロジェクトのそれぞれに`Application`および`View`を追加します。

   たとえば、EmployeeというMAFアプリケーションを作成した場合、ウィザードでは`EmployeeApplication`および`EmployeeView`という名前が作成されます。名前は必要に応じて変更できます。プロジェクトのデフォルトでよい場合には、「次へ」をクリックします。

   図3-3 デプロイメント・ターゲットの選択

4. 図3-3に示される「MAFアプリケーション」ウィザードの「デプロイメントの構成」ページでは、開発するMAFアプリケーションに使用するデプロイメント・ターゲットを選択できます。このページに表示されるターゲットは、環境を設定したときに指定したものです。詳細は、第2.3.1項「ターゲット・プラットフォームに応じた開発環境の構成方法」を参照してください。

   デフォルトでは、定義した各SDKに対して1つのデプロイメント・ターゲットがウィザードにより作成されます。使用するターゲットを選択します。

5. 「終了」をクリックして、MAFアプリケーションとそのプロジェクトの作成を完了します。

   MAFパースペクティブへ変更するかどうかを確認する、図3-4のようなダイアログが表示されます。「はい」をクリックします。

   図3-4 MAFパースペクティブへの変更

ヒント: 前述の手順に従ってMAFアプリケーションを作成する他に、HelloWorldサンプル・アプリケーション(「ファイル」→「新」→「MAFサンプル」を選択し、HelloWorldを選択して特定)を開いて、アプリケーション作成ウィザードの完了後に、Oracle Enterprise Pack for Eclipseが生成したアーティファクトを表示できます。

### 3.2.2 MAFアプリケーションを作成する場合の処理

MAFアプリケーションの作成時、Oracle Enterprise Pack for Eclipseでは、プロジェクト・エクスプローラからアクセスする次のアーティファクトが作成されます。

- 最上位レベルまたはアセンブリ・プロジェクト。これは、アプリケーションのパッケージ化およびデプロイメントに必要なすべてのアーティファクトを保持します。また、以前のバージョンのMAFからアプリケーションを移行する場合、アセンブリ・プロジェクトは、プロジェクトで使用されるMAFランタイムのバージョンを追跡します。

- アプリケーション・プロジェクト。これには、デバイス機能およびアプリケーション機能を抽象化するデータ・コントロール・マネージャが含まれています。

- ビュー・コントローラタイプ・プロジェクト。これには、ソース・フォルダ(`src`)および「ViewContent」フォルダが含まれます。

Oracle Enterprise Pack for Eclipseによってアプリケーション・レベルおよびプロジェクト・レベルのアーティファクトが追加され、これらには、図3-5に示すプロジェクト・エクスプローラからアクセスします。これらのアーティファクトには、2つのMAFエディタが含まれています。1つは、名前、アプリケーションを実行するアプリケーション・ライフサイクル・リスナー(`LifeCycleListenerImpl.java`)、埋込みアプリケーション機能用のログイン・サーバー接続などのMAFアプリケーション自体の構成に使用され、もう1つは、どのアプリケーション機能でMAFアプリケーションを構成するかを記述するものです。MAFアプリケーション・エディタ`maf-application.xml`およびMAF機能エディタ`maf-feature.xml`と呼ばれるこれらのエディタについては、第3.2.2.1項「アセンブリ・レベルのリソースについて」および第3.2.2.2項「ビュー・プロジェクト・リソースについて」で説明します。

Oracle Enterprise Pack for EclipseもDeviceFeaturesデータ・コントロールを作成します。このデータ・コントロールによってApache Cordova Java APIが抽象化され、MAF AMXとして実装されているアプリケーション機能は、デバイスに埋め込まれている様々なサービスにアクセスできるようになります。さらにOracle Enterprise Pack for Eclipseでは、ApplicationFeaturesデータ・コントロールも作成され、これによってSpringboardページの構築が可能になります。DeviceFeaturesデータ・コントロールによって提供される操作をMAF AMXページにドラッグ・アンド・ドロップすることで(第7.10項「DeviceFeaturesデータ・コントロールの使用方法」を参照)、デバイスに格納されたユーザーのコンタクト先を管理したり、電子メールとSMSテキスト・メッセージを作成して送信したり、デバイスの場所を突きとめたり、デバイスのカメラを使用したり、デバイスのファイル・システムに格納されたイメージを取得したりする機能を追加します。

図3-5 生成されたMAFアプリケーション・アーティファクト

デフォルトで、プロジェクト・エクスプローラのビューから一部のファイルがフィルタリングされています。アプリケーションのパッケージ化およびデプロイメントに必要な生成済のアーティファクトを表示するには、エクスプローラ・ツールバーの下矢印をクリックし、「ビューのカスタマイズ」を選択します。

図3-6に示される「使用可能なカスタマイズ」ダイアログで、`.* resources`を選択解除し、「OK」をクリックします。

図3-6 プロジェクト・エクスプローラ・ファイルのフィルタリング

ここで、アセンブリ・プロジェクト・ノードおよび`.main.android`または`.main.ios`ノードを展開し、図3-7に示すように、パッケージおよびデプロイのアーティファクトを表示します。

図3-7 パッケージおよびデプロイメントのアーティファクトの表示

これらのファイルをプロジェクト・エクスプローラのビューからフィルタリングするには、カスタマイズ・ダイアログを再度開き、`.* resources`を選択して、「OK」をクリックします。

#### 3.2.2.1 アセンブリ・レベルのリソースについて

Oracle Enterprise Pack for Eclipseは、アセンブリ・プロジェクトにMAFアプリケーション用のファイルを生成します。これらのファイル(表3-1を参照)には、MAFプリケーションのメタデータを記述するための構成ファイルが含まれています。これらのファイルには、図3-8に示されるプロジェクト・エクスプローラのアセンブリ・プロジェクトの下の`res`ノードからアクセスします。

図3-8 モバイル・アプリケーション・アーティファクト

(デフォルトの名前`application`で生成された)アセンブリ・プロジェクトには、アプリケーション全体のリソースが格納されており、MAFアプリケーションのプレゼンテーション・レイヤーが提供され、ここには、モバイル・デバイスでのアプリケーションの表示方法を構成するためのメタデータ・ファイルが含まれています。このプロジェクトはMAFアプリケーションのセキュリティを指定しており、アプリケーションのログイン・ページ、アプリケーション全体のリソースを含むことができます。アプリケーション・コントローラ・プロジェクトは、本質的には、アプリケーション機能とそのコンテンツを定義するビュー・コントローラ・プロジェクトのコンシューマです。詳細は、第3.2.2.2項「ビュー・プロジェクト・リソースについて」を参照してください。

ヒント: アプリケーション・コントローラ・プロジェクト内には、アプリケーション・レベルのライフサイクル・リスナーなど、アプリケーション全体の機能をサポートするコードを配置してください。

表3-1 最上位レベルのプロジェクトを介してアクセスされるモバイル・アプリケーション・レベルのアーティファクト

アーティファクト | ファイルの場所 | 説明
--- | --- | ---
`maf-application.xml` | `assembly project directory``\adf\Meta-INF` 次に例を示します。 `workspace\application name\adf\META-INF\maf-application.xml` | MAFアプリケーションを定義できるようにする、スタブXMLアプリケーションの識別子ファイル。ADF Fusion Webアプリケーションのアプリケーション識別子と同様に、これによって、アプリケーションのコンテンツ、ナビゲーション動作およびユーザー認証要件を定義できます。 詳細は、第4.3項「モバイル・アプリケーションの構成ファイルmaf-application.xmlについて」を参照してください。
`maf-config.xml` | `assembly project directory``\adf\Meta-INF` 次に例を示します。 `workspace\application name\adf\META-INF\maf-config.xml` | MAFアプリケーションに使用されるデフォルト・スキンの構成に使用されます。詳細は、第4.11項「アプリケーション機能のコンテンツ・タイプの定義」を参照してください。
アプリケーション・イメージ | `assembly project directory`\`res\android` `assembly project directory`\`res\ios` 次に例を示します。 `workspace\application name\res\ios\Default.png` | iOSおよびAndroidアプリケーションのデプロイメントに必要とされる一連のイメージ。ここには、アプリケーション・アイコンやスプラッシュ画面のPNGイメージも含まれます。iPhoneなどのiOSデバイスへのデプロイメントでは、様々なサイズのイメージ・セットが必要です。 プロジェクトで提供されるデフォルトのiOSイメージは次のとおりです。 デバイスが縦方向と横方向の両方の場合に使用されるイメージ。 Retinaディスプレイに使用されるイメージ(つまり、`icon.png`および`icon@2x.png`) iPadイメージ(`icon-72.png`) これらのイメージをオーバーライドするには、第19.2.4.5項「Androidアプリケーションへのカスタム・イメージの追加方法」を参照してください。
`cacerts` | `assembly project directory`\`lib\security` 次に例を示します。 `workspace\application name\security\cacerts` | システム全体のキーストアである`cacerts`証明書ファイル。JVM 1.4に対するCA証明書を識別します。このファイルは、Java keytoolユーティリティを使用して更新できます。第21.8項のSSLのサポートに関する説明で説明するように、keytoolを使用してカスタム証明書ファイルを作成できます。証明書ファイルはすべて`Security`ディレクトリ内に配置する必要があります。
`logging.properties` | `assembly project directory``\META-INF` 次に例を示します。 `workspace\application name\META-INF\logging.properties` | ロギング・レベルやロギング・コンソールなど、アプリケーション・エラーのロギングを設定できます。詳細は、第22.4項「ロギングの使用方法と構成」を参照してください。
`cvm.properties` | `assembly project directory` `META-INF` 次に例を示します。 `workspace\application name\META-INF\cvm.properties` | Java仮想マシン、JVM 1.4の構成ファイル。このファイルを使用して、アプリケーションの起動やヒープ領域の割当て、JavaおよびJavaScriptのデバッグ・オプションを構成します。詳細は、第22.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照してください。
`adf-config.xml` | `assembly project directory``\adf\META-INF` 次に例を示します。 `workspace\application\adf\META-INF\adf-config.xml` | 構成サービス・パラメータなど、アプリケーション・レベルの設定の構成に使用します。第9章「MAFアプリケーションで使用するエンド・ポイントの構成」も参照してください。
`connections.xml` | `assembly project directory`\adf\`META-INF` 次に例を示します。 `workspace\application\adf\META-INF\connections.xml` | MAFアプリケーションで定義されているすべての接続のリポジトリ。
`wsm-assembly.xml` | `assembly project directory`\`adf\META-INF` 次に例を示します。 `workspace\application.adf\META-INF\wsm-assembly.xml` | 保護されたWebサービスに使用されるWebサービス・ポリシー定義を保存します。
`sync-config.xml` | `assembly project directory`\`.adf\META-INF` 次に例を示します。 `workspace\application\META-INF\sync-config.xml` | REST Webサービスから返されたデータのオフライン・キャッシュ用の構成ファイル。キャッシュはパフォーマンスを上げることでユーザーの操作性を向上させるだけでなく、ユーザーがオフライン・モードで作業しているときにデータの読取りや表示を行えるようにします。

図3-9に示された(デフォルト名`application` `Application`で生成)アプリケーション・プロジェクト自体の中に、Oracle Enterprise Pack for Eclipseにより表3-1に示される次のアーティファクトが作成されます。

図3-9 アプリケーション・プロジェクト

表3-2 アプリケーション・プロジェクトのアーティファクト

アーティファクト | ファイルの場所 | 説明
--- | --- | ---
`LifeCycleListenerImpl.java` | `application project directory``\src\application` 次に例を示します。 `workspace\application project\src\application\LifeCycleListenerImpl.java` | MAFアプリケーションのデフォルトのアプリケーション・ライフサイクル・リスナー(ALCL)。
`maf-skins.xml` | `application project directory``\src\META-INF` 次に例を示します。 `workspace\application project\src\META-INF\maf-skins.xml` | 使用可能なスキンを定義するもので、新しいスキンを定義することもできます。 詳細は、第4.13項「モバイル・アプリケーションのスキニング」を参照してください。
`adfm.xml` | `application project directory` `\adfmsrc\META-INF` 次に例を示します。 `workspace\application project\adfmsrc\META-INF\adfm.xml` | `.cpx`、`.dcx`、`.jpx`および`.xcfg`ファイル(メタデータのレジストリ)のパス(および相対パス)を維持します。
`DataControls.dcx` | `application project directory``\adfmsrc\application` 次に例を示します。 `workspace\application project\adfmsrc\application\DataControls.dcx` | データ・コントロールのレジストリ。デバイスのサービスを活用するDeviceFeaturesデータ・コントロールの使用方法の詳細は、第7章「バインディングの使用とデータ・コントロールの作成」を参照してください。埋込みアプリケーション機能をコールするSpringboardページを作成できるようにするApplicationFeaturesデータ・コントロールの詳細は、第4.6.5項「MAF AMXコンテンツによるカスタムSpringboardアプリケーション機能に関する必知事項」を参照してください。

#### 3.2.2.2 ビュー・プロジェクト・リソースについて

ビュー・プロジェクト(`application` `View`というデフォルト名で生成されます(図3-10参照))には、アプリケーション機能のリソースが格納されます。第3.2.2.1項「アセンブリ・レベルのリソースについて」で説明したアプリケーション・プロジェクトとは異なり、ビュー・プロジェクトのメタデータ・ファイルでは、アプリケーション機能レベルのリソース、特に、実行時にモバイル・デバイスでMAFアプリケーション自体のSpringboard内またはそのナビゲーション・バーに表示できるように1つのMAFアプリケーションに集約可能な様々なアプリケーション機能を記述します。さらに、アプリケーション機能のメタデータ・ファイルでは、アプリケーション機能をHTMLページとMAF AMXページのどちらで構成するのかが記述されます。また、ビュー・コントローラ・プロジェクトには、これらのアプリケーション・ページと、アプリケーション機能レベルのリソース(MAFアプリケーション用に定義された、Springboardおよびナビゲーション・バー上のアプリケーション機能を表すアイコン・イメージなど)を含むことができます。

ヒント: ビュー・コントローラ・プロジェクト内には、アプリケーション機能に固有のコードを格納します。アプリケーション・コントローラ・プロジェクトは、(特に別々のビュー・コントローラ・プロジェクト内で定義されている)アプリケーション機能間で共有されるコードの場所として使用してください。

ビュー・コントローラ・プロジェクトはアプリケーション・コントローラ・プロジェクトと分離して、別のモバイル・アプリケーションで再使用できるように、アーカイブ・ファイルとしてデプロイできます(第4.14項「機能アーカイブ・ファイルの使用」を参照)。また、稀なケースとして、アプリケーション・コントローラ・プロジェクトが複数のビュー・コントローラ・プロジェクトを使用することもできます。

注意: MAFビュー・コントローラ・プロジェクトを別のMAFビュー・コントローラ・プロジェクトの依存性またはMAFアプリケーション・コントローラ・プロジェクトの依存性として追加すると、MAFアプリケーションをデプロイできなくなります。詳細は、第4.7.2項「機能参照IDと機能IDに関する必知事項」を参照してください。

図3-10 ビュー・プロジェクト

表3-3に示すように、これらのリソースには、`maf-feature.xml`と呼ばれるアプリケーション機能の構成ファイルが含まれ、これはMAF機能エディタで編集します。

表3-3 ビュー・コントローラのアーティファクト

アーティファクト | ファイルの場所 | 説明
--- | --- | ---
`maf-feature.xml` | `view project directory``\src\META_INF` 次に例を示します。 `workspace\application View\src\META-INF` | アプリケーション機能を定義できるようにする、スタブXMLの識別子ファイル。詳細は、第4.9項「モバイル・アプリケーション機能の構成ファイルについて」を参照してください。第2.3.1項「ターゲット・プラットフォームに応じた開発環境の構成方法」の説明に従ってモバイル・プリファレンスを構成したら、デフォルトのデプロイメント構成設定を使用して、このアプリケーションをデプロイできます。詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。
アプリケーション固有のコンテンツ | `view project directory``\public_html` 次に例を示します。 `workspace\application View\public_html` | `maf-feature.xml`で定義されたアプリケーション機能は、`public_html`ディレクトリに表示されます。モバイル・コンテンツには、MAF AMXページ、CSSファイルおよびタスク・フローを含めることができます。アプリケーション機能に追加するカスタム・イメージは、このディレクトリ内に配置する必要があります。詳細は、第4.11.2項「外部リソースの選択に関する必知事項」を参照してください。

##### 3.2.2.2.1 複数のビュー・プロジェクトの作成方法

各OEPEアセンブリ・プロジェクトは、最初にアセンブリ・プロジェクトを作成したときに含まれるビュー・プロジェクトに加え、複数のビュー・プロジェクトを持つことができます。このビュー・プロジェクトに含まれる機能は、アセンブリ・プロジェクトの構築およびデプロイ時に作成されるアプリケーションから使用できます。

既存のアセンブリ・プロジェクトに新しいビュー・プロジェクトを作成するには、次の手順を実行します。

1. 「ファイル」→「新規」→「MAFビュー・プロジェクト」をクリックします。MAFビュー・プロジェクト・ウィザードが開きます。

2. ウィザードで「参照」をクリックし、新しいビュー・プロジェクトを追加する先のアセンブリ・プロジェクトを選択します。

3. OEPEでは、新しいビュー・プロジェクトには、アセンブリ・プロジェクトと一致する一意な名前が自動的に付けられます。たとえば、CompGalleryサンプル・アプリケーション内に新しいビュー・プロジェクトを作成する場合、ビュー・プロジェクトには`CompGalleryView1`という名前が付けられます(最初に作成されるデフォルトの`CompGalleryView`プロジェクトと区別するために)。

   望む場合は、この時点で新しいビュー・プロジェクトの名前を編集できます。

4. 「終了」をクリックすると、新しいビュー・プロジェクトが作成されます。

ウィザードでは、ステップ2で選択したアセンブリ・プロジェクトにビュー・プロジェクト・ファイルが追加されます。

#### 3.2.2.3 デプロイメント構成について

Oracle Enterprise Pack for Eclipseは、デプロイメント構成を使用してアプリケーションの実行およびデバッグ方法を決定します。この構成は、ターゲット環境(モバイル・デバイス、エミュレータ、またはiOSのApp Storeなどのアプリケーション・マーケットプレイス)にデプロイされるアーカイブにパッケージする方法を定義します。デプロイメント構成は次のことを行います。

- 作成されるアーカイブ・ファイルのフォーマットと内容を指定します。

- パッケージ対象となるソース・ファイル、デプロイメント・ディスクリプタ、およびその他の補助ファイルをリストします。

- 作成されるアーカイブ・ファイルのタイプおよび名前を記述します。

- 依存情報、プラットフォーム固有の指示、およびその他の情報を示します。

アプリケーションの作成時、Oracle Enterprise Pack for Eclipseによりデフォルトの設定およびイメージ・ファイルでシードされるデプロイメント構成が作成されます。デフォルトでは、使用している各SDKに対して1つのデプロイメント・ターゲットが作成されます。環境を正しく構成していれば、これらの構成を使用して図3-11に示すように「実行」に続いて「デバッグ構成」を選択することによって、MAFアプリケーションを作成直後にテストできます。

注意: 開発の間は「デバッグ構成」を使用します。本番デプロイメントには、実行構成を使用します。 「実行構成」のかわりに「デバッグ構成」を選択すると、Oracle Enterprise Pack for Eclipseで、必要に応じて、デフォルトのデバッグ・キーストアなどのデバッグ設定を使用できるようになります。

図3-11 デプロイメント構成の作成

図3-12に示された「構成の作成」ダイアログで、をクリックして新規の構成を作成します。

図3-12 新規の構成の作成

その後、「構成」ページ(図3-13を参照)を使用し、適切なデプロイメント・ターゲットを選択します。

図3-13 デプロイメント・ターゲットの選択

注意: iOSおよびAndroidアプリケーションをシミュレータとデバイスにデプロイする場合、それらの環境設定と構成に関する要件はそれぞれ異なります。詳細は、第19.2.5項「Androidアプリケーションのデプロイ」および第19.2.7項「iOSアプリケーションのデプロイ」全体に記載されている「始める前に」を参照してください。

各サポートされているプラットフォームおよびデバイスまたはエミュレータに対してMAFアプリケーション構成を作成できます。

これらの構成は「MAFアプリケーション」の下のリストから構成を選択することによって編集できます。MAFアプリケーション構成用に構成する値の詳細は、第19.2.4項「Androidデプロイメント構成の作成方法」および第19.2.6項「iOSデプロイメント構成の作成方法」を参照してください。

プラットフォーム固有のデプロイメント構成に加えて、MAFではMAFアプリケーションをモバイル・アプリケーション・アーカイブ(`.maa`)ファイルとしてパッケージ化できるようにするデプロイメント構成も作成されます。このファイルを使用すると、`.maa`ファイルとしてパッケージ化された既存のアプリケーションを使用する新しいMAFアプリケーションを作成できます。詳細は、第19.4項「モバイル・アプリケーション・アーカイブ・ファイルの作成」および第19.5項「署名のないデプロイメント・パッケージの作成」を参照してください。

### 3.2.3 MAFアプリケーションおよびアプリケーション機能の編集に関する必知事項

アプリケーションを作成すると`maf-application.xml`ファイルが生成されます。これによりモバイル・アプリケーションおよび`maf-features.xml`ファイルも構成できるようになります。このファイルを使用して、モバイル・アプリケーション内に埋め込まれるアプリケーション機能を追加、削除または編集します。Oracle Enterprise Pack for Eclipseでは、`maf-application.xml`用のMAFアプリケーション・エディタと`maf-feature.xml`用のモバイル機能エディタが提供されます。これらによって、これらのファイルを宣言的に変更できます。図3-14は、`maf-application.xml`ファイルの概要エディタの例を示しています。

図3-14 MAFアプリケーションの概要エディタ

図3-14に示すように、MAFアプリケーション・エディタはプロジェクト・エクスプローラのアプリケーションおよび「MAF」ノードの下にあります。`maf-application.xml`ファイルはアプリケーション、「adf」および「META-INF」ノードの下にあります。このエディタは「MAFアプリケーション・エディタ」をダブルクリックして開きます。

maf-application.xmlページのコンポーネントについては、`第4.3項「モバイル・アプリケーションの構成ファイルmaf-application.xmlについて」`を参照してください。

図3-15に示すように、MAF機能エディタはエクスプローラのビュー・プロジェクトおよび「MAF」ノードの下にあります。`maf-feature.xml`ファイルはビュー・プロジェクト、「src」および「META-INF」ノードの下にあります。このエディタは「MAF機能エディタ」をダブルクリックするか、`maf-feature.xml`をダブルクリックして開きます。このファイルを使用して、MAFアプリケーションのコンテンツを構成します。

図3-15 アプリケーション機能の概要エディタ

`maf-application.xml`ファイルを編集するためのMAFアプリケーション・エディタと同様に、Oracle Enterprise Pack for Eclipseは`maf-features.xml`構成ファイルの要素の構築に使用されたMAFコンポーネントをMAF機能エディタに表示します。`maf-features.xml`の要素は、第4.9項「モバイル・アプリケーション機能の構成ファイルについて」で説明しています。

### 3.2.4 MAFアプリケーション・エディタおよびMAF機能エディタについて

OEPEのMAF機能エディタおよびMAFアプリケーション・エディタは、作成中にMAFアプリケーションとやり取りするために使用する主要なツールです。これらの2つのエディタは相互作用し、また、編集中の選択に影響するかもしれない方法で、開発しているアプリケーションを構成しているファイルと相互作用します。

MAFアプリケーション・エディタを使用して`maf-application.xml`を変更する場合、OEPEではそのファイルが開くだけでなく、アプリケーションに関連する他のファイルも開きます。これらには、登録済機能ファイル(MAF機能エディタで編集)およびプラグインが含まれます。MAFアプリケーション・エディタでこれらのファイルの一部を表示するには、「アウトライン」を展開し、「登録済機能」を選択します。また、「機能」フォルダ(ある場合)にあるファイルも影響を受けることがあります。図3-16は、MAFアプリケーション・エディタが開いて登録済機能の一覧が表示され、これがファイル`maf-feature.xml`に接続されていることがツールチップに表示されていることを示しています。

図3-16 関連機能ファイルの表示(maf-application.xml)

MAFアプリケーション・エディタの「登録済機能」ペインで`maf-feature.xml`をダブルクリックすると、期待どおりにOEPEによって、ファイルがMAF機能エディタで開きます。編集中のこれら2つのファイルの(該当する場合は他のファイルとの)間の相互作用は、注目に値します。

MAFアプリケーション・エディタに移動し、アプリケーション・ファイルを保存すると、OEPEでは、関連の機能ファイルがファイル・システム内で外部的に変更されたかどうかを確認します。変更された場合、OEPEでは確認ダイアログを表示し、エディタの内容に関連して関連のファイルが変更されていることをユーザーに伝えます。この時点では次のいずれかのオプションを選択できます。

- エディタをリロードします。これで、ファイル・システムの変更がMAFアプリケーション・エディタにコピーされ、ファイルに対して行った変更が上書きされます。

- エディタをリロードしません。これで、`maf-feature.xml`ファイルが保存され、ファイル・システムの内容が上書きされます。

「ファイル」→「すべて保存」を選択すると、OEPEでは同様の確認が実行されます。また、「ファイル」→「すべて閉じる」機能を選択すると、MAFアプリケーション・エディタでファイルが開いているかどうかが確認され、また、閉じる前には開いているファイル同士に競合がないことが確認されます。これはデータ消失の防止に役立ちます。

### 3.2.5 MAF AMXページの作成

第5章「MAF AMXページの作成」に示すように、MAF AMXコンポーネントを使用すると、プラットフォーム固有の言語で作成されたページとまったく同じように実行されるページを構築できます。MAF AMXページでは、コンポーネントのリッチなセットを使用してユーザー・インタフェースを宣言的に作成できます。図3-17は、MAF AMXページの宣言的な開発を示しており、ここでは「パレット」のオプションを選択して、それらをMAF AMXページに追加しています。

図3-17 MAF AMXページの作成

これらのページは、(MAFアプリケーションを作成し、その中にアプリケーション機能を埋め込む)アプリケーション・アセンブラによって作成される場合もあります。または、別の開発者によって作成され、アプリケーション機能またはMAFアプリケーションに対するリソースとして、MAFアプリケーションに組み込まれる場合もあります。

MAF AMXページを作成するプロジェクトによって、このページが単一のアプリケーション機能のユーザー・インタフェース・コンテンツ配信に使用されるのか、またはMAFアプリケーション全体に対するリソースとして使用されるのかが決まります。たとえば、図3-21に示すような、アプリケーション・コントローラ・プロジェクト内で作成されたページは、アプリケーション全体のリソースとして使用されます。

ヒント: ページの管理を容易にするために、これをページ・フラグメントとして知られる再利用可能なセグメントに分割できます。MAF AMXページは、1つ以上のページ・フラグメントで構成できます。

MAFでは、MAFタスク・フローによりMAF AMXビュー・ページおよび他のアクティビティを適切な順序に配置できます。第5章「タスク・フローの作成」で説明されているように、MAFタスク・フローはアプリケーションのフローのビジュアル表示です。これは、MAF AMXで作成された(図3-18に、WorkBetterサンプル・アプリケーションのデフォルトのListページおよびDetailページなどのビュー・アクティビティとして示される)ユーザー・インタフェース・ページと、マネージドBeanのメソッドを呼び出すことができる非ビジュアル・アクティビティで構成できます。タスク・フローの非ビジュアル的な要素は、EL式の評価または別のタスク・フローの呼出しに使用できます。図3-18で示されるように、MAFではタスク・フロー・コンポーネントをダイアグラマにドラッグしてタスク・フローを宣言的に作成できます。MAFには、WorkBetterサンプル・アプリケーションのListページなどの単一のエントリ・ポイントを持つバインド・タスク・フローと、アプリケーション・フローへの複数のエントリ・ポイントを持つバインドなしタスク・フローの2つのタイプのタスク・フローがあります。WorkBetterサンプル・アプリケーションは、「ファイル」→「新」→「MAFサンプル」にあります。

図3-18 MAFタスク・フロー

MAFには、MAFページ、MAFページ・フラグメントと呼ばれるMAF AMXページの再利用可能な部分、およびアプリケーション機能を追加する多くのダイアログおよびウィザードがあります。図3-19は、「ファイル」メニューから使用できるメニュー・オプションを示しています。

図3-19 アプリケーション機能のリソースを作成するオプション

他のオプションは、「ファイル」→「新」→「その他」(図3-19を参照)にあります。「新」ダイアログで、「Oracle」を展開し、次に「モバイル・アプリケーション・フレームワーク」を展開します。

図3-20 アプリケーション機能のリソースを作成するウィザード

#### 3.2.5.1 MAF AMXページの作成方法

「MAFページ」ダイアログを使用して、アプリケーション機能のユーザー・インタフェースまたはMAFアプリケーションを構成するMAF機能で共有できるアプリケーション・レベル・リソース(ログイン・ページなど)に使用されるAMXページを作成できます。アプリケーション機能コンテンツの詳細は、第4.11.1項「アプリケーション・コンテンツの定義方法」を参照してください。

アプリケーション機能のコンテンツとしてMAF AMXページを作成するには:

1. 「ファイル」→「新」を選択し、次に「MAFページ」を選択します。

2. 図3-21に示される「新規MAFページ」ダイアログに、たとえば`ViewContent`などの親フォルダを選択し、「ファイル名」フィールドに名前を入力します。

   図3-21 アプリケーション・コントローラ・プロジェクト内でのMAF AMXページの作成

3. プライマリおよびセカンダリのヘッダーおよびフッターに使用される「ページ・ファセット」を選択(選択解除)します。「OK」をクリックします。

   詳細は、第6.2.2項「パネル・ページ・コンポーネントの使用方法」を参照してください。

4. 「終了」をクリックします。MAF AMXコンポーネントの使用方法の詳細は、第5.3.1.2項「MAF AMXページの作成」を参照してください。第4.11.1項「アプリケーション・コンテンツの定義方法」も参照してください。

MAFアプリケーションに対するリソースとしてMAF AMXページを作成するには:

1. 「ファイル」→「新」を選択し、次に「MAFページ」を選択します。

2. 「ファイル名」フィールドに名前を入力して、「MAF AMXページの作成」ダイアログの入力を完了します(図3-21を参照)。「ディレクトリ」フィールドに、ファイルの場所を入力します。この場所は、アプリケーション・コントローラ・プロジェクトの`public_html`フォルダ内である必要があります。「OK」をクリックします。

3. MAF AMXページを構築します。詳細は、第5.3.1.2項「MAF AMXページの作成」を参照してください。

#### 3.2.5.2 MAFタスク・フローの作成方法

アプリケーション機能のコンテンツをMAFタスク・フローとして配信できます。

アプリケーション機能のコンテンツとしてMAFタスク・フローを作成するには:

1. 「ファイル」→「新」→「その他」を選択します。

2. 「新」ダイアログで、「Oracle」を展開し、次に「モバイル・アプリケーション・フレームワーク」を展開します。「MAFタスク・フロー」を選択し、「次へ」をクリックします。

3. 「ファイル名」フィールドに名前を入力して、「新規のMAFタスク・フロー」ダイアログの入力を完了します(図3-22を参照)。「OK」をクリックします。

   図3-22 ビュー・コントローラ・プロジェクト内でのMAFタスク・フローの作成

4. 「終了」をクリックして、タスク・フローを構築します。第5.2項「タスク・フローの作成」も参照してください。

#### 3.2.5.3 MAF AMXページおよびタスク・フロー作成時の処理

Oracle Enterprise Pack for Eclipseは、MAF AMXページおよびタスク・フローを、図3-23のようにビュー・プロジェクトの「ViewContent」ノードに`employeeList.amx`および`emp-task-flow-definition.xml`として配置します。これらのアーティファクトは、第4.7項「モバイル・アプリケーション内のアプリケーション機能の構成」で説明される`maf-feature.xml`ファイルで参照されます。

タスク・フローは、ビュー・プロジェクトの「MAF」ノードにもリストされます。

カスタマイズされたアプリケーション・スプラッシュ画面(または起動)イメージやナビゲーション・バー・イメージなどの他のリソースも「Webコンテンツ」ノードにあります。詳細は、表3-3を参照してください。

バインドなしタスク・フローを管理するため、Oracle Enterprise Pack for Eclipseは`adfc-mobile-config.xml`ファイルを生成します。このファイルを使用して、ビュー(ユーザー・インタフェース・ページ)、様々なアクティビティ間の遷移を定義する制御ルール、およびタスク・フローのレンダリング・ロジックを管理するマネージドBeanなどの様々なタスク・フロー・コンポーネントを追加することで、タスク・フローを宣言的に作成または更新できます。

図3-23 ビュー・プロジェクト内のMAF AMXページおよびタスク・フロー

Oracle Enterprise Pack for Eclipseは、MAF AMXページとタスク・フローを、モバイル・アプリケーションへのアプリケーション・リソースとして、アプリケーション・コントローラ・プロジェクトの「Webコンテンツ」ノードに配置します。図3-23に示すように、MAF AMXページ用のファイルは`application_resource.amx`という名前で、タスク・フローのファイルは`ApplicationController-task-flow.xml`という名前です(デフォルト名)。

## 3.3 モバイル・アプリケーションの移行

OEPEでは、ADFモバイル1.xアプリケーションのMAFへの移行をサポートしていません。ADFモバイル1.xアプリケーションをMAFに移行する必要がある場合、移行にJDeveloperを使用し、そのアプリケーションをOEPEにインポートします。ADFモバイル・アプリケーションの移行の詳細は、『Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発』の第3.3項「ADFモバイル・アプリケーションの移行」を参照してください。