Oracle® Fusion Middleware Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.0.1 E57592-01 |
|
![]() 前 |
![]() 次 |
この章では、Oracle JDeveloperのウィザードおよびツールを使用してOracle Mobile Application Framework (MAF)を使用する基本的なアプリケーションを作成する方法について説明し、さらに、アプリケーションの作成時に自動的に生成されるアーティファクトについても説明します。
この章の内容は次のとおりです。
MAFはJDeveloperデザインタイム内に統合されているため、単純なモバイル・アプリケーション(およびより複雑なモバイル・アプリケーションの大部分)は、コードを1行も記述することなく作成、デプロイおよびテストできます。
Oracle Mobile Application Framework拡張機能により、JDeveloperには、基本ファイルによって完全なプロジェクトをシードするアプリケーション・テンプレートが提供されています。MAFアプリケーションを作成する最初のステップは、名前を割り当て、ソース・ファイルを保存するディレクトリを指定することです。JDeveloperに用意されているアプリケーション・テンプレートを使用してアプリケーションを作成すると、ワークスペースが必要な構成ファイルとともに自動的に編成され、プロジェクトに含められます。
アプリケーションの作成ウィザードを使用して、アプリケーションを作成します。
始める前に
MAFアプリケーション拡張機能をダウンロードする必要があります。詳細は、第2.3項「JDeveloperの設定」を参照してください。すべてのターゲット・プラットフォームに対して、MAFアプリケーション拡張機能をダウンロードおよび構成する必要がある場合もあります。
モバイル・アプリケーションを作成するには:
「ファイル」→「新規」→「アプリケーション」を選択します。
図3-1に示す「新規ギャラリ」で、「モバイル・アプリケーション・フレームワーク」を選択して「OK」をクリックします。
「アプリケーション名」フィールドに、アプリケーションの名前を入力します(図3-2ではMobileApplication)。必要に応じて、「ディレクトリ」フィールドにプロジェクトの新しい場所を入力します。「アプリケーション・パッケージの接頭辞」フィールドに接頭辞を入力することで、アプリケーション・パッケージが一意となるようにします。「次へ」をクリックします。
アプリケーションは、MAFアプリケーションの最上位構造になります。アプリケーションは、このウィザードの後続ページで定義する様々なプロジェクト層をまとめます。
図3-3に示すように、プロジェクト1の名前ページで、(必要に応じて)アプリケーション・コントローラ・プロジェクトの名前と場所を変更します。変更しない場合は、プロジェクトのデフォルト名、ApplicationControllerをそのまま使用します。このページの「プロジェクトの機能」ウィンドウには、アプリケーション・コントローラ・プロジェクトで使用できるテクノロジがリストされます。
このプロジェクトにはアプリケーション全体のリソースがすべて格納されます。詳細は、表3-1を参照してください。
「次へ」をクリックして、アプリケーション・コントローラ・プロジェクトのJava設定ページ(図3-4に示すプロジェクト1のJava設定)に移動します。アプリケーション・コントローラ・プロジェクトのデフォルトのパッケージ名(application
)と、Java SOURCEPATH
ディレクトリ(src
)およびJava出力ディレクトリ(classes
)の場所を、そのまま使用するか変更します。
「次へ」をクリックして、必要に応じてビュー・コントローラ・プロジェクトの名前を変更できるプロジェクト2の名前ページに移動します。このページの「プロジェクトの機能」ウィンドウ(図3-5を参照)には、MAFビュー・コントローラ・プロジェクトで使用できるテクノロジがリストされます。ビュー・コントローラ・プロジェクト内で作成されるアーティファクトの詳細は、表3-2を参照してください。
「次へ」をクリックします。ビュー・コントローラ・プロジェクトのJava設定ページ(図3-6を参照)で、アプリケーション・コントローラ・プロジェクトのデフォルトのパッケージ名(mobile
)と、プロジェクトのJava SOURCEPATH
ディレクトリ(src
)およびJava出力ディレクトリ(classes
)の場所を、そのまま使用(または変更)します。
「終了」をクリックして、MAFアプリケーションとそのプロジェクトの作成を完了します。
ヒント: 前述の手順に従ってMAFアプリケーションを作成する以外にも、(開発用コンピュータの |
MAFアプリケーション・プロジェクトを作成すると、JDeveloperによってアプリケーション・レベルおよびプロジェクト・レベルのアーティファクトが追加され、これらには、「アプリケーション」(図3-7を参照)からアクセスできます。これらのアーティファクトには、2つのスタブ・ディスクリプタ・ファイルが含まれています。1つは、アプリケーション名、アプリケーション・ライフサイクル・リスナー(LifeCycleListenerImpl.java
)、埋込みアプリケーション機能用のログイン・サーバー接続など、MAFアプリケーション自体の構成に使用されるファイルで、もう1つは、MAFアプリケーションを構成するアプリケーション機能が記述されたファイルです。これらのファイル(maf-application.xml
およびmaf-feature.xml
)については、第3.2.2.1項「アプリケーション・コントローラ・プロジェクト・レベルのリソースについて」および第3.2.2.2項「ビュー・コントローラ・プロジェクトのリソースについて」でそれぞれ説明します。
JDeveloperでは、DeviceFeaturesデータ・コントロールも作成されます。このデータ・コントロールによってApache Cordova Java APIが抽象化され、MAF AMXとして実装されているアプリケーション機能は、デバイスに埋め込まれている様々なサービスにアクセスできるようになります。さらにJDeveloperは、ApplicationFeaturesデータ・コントロールも作成します。これによってSpringboardページの構築が可能になります。DeviceFeaturesデータ・コントロールによって提供される操作をMAF AMXページにドラッグ・アンド・ドロップすることで(第7.11項「DeviceFeaturesデータ・コントロールの使用方法」を参照)、デバイスに格納されたユーザーのコンタクト先の管理、電子メールとSMSテキスト・メッセージの作成と送信、デバイスの場所の確認、デバイスのカメラの使用、およびデバイスのファイル・システムに格納されたイメージの取得を行う機能を追加します。
JDeveloperでは、アプリケーション・コントローラ・プロジェクト内にMAFアプリケーション用のファイルが生成されます。これらのファイル(表3-1を参照)は、MAFアプリケーションのメタデータを記述した構成情報を含んでいます。これらのファイルには、「アプリケーション」ウィンドウの「アプリケーション・リソース」ペイン(図3-8を参照)からアクセスします。
アプリケーション全体のリソースが含まれるアプリケーション・コントローラ・プロジェクトは、モバイル・デバイスでのアプリケーションの表示方法を構成するためのメタデータ・ファイルが含まれるという点で、MAFアプリケーションのプレゼンテーション・レイヤーを提供しています。このプロジェクトはMAFアプリケーションのセキュリティを指定するもので、アプリケーションのログイン・ページ、およびアプリケーション全体のリソースを含めることができます。アプリケーション・コントローラ・プロジェクトは、本質的には、アプリケーション機能とそのコンテンツを定義するビュー・コントローラ・プロジェクトのコンシューマです。詳細は、第3.2.2.2項「ビュー・コントローラ・プロジェクトのリソースについて」を参照してください。
ヒント: アプリケーション・コントローラ・プロジェクト内には、アプリケーション・レベルのライフサイクル・リスナーなど、アプリケーション全体の機能をサポートするコードを配置してください。 |
表3-1 アプリケーション・リソースを介してアクセスされるモバイル・アプリケーション・レベルのアーティファクト
アーティファクト | ファイルの場所 | 説明 |
---|---|---|
|
次に例を示します。
|
アプリケーションレベルの情報を定義するXMLファイル。アプリケーションの内容、ナビゲーションの動作およびそのユーザー認証要件を定義できます。詳細は、第4.2項「モバイル・アプリケーションの構成ファイルについて」を参照してください。 |
|
次に例を示します。
|
MAFアプリケーションに使用されるデフォルト・スキンの構成に使用されます。詳細は、第4.12項「モバイル・アプリケーションのスキニング」を参照してください。 |
アプリケーション・イメージ |
次に例を示します。
|
iOSおよびAndroidアプリケーションのデプロイメントに必要とされる一連のイメージ。ここには、アプリケーション・アイコンやスプラッシュ画面のPNGイメージも含まれます。iPhoneなどのiOSデバイスへのデプロイメントでは、様々なサイズのイメージ・セットが必要です。 プロジェクトで提供されるデフォルトのiOSイメージは次のとおりです。
これらのイメージをオーバーライドするには、第19.2.4.3項「iOSアプリケーションへのカスタム・イメージの追加」を参照してください。 |
|
次に例を示します。
|
システム全体のキーストアである |
|
次に例を示します。
|
ロギング・レベルやロギング・コンソールなど、アプリケーション・エラーのロギングを設定できます。詳細は、第22.4項「ロギングの使用方法と構成」を参照してください。 |
|
次に例を示します。
|
Java仮想マシン、JVM 1.4の構成ファイル。このファイルを使用して、アプリケーションの起動やヒープ領域の割当て、JavaおよびJavaScriptのデバッグ・オプションを構成します。詳細は、第22.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照してください。 |
|
次に例を示します。
|
構成サービス・パラメータなど、アプリケーション・レベルの設定の構成に使用します。第9章「MAFアプリケーションで使用されるエンド・ポイントの構成」も参照してください。 |
|
次に例を示します。
|
MAFアプリケーションで定義されているすべての接続のリポジトリ。 |
|
次に例を示します。
|
保護されたWebサービスに使用されるWebサービス・ポリシー定義を格納します。 |
JDeveloperでは、アプリケーション・コントローラ・プロジェクト(図3-9を参照)自体の中に、表3-2にリストされた、次のアーティファクトが作成されます。
表3-2 アプリケーション・コントローラのアーティファクト
アーティファクト | ファイルの場所 | 説明 |
---|---|---|
|
次に例を示します。
|
MAFアプリケーションのデフォルトのアプリケーション・ライフサイクル・リスナー(ALCL)。 詳細は、第4.7項「モバイル・アプリケーションでのライフサイクル・リスナーの使用」を参照してください。 |
|
次に例を示します。
|
使用可能なスキンを定義するもので、新しいスキンを定義することもできます。 詳細は、第4.12項「モバイル・アプリケーションのスキニング」を参照してください。 |
|
次に例を示します。
|
|
|
次に例を示します。
|
データ・コントロールのレジストリ。デバイスのサービスを活用するDeviceFeaturesデータ・コントロールの使用方法の詳細は、第7項「バインディングの使用とデータ・コントロールの作成」を参照してください。埋込みアプリケーション機能をコールするSpringboardページを作成できるようにするApplicationFeaturesデータ・コントロールの詳細は、第4.5.5項「MAF AMXコンテンツによるカスタムSpringboardアプリケーション機能に関する必知事項」を参照してください。 |
ビュー・コントローラ・プロジェクト(ViewController
というデフォルト名で生成されます(図3-10参照))には、アプリケーション機能のリソースが格納されます。第3.2.2.1項「アプリケーション・コントローラ・プロジェクト・レベルのリソースについて」で説明されているアプリケーション・コントローラ・プロジェクトとは異なり、ビュー・コントローラ・プロジェクトのメタデータ・ファイルでは、アプリケーション機能レベルのリソース、特に、実行時にモバイル・デバイスでMAFアプリケーション自体のSpringboard内またはそのナビゲーション・バーに表示できるように1つのMAFアプリケーションに集約可能な様々なアプリケーション機能が記述されます。さらに、アプリケーション機能のメタデータ・ファイルでは、アプリケーション機能をHTMLページかMAF AMXページのどちらで構成するのかが記述されます。また、ビュー・コントローラ・プロジェクトには、これらのアプリケーション・ページと、アプリケーション機能レベルのリソース(MAFアプリケーション用に定義された、Springboardおよびナビゲーション・バー上のアプリケーション機能を表すアイコン・イメージなど)を含めることができます。
ヒント: ビュー・コントローラ・プロジェクト内には、アプリケーション機能に固有のコードを格納します。アプリケーション・コントローラ・プロジェクトは、(特に別々のビュー・コントローラ・プロジェクト内で定義されている)アプリケーション機能間で共有されるコードの場所として使用してください。 |
ビュー・コントローラ・プロジェクトはアプリケーション・コントローラ・プロジェクトと分離して、別のモバイル・アプリケーションで再使用できるように、アーカイブ・ファイルとしてデプロイできます(第4.13項「機能アーカイブ・ファイルの使用」を参照)。また、稀なケースとして、アプリケーション・コントローラ・プロジェクトが複数のビュー・コントローラ・プロジェクトを使用することもできます。
注意: MAFビュー・コントローラ・プロジェクトを別のMAFビュー・コントローラ・プロジェクトの依存性またはMAFアプリケーション・コントローラ・プロジェクトの依存性として追加すると、MAFアプリケーションをデプロイできなくなります。詳細は、第4.6.2項「機能参照IDと機能IDに関する必知事項」を参照してください。 |
表3-3に示すように、これらのリソースには、maf-feature.xml
という名前のアプリケーション機能の構成ファイルが含まれます。
表3-3 ビュー・コントローラのアーティファクト
アーティファクト | ファイルの場所 | 説明 |
---|---|---|
|
次に例を示します。
|
アプリケーション機能を定義できるようにする、スタブXMLの識別子ファイル。詳細は、第4.8項「モバイル・アプリケーション機能の構成ファイルについて」を参照してください。第2.3.1項「プラットフォームとフォーム・ファクタに応じた開発環境の構成方法」の説明に従ってモバイル・プリファレンスを構成した後は、デフォルトのデプロイメント・プロファイル設定を使用して、このアプリケーションをデプロイできます。詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。 |
アプリケーション固有のコンテンツ |
次に例を示します。
|
|
デプロイメント・プロファイルは、ターゲット環境(モバイル・デバイス、エミュレータ、iOs App Storeのようなアプリケーション・マーケットプレイスなど)にデプロイされるアーカイブにアプリケーションがパッケージ化される方法を定義します。デプロイメント・プロファイルには、次の役割があります。
作成されるアーカイブ・ファイルのフォーマットと内容を指定します。
パッケージ対象となるソース・ファイル、デプロイメント・ディスクリプタ、およびその他の補助ファイルをリストします。
作成されるアーカイブ・ファイルのタイプおよび名前を記述します。
依存情報、プラットフォーム固有の指示、およびその他の情報を示します。
アプリケーションを作成すると、MAFによって、デフォルトの設定とイメージ・ファイルでシードされたデプロイメント・プロファイルが生成されます。環境を正しく構成した場合、これらのプロファイルを使用して、MAFアプリケーションを作成直後にデプロイできます。これを行うには、図3-11に示すように、「アプリケーション」を選択した後、「デプロイ」を選択します。
その後、「デプロイメント・アクション」ページ(図3-12を参照)を使用し、適切なデプロイメント・ターゲットを選択します。
注意: iOSおよびAndroidアプリケーションをシミュレータとデバイスにデプロイする場合、それらの環境設定と構成に関する要件はそれぞれ異なります。詳細は、第19.3項「Androidアプリケーションのデプロイ」および第19.4項「iOSアプリケーションのデプロイ」を参照してください。 Androidアプリケーションをシミュレータにデプロイする場合は、Android SDK ManagerにあるGoogle Cloud Messaging Library (リビジョン3以上)用のパッケージをインストールしてください。詳細は、第19.2.3項「Androidデプロイメント・プロファイルの作成方法」を参照してください。 |
図3-11に示すように、MAFでは、サポートされる両方のプラットフォーム(iOSとAndroid)に対応したアプリケーション・レベルのプロファイルが作成され、それらにiOS1およびAndroid1という名前が付けられます。
注意: MAFでは、新しいデプロイメント・プロファイルが作成されるたびに、その名前に付加される数字が1ずつ増加します。たとえば、iOS2、iOS3のようになります。 |
これらのプロファイルには、デフォルト値をそのまま使用するか、「アプリケーションのプロパティ」ダイアログの「デプロイメント」ページでプロファイルの名前を選択し、「編集」をクリックすることによって、それらの値を編集することもできます。図3-13は、デフォルトのAndroidアプリケーション・プロファイルの「オプション」ページを示しています。MAFアプリケーション・プロファイル用に構成する値の詳細は、第19.2.3項「Androidデプロイメント・プロファイルの作成方法」および第19.2.4項「iOSデプロイメント・プロファイルの作成方法」を参照してください。
MAFでは、アプリケーション・コントローラ・プロジェクトとビュー・コントローラ・プロジェクトは、別々の機能アーカイブ(FAR)ファイルとしてパッケージ化されます。このようなMAFファイルのJARファイルは、他のアプリケーションのリソースとして使用されます(第19.5項「機能アーカイブ・ファイル(FAR)のデプロイ」を参照)。MAFでは、これらのFARファイルがMAFアプリケーション・プロファイルへの依存性として作成されるため、「アプリケーションのプロパティ」ダイアログの「プロファイルの依存性」ページを使用して、これらのファイルを追加または除外できます(図3-14を参照)。
注意: アプリケーション・コントローラ・プロジェクトに含まれるFARプロファイルの依存性は1つである必要があります。そうでない場合、デプロイメントは失敗します。 |
「プロジェクト・プロパティ」ダイアログのファイル・グループに関連するページを使用すると、ビュー・コントローラのFARファイルに含まれるコンテンツをカスタマイズできます(図3-15を参照)。「プロジェクト・プロパティ」ダイアログの詳細は、Oracle JDeveloperのオンライン・ヘルプおよびOracle Fusion Middleware Oracle JDeveloperによるアプリケーションの開発のデプロイメント・プロファイルの構成に関する項を参照してください。
MAFでは、プラットフォーム固有のデプロイメント・プロファイルに加えて、MAFアプリケーションをモバイル・アプリケーション・アーカイブ(.maa
)・ファイルとしてパッケージ化するために使用できるデプロイメント・プロファイルも作成されます。このファイルを使用すると、.maa
ファイルとしてパッケージ化された既存のアプリケーションを使用する新しいMAFアプリケーションを作成できます。詳細は、第19.6項「モバイル・アプリケーション・アーカイブ・ファイルの作成」および第19.7項「署名のないデプロイメント・パッケージの作成」を参照してください。
このデプロイメント・ファイルには、MAFアプリケーション名に_archiveが続く形式の名前がデフォルトで付けられます。図3-11に示すように、このプロファイルはEmployees_archiveと呼ばれ、必要に応じ、「アプリケーションのプロパティ」ダイアログを使用して編集できます。
「アプリケーションのプロパティ」ダイアログのページを使用したデプロイメント・プロファイルの編集の詳細は、Oracle Fusion Middleware Oracle JDeveloperによるアプリケーションの開発のデプロイメント・プロファイルのプロパティの表示と変更に関する項と、Oracle JDeveloperオンライン・ヘルプの「アプリケーションのプロパティ」および「プロジェクト・プロパティ」ダイアログに関する項を参照してください。
アプリケーションを作成するとmaf-application.xml
ファイルが生成され、これによりモバイル・アプリケーションおよびmaf-feature.xml
ファイルも構成できるようになります。このファイルを使用して、モバイル・アプリケーション内に埋め込まれるアプリケーション機能を追加、削除または編集します。MAF拡張機能によってこれら両方のファイルに対する概要エディタが提供されているので、これらのファイルを宣言的に変更できます。図3-17に、maf-application.xml
ファイルの概要エディタの例を示します。
図3-17に示すように、maf-application.xml
ファイルは、「アプリケーション」ウィンドウの「アプリケーション・リソース」パネルで、「ディスクリプタ」および「ADF META-INF」ノードの下に表示されます。このファイルは、この場所からダブルクリックで開くことができます。このファイルにアクセスすると、JDeveloperによって、関連付けられた概要エディタが開かれるだけでなく、関連するページ・コンポーネントが「コンポーネント」ウィンドウ内に表示されます。これは、エディタの「ソース」ページか「構造」ウィンドウにドラッグ・アンド・ドロップできます(図3-18を参照)。maf-application.xml
ページのコンポーネントの詳細は、第4.2項「モバイル・アプリケーションの構成ファイルについて」を参照してください。
図3-19に示すように、maf-feature.xml
構成ファイルは、「アプリケーション」ウィンドウの「プロジェクト」パネルで、「view controller」および「META-INF」ノードの下にあります。このファイルを使用して、MAFアプリケーションのコンテンツを構成します。
maf-application.xml
ファイルの概要エディタと同じように、JDeveloperによって、maf-features.xml
構成ファイルの要素を構築するために使用するMAFコンポーネントが提示されます(第4.8項「モバイル・アプリケーション機能の構成ファイルについて」を参照)。「概要」ページを使用することも、「コンポーネント」ウィンドウからコンポーネントを「構造」ウィンドウまたはソース・エディタ自体へドラッグ・アンド・ドロップすることもできます。maf-feature.xml
ファイルを選択すると、JDeveloperによって「コンポーネント」ウィンドウにMAF機能コンポーネントが移入されます。
第5章「MAF AMXページの作成」で説明されているように、MAF AMXコンポーネントを使用すると、プラットフォーム固有の言語で作成されたページとまったく同じように実行されるページを作成できます。MAF AMXページでは、豊富なコンポーネント・セットを使用して、ユーザー・インタフェースを宣言的に作成できます。図3-21に、MAF AMXページの宣言的な開発を示します。
これらのページは、(MAFアプリケーションを作成し、その中にアプリケーション機能を埋め込む)アプリケーション・アセンブラによって作成される場合や、別の開発者によって作成され、アプリケーション機能またはMAFアプリケーションに対するリソースとしてMAFアプリケーションに組み込まれる場合もあります。
MAF AMXページを作成するプロジェクトによって、このページが単一のアプリケーション機能のユーザー・インタフェース・コンテンツの配信に使用されるのか、またはMAFアプリケーション全体に対するリソースとして使用されるのかが決まります。たとえば、図3-25に示すような、アプリケーション・コントローラ・プロジェクト内で作成されたページは、アプリケーション全体のリソースとして使用されます。
ヒント: ページの保守を容易にするために、ページをページ・フラグメントと呼ばれる再利用可能なセグメントに分割できます。MAF AMXページは、1つ以上のページ・フラグメントで構成されます。 |
MAFでは、MAFタスク・フローを介してMAF AMXビュー・ページおよび他のアクティビティを配置して適切なシーケンスにすることができます。第5.2項「タスク・フローの作成」で説明されているように、MAFタスク・フローはアプリケーションのフローの視覚的に表現したものです。これは、(図3-22に示すWorkBetterサンプル・アプリケーションのデフォルトのListページやDetailページなどのビュー・アクティビティのような) MAF AMXで作成されるユーザー・インタフェース・ページや、マネージドBeanでメソッドをコールできる非視覚的なアクティビティで構成されます。タスク・フローの非視覚的な要素は、EL式を評価したり、別のタスク・フローをコールするために使用できます。図3-22に示すように、MAFでは、タスク・フロー・コンポーネントをダイアグラマにドラッグして、タスク・フローを宣言的に作成できます。MAFには、バインド・タスク・フローとバインドなしタスク・フローという2種類のタスク・フローがあり、バインド・タスク・フローにはWorkBetterサンプル・アプリケーションのListページのような単一のエントリ・ポイントが含まれ、バインドなしタスク・フローにはアプリケーション・フローとなる複数のエントリ・ポイントが含まれることがあります。WorkBetterサンプル・アプリケーションは、開発コンピュータ上のjdev_install
/jdeveloper/jdev/extensions/oracle.maf/Samples
ディレクトリのPublicSamples.zip
ファイル内にあります。
図3-23に、MAFタスク・フロー、AMXページ、MAFページ・フラグメントと呼ばれるMAF AMXページの再利用可能な部分、およびアプリケーション機能を追加するためにMAFに提供されているウィザードを示します。これらのウィザードにアクセスするには、「アプリケーション」ウィンドウでビュー・コントローラ・プロジェクトまたはアプリケーション・コントローラ・プロジェクトを選択して、「ファイル」→「新規」を選択します。「クライアント層」内の「モバイル・アプリケーション・フレームワーク」を選択した後、いずれかのウィザードを選択します。
MAF AMXページ・ウィザードを使用して、アプリケーション機能のユーザー・インタフェースに使用されるAMXページや、MAFアプリケーションを構成するアプリケーション機能の間で共有可能なアプリケーション・レベルのリソース(ログイン・ページなど)として使用されるAMXページを作成できます。アプリケーション機能コンテンツの詳細は、第4.10.1項「アプリケーション・コンテンツの定義方法」を参照してください。
アプリケーション機能のコンテンツとしてMAF AMXページを作成するには:
「アプリケーション」ウィンドウで、ビュー・コントローラ・プロジェクトを右クリックします。
「ファイル」を選択し、「新規」を選択します。
「新規ギャラリ」の「クライアント層」ノードで、「MAF AMXページ」を選択して、「OK」をクリックします。
「ファイル名」フィールドに名前を入力して、「MAF AMXページの作成」ダイアログの入力を完了します(図3-24を参照)。「ディレクトリ」フィールドに、ファイルの場所を入力します。この場所は、ビュー・コントローラ・プロジェクトのpublic_html
フォルダ内である必要があります。
「パネル・ページ」内で、ヘッダーおよびフッターの作成に使用する「ファセット」を選択(または選択解除)します。「OK」をクリックします。
詳細は、第6.2.2項「パネル・ページ・コンポーネントの使用方法」を参照してください。
MAF AMXページを作成します。AMXコンポーネントの使用方法の詳細は、第5.3.1.2項「MAF AMXページの作成」を参照してください。第4.10.1項「アプリケーション・コンテンツの定義方法」も参照してください。
MAF AMXアプリケーションに対するリソースとしてMAF AMXページを作成するには:
「アプリケーション」ウィンドウで、アプリケーション・コントローラ・プロジェクトを選択します。
「ファイル」を選択し、「新規」を選択します。
「新規ギャラリ」の「クライアント層」ノードで、「MAF AMXページ」を選択して、「OK」をクリックします。
「ファイル名」フィールドに名前を入力して、「MAF AMXページの作成」ダイアログの入力を完了します(図3-25を参照)。「ディレクトリ」フィールドに、ファイルの場所を入力します。この場所は、アプリケーション・コントローラ・プロジェクトのpublic_html
フォルダ内である必要があります。「OK」をクリックします。
MAF AMXページを作成します。詳細は、第5.3.1.2項「MAF AMXページの作成」を参照してください。
アプリケーション機能のコンテンツをMAFタスク・フローとして配信できます。
アプリケーション機能のコンテンツとしてMAFタスク・フローを作成するには:
「アプリケーション」ウィンドウで、ビュー・コントローラ・プロジェクトを選択します。
「ファイル」を選択し、「新規」を選択します。
「新規ギャラリ」の「クライアント層」ノードで、「MAFタスク・フロー」を選択して、「OK」をクリックします。
「ファイル名」フィールドに名前を入力して、「MAFタスク・フローの作成」ダイアログの入力を完了します(図3-26を参照)。「ディレクトリ」フィールドに、ファイルの場所を入力します。この場所は、ビュー・コントローラ・プロジェクトのpublic_html
フォルダ内である必要があります。「OK」をクリックします。
タスク・フローを構築します。第5.2項「タスク・フローの作成」も参照してください。
JDeveloperは、MAF AMXページとタスク・フローを、ビュー・コントローラ・プロジェクトの「Webコンテンツ」ノードに配置します(図3-27のcustom_springboard.amx
およびViewController-task-flow.xml
を参照。これらは、このプロジェクト内で作成されるタスク・フローのデフォルト名です)。第4.6項「モバイル・アプリケーション内のアプリケーション機能の構成」で説明されているように、これらのアーティファクトはmaf-feature.xml
ファイル内で参照されます。カスタマイズされたアプリケーション・スプラッシュ画面(または起動)イメージやナビゲーション・バーのイメージなど、その他のリソースも「Webコンテンツ」ノードに含まれています。詳細は、表3-3を参照してください。バインドなしタスク・フローを管理するために、JDeveloperではadfc-mobile-config.xml
ファイルが生成されます。このファイルを使用して、ビュー(ユーザー・インタフェース・ページ)、様々なアクティビティ間の遷移を定義する制御ルール、タスク・フローのレンダリング・ロジックを管理するマネージドBeanなど、様々なタスク・フロー・コンポーネントを追加することにより、タスク・フローを宣言的に作成または更新できます。
JDeveloperは、MAF AMXページとタスク・フローを、モバイル・アプリケーションに対するアプリケーション・リソースとして、アプリケーション・コントローラ・プロジェクトの「Webコンテンツ」ノードに配置します。図3-27に示すように、MAF AMXページ用のファイルはapplication_resource.amx
という名前で、タスク・フローのファイルはApplicationController-task-flow.xml
という名前です(デフォルト名)。
MAFでは、ADFモバイルのバージョン11.1.2.3.0および11.1.2.4.0で作成されたアプリケーションの構成が自動的に移行されます。ADFモバイル・アプリケーションのワークスペース(.jws
)・ファイルを開くと、MAFでは、「警告」ダイアログ(図3-28を参照)が開いて、アプリケーションが現行バージョンでないという警告が表示され、移行を続行するか、ダイアログを閉じてファイルを閉じるかを選択するように求められます。
MAFでは、移行ステータスが「ログ」ウィンドウに書き込まれます(図3-29を参照)。移行プロセスで、移行するアプリケーションで古い構成サービスAPIが使用されていることが検出されると、次の警告も記録されます。
The MAF 2.0 Configuration Service API is not backwards compatible with previous versions and cannot be migrated automatically. Refer to Section 9.3 "Migrating the Configuration Service API" in Oracle Fusion Middleware Developing Mobile Applications with Oracle Mobile Application Framework 2.0. for information on migrating to the new API.
詳細は、第9.6項「構成サービスの移行」を参照してください。
表3-4に、移行がADFモバイルのアーティファクトにどのような影響を与えるかを示します。
表3-4 ADFモバイルのアーティファクトおよび構成の移行
ファイル名 | 変更内容 |
---|---|
|
移行によって次の変更が行われます。
|
|
移行によって次の変更が行われます。
|
|
移行によって、 |
|
移行によって、ファイル名が <skin-family>mobileAlta</skin-family> <skin-version>v1.1</skin-version> |
|
移行によって、ファイル名が |
アプリケーションがADFモバイル・フレームワーク・テクノロジから移行され、モバイル・アプリケーション・フレームワーク・テクノロジがプロジェクト機能として使用されるようになります。図3-30に、モバイル・アプリケーション・フレームワーク・テクノロジを使用するアプリケーション・コントローラ・プロジェクトの「機能」ページを示します。「プロジェクト・プロパティ」→「機能」を選択して、このダイアログを表示します。
MAFでは、ADFモバイル・アプリケーションに対して作成されたアイコン、スプラッシュ画面またはナビゲーション・バーのイメージはオーバーライドされず、アプリケーション・コントローラのresources
ファイル内のイメージ・ファイルが保持されます。同様に、アプリケーション機能に使用されるイメージもすべて保持されます。第3.2.2.1項「アプリケーション・コントローラ・プロジェクト・レベルのリソースについて」も参照してください。
MAFでは、Webサービス・ポリシー定義がwsm-assembly.xml
ファイルに格納されます。ADFモバイル・アプリケーションはこの情報をconnections.xml
ファイルに格納します。例3-1は、connections.xml
ファイル内の<policy-references>
要素によるoracle/wss_username_token_client_policy
を示しています。
例3-1 connections.xmlファイル
<policy-references xmlns="http://oracle.com/adf">policy-reference category="security" uri="oracle/wss_username_token_client_policy" enabled="true" id="oracle/wss_username_token_client_policy" xmlns=""/> </policy-references>
例3-2は、wsm-assembly.xml
ファイル内に定義されたポリシーを示しています。
MAFでは、機能アーカイブ(FAR)ファイル内にパッケージ化されたadfmf-feature.xml
ファイルは移行されません。移行済アプリケーションで使用されるADFモバイルFARを置換して、FARのmaf-feature.xml
ファイル内でcredentials
属性がsecurityEnabled=true
で置換されていることを確認します。
アプリケーションの移行後、次の手順を実行します。
「アプリケーションのプロパティ」→「ライブラリとクラスパス」を選択します。
FARを選択し、「削除」をクリックします。
第4.13.1項「MAFアプリケーションでのFARコンテンツの使用方法」で説明されているように、移行済ビュー・コントローラが含まれるFARをインポートします。
FARとしてパッケージ化されたビュー・コントローラ・プロジェクトが含まれるADFモバイル・アプリケーションを移行します。
注意: 1つのFARに |
ビュー・コントローラ・プロジェクトをFARとしてデプロイします。
第4.13.1項「MAFアプリケーションでのFARコンテンツの使用方法」で説明されているように、FARを移行済アプリケーションにインポートします。
Oracle JDeveloperには、ojmigrate
コマンド行ユーティリティを使用してアプリケーションを移行するための一連のマイグレータが用意されています。ワークスペース(.jws
)・ファイル(およびそのすべてのプロジェクト・ファイル)を移行するには、まず、Oracle JDeveloper 12cインストールのjdev\bin
ディレクトリ(Oracle_Home\jdeveloper\jdev\bin
)に移動し、コマンド・プロンプトで次のように入力します。
ojmigrate
workspace.jws
このコマンドを使用して、1つ以上のワークスペースを移行できます。たとえば、次のように.jws
ファイルの場所を入力します。
ojmigrate C:\JDeveloper\mywork\ADFMobileApp1\ADFMobileApp1.jws
C:\JDeveloper\mywork\ADFMobileApp2\ADFMobileApp2.jws
少数のワークスペース・ファイルはこの方法を使用して移行できますが、複数のファイルは、.jws
ファイルの場所がリストされたテキスト・ファイルを使用して移行できます。構文は次のとおりで、テキスト・ファイルの場所の前にアットマーク(@)を付けます。
ojmigrate @file
たとえば、ojmigrate @C:\migrate.txt
と入力します。
例3-3は、テキスト・ファイルの内容を示しています(ファイルの場所はそれぞれ改行して入力する必要があります)。
例3-3 テキスト・ファイル内の.jwsファイルの場所の一覧
C:\JDeveloper\mywork\ADFMobileApp1\ADFMobileApp1.jws C:\JDeveloper\mywork\ADFMobileApp2\ADFMobileApp2.jws C:\JDeveloper\mywork\ADFMobileApp3\ADFMobileApp3.jws C:\JDeveloper\mywork\ADFMobileApp4\ADFMobileApp4.jws C:\JDeveloper\mywork\ADFMobileApp5\ADFMobileApp5.jws
ヒント: LINUXまたはUNIXの
|
このコマンドの実行後、アプリケーションの移行が完了したことを確認します。
テキスト・ファイルにリストされた最初のアプリケーションの移行が失敗した後に移行を停止する場合は、-failFast
オプション(ojmigrate -failFast @
file
)を使用します。このコマンドを使用すると、移行の妨げとなっているエラーを分析できます。
アプリケーションに追加のデータが必要な場合は、次のように-generateDefaults
オプションを使用して、それらのデータを名前/値のペアとしてリストした出力ファイルを作成できます。
ojmigrate -generateDefaults @migrate.txt
アプリケーション・ファイルに追加のデフォルトが必要な場合、-generateDefaults
オプションを使用すると、.jws
ファイルに基づく名前のプロパティ・ファイル(workspacefilename
.migration.properties
)が作成されます。.properties
ファイルを調べて、それに応じて値を変更した後、ojmigrate
コマンドを-generateDefaults
オプションなしで使用して(例: ojmigrate
@file
)、ワークスペースを移行します。