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