JDeveloper 11g によるリッチクライアント開発第1章 ADF Faces Rich Clientとは日本オラクル株式会社 セールスコンサルティング統括本部
Fusion Middleware SC本部 Fusion Middleware レディネス部 智野 潤子 (ちの じゅんこ) ADF Faces Rich Clientは、JavaServer Faces(JSF)に準拠し、Ajaxの技術を活用したユーザー・インタフェースのコンポーネントとライブラリを提供する、オラクルのリッチクライアント・ソリューションです。今回はまず、JSFについて簡単に説明した後、ADF Faces Rich Clientの概要を紹介しています。すでにJSFに関する知識がある方は、「ADF Faces Rich Clientとは」以降をお読みください。 目次
JavaServer Faces(JSF)とは近年はWebベースの企業システムが広く普及していますが、それ以前の企業システムはクライアント/サーバー型に基づくGUIアプリケーションが主流でした。GUIアプリケーションと従来のWebアプリケーションでは、その開発手法に大きな違いがあります。
従来のWebアプリケーション開発において、開発者はHTTPやHTMLを強く意識する必要がありました。これは、Webアプリケーション・フレームワークの中でも特に広く普及しているApache Strutsも例外ではありません。GUIアプリケーションでは比較的簡単に実装できたイベント・ドリブンな処理(ボタンのクリックやテキストの編集などユーザーの操作をトリガーとした処理)をWebアプリケーションで同等の機能を提供するためには、JavaScriptなどJava以外のテクノロジを習得する必要があるなど、Webアプリケーションの開発者に大きな負担がかかります。 JSFのアーキテクチャJSFは、MVCモデルのビューおよびコントローラ層の機能を提供するフレームワークで、次のような機能を実現するための仕組みとAPIを標準で提供しています。
JSFアプリケーションは、表2の要素により構成されます。
ADF Face Rich ClientとはADF Facesは、JSFに準拠したコンポーネント・ライブラリであり、JSFアプリケーション開発において一連の広範な拡張UIコンポーネントを提供します。これらのコンポーネントを利用することで、HTMLはもちろんJavaScriptを記述することなく高機能なWebページのユーザー・インタフェースを簡単に構築できます。
2005年12月にADF Facesのソースは、Apache Foundationによって提供されているJSF実装であるApache MyFacesに提供されました。現在は、Apache MyFacesのサブ・プロジェクトProject Trinidadとして開発が進められています。オラクルは、今後もADF Facesの機能強化を進めると同時に、Project Trinidadへのフィードバックも継続していく予定です。ADF Faces Rich Clientで新たに追加された機能の一部は、すでにTrinidadでも使用可能です。
ADF Faces Rich Clientの主な機能この項では、ADF Faces Rich Clientの特徴的な機能の中から次の4つをピックアップして説明します。
部分ページ・レンダリング部分ページ・レンダリング(Partial Page Rendering: PPR)は、任意の領域だけをリフレッシュする機能を提供します。PPRを使用すると、ドロップ・ダウン・リストなどで選択された値に応じて、他のコンポーネントの表示を変更するようなWebページを、JavaScriptを記述せずに作成できます。
ドラッグ&ドロップ・フレームワークGUIアプリケーションでは、データのコピーや移動などの処理をドラッグ&ドロップによる直感的な操作で実現することができます。しかし、Webアプリケーションでドラッグ&ドロップを実現するには、JavaScriptの複雑なプログラミングが必要です。ADF Faces Rich Clientは、ドラッグするデータと、ドロップする先をそれぞれタグで記述するだけでドラッグ&ドロップを実現できるフレームワークを提供しています。
ポップアップ・フレームワークOracle ADF 10g(10.1.3)で提供されていたADF Facesは、ポップアップ・ダイアログを表示するためのダイアログ・フレームワークを提供していました。このダイアログ・フレームワークを使用すると、JavaScriptのプログラミングなしにダイアログによる処理を実現できますが、Webブラウザの新規ウィンドウが生成されるため、ポップアップ・ブロックが設定されている場合に処理を継続できないなどの問題もありました。
スキンによるアプリケーションの外観のカスタマイズADF Faces Rich Clientでは、個々のコンポーネントに対してカスケーディング・スタイルシート(Cascading Style Sheet: CSS)のスタイルを定義することができるのはもちろん、スキンによってWebアプリケーション全体の外観を変更することができます。スキンとは、ADF Faces Rich Clientを使用したWebアプリケーションに適用されるスタイル・シートです。スキンを用いると、Webブラウザの種類に応じて最適化されたCSSが生成されるため、ブラウザ間におけるCSSの解釈の違いが吸収されます。また、開発者が独自のスキンを定義することも可能です。
ADF Data Visualization ComponentsADF Data Visualization Componentsは、データの可視化や分析などの機能を実現するためのコンポーネントを提供しています。
まとめ今回は、JSFのアーキテクチャとADF Faces Rich Clientが提供する主な機能について説明しました。ADF Faces Rich Clientのその他の機能やデモは 製品情報ページを参照してください。 次回は、ADF Faces Rich Clientを使用して作成されたアプリケーションの実行をとおして、ADF Faces Rich Clientが提供するコンポーネントを体感していただく予定です。
|