ヘッダーをスキップ

Oracle® Fusion Middleware Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.0.1 E57592-01 |
| 目次

前 | 次 |

# 1 Oracle Mobile Application Frameworkの概要

この章では、Oracle Mobile Application Framework (MAF)の概要を紹介し、iOSとAndroidの両方の電話およびタブレット上でネイティブに実行するモバイル・アプリケーションを作成可能なソリューションについて説明します。

この章の内容は次のとおりです。

- 第1.1項「モバイル・アプリケーション・フレームワークの概要」

- 第1.2項「モバイル・アプリケーション・フレームワーク・ランタイム・アーキテクチャについて」

- 第1.3項「Oracle Mobile Application Frameworkを使用したアプリケーションの開発について」

- 第1.4項「サンプル・アプリケーション」

## 1.1 モバイル・アプリケーション・フレームワークの概要

Oracle Mobile Application Frameworkは、ハイブリッド・モバイル・アーキテクチャで、ユーザー・インタフェースのレンダリングにHTML5およびCSSを使用し、アプリケーション・ビジネス・ロジックにJavaを使用し、GPSアクティビティや電子メールなどのデバイス機能へのアクセスにApache Cordovaを使用します。MAFではこれらのクロス・プラットフォーム・テクノロジを使用するため、プラットフォーム固有のツールを使用する必要なく、AndroidとiOSの両方のデバイス用に同じアプリケーションを構築できます。これらをデバイスにデプロイした後、MAFアプリケーションは、Objective CやAndroid SDKなどのプラットフォーム固有のツールを使用して作成されたアプリケーションのように動作します。さらに、MAFを使用すると、スマートフォンまたはタブレット用に同じアプリケーションを構築できるため、同じアプリケーションのビジネス・ロジックを再利用して、様々なタイプのデバイス、画面サイズおよび機能をターゲットにできます。

MAFアプリケーションのコンテンツは、アプリケーション機能として知られる1つ以上の埋込みアプリケーションで構成されており、これらのアプリケーションは、図1-1に示すように、アプリケーションのSpringboardまたはナビゲーション・バー内のアイコンとして表されます。

図1-1 モバイル・アプリケーションのSpringboard

アプリケーション機能は、本質的に、モバイル・アプリケーションを構築するブロックです。MAFアプリケーションに統合された各アプリケーション機能によって一連の特定のタスクが実行され、これらの機能をグループ化して、相互の機能が補完されるようにできます。たとえば、顧客のコンタクト先を提供するアプリケーション機能を、製品在庫用のアプリケーション機能と組み合せることができます。各アプリケーション機能には独自クラス・ローダーおよびWebビュー(基本的には、ブラウザとして機能するネイティブUIコンポーネント)があるため、機能は相互に独立しており、1つのMAFアプリケーションを、いくつかの異なる開発チームにより作成されたアプリケーション機能が集められたものとすることができます。また、アプリケーション機能を他のMAFアプリケーションで再利用することもできます。MAFアプリケーション自体を別のアプリケーションのベースとして再利用できることにより、ISV (独立系ソフトウェア・ベンダー)は、特定の顧客が構成できるアプリケーションを作成できます。

デバイス上でローカルに実行するハイブリッド・モバイル・アプリケーションに加え、モバイル・アプリケーションおよび使用可能なリソースの要件に応じて、アプリケーション機能を次のモバイル・アプリケーション・タイプのいずれかとして実装できます。

- モバイルWebアプリケーション: これらのアプリケーションはサーバー上でホストされます。プラットフォーム間でコードを移植できるものの、これらのアプリケーションはデバイスのブラウザによって管理されるため、アプリケーションからのデバイス機能およびローカル記憶域へのアクセスは制限される可能性があります。

- ネイティブ・アプリケーション: これらのアプリケーションはXcodeまたはAndroid SDKのいずれかを使用して作成されているため、両方のプラットフォームへの対応には制限があります。コードの再利用も同様に制限されます。

## 1.2 モバイル・アプリケーション・フレームワーク・ランタイム・アーキテクチャについて

図1-2に示すように、モバイル・アプリケーション・フレームワークは、デバイスにデプロイされたシン・ネイティブ・コンテナです。これは、モデル・レイヤーとコントローラ・ロジックからプレゼンテーションを区別するmodel-view-controller (MVC)開発アプローチに従っています。シン・ネイティブ・コンテナによって、MAFアプリケーションが両方のプラットフォーム(iOSとAndroid)でネイティブ・アプリケーションとして機能できます。プッシュ通知も有効になります。

