プライマリ・コンテンツに移動

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

前 | 次 |

# 2 MAFアプリケーション開発のスタート・ガイド

この章では、OEPEでのMAFアプリケーションの作成方法と、アプリケーション作成時にOEPEによって生成されるファイルやその他のアーティファクトについて説明します。

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

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

- 2.2項「MAFアプリケーションの作成」

- 第2.3項「MAF AMXページの作成」

- 第2.4項「エンタープライズ配布のためのMAFアプリケーションのコンテナ化」

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

OEPEのOracle Mobile Application Framework (MAF)拡張機能には、MAFアプリケーションの開発、テストおよびデプロイメントを容易にする様々なエディタやウィザードが用意されています。図2-1は、OEPEのMAFアプリケーション・エディタにWorkBetterサンプル・アプリケーションを表示したもので、ここにはMAFアプリケーションの開発に使用される様々なアイテムが含まれます。

1. MAFアプリケーション・エディタ(アセンブリ・プロジェクトから起動)は、MAFアプリケーションの名前、アプリケーションにレンダリングされるデフォルトのナビゲーション・メニュー(ナビゲーション・バーまたはSpringboard)、セキュリティ、およびアプリケーションのデバイス・アクセス・オプションを指定する場合に使用します。

2. MAF機能エディタ(ビュー・プロジェクトから起動)では、MAFアプリケーションに含まれるアプリケーション機能を定義します。

WorkBetterサンプル・アプリケーションは、MAFに用意されている様々なサンプル・アプリケーションの1つで、MAFを使用したモバイル・アプリケーションの作成方法を示します。詳細は、付録G「サンプルのMAFアプリケーション」を参照してください。

図2-1 OEPEで開かれたMAFアプリケーション

## 2.2 MAFアプリケーションの作成

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

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

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

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

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

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

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

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

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

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

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

4. 図2-4に示されているMAFアプリケーション・ウィザードのデプロイメント・ターゲットの構成ページでは、開発するMAFアプリケーションに使用するデプロイメント・ターゲットを選択できます。このページに表示されるターゲットは、環境を設定したときに指定したものです。詳細は、Oracle Enterprise Pack Oracle Enterprise Pack for Eclipseのインストールのモバイル・アプリケーション・フレームワークの構成に関する項を参照してください。

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

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

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

   図2-5 MAFパースペクティブへの変更

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

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

MAFアプリケーションの作成時、OEPEでは、プロジェクト・エクスプローラからアクセスする次のアーティファクトが作成されます(図2-1を参照)。

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

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

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

OEPEによってアプリケーション・レベルおよびプロジェクト・レベルのアーティファクトが追加され、これらには、図2-6に示すプロジェクト・エクスプローラからアクセスします。これらのアーティファクトには、次の2つのMAFエディタが含まれます。

- `maf-application.xml`を編集するMAFアプリケーション・エディタ。これを使用して、MAFアプリケーション自体(その名前など)、アプリケーション・ライフサイクル・リスナー(`LifeCycleListenerImpl.java`)、および埋込みアプリケーション機能のためのログイン・サーバー接続の構成を行います。詳細は、第2.2.2.1項「アセンブリ・レベルのリソースについて」を参照してください。

- `maf-feature.xml`を編集するMAF機能エディタ。これによって、MAFアプリケーションを構成するアプリケーション機能を記述します。詳細は、第2.2.2.2項「ビュー・プロジェクト・リソースについて」を参照してください。

OEPEによって次のものが作成されます。

- DeviceFeaturesデータ・コントロール。このデータ・コントロールによってApache Cordova Java APIが抽象化され、MAF AMXとして実装されているアプリケーション機能は、デバイスに埋め込まれている様々なサービスにアクセスできるようになります。

- ApplicationFeaturesデータ・コントロール(Springboardページを構築できます)。

注意: MAFアプリケーションの作成時にエラー・ログを開くと、次のようなメッセージが記録されています。
    org.eclipse.core.runtime.CoreException: Illegal install location
    D:\p4\depots\OEPE\tools-eclipse\annex\maf-2.1\install for vmInstall
    oracle.eclipse.tools.maf.JVMCDCv201 contributed by
    oracle.eclipse.tools.maf.dt.v201: Associated MAF runtime is not installed.
OEPEによるMAFのリリースごとに1つのエントリが存在します。これらは無視しても問題ありません。

DeviceFeaturesデータ・コントロールによって提供される操作をMAF AMXページにドラッグ・アンド・ドロップすることで(第14.10項「DeviceFeaturesデータ・コントロールの使用方法」を参照)、デバイスに格納されたユーザーのコンタクト先を管理したり、電子メールとSMSテキスト・メッセージを作成して送信したり、デバイスの場所を突きとめたり、デバイスのカメラを使用したり、デバイスのファイル・システムに格納されたイメージを取得したりする機能を追加します。

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

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

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

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

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

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

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

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

