Oracle® Fusion Middleware Oracle Application Development Frameworkモバイル開発者ガイド 11g リリース2 (11.1.2.3.0) B70750-01 |
|
![]() 前 |
![]() 次 |
この章ではADFモバイルの概要を説明します。ADFモバイルはOracle JDeveloper内のアプリケーション開発フレームワークで、これにより、iOSデバイスおよびAndroidデバイス用に複数機能のアプリケーションを作成できるようになります。これらのアプリケーションは、モバイル・デバイス上でネイティブに実行されます。
この章の内容は次のとおりです。
ADFモバイルでは、iOSおよびAndroidプラットフォームで機能するモバイル・デバイス上で実行される様々なタイプのコンテンツを保持できるアプリケーションを作成できます。このアプリケーションのフレームワーク内では、格納されている機能領域はアプリケーション機能と呼ばれ、アプリケーションの機能の1つ以上の特定部分を表しています。
ADFモバイルのアプリケーション機能はそれぞれ独自のユーザー定義のプリファレンス・セットを持つ場合もありますが、ADFモバイルでは、ADFモバイル・アプリケーションに埋め込まれたそれぞれのアプリケーション機能に、ユーザー・プリファレンスの統一スタイルを適用できます。さらに、これらのモバイル・アプリケーション機能を機能別にグループ化することで、エンドユーザーの操作性を向上させることができます。たとえば、顧客のコンタクト先を提供するモバイル・アプリケーション機能を製品在庫のモバイル・アプリケーション機能と合わせてグループ化し、1つのADFモバイル・アプリケーションにすることができます。また、ユーザー・ロールやデバイス・バージョンなどの基準によって、アプリケーション機能の表示を制御することもできます。
エンドユーザーの視点から見た場合、ADFモバイルを使用して作成したアプリケーションを起動するには、モバイル・デバイス上のそのアプリケーションのアイコンをクリックします(図1-1を参照)。
ADFモバイル・アプリケーションが開いたら、エンドユーザーはアプリケーション機能のアイコンをクリックします。アプリケーション機能は、ナビゲーション・バーにアイコンとして表示するか(図1-2の下部を参照)、通常Springboardと呼ばれる(図1-3を参照)ホームスクリーン・ページに大きなアイコンを含むページ形式で表示できます。
ADFモバイルではこれらのアプリケーション機能とモバイル・デバイス・サービスの統合をサポートしているので、エンドユーザーは、モバイル・フィールド・サービス・レポート・フォームのアプリケーション機能のコンタクト先にリストされた名前をクリックすることでモバイル・デバイスから電話をかけたり、領収書をスキャンしてモバイル経費レポートを更新できます。ADFモバイルのユーザーの操作性の詳細は、付録C「ADFモバイル・アプリケーションの使用方法」を参照してください。
次に示すタイプのアプリケーション機能は、同じADFモバイル・アプリケーション内に共存させることができます。
ADFモバイルAMX: ADFモバイル・アプリケーション内に存在するアプリケーション機能を開発する必要は必ずしもありませんが、この実装方法では、XMLファイルで表されたメタデータを使用して、埋込みコンポーネントによってデバイスの機能の多くを使用するアプリケーション機能を定義できます。このアプリケーション機能の実装は、モバイル・デバイス上のHTMLまたはJavaScriptに生成され、ADFデータ・バインディングを使用するものですが、一連のADFモバイル固有のコンポーネントを使用してJDeveloperで宣言的に開発されます。
ADFモバイルAMXページのワークフローは、プラットフォーム間で移植可能です。
詳細は、次の項を参照してください。
ローカルHTML: この実装方法では、JavaScriptやJavaなどの既存のテクノロジが埋め込まれているHTMLファイルを使用できます。JDeveloperを使用して、ADFモバイル・アプリケーション機能をローカルHTMLとして実装できます。詳細は、第5.9.1項「アプリケーション・コンテンツの定義方法」を参照してください。
リモートURL(サーバーHTMLとも呼ばれる): この実装方法では、URLエンドポイントを指定することでWeb上のリソースを指すことができます。JDeveloperを使用して、ADFモバイル・アプリケーション機能をリモートURLとして実装できます。
URLエンドポイントは、プラットフォーム間で移植可能です。
詳細は、次の項を参照してください。
ADFモバイル・アプリケーションでは、埋込みアプリケーション機能を電話、カメラ、GPSなどのネイティブ・デバイス・サービスと統合できます。これらのサービスには、ローカルHTML、ADFモバイルAMX、JavaおよびリモートWebアプリケーションからアクセスできます。
PhoneGapフレームワーク(http://www.phonegap.com/home
を参照)の拡張機能であるADFモバイル・アーキテクチャでは、HTML5の他、ADF定義ページとタスク・フローを同一のダウンロード可能なアプリケーション内でレンダリングできます。
ADFモバイルは、次の部分で構成されます。
Oracle ADFによって提供されるモデル。
注意: モデル・レイヤーは、ローカル・データベースに接続するためのファシリティを提供します。 |
HTMLまたはXMLで表されたビュー。
XMLで定義されたコントローラ。
各アプリケーションとバンドルされた埋込みのJava VMによって機能するJavaランタイム。
注意: ADFモバイルのModel-View-Controllerスタックはモバイル・デバイス上に存在し、ADFのModel-View-Controllerレイヤーの再実装を表しています。UIメタデータはデバイス上のネイティブ・コンポーネントにレンダリングされ、ADFモデルによってモデルにバインドされます。 |
図1-4は、ADFモバイルのランタイム・アーキテクチャの全体像を示しています。
図1-4に示すように、ADFモバイルのランタイム・アーキテクチャは次の要素によって構成されています。
デバイス・ネイティブ・コンテナは、デバイス・ネイティブのアプリケーション・バイナリとしてコンパイルされるアプリケーション・コンテナ(テンプレート)を表します。このコンテナは、ADFモバイル・アプリケーションがモバイル・デバイスのオペレーティング・システム(iOSなど)内で、デバイス上のネイティブ・アプリケーションとして実行されるようにするためのランタイム環境を提供します。また、ADFモバイル・アプリケーションのクライアント側コンポーネントのホスティングに加え、Springboardやナビゲーション・バーなど、特定のアプリケーション機能にアクセスできるようにするナビゲーション・ユーティリティも提供します。
Webビューは、デバイス・ネイティブ・コンテナの一部で、モバイル・デバイスのWebエンジンを使用してWebベースのコンテンツを表示して処理します。ADFモバイル・アプリケーションにおいて、Webビューは、アプリケーション・ユーザー・インタフェースをレンダリングおよび配信するためのプライマリ・メカニズムです。
サーバーHTMLは、サーバー上で生成されるWebベースのユーザー・インタフェースのことで、ADFモバイル・アプリケーションにWebページとして配信されます。アプリケーションのHTMLコード、ビジネス・ロジックおよびページ・フロー・ロジックはリモート・サーバー上で生成されます。サーバーHTMLは、ADFモバイル・アプリケーション内で実行されているかぎり、PhoneGapによってサポートされているJavaScript APIを介して、デバイス・ネイティブのサービス(カメラなど)にアクセスできます。サーバーHTMLベースのページの共通オプションは、ADFモバイル・ブラウザとOracle ADF Facesリッチ・クライアント・ベースのページです。詳細は、第12章「リモートURLとしてのアプリケーション機能の実装」を参照してください。
ローカルHTMLは、ADFモバイル・アプリケーション内に直接埋め込まれているJDeveloperまたはサード・パーティ・ツールを使用して開発されたWebページを表します。これらのページは、ADFモバイル・アプリケーションの一部として配信されます。ローカルHTMLファイルは、PhoneGapによってサポートされているJavaScript APIを介して、デバイス・ネイティブ機能にアクセスできます。
ADFモバイルAMXビューは、ADFモバイルAMXテクノロジに基づいており、HTML5ベースのユーザー・インタフェースを使用できるJSFのような開発操作性が提供されています。ADFモバイルAMXビューは、JDeveloperの提供するUIとコード・エディタを使用して定義します。これらのビューは、ADFモバイル・アプリケーションに埋め込まれ、モバイル・デバイスにデプロイされます。実行時に、WebビューのJavaScriptエンジンが、ADFモバイルAMXビュー定義をHTML5コンポーネント内にレンダリングします。ADFモバイルの提供する実装方法の中でも、ADFモバイルAMXコンポーネントを使用して開発したアプリケーション機能は、アニメーションやジェスチャーの拡張サポートにより、最も信頼できるデバイス・ネイティブのユーザーの操作性を提供します。詳細は、第IV部「ADFモバイルAMXアプリケーション機能の作成」を参照してください。
ADFコントローラは、Oracle ADFコントローラのモバイル・バージョンで、サーバー・ベースのOracle ADFアプリケーション向けに使用できるOracle ADFタスク・フロー・コンポーネントのサブセットをサポートしています。Oracle ADFバインド・タスク・フローとバインドなしタスク・フローの両方がサポートされ、サーバー・ベースのADFによってサポートされるイベントおよびスコープのサブセットもサポートされます。詳細は、第7.2項「タスク・フローの作成」を参照してください。
Javaは、ADFモバイル・アプリケーションのJavaランタイム環境を提供します。このJava仮想マシン(JVM)は、デバイス・ネイティブなコードで実装され、ADFモバイル・アプリケーションの各インスタンスに、ネイティブ・アプリケーション・バイナリとして埋め込まれます(コンパイルされます)。JVMは、JavaME Connected Device Configuration (CDC)仕様に基づいています。
マネージドBeanは、サーバーから戻されたデータを処理するための追加のビジネス・ロジックを提供するなど、ADFモバイルの機能拡張のために作成できるJavaクラスです。マネージドBeanは、埋込みのJavaサポートによって実行されるので、JavaME CDC仕様に準拠する必要があります。詳細は、第9章「バインディングの使用とデータ・コントロールの作成」を参照してください。
ADFモバイル・アプリケーションのADFモデルは、サーバー・ベースのOracle ADFアプリケーションで使用できるビジネス・ロジック・コンポーネントのサブセットをサポートしています。ADFモデルには、ビジネス・ロジック・コンポーネントとユーザー・インタフェース間のインタフェースを提供するバインディング・レイヤーと、RESTまたはSOAPベースのWebサービスを起動する実行ロジックが格納されています。詳細は、第9章「バインディングの使用とデータ・コントロールの作成」を参照してください。
アプリケーション構成とは、主要なアプリケーション構成をダウンロードおよびリフレッシュできるサービスのことです。たとえば、WebサービスのURLエンドポイントや、リモートURL接続などです。アプリケーション構成サービスは、WebDavベースのサーバー側サービスから構成情報をダウンロードします。詳細は、第10.7項「Webサービスの管理」を参照してください。
資格証明管理とアクセス制御は、ADFモバイル・アプリケーションにセキュリティ関連のサービスを提供するクライアント側サービスのことです。たとえば、オフライン認証をサポートするためにユーザーの資格証明をセキュアにキャッシュするローカルの資格証明ストアや、ユーザーのアクセス権限に基づいてアプリケーション機能を表示または非表示にするアクセス制御サービスがあります。詳細は、第17章「ADFモバイル・アプリケーションのセキュリティ」を参照してください。
PhoneGapは、オープン・ソース・コード・ライブラリで、カメラなどの様々なモバイル・デバイス・サービスにアクセスするための共通のJavaScript APIを提供します。PhoneGapは、ADFモバイル・アプリケーション用のデバイス・サービス統合の大部分を提供しています。PhoneGap JavaScript APIは、ADFモバイルAMXベースのビューのJDeveloper設計時には、デバイス・データ・コントロールとしてさらに抽象化されるので、データ・コントロールをADFモバイルAMXビューに単純にドラッグ・アンド・ドロップするだけで、デバイス・サービスの統合が可能になります。
ローカル・データとは、デバイス上に存在するデータ・ストアのことです。ADFモバイルでは、これらは暗号化されたSQLiteデータベースとして実装されています。このローカル・データ・ストアには、JDBCベースのAPIを使用し、Javaレイヤーを介してCRUD(作成、取得、更新、削除)操作がサポートされています。詳細は、第11章「ローカル・データベースの使用方法」を参照してください。
サーバー側で、構成サーバーとは、アプリケーション構成サービスによって使用される構成ファイルをホストするWebDavベースのサーバーを指しています。構成サーバーは、リファレンス実装として提供されます。共通のJ2EEサーバー上でホストされている共通のWebDavサービスはどれでも、この目的で使用できます。詳細は、第10.7項「Webサービスの管理」を参照してください。
サーバー側で、ADFモバイル・ブラウザとは、リモートURLのADFモバイル・アプリケーション機能の実装に使用できるサーバー側アプリケーションの開発のためのフレームワークを指しています。詳細は、第12章「リモートURLとしてのアプリケーション機能の実装」を参照してください。