この章では、Oracle Application Development Frameworkモバイル(ADFモバイル)・ブラウザの概要について説明します。
この章の内容は次のとおりです。
Oracle Application Development Frameworkモバイル(ADFモバイル)ブラウザでは、様々なタイプのスマートフォンやフィーチャー・フォンで使用されるモバイル・ブラウザの要件に合う、ブラウザ・ベースのエンタープライズ・モバイル・アプリケーションを作成できます。ADFモバイルの標準ベースのフレームワークを使用して、たとえば、スマートフォンでユーザーが経費レポートを承認したり、企業の連絡先情報を検索したりすることが可能なWebアプリケーションを作成できます。ADFモバイル・ブラウザでは、モバイル・フォン自体のフォーム・ファクタとそのモバイル・ブラウザの機能の両方に基づいてコンテンツの自動検出および配信を行えるため、アプリケーションをデプロイする前に1回だけビルドすれば済みます。つまり、ADFモバイル・ブラウザ・アプリケーションは、多くのモバイル・ブラウザと互換性があるため、特定のモバイル・ブラウザの制限にとらわれる必要はないということです。
注意: ADFモバイル・ブラウザおよびOracleのモバイル戦略の詳細は、Oracle Technology Network ( |
ADFモバイル・ブラウザのレンダラにより、確実にターゲット・ブラウザがコンテンツを正しく使用できるようになります。HTML、JavaScript、CSS (Cascading Style Sheets)、DOM (Document Object Model)、XMLHttpRequest
(XHR) APIに関するブラウザ固有の実装の差異だけではなく、システム・パフォーマンスの違いも処理されます。たとえば、ブラウザでXMLHttpRequest
インタフェースがサポートされておらず、サーバーに部分的なページ・リクエストを送信できない場合、ADFモバイル・ブラウザにより、アプリケーションで自動的にページ全体の送信に戻してページを正常に機能させることができます。
ADFモバイル・ブラウザのレンダラは、ワイヤレス・ネットワーク上でモバイル・フォンに送信されるWebページのペイロードを最小化することによって、パフォーマンスが向上するように最適化されています。待機時間が長く帯域幅が小さいワイヤレス・ネットワークを使用するモバイル環境では、最適なエンドユーザー・エクスペリエンスを実現するうえで、部分ページ・レンダリング(PPR)が不可欠です。AJAX (Asynchronous JavaScript and XML)をサポートしているモバイル・ブラウザの場合、ADFモバイル・ブラウザは、特定のコンポーネントに対してPPRをサポートします。これにより、サーバーからのリクエスト・データ量を最小化し、アプリケーションの応答性を向上させることができます。3.1.2項「部分ページ・レンダリング」も参照してください。
注意: ADFモバイルは、スマートフォン・ブラウザのAJAX機能を活用しますが、正常に機能を低下させて、単純なHTMLブラウザもサポートします。 |
Java Server Faces (JSF)は、機能および動作を定義する事前作成コンポーネントを使用してユーザーがアプリケーションを作成できるようにするための標準であり、JSR-127によって規定されています。図1-1に示すように、JSFでは、Webアプリケーションの開発を単純化するModel-View-Controller (MVC)メカニズムが採用されています。そのレンダーキットは、コンポーネントを特定のマークアップ言語に変換したり、特定のマークアップ言語をコンポーネントに変換したりします。このキットのレンダラはコンポーネントと、それらがブラウザ要求をどのように解釈するかを表すマークアップを生成します。
JSF開発では、マークアップではなくコンポーネントに焦点を当てます。JSFを使用して、JSFコンポーネント・タグを含むJSPページを作成します。(FacesServletを介して)ユーザーがこのページにアクセスすると、JSFではユーザーのデバイスで指定したレンダーキットが使用され、出力が適切になるようにマークアップがエンコードされます。たとえば、ユーザーのデバイスでデスクトップ・ブラウザに対しHTMLを指定すると、レンダーキットのマークアップ・エンコーディングがHTMLページになります。適切なコンテンツのレンダリングに加え、JSFではユーザーによる操作がサポートされています。
Application Development Framework (ADF)は標準的なJSFテクノロジに基づいて構築されており、次のものを提供します。
大規模なコンポーネント・セット(JSFでは基本的なコンポーネントのみが提供されるため)。
これらのコンポーネントをHTMLブラウザでサポートするレンダラ(AJAXテクノロジを使用したアプリケーション用のレンダーキットを含む)。
コンバータ、バリデータおよびイベント。
ADFモバイル・ブラウザはJava Server Faces (JSF)のコンポーネント・モデルに基づいて構築されているため、モバイル・ブラウザ用のアプリケーションを迅速に開発できます。そのモバイル固有の機能がJSFに拡張されたことで、デスクトップ(またはタブレット)用JSFアプリケーションを開発するのと同じ方法を使用してモバイル・アプリケーションを開発できるようになりました(『Oracle ADF FacesによるWebユーザー・インタフェースの開発』を参照してください)。
注意: ADFモバイル・ブラウザ・アプリケーションは、スマートフォンまたはフィーチャー・フォンで使用されるモバイル・ブラウザ上で実行することを意図しています。デスクトップ・ブラウザ上での実行を意図したものではありません。 |
ADFモバイル・ブラウザ・アプリケーションの開発方法は、ADF Webアプリケーションの開発方法とほぼ同じですが、アプリケーションのJSFページをApache MyFaces Trinidadコンポーネント脚注1から構築する点が異なります。60を超えるApache MyFaces Trinidadコンポーネントをサポートすることで、ADFモバイルでは豊富なコンポーネント・セットが提供されます。
注意: ADFモバイル・ブラウザ・アプリケーションの開発に、ADF Facesリッチ・クライアント・コンポーネントを使用することはできません。Apache MyFaces Trinidadコンポーネントを使用する必要があります。 |
モバイル向けに最適化されたスタイル・シート(これは、ADFモバイル・ブラウザ・プロジェクトに自動的に含まれます)により、各コンポーネントがデバイスのブラウザに適切にレンダリングされるようになります。デスクトップ・ブラウザ・アプリケーションを拡張して、スマートフォンまたはフィーチャー・フォンで実行できるようにすることが可能です。それには、そのモデルおよびコントローラ・レイヤーを再利用し、ADF Facesコンポーネントに対応するApache MyFaces Trinidadコンポーネントを使用して新しいビュー・レイヤーをアセンブルします。詳細は、2.2項「DFモバイル・ブラウザの開発環境の構成」および4.2項「ADFモバイル・ブラウザのスキニングの実装」を参照してください。
ADFモバイルでは、AndroidスマートフォンやiOSスマートフォンで使用されるものなど、様々なタイプのタッチスクリーン・ユーザー・インタフェースがサポートされています。ADFモバイルはApple標準をサポートしているため、iOSスマートフォンでは、ネイティブのiOSユーザー・インタフェースが提供されます。表1-1に、ADFモバイルがサポートしているモバイル・ブラウザおよび機能を示します。
表1-1 サポートされているブラウザおよびサポートされているモバイル機能
ブラウザ | JavaScriptサポート | CSSサポート | PPRサポート |
---|---|---|---|
Android Webkit |
あり |
あり |
あり |
Apple iPhone Safari |
あり |
あり |
あり |
BlackBerryバージョン4.2から4.5 |
なし |
あり |
なし |
BlackBerryバージョン4.6以上 |
あり |
あり |
あり |
Microsoft Windows Mobile 5 |
あり |
あり |
あり(相違点あり) |
Microsoft Windows Mobile 6 |
あり |
あり |
あり |
Nokia s60シリーズ |
あり |
あり |
なし |
単純なHTML (Opera Mini、Opera MobileおよびSkyfireなど) |
なし |
あり |
なし |
脚注
脚注1: Apache MyFaces Trinidadコンポーネント・セットは、Apache Software Foundationに無償提供された、第1世代のADF Facesコンポーネント・セットです。