図1-2 Oracle Mobile Application Frameworkランタイム・アーキテクチャ

- Webビュー: モバイル・デバイスのWebエンジンを使用して、Webベースのコンテンツを表示および処理します。MAFアプリケーションでは、アプリケーション・マークアップをHTML 5としてレンダリングすることにより、Webビューからユーザー・インタフェースが配信されます。次のコンテンツ・タイプのいずれかを実装して、モバイル・アプリケーション機能用のユーザー・インタフェースを作成できます。様々なコンテンツ・タイプから実装されたアプリケーション機能は、同じモバイル・アプリケーション内で共存でき、相互作用することもできます。

  - MAF AMXビュー: コンテンツがMAFアプリケーション・モバイルXML (AMX)ビューとして実装されたアプリケーションは、デバイスのプラットフォームに固有の言語で作成されたアプリケーションと同様、デバイス上に常駐して非常に標準的かつデバイス・ネイティブなユーザー操作を提供します。MAFでは、モバイル・デバイスのフォーム・ファクタに合わせたコンポーネントからユーザー・インタフェースを宣言的に作成できる、一連のコード・エディタが提供されています。これらのコンポーネントを使用すると、リスト・ビューなどのページ・レイアウトや、入力テキストなどの入力コンポーネントを作成できます。MAF AMXビューを開発する場合、データ・コントロールを利用できます。これらのコンポーネントを使用すると、データ・バインドされたユーザー・インタフェース・コンポーネントを宣言的に作成したり、Webサービスやモバイル・デバイスのサービス(カメラ、GPS、電子メールなど)にアクセスできます。実行時、MAF AMXビュー定義が、WebビューのJavaScriptエンジンによってHTML5およびJavaScriptにレンダリングされます。詳細は、第IV部「MAF AMXアプリケーション機能の作成」を参照してください。

    タスク・フロー: コントローラは、モバイル・アプリケーションのページ間のフローを制御し、アプリケーションのフローをより小さい再利用可能なタスク・フローに分割でき、メソッド・コールや決定点などの非ビジュアル・コンポーネントを含めることができます。詳細は、第5.2項「タスク・フローの作成」を参照してください。

  - サーバーHTML: ユーザー・インタフェースは、アプリケーション機能のWebビュー内で開くことができる、サーバー生成されたWebページから配信されます。モバイル・アプリケーション・フレームワークのコンテキストにおいて、このコンテンツ・タイプはリモートURLと呼ばれます。これらのブラウザベースのアプリケーションのリソースは、デバイス上には存在しません。かわりに、ユーザー・インタフェース、ページ・フロー・ロジックおよびビジネス・ロジックはリモート・サーバーから配信されます。リモートでホストされたこれらのWebアプリケーションのいずれかがWebビュー内で開くことを許可されている場合、Cordova JavaScript APIを使用して、指定されたデバイス・ネイティブな機能またはサービス(カメラやGPS機能など)にアクセスできます。リモートURLコンテンツを使用したアプリケーションを実装する場合、モバイル使用に最適化された既存のブラウザベース・アプリケーションを活用したり、特定のタイプのモバイル・デバイスに合わせて特別に記述されたブラウザベース・アプリケーションを使用できます。デスクトップまたはタブレットのいずれかのブラウザ内で実行可能なアプリケーションの場合は、Oracle ADF Facesのリッチ・クライアント・ベースのコンポーネントを介して作成されたアプリケーションを使用して、リモートURLコンテンツを実装できます。特に携帯電話をターゲットとするアプリケーションの場合は、ADFモバイル・ブラウザを使用して作成されたWebページから、リモートURLコンテンツを配信できます。ADFモバイル・ブラウザを使用して作成されたアプリケーションは、様々なスマートフォンでレンダリングできるだけでなく、Apache TrinidadのJavaServer Faces (JSF)コンポーネントを使用して作成されたユーザー・インタフェースおよび動的に選択されるスタイルシートによって、フィーチャー・フォンで使用できるように、問題ない範囲で機能を縮小することもできます。詳細は、第13章「リモートURLを使用したアプリケーション機能コンテンツの実装」を参照してください。

    注意: コンテンツはリモートで提供されるため、アプリケーションはサーバー接続がアクティブな場合にのみ使用できます。

  - ローカルHTML: MAFアプリケーションの一部としてデバイス上で実行されるHTMLページです。ローカルHTMLファイルは、CordovaおよびJavaScript APIを介して、デバイス・ネイティブな機能サービスにアクセスできます。