OEPEは、アセンブリ・プロジェクトにMAFアプリケーション用のファイルを生成します。これらのファイルには、MAFプリケーションのメタデータを記述するための構成ファイルが含まれています。これらのファイルには、図2-9に示されるプロジェクト・エクスプローラのアセンブリ・プロジェクトの下の`res`ノードからアクセスします。

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

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

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

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

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

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

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

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

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

注意: MAFビュー・コントローラ・プロジェクトを別のMAFビュー・コントローラ・プロジェクトの依存性またはMAFアプリケーション・コントローラ・プロジェクトの依存性として追加すると、MAFアプリケーションをデプロイできなくなります。

図2-11 ビュー・プロジェクト

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

図2-12 デプロイメント構成の作成

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

図2-13 新規の構成の作成

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

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

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

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

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

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

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

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

図2-15 MAFアプリケーション・エディタ

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

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

図2-16 MAF機能エディタ

`maf-application.xml`ファイルを編集するためのMAFアプリケーション・エディタと同様に、OEPEは`maf-features.xml`構成ファイルの要素の構築に使用されたMAFコンポーネントをMAF機能エディタに表示します。

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

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

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

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

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

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

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

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

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

## 2.3 MAF AMXページの作成

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

図2-18 MAF AMXページの作成

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

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

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

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

図2-19 MAFタスク・フロー

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

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

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

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

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

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

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

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

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

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

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

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

4. 「終了」をクリックします。AMXコンポーネントの使用の詳細は、第12.3.1.2項「MAF AMXページの作成」を参照してください。第6.2項「アプリケーション機能のコンテンツをリモートURLまたはローカルHTMLとして定義する方法」も参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

OEPEは、MAF AMXページおよびタスク・フローを、図2-24のようにビュー・プロジェクトのViewContentノードに`employeeList.amx`および`emp-task-flow-definition.xml`として配置します。これらのアーティファクトは`maf-feature.xml`ファイル内で参照されています。

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

カスタマイズされたアプリケーション・スプラッシュ画面(または起動)イメージやナビゲーション・バー・イメージなどの他のリソースもViewContentノードにあります。

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

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

OEPEは、MAF AMXページとタスク・フローを、モバイル・アプリケーションに対するアプリケーション・リソースとして、アプリケーション・コントローラ・プロジェクトのViewContentノードに配置します。図2-24に示すように、MAF AMXページ用のファイルは`application_resource.amx`という名前で、タスク・フローのファイルは`ApplicationController-task-flow.xml`という名前です(デフォルト名)。

## 2.4 エンタープライズ配布のためのMAFアプリケーションのコンテナ化

デプロイメント時に、エンタープライズ・モバイル・アプリケーション管理機能を利用できるように、MAFアプリケーションをOMSS (Oracle Mobile Security Suite)でラップするように選択できます。OMSSにより、優れたユーザー操作性を維持しながら、企業のアプリケーションとデータにモバイル・デバイスから安全にアクセスできます。そのMobile Security Containerでは、企業または個人が所有しているiOSまたはAndroidデバイス上で、エンタープライズ・ワークスペースを作成します。従業員は、企業向けのセキュリティおよびシングル・サインオン認証により、企業データおよびアプリケーションにシームレスにアクセスできます。

Mobile Security Appコンテナ化ツールを使用すると、標準化されたセキュリティ・レイヤーをネイティブ・モバイル・アプリケーションに追加できます。コンテナ化プロセスはシンプルで、次のセキュリティ・サービスをアプリケーションに追加します。

- セキュアなデータ転送: エンタープライズ・ファイアウォールの背後にあるアプリケーション・バックエンド・リソースへのモバイル・セキュリティ・アクセス・サーバーを介した暗号化済AppTunnel。

- 認証: Secure Workspaceアプリケーションによって管理され、セキュア・ワークスペースのアプリケーション間でシングル・サインオンが提供されます。

- セキュアなデータ記憶域: ファイル、データベース、アプリケーション・キャッシュおよびユーザー・プリファレンスなどのアプリケーション・データの暗号化済記憶域。

- データ・リークの制御: 他の信頼できるアプリケーションに対してファイル共有とコピーおよび貼付けを制限する機能。これにより、電子メール、メッセージ送信、出力および保存などのデータ共有を制限できます。

- 動的ポリシー・エンジン: 認証頻度、ジオフェンスとタイム・フェンスおよびリモート・ロックとワイプなどの50を超える詳細なアプリケーション制御。

MAFアプリケーション・サービスへのOMSSシングル・サインオン認証およびユーザー・アイデンティティ伝播は、ログイン接続にSSO認証サーバー・タイプを使用するように構成されたアプリケーションに対してのみサポートされます。HTTP基本認証、OAuth認証またはMobile-Social認証を使用したアプリケーションは、コンテナ認証の成功後にMAFアプリケーションにログインする必要があります。これらの認証タイプおよびこれらがOMSSで果す役割の詳細は、第30.5.12項「ログイン接続およびコンテナ化されたMAFアプリケーションへのアクセスに関する必知事項」を参照してください。

