Oracle Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.3.0 E77213-01 |
|
![]() 前 |
![]() 次 |
この章では、OEPEでのMAFアプリケーションの作成方法と、アプリケーション作成時にOEPEによって生成されるファイルやその他のアーティファクトについて説明します。
この章には次の項が含まれます:
OEPEのOracle Mobile Application Framework (MAF)拡張機能には、MAFアプリケーションの開発、テストおよびデプロイメントを容易にする様々なエディタやウィザードが用意されています。これらのウィザードを使用すると、MAFアプリケーションの作成、1つ以上のアプリケーション機能の定義、アプリケーション機能へのコンテンツの追加、およびMAFアプリケーションのテスト環境またはデバイスへのデプロイを比較的短時間に行えます。
図2-1は、OEPEのMAFアプリケーション・エディタにWorkBetterサンプル・アプリケーションを表示したもので、ここにはMAFアプリケーションの開発に使用される様々なアイテムが含まれます。
MAFアプリケーション・エディタ(アセンブリ・プロジェクトから起動)は、MAFアプリケーションの名前、アプリケーションにレンダリングされるデフォルトのナビゲーション・メニュー(ナビゲーション・バーまたはSpringboard)、セキュリティ、およびアプリケーションのデバイス・アクセス・オプションを指定する場合に使用します。
MAF機能エディタ(ビュー・プロジェクトから起動)では、MAFアプリケーションに含まれるアプリケーション機能を定義します。
デフォルトでは、OEPEにより、アプリケーション・プロジェクトapplication
Application
とビュー・プロジェクトapplication
View
内に1つずつ存在する2つのデータ・コントロールを含む、MAFアプリケーションが作成されます。これらのデータ・コントロールでは、MAF AMXページにドラッグ可能な操作を公開し、ユーザーがその操作をページにドロップすると、操作の構成を実行するためのコンテキスト・メニューがOEPEによって表示されます。たとえば、hideNavigationBar()
操作をページにドラッグすると、エンド・ユーザーがアプリケーションのナビゲーション・バーを非表示にするコントロールを構成するためのコンテキスト・メニューが、OEPEによって表示されます。
WorkBetterサンプル・アプリケーションは、MAFに用意されている様々なサンプル・アプリケーションの1つで、MAFを使用したモバイル・アプリケーションの作成方法を示します。詳細は、第1.4項「サンプルのMAFアプリケーション」を参照してください。
OEPEによってウィザードにデフォルト・オプションが提示されるので、次のように実行すると、1つのMAF AMXページを表示する、1つのアプリケーション機能を備えたMAFアプリケーションを作成できます。
第2.3項「MAFアプリケーションの作成」の説明に従って、MAFアプリケーションを作成します。
第2.4項「MAFアプリケーションのアプリケーション機能の定義」の説明に従って、MAFアプリケーションのアプリケーション機能を定義し、コンテンツを追加します。
第2.5項「アプリケーション機能へのコンテンツの追加」の説明に従って、アプリケーション機能にコンテンツを追加します。
OEPEのMAF機能エディタおよびMAFアプリケーション・エディタは、作成中にMAFアプリケーションとやり取りするために使用する主要なツールです。これらの2つのエディタは相互作用し、また、編集中の選択に影響するかもしれない方法で、開発しているアプリケーションを構成しているファイルと相互作用します。
図2-1に示すように、MAFアプリケーション・エディタはプロジェクト・エクスプローラのアプリケーションおよび「MAF」ノードの下にあります。これにより、maf-application.xml
ファイルを編集します。
MAF機能エディタは、エクスプローラのビュー・プロジェクトおよびMAFノードの下にあります。これにより、maf-feature.xml
ファイルを編集します。
MAFアプリケーション・エディタでは、maf-application.xml
ファイルを構成して、表示名と一意のアプリケーションID (名前の競合を防ぐ)を指定し、アプリケーションのSpringboard (スマートフォンのホームページに相当)に表示するアプリケーション機能を選択することで、モバイル・アプリケーションの基本構成を設定できます。さらに、このエディタでは、モバイル・アプリケーションのユーザー・プリファレンス・ページも作成できます。エディタについては、第2.3項「MAFアプリケーションの作成」を参照してください。
これらの要素は、MAFアプリケーション・エディタを使用して宣言的に変更するか(図2-3を参照)、XMLエディタまたはソース・エディタを使用して手動で変更できます。これらのアプローチは、いずれも同じように使用できます。
Eclipseのパースペクティブとは、特定のタイプの開発に適した特定のレイアウトで配置されるビューのコレクションです。MAFには、MAFアプリケーションを開発する際に使用する必要がある独自のパースペクティブがあります。それによって、このマニュアルの他の場所で説明するメニューおよびツールバーのオプションへのアクセスが可能になります。
Oracle MAFパースペクティブを変更するには:
IDEで、「ウィンドウ」→「パースペクティブを開く」→「その他」をクリックします。
または、をクリックします。
パースペクティブを開くダイアログ・ボックスで、「Oracle MAF」を選択します。「OK」をクリックします。
OEPEの作成ウィザードを使用して、MAFアプリケーションを作成します。
アプリケーションの作成ウィザードを使用して、OEPEでMAFアプリケーションを作成します。
MAFアプリケーションの作成手順:
メイン・メニューで「ファイル」→「新規」を選択し、次にMAFアプリケーションを選択します。
MAFアプリケーション・ウィザードで、名前やデプロイメント・ターゲットなどのアプリケーションの詳細を入力します。
「終了」をクリックします。
OEPEにより、図2-4に示すように、3つのプロジェクトおよび(アプリケーション機能用とデバイス機能用の) 2つのデータ・コントロールを含むMAFアプリケーションが作成されます。また、MAFアプリケーションの構成用ファイルと、MAFアプリケーションをAndroidまたはiOSプラットフォームにデプロイする際にそのアプリケーションで必要になるファイルも作成されます。
MAFアプリケーションの作成時にOEPEによって生成されるファイルおよびアーティファクトの詳細は、付録C「MAFアプリケーションとプロジェクト・ファイル」を参照してください。
注意: 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つのエントリが存在します。これらは無視しても問題ありません。 |
MAFアプリケーションには、少なくとも1つのアプリケーション機能が必要です。たとえば、WorkBetterサンプル・アプリケーションには4つのアプリケーション機能(ダッシュボード、人々、組織およびSpringboard)が含まれています。図2-5は、これらのうち3つのアプリケーション機能が、そのアプリケーションのカスタム・スプリングボードに表示されている様子を示しています。
MAFアプリケーション・エディタを使用して、MAFアプリケーションのアプリケーション機能を定義します。
MAFアプリケーションのアプリケーション機能を定義する手順:
プロジェクト・エクスプローラで、ビュー・プロジェクトapplication
View
およびMAFを展開し、MAF機能エディタをダブルクリックします。
モバイル機能ページで「追加」アイコンをクリックします。
「新規オブジェクト」ダイアログで「機能」を選択し、
次のように、「新規オブジェクト」ダイアログにエントリを入力します。
新規オブジェクトのタイプ: 機能
機能ID: アプリケーション機能の一意のIDを入力するか、OEPEによって生成される値をそのまま使用します。
「OK」をクリックします。
アプリケーション機能を定義した後で行うタスクの1つに、アプリケーション機能へのコンテンツの追加があります。エディタの「アウトライン」セクションで、機能の新規ノードを展開し、「追加」アイコンをクリックします。新規機能のタイプを選択して、必要な情報を入力します。
MAF AMXページ: アプリケーション機能をMAF AMXページとしてレンダリングする場合は、このコンテンツ・タイプを選択します。
MAFタスク・フロー: アプリケーション機能を、タスク・フローを構成するアクティビティのコレクションとしてレンダリングする場合は、このコンテンツ・タイプを選択します。タスク・フローに含めることのできるアクティビティには、ビュー(MAF AMXページの表示)、メソッド・コール(マネージドBeanのメソッドの起動)、タスク・フロー・コール(別のタスク・フローのコール)などがあります。
ローカルHTML: アプリケーション機能をHTMLページとしてレンダリングする場合に選択します。
リモートURL: アプリケーション機能をリモートURLからのコンテンツでレンダリングする場合に選択します。
アプリケーション機能にコンテンツ・タイプを追加する一般的な手順は、すべてのコンテンツ・タイプで同じです。具体的には、maf-features.xmlファイルの概要エディタにある「機能」ページの「コンテンツ」タブで、アプリケーション機能に追加するコンテンツのタイプを選択します。各コンテンツ・タイプに固有の手順については、第5章「MAFアプリケーション機能のコンテンツ・タイプの定義」を参照してください。
アプリケーション機能は、MAF機能エディタを使用してこれらの機能を作成すると、MAFアプリケーションに自動的に追加されます。
アプリケーション内の機能を使用するには:
プロジェクト・エクスプローラで、アセンブリ・プロジェクトapplication
およびMAFを展開して、MAFアプリケーション・エディタをダブルクリックします。
「アウトライン」で、登録された機能を選択します。
登録された機能ペインでは、アプリケーションに関連付けられている機能を表示できます。
アプリケーションでの動作を定義する機能を選択します。たとえば、その機能をナビゲーション・バーまたはスプリングボードで使用できるようにすることを指定できます。
MAFアプリケーションに追加するアプリケーション機能を参照するためのエントリが、OEPEによってmaf-application.xml
ファイルに書き込まれます。
maf-application.xml
ファイルの<adfmf:featureReference>
要素のrefId
属性は、maf-feature.xml
ファイル内の対応するアプリケーション機能を特定します。このため、maf-application.xml
ファイル内の<adfmf:featureReference>
要素のrefId
属性の値は、maf-feature.xmlファイル
内の<adfmf:feature>
要素に対して定義されたid属性の値と一致する必要があります。
一貫した命名規則を使用して、アプリケーション機能IDの一意性を確保します。アプリケーション機能IDはMAFアプリケーション全体を通して一意である必要があります。
次の例は、WorkBetterサンプル・アプリケーションのmaf-application.xml
ファイルとmaf-feature.xml
ファイルに含まれている人々アプリケーション機能のエントリを示しています。
<!-- Feature Reference ID in maf-application.xml File --> <adfmf:featureReference id="fr2" refId="People"/> ... <!-- Feature ID in maf-feature.xml File --> <adfmf:feature id="People" name="People" icon="images/people.png" image="images/people.png"> ...
第11章「MAF AMXページの作成」に示すように、MAF AMXコンポーネントを使用すると、プラットフォーム固有の言語で作成されたページとまったく同じように実行されるページを構築できます。MAF AMXページでは、コンポーネントのリッチなセットを使用してユーザー・インタフェースを宣言的に作成できます。図2-6は、MAF AMXページの宣言的な開発を示しており、ここでは「パレット」のオプションを選択して、それらをMAF AMXページに追加しています。
これらのページは、(MAFアプリケーションを作成し、その中にアプリケーション機能を埋め込む)アプリケーション・アセンブラによって作成される場合もあります。または、別の開発者によって作成され、アプリケーション機能またはMAFアプリケーションに対するリソースとして、MAFアプリケーションに組み込まれる場合もあります。
MAF AMXページを作成するプロジェクトによって、このページが単一のアプリケーション機能のユーザー・インタフェース・コンテンツ配信に使用されるのか、またはMAFアプリケーション全体に対するリソースとして使用されるのかが決まります。たとえば、図2-7に示すような、アプリケーション・コントローラ・プロジェクト内で作成されたページは、アプリケーション全体のリソースとして使用されます。
ヒント: ページの管理を容易にするために、これをページ・フラグメントとして知られる再利用可能なセグメントに分割できます。MAF AMXページは、1つ以上のページ・フラグメントで構成できます。 |
MAFでは、MAFタスク・フローによりMAF AMXビュー・ページおよび他のアクティビティを適切な順序に配置できます。図11-0に示すように、MAFタスク・フローは、アプリケーションのフローの視覚的な表現です。これは、MAF AMXで作成された(図2-8に、WorkBetterサンプル・アプリケーションのデフォルトのListページおよびDetailページなどのビュー・アクティビティとして示される)ユーザー・インタフェース・ページと、マネージドBeanのメソッドを呼び出すことができる非ビジュアル・アクティビティで構成できます。タスク・フローの非ビジュアル的な要素は、EL式の評価または別のタスク・フローの呼出しに使用できます。図2-8で示されるように、MAFではタスク・フロー・コンポーネントをダイアグラマにドラッグしてタスク・フローを宣言的に作成できます。MAFには、WorkBetterサンプル・アプリケーションのListページなどの単一のエントリ・ポイントを持つバインド・タスク・フローと、アプリケーション・フローへの複数のエントリ・ポイントを持つバインドなしタスク・フローの2つのタイプのタスク・フローがあります。WorkBetterサンプル・アプリケーションは、「ファイル」→「新」→「MAFサンプル」にあります。
MAFには、MAFページ、MAFページ・フラグメントと呼ばれるMAF AMXページの再利用可能な部分、およびアプリケーション機能を追加する多くのダイアログおよびウィザードがあります。図2-8は、「ファイル」メニューから使用できるメニュー・オプションを示しています。
他のオプションは、「ファイル」→「新」→「その他」(図2-9を参照)にあります。「新」ダイアログで、「Oracle」を展開し、次に「モバイル・アプリケーション・フレームワーク」を展開します。
「MAFページ」ダイアログを使用して、アプリケーション機能のユーザー・インタフェースまたはMAFアプリケーションを構成するMAF機能で共有できるアプリケーション・レベル・リソース(ログイン・ページなど)に使用されるAMXページを作成できます。アプリケーション機能のコンテンツの詳細は、第5.2項「アプリケーション機能のコンテンツをリモートURLまたはローカルHTMLとして定義する方法」を参照してください。
アプリケーション機能のコンテンツとしてMAF AMXページを作成するには:
「ファイル」→「新」を選択し、次に「MAFページ」を選択します。
図2-10に示される「新規MAFページ」ダイアログに、たとえばViewContent
などの親フォルダを選択し、「ファイル名」フィールドに名前を入力します。
プライマリおよびセカンダリのヘッダーおよびフッターに使用される「ページ・ファセット」を選択(選択解除)します。「OK」をクリックします。
詳細は、第12.2.2項「パネル・ページ・コンポーネントの使用方法」を参照してください。
「終了」をクリックします。AMXコンポーネントの使用の詳細は、第11.3.1.2項「MAF AMXページの作成」を参照してください。また、第5.2項「アプリケーション機能のコンテンツをリモートURLまたはローカルHTMLとして定義する方法」も参照してください。
MAFアプリケーションに対するリソースとしてMAF AMXページを作成するには:
「ファイル」→「新」を選択し、次に「MAFページ」を選択します。
「ファイル名」フィールドに名前を入力して、「MAF AMXページの作成」ダイアログの入力を完了します(図2-10を参照)。「ディレクトリ」フィールドに、ファイルの場所を入力します。この場所は、アプリケーション・コントローラ・プロジェクトのpublic_html
フォルダ内である必要があります。「OK」をクリックします。
MAF AMXページを構築します。詳細は、第11.3.1.2項「MAF AMXページの作成」を参照してください。
アプリケーション機能のコンテンツをMAFタスク・フローとして配信できます。
アプリケーション機能のコンテンツとしてMAFタスク・フローを作成するには:
「ファイル」→「新」→「その他」を選択します。
「新」ダイアログで、「Oracle」を展開し、次に「モバイル・アプリケーション・フレームワーク」を展開します。「MAFタスク・フロー」を選択し、「次へ」をクリックします。
「ファイル名」フィールドに名前を入力して、「新規のMAFタスク・フロー」ダイアログの入力を完了します(図2-11を参照)。「OK」をクリックします。
「終了」をクリックして、タスク・フローを構築します。第11.2.3項「タスク・フロー・ファイル」も参照してください。
OEPEは、MAF AMXページおよびタスク・フローを、図2-12のようにビュー・プロジェクトのViewContentノードにemployeeList.amx
およびemp-task-flow-definition.xml
として配置します。これらのアーティファクトはmaf-feature.xml
ファイル内で参照されています。
タスク・フローは、ビュー・プロジェクトの「MAF」ノードにもリストされます。
カスタマイズされたアプリケーション・スプラッシュ画面(または起動)イメージやナビゲーション・バー・イメージなどの他のリソースもViewContentノードにあります。
バインドなしタスク・フローを管理するために、OEPEではadfc-mobile-config.xml
ファイルが生成されます。このファイルを使用して、ビュー(ユーザー・インタフェース・ページ)、様々なアクティビティ間の遷移を定義する制御ルール、およびタスク・フローのレンダリング・ロジックを管理するマネージドBeanなどの様々なタスク・フロー・コンポーネントを追加することで、タスク・フローを宣言的に作成または更新できます。
OEPEは、MAF AMXページとタスク・フローを、モバイル・アプリケーションに対するアプリケーション・リソースとして、アプリケーション・コントローラ・プロジェクトのViewContentノードに配置します。図2-12に示すように、MAF AMXページ用のファイルはapplication_resource.amx
という名前で、タスク・フローのファイルはApplicationController-task-flow.xml
という名前です(デフォルト名)。
デプロイメント時に、エンタープライズ・モバイル・アプリケーション管理機能を利用できるように、MAFアプリケーションをOMSS (Oracle Mobile Security Suite)でラップするように選択できます。OMSSにより、優れたユーザー操作性を維持しながら、企業のアプリケーションとデータにモバイル・デバイスから安全にアクセスできます。そのMobile Security Containerでは、企業または個人が所有しているiOSまたはAndroidデバイス上で、エンタープライズ・ワークスペースを作成します。従業員は、企業向けのセキュリティおよびシングル・サインオン認証により、企業データおよびアプリケーションにシームレスにアクセスできます。
Mobile Security Appコンテナ化ツールを使用すると、標準化されたセキュリティ・レイヤーをネイティブ・モバイル・アプリケーションに追加できます。コンテナ化プロセスはシンプルで、次のセキュリティ・サービスをアプリケーションに追加します。
セキュアなデータ転送: エンタープライズ・ファイアウォールの背後にあるアプリケーション・バックエンド・リソースへのモバイル・セキュリティ・アクセス・サーバーを介した暗号化済AppTunnel。
認証: Secure Workspaceアプリケーションによって管理され、セキュア・ワークスペースのアプリケーション間でシングル・サインオンが提供されます。
セキュアなデータ記憶域: ファイル、データベース、アプリケーション・キャッシュおよびユーザー・プリファレンスなどのアプリケーション・データの暗号化済記憶域。
データ・リークの制御: 他の信頼できるアプリケーションに対してファイル共有とコピーおよび貼付けを制限する機能。これにより、電子メール、メッセージ送信、出力および保存などのデータ共有を制限できます。
動的ポリシー・エンジン: 認証頻度、ジオフェンスとタイム・フェンスおよびリモート・ロックとワイプなどの50を超える詳細なアプリケーション制御。
MAFアプリケーション・サービスへのOMSSシングル・サインオン認証およびユーザー・アイデンティティ伝播は、ログイン接続にSSO認証サーバー・タイプを使用するように構成されたアプリケーションに対してのみサポートされます。HTTP基本認証およびOAuth認証を使用するアプリケーションでは、コンテナ認証が成功した後にMAFアプリケーションにログインする必要があります。これらの認証タイプおよびこれらがOMSSで果す役割の詳細は、第29.5.11項「ログイン接続およびコンテナ化された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手順は、第27.9項「Oracle Mobile Security Suiteでのデプロイ」を参照してください。
コンテナ化されたMAFアプリケーションによる企業ファイアウォールの背後にあるセキュアなWebサービスへのアクセスの詳細は、第15.3.3項「Webサービスおよびコンテナ化されたMAFアプリケーションへのアクセスに関する必知事項」を参照してください。
コンテナ化されたMAFアプリケーションの認証プロセスの詳細は、第29.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インスタンスの構成」を参照してください。