- Cordova: デバイスのネイティブ機能およびサービスをモバイル・アプリケーションに統合するApache Cordova JavaScript APIです。これらのAPIには、Javaコードからプログラムで(またはMAFモバイル・アプリケーションをローカルHTMLとして実装している場合にはJavaScriptを使用して)アクセスできますが、これらのAPIはMAFによってデータ・コントロールとしてパッケージ化されるため、MAF AMXページを作成するときにデバイス統合を宣言的に追加できます。

- Java仮想マシン: JavaではMAFアプリケーション用のJava Runtime Environmentが提供されます。このJava仮想マシン(JVM)はデバイス・ネイティブなコードで実装され、ネイティブ・アプリケーション・バイナリの一部として、MAFアプリケーションの各インスタンスに埋め込まれます(コンパイルされます)。JVMは、JavaME Connected Device Configuration (CDC)仕様に基づいています。

  - ビジネス・ロジック: MAFアプリケーション内のビジネス・ロジックはJavaで記述できます。マネージドBeanは、サーバーから戻されたデータを処理するための追加のビジネス・ロジックを提供するなど、モバイル・アプリケーション・フレームワークの機能拡張のために作成できるJavaクラスです。マネージドBeanは埋込みのJavaサポートによって実行され、JavaME CDC仕様に準拠しています。詳細は、第7章「バインディングの使用とデータ・コントロールの作成」を参照してください。

  - モデル: ビジネス・ロジック・コンポーネントをユーザー・インタフェースに接続するバインディング・レイヤーが含まれます。また、このバインディング・レイヤーでは、RESTまたはSOAPベースのWebサービスを起動するための実行ロジックが提供されます。詳細は、第1.3.1項「接続アプリケーションおよび切断されたアプリケーションについて」を参照してください。

  - JDBC: JDBC APIでは、CRUD (作成、読取り、更新および削除)操作を介して、暗号化されているSQLiteデータベースのデータにアクセスできます。

- アプリケーション構成: WebサービスのURLエンド・ポイントやリモートURL接続など、アプリケーション構成をダウンロードおよびリフレッシュできるサービスのことです。アプリケーション構成サービスは、WebDavベースのサーバー側サービスから構成情報をダウンロードします。詳細は、第9章「MAFアプリケーションで使用されるエンド・ポイントの構成」を参照してください。

- 資格証明管理、シングル・サインオン(SSO)およびアクセス制御: モバイル・アプリケーション・フレームワークでは、Oracle Access Management Mobile and Social (OAMMS) IDM SDKを使用して、ユーザー認証および資格証明管理を処理します。MAFアプリケーションではオフライン認証が実行される(つまり、接続中にユーザーがアプリケーションにログインすると、MAFによってユーザー名とパスワードがデバイス上にローカルに保持される)ため、ユーザーは、認証サーバーへの接続を使用できなくなった場合でも、アプリケーションへのアクセスを続行できます。MAFでは、ローカルに格納されているユーザー情報およびローカルSQLiteデータベースに格納されているデータが暗号化されます。ログイン・サーバーに対して認証した後、ユーザーはこの接続によって保護されるすべてのアプリケーション機能にアクセスできます。また、MAFでは、ユーザー・ロールと権限を適用してアプリケーション機能(またはアプリケーション機能の特定機能)へのアクセスを制限することにより、アクセス制御の概念もサポートしています。リモートで供給されるWebコンテンツの場合、MAFでは、ホワイトリストを使用して、アプリケーション機能のWebビュー内では意図したURIのみを開くことができ、かつそのURIのみがデバイス機能にアクセスできるようにします。詳細は、第21章「モバイル・アプリケーションの保護」を参照してください。

- プッシュ・ハンドラ: MAFアプリケーションがiOSまたはAndroidの通知サーバーからイベントを受信できるようにします。通知処理は、Javaレイヤーで処理されます。

ネイティブ・コンテナと相互作用するリソースは、次のとおりです。

- 暗号化されたSQLiteデータベース: 埋込みSQLiteデータベースは、軽量のクロスプラットフォームのリレーショナル・データベースで、ローカルに格納されているデータを保護し、JDBCを使用してコールされます。このデータベースは暗号化されるため、デバイスを紛失したり盗難された場合にデータが保護されます。正しいユーザー名とパスワードを入力したユーザーのみが、ローカル・データベース内のデータにアクセスできます。詳細は、第10章「ローカル・データベースの使用方法」を参照してください。