コンテナ化プロセスは単純で、MAFアプリケーションを開発する方法は変更されません。実際は、コンテナ化に注意して、アプリケーション・コードを具体的に変更しないでください。MAFアプリケーションは、OMSSコンテナ化を有効にしてデプロイするかどうかに関係なく、同じ方法で開発します。

OMSSコンテナ化を有効にしてアプリケーションをデプロイすると、OEPEは、OMSSによって提供されるMobile Security Appコンテナ化ツールを実行して、MAFアプリケーションをコンテナ化します。

デプロイメント後、MAFアプリケーション開発者は、OMSSシステム管理者と連携して、OMSSモバイル・アプリケーション・カタログに追加されたアプリケーションを取得し、適切なポリシーを構成します。詳細は、『Oracle Mobile Security Suiteの管理』の「モバイル・アプリケーションの管理」を参照してください。

コンテナ化されたMAFアプリケーションをユーザーが起動すると、Secure WorkspaceアプリケーションはMobile Security Containerにリダイレクトし、セッションがMAFアプリケーションに戻される前に、SSO認証を実行します。コンテナ化されたMAFアプリケーションでは、内部Webサイトまたはサービスとの接続にVPNは不要です。かわりに、アプリケーションとMobile Security Access Server (MSAS)間でセキュアAppTunnelが確立され、モバイル・デバイス・ユーザーによるアクセス用に登録された、内部サイトおよびサービスにアクセスするためのセキュアなトランスポートが提供されます。

OMSSコンテナ化によるMAFアプリケーションへの影響の詳細は、次の各項を参照してください。

- OMSSのMAFアプリケーションをコンテナ化するためのOEPE手順は、第28.8項「Oracle Mobile Security Suiteでのデプロイ」を参照してください。

- コンテナ化されたMAFアプリケーションによる企業ファイアウォールの背後にあるセキュアなWebサービスへのアクセスの詳細は、第15.6.3項「Webサービスおよびコンテナ化されたMAFアプリケーションへのアクセスに関する必知事項」を参照してください。

- コンテナ化されたMAFアプリケーションの認証プロセスの詳細は、第30.4項「コンテナ化されたMAFアプリケーションの認証プロセスの概要」を参照してください。

モバイル・デバイスおよびワークスペース・コンテナに関連するOMSS管理タスクの詳細は、OMSSドキュメント・ライブラリの次のリソースのリストを参照してください。

- OMSSの背景情報は、『Oracle Mobile Security Suiteの管理』の「Oracle Mobile Security Suiteの理解」を参照してください。

- MAFアプリケーション・ユーザーのモバイル・デバイスおよびワークスペースを登録するために、システム管理者がOMSS Mobile Security Managerコンソールをどのように使用するかの詳細は、『Oracle Mobile Security Suiteの管理』の「デバイスおよびワークスペースの登録」を参照してください。

- デバイスおよびワークスペースにプロビジョニングされたMAFアプリケーションを管理するために、システム管理者がOMSSモバイル・アプリケーション・カタログをどのように使用するかの詳細は、『Oracle Mobile Security Suiteの管理』の「モバイル・アプリケーションの管理」を参照してください。

- MAFアプリケーション機能によって共有される企業ファイルへのアクセスを管理するために、システム管理者がOMSS Mobile Security Managerコンソールをどのように使用するかの詳細は、『Oracle Mobile Security Suiteの管理』の「モバイル・セキュリティ・ポリシーの管理」を参照してください。

リソースおよび認証の保護に関連するMSAS管理タスクの詳細は、OMSSドキュメント・ライブラリの次のリソースのリストを参照してください。

- MSASの背景情報は、『Oracle Mobile Security Access Serverの管理』の「Mobile Security Access Serverの使用開始」を参照してください。

- MAFアプリケーションによってアクセスされる保護されたリソースの転送プロキシURLを定義するために、システム管理者がプロキシ・アプリケーションをどのように作成するかの詳細は、『Oracle Mobile Security Access Serverの管理』の「Mobile Security Access Serverアプリケーションの管理」を参照してください。

- 事前定義済のセキュリティ・ポリシーをシステム管理者が転送プロキシURLにどのように添付し、保護されているWebサービスへのMAFアプリケーションによるアクセスをどのように保護するかの詳細は、『Oracle Mobile Security Access Serverの管理』の「Mobile Security Access Serverリソースの保護」を参照してください。

- Secure WorkspaceアプリケーションによってMAFアプリケーション・ユーザーのデバイスで認証を処理するために、システム管理者がMSAS認証エンドポイントをどのように構成するかの詳細は、『Oracle Mobile Security Access Serverの管理』の「Mobile Security Access Serverインスタンスの構成」を参照してください。