JSFコンポーネントおよびADF Facesコンポーネントの概要

オラクル Peter Zadrozny
2005年4月

JSF - Oracle ADFの新しい見解

J2EEを簡素化するため、オラクルは、ADF(Application Development Framework)と呼ばれるフレームワークの設計パターンやアプリケーション・インフラストラクチャなどのJ2EEベスト・プラクティスを提供しています。 ADFについて興味深い点は、J2EEに準拠したアプリケーション・サーバーで実行するので、プラットフォームに依存しないことです。 さらに、各J2EEレイヤーおよび開発ライフ・サイクルのフェーズごとにオプションが提供されるので、任意のオプションを使用できます。 使用の有無は強制されません。

Oracle ADFは、Model-View-Controller(MVC)設計パターンに基づいています。 この記事では、アプリケーションのユーザー・インタフェースを提供するビュー・レイヤーにのみ注目します。 ビュー・レイヤーは、さまざまなマークアップ言語を使用して、ユーザー・インタフェースをレンダリングします。Webベース、クライアント/サーバー・ベース、ワイヤレス実装、またはtelnetベースで使用できます。 特に、JavaServer Faces(JSF)に注目します。 別名Facesは、ビュー・レイヤーだけではなく、Strutsの機能と似ていてビジネス・ロジックとデータソース・インタラクションを実装できるバックエンドBeanまたはマネージドBeanと呼ばれるナビゲーション機能も提供します。 Faces自体がMVCフレームワークなので、この機能だけでアプリケーションの構築を開始できます。

コンポーネント - JSFの強力な機能

Facesの強力な機能はコンポーネントです。 使用するたびにユーザー・インタフェース機能を最初から書き込む必要がないという発想に基づいています。 代わりに、適切なコンポーネントを使用して、マークアップ言語を操作することなくHTTPから抽出します。 JSFコンポーネントの書込みが大変な作業になる場合がありますが、使用すればタグの呼出しと同じように便利です。 これがFacesの長所と短所になります。 使用される非常に多くの機能を表すFacesコンポーネントを提供するコミュニティのユーザーを想像してください。 ユーザーは、ユーザー・インタフェース・コードを書き込む必要がなくなり、Facesコンポーネントを使用するだけで済みます。

Facesコンポーネントには、権限の明確な区別に基づいた興味深いアーキテクチャがあります。 それは、コンポーネントの動作または機能を定義するコンポーネント自体と表示を制御するレンダラです。 たとえば、ユーザーが1つだけを選択するコンポーネントを定義できます。レンダラでこの実行方法を定義します(ラジオ・ボタンやプルダウン・メニューなど)。 レンダラ・キットでレンダラをグループ化できるので、HTMLやWML(携帯電話)のレンダラ・キットを使用できます。 コンポーネントのロジックは、表示されるデバイスとは切り離されています。

ADF Facesコンポーネントについて

コミュニティの理念に従っているOracle ADFには、エンド・ユーザーに非常に豊富で強力なエクスペリエンスを提供する100以上のJSFコンポーネント( ADF Faces)が含まれます。 さまざまな方法で移動できるカラー・ピッカー、値リスト、カレンダなどのコンポーネントがあります。 列のソートを含む表などの複雑なコンポーネント、表示/非表示機能、階層形式でデータを表示できるツリー・コンポーネントもあります。

すべてのADF Facesコンポーネントがグラフ形式ではありません。 ファイル・アップロード・コンポーネントなどのユーザー・インタラクションを容易にするコンポーネントがあります。 また、ユーザーのダイアログを確立するために設計されたADF Faces機能やダイアログを起動した場所に戻る機能(常に簡単に実行できるとは限らない)もあります。

図1:実行中のADF Facesダイアログ・フレームワーク

現在、これらのすべてのコンポーネントは、マークアップ言語としてHTMLおよびWMLを使用します。このため、通常のブラウザ、携帯電話、またはPDAを区別しないで使用できます。 ただし、オラクルは、部分的なページのレンダリングを含む豊富なユーザー・エクスペリエンスを提供するDHTMLおよびJavaScriptサポートの組合せを追加して、これらのコンポーネントのレンダラの改良に取り組んでいます。 リッチ・クライアントと呼ばれるこの新しいレンダラ・キットは非常に強力なので、Swingをほとんど使用しなくて済みます。

図2:豊富なコンポーネント・セットのADF Faces.NEXT

また、ADF Facesには、telnetデバイス用のレンダラ・キットがあります。 現在のtelnetデバイスを使用すると、ビジネス・ケースが自己完結型になります。 ほとんどの工場および倉庫で、このようなデバイスを日常的に使用しています。

図3:実行中のADF Faces Telnetレンダラ・キット

Java/J2EE分野において、豊富で強力なユーザー・インタフェースを簡単に作成できます。 サーブレットおよびJSPは、実際に多くの作業を必要としません。Swingには多くの作業があります。 上述のように、Facesコンポーネントは有益で、Oracle ADF Facesによって提供されるコンポーネントは最適な出発点となります。

追加情報

JSFおよびOracle JDeveloper 10g(10.1.3) Developer Previewに関するより詳しい情報は、 Oracle Technology NetworkOracle JDeveloper home pageを参照してください。