- デバイス・サービス: デバイスにネイティブな、Cordova APIによってアプリケーション機能に統合されたサービスと機能です。

デバイス・ネイティブ・コンテナを使用すると、次のサーバー側リソースにアクセスできます。

- 構成サーバー: アプリケーション構成サービスによって使用される構成ファイルをホストするWebDavベースのサーバーです。構成サーバーは、リファレンス実装として提供されます。J2EEサーバー上でホストされている共通のWebDavサービスはどれでも、この目的のために使用できます。詳細は、第9章「MAFアプリケーションで使用されるエンド・ポイントの構成」を参照してください。

- サーバー生成されたHTML: ブラウザベースのアプリケーション機能に使用される、リモート・サーバー上でホストされたWebコンテンツです。詳細は、第13章「リモートURLを使用したアプリケーション機能コンテンツの実装」を参照してください。

- APNおよびGCMのプッシュ・サービス: Apple Push Notification Service (APNs)およびGoogle Cloud Messaging (GCM)は、通知イベントをMAFアプリケーションに送信する通知プロバイダです。

- SOAPおよびRESTサービス: リモートでホストされているSOAPベースまたはRESTベースのWebサービスで、Javaレイヤーまたはデータ・コントロールを介してアクセスできます。

  注意: MAF AMXで作成されたアプリケーション機能では、REST-XMLおよびSOAPをベースとしたデータ・サービスにデータ・コントロールを介してアクセスできます。RESTサービス・アダプタを使用する場合、データ・コントロールは不要です。

## 1.3 Oracle Mobile Application Frameworkを使用したアプリケーションの開発について

モバイル・アプリケーションのコンポーネントは単一の開発者が作成できますが、アプリケーションは、様々な開発ロールによって提供されたリソースから構築することが一般的です。アプリケーション開発者は、アプリケーション・データおよびユーザー・インタフェース・ロジックを、アプリケーションまたはアプリケーション機能で使用できる再利用可能なプログラムとして構築します。アプリケーション・アセンブラでは様々なアプリケーション機能を収集して単一のアプリケーションにし、ナビゲート可能なわかりやすい順序に配置します。アプリケーション・デプロイメントは、アプリケーション・デプロイヤによって制御されます。たとえば、MAFアプリケーションのデプロイメントで、証明書およびApple App StoreやGooglePlayなどのパブリック・ベンダー・サイトへのアップロードが必要となる場合があります。

注意: アプリケーション開発チームのサイズや所属する組織に応じて、1人の個人に複数の異なるロールが割り当てられる場合があります。

一般的に、MAFアプリケーションを構築するときには、次のアクティビティを実行します。

- 要件の収集

- 設計

- 開発

- デプロイ

- テストおよびデバッグ

- 保護

- サーバー側データへのアクセスの有効化

- 再デプロイ

- 再テストおよびデバッグ

- 公開

MAFアプリケーションを構築するために実行する手順は、次のようなものです。

1. 要件の収集: ユーザーが誰で、その不可欠なタスクは何か、およびこれらのタスクはどのような場所やコンテキストで実行するかを説明するユーザー・データを収集して、モバイル・ユースケース(またはユーザー・シナリオ)を作成します。タスクの実行に必要な情報のタイプ、ユーザーが使用できる情報、情報のアクセス方法や提供方法などの要因を考慮します。

2. 設計: ユースケースを作成した後、アプリケーションのタスク・フロー内のすべてのステップ(および関連するユーザー・ビュー)を示すワイヤフレームを作成します。タスク・フローを作成するときには、ユーザー間でいつどのように相互作用が発生するかを考慮します。データの表示(プッシュ通知など)は、タスクを実行するのに十分ですか。そうでない場合、このタスクにはどの程度のデータ入力量が必要でしょうか。モバイル・コンテキスト内でこれらのタスクを構成するには、デスクトップ・アプリケーションを使用したタスクの実行とモバイル・アプリケーションを使用したタスクの実行とを比較します。単一のデスクトップ・アプリケーションで、複数の異なるモバイル・アプリケーション(または、MAFのコンテキストでは、モバイル・アプリケーションに埋め込まれた複数の異なるアプリケーション機能)にパーティション化された複数の機能を有効化できます。一般的に、モバイル・アプリケーションは短時間(一度に2分程度)で集中的に使用されるため、簡単にナビゲートでき、モバイル・デバイスの制限されたデータ入力に対応している必要があります。

   設計および開発段階中は、モバイル・アプリケーションは、複雑なWebサービスから提供されるデータ量を消費できない場合があるため、モバイル固有のサーバー側リソースのセットが必要な場合があることに注意してください。さらに、モバイル・アプリケーションには、サービスによって戻されるデータを処理するための広範なクライアント側ロジックが必要になる場合もあります。サーバー側のモバイル・アプリケーションに送られてくるデータの形状を指定して、大量すぎるデータを強制的にクライアントで処理させないことが、通常は最適です。

3. 開発: アプリケーションに最適なテクノロジを選択します。MAF Webビューでは、Apache Trinidad (ADFモバイル・ブラウザ)またはADF Facesリッチ・クライアントのコンポーネントを使用して作成可能なリモート・コンテンツがサポートされていますが、これらのアプリケーションではオフライン使用がサポートされていません。MAF AMXで作成されたアプリケーションは、クライアント上で実行されますが、デバイス・サービスに統合されているため、エンド・ユーザーは、ファイルを表示したりGPSサービスを利用できるだけでなく、電話番号をタップして電話を発信したりテキストを送信して、相互に共同作業を行うこともできます。MAF AMXコンポーネント・セットにはデータ資格化ツール(DVT)が含まれており、このツールを使用すると、分析を追加してモバイル画面上で適切にレンダリングできます。MAF AMXアプリケーションでは、リモート・ソースからデータを転送してローカルで格納することでオフライン使用をサポートしているため、エンド・ユーザーは、接続されていないときに情報を表示できます。

   MAFでは、基本的なアプリケーション自体だけでなく、MAF AMXやローカルHTMLコンテンツから実装されるアプリケーション機能も構築する、一連のウィザードおよびエディタが提供されています。これらのツールを使用すると、モバイル・アプリケーションの構成やそのアプリケーション機能の組込みのための識別子ファイル、スプラッシュ画面用の一連のデフォルト・イメージ、Springboard、サポートされているプラットフォームのフォーム・ファクタに適切なナビゲーション・バー・アイテムなどのアーティファクトが提供されます。

   詳細は、次を参照してください。

   - 第3章「モバイル・アプリケーション開発のスタート・ガイド」

   - 第4章「モバイル・アプリケーションの定義」

   - 第IV部「MAF AMXアプリケーション機能の作成」

4. デプロイ: MAFアプリケーションは、デバイスまたはシミュレータにデプロイされるまで実行できないため、エンド・ユーザーへの公開というコンテキストだけでなく、テストおよびデバッグ目的でもデプロイします。開発のフェーズに応じて、資格証明署名オプション(デバッグまたはリリース)を指定します。テストの場合は、アプリケーションをモバイル・デバイスまたはシミュレータにデプロイします。本番の場合は、Apple App StoreやGoogle Playなど、アプリケーション・マーケットへの配布用にパッケージ化します。

   アプリケーションをデプロイするには、最初に、ターゲット・プラットフォームおよびそのデバイスとシミュレータを記述するデプロイメント・プロファイルを作成します。デプロイメント・プロファイルの作成には、異なる向き(縦または横)や異なるデバイス(電話またはタブレット)でアプリケーションに使用する、スプラッシュ画面および起動アイコンの選択が含まれます。詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。

5. テストおよびデバッグ: テストおよびデバッグのステージでは、アプリケーションを様々なシミュレータとデバイスにデバッグ・モードでデプロイした後、JDeveloperおよびプラットフォーム固有のツールで提供されるデバッグ出力を確認して、アプリケーションを最適化します。詳細は、第22章「MAFアプリケーションのテストおよびデバッグ」を参照してください。

6. 保護: アプリケーションの開発プロセス全体を通して、セキュリティ上のリスクを評価します。モバイル・アプリケーションには固有のセキュリティ上の問題が存在すると同時に、リモートで供給されるデータにアクセスするすべてのアプリケーションと同じ脆弱性も共有しています。クライアント側のセキュリティを保証するために、MAFでは次のような機能を提供しています。

   - クロスサイト・スクリプティング(XSS)やクロスサイト・リクエスト・フォージェリ(CSRF)などのインジェクション攻撃を防ぐホワイトリスト

   - SQLiteデータベースへのアクセスを保護する強いパスワードを生成し、そのデータを暗号化および復号化するAPI

   - SSLをサポートする一連のWebサービス・ポリシー

   - SSLでのデプロイメントを強制する、信頼性のある認証局の`cacerts`ファイル

   MAFのセキュリティ構成には、Oracle Access Mobile and Socialサーバーなどのログイン・サーバーまたは基本的なHTTP認証メカニズムによって保護されているいずれかのWebページの選択や、セッション管理(セッション・タイムアウトおよびアイドル・タイムアウト)の構成が含まれ、また、アプリケーションのユーザー・ロールをホストするアクセス制御サービスのWebサービスへのエンド・ポイントの設定も含まれます。詳細は、第21章「モバイル・アプリケーションの保護」を参照してください。

7. サーバー側データへのアクセスの有効化: 基本レベルで想定どおりにアプリケーションが機能することを確認したら、サーバー側データにアクセスするためにJavaコードを実装したり、データ・コントロールを使用できます。詳細は、第1.3.1項「接続アプリケーションおよび切断されたアプリケーションについて」を参照してください。

8. 再デプロイ: 後続のデプロイメントでは、アプリケーションにセキュリティを追加し、サーバー側データへのアクセスを有効にした後、アプリケーション・デプロイメントが想定どおりに実行され、アプリケーションで最後のテストおよびデバッグを行う準備ができていることを確認します。

9. 再テストおよびデバッグ: 最終回のテストとデバッグでは、セキュリティとサーバー側データのアクセス機能に重点を置き、これらの機能をアプリケーションと統合したときに、エラーや予期しない動作が発生しないことを確認します。

10. 公開: アプリケーションを本番環境にデプロイする場合、通常は、エンタープライズ・サーバー、Apple App StoreまたはGoogle Playへの公開が行われます。MAFアプリケーションを公開すると、エンド・ユーザーは自分のモバイル・デバイスにダウンロードしたり、指定されたアイコンをタッチしてアクセスできるようになります(付録D「MAFアプリケーションの使用方法」を参照)。アプリケーション機能は指定された表示アイコンで表され、エンド・ユーザーやユーザーのデバイスに適した表示が行われます。

### 1.3.1 接続アプリケーションおよび切断されたアプリケーションについて

MAFアプリケーションは、ネットワークへの接続中に機能しますが、携帯電話の信号がないような切断モードでも機能します。次に例を示します。

- Webサービス・データ・コントロールによって直接支えられているユーザー・インタフェースを含む基本的な接続アプリケーション(このWebサービス・データ・コントロールは、サーバーでホストされているWebサービスを起動します)。

- 中程度の(または複雑な)データ・サービスを使用する接続アプリケーション。このタイプのアプリケーションの場合、データ・コントロールにより公開されたJavaクラス(POJO)は、ユーザー・インタフェースとサービス・データ・ソースの間のデータ問合せをディスパッチします。

- SQLiteデータベースに格納されたデータを操作する、切断されたアプリケーションでは、アプリケーション・ユーザーがオフラインで作業できます。アプリケーションはWebサービスからデータを取得する必要がある場合がありますが、接続が失われている場合、接続がリストアされると、データはローカルに格納され、同期されます。

## 1.4 サンプル・アプリケーション

デプロイメント環境の設定(第2章「開発環境の設定」を参照)が完了したら、`jdev_install``/jdeveloper/jdev/extensions/oracle.maf/Samples`ディレクトリ内の`PublicSamples.zip`ファイルにあるMAFサンプル・アプリケーションを実行できます。

図1-3に示すようなWorkBetterアプリケーションなどのサンプル・アプリケーションは、アプリケーションでWebサービスを使用してリモート・データと連動させたり、SQLiteデータベースと相互作用する方法など、MAFアプリケーション機能の範囲を示しています。サンプル・アプリケーションは次の方法を示しています。

- 基本的なHello Worldアプリケーションの作成方法

- アプリケーションがライフサイクル・イベントに反応できるようにする方法

- スキニングの使用方法

- MAF AMXアプリケーション機能の開発方法(ユーザー・インタフェース、ナビゲーション、マネージドBean、データ変更イベントなど)

詳細は、付録F「サンプルのモバイル・アプリケーション・フレームワーク・アプリケーション」を参照してください。

図1-3 WorkBetterサンプル・アプリケーション