4.2. RichFaces アーキテクチャの概要
図4.2 コアの AJAX コンポーネント構造
RichFaces を最大限に利用するには、アプリケーションの web.xml に Filter を登録することをお勧めします。Filter は複数の要求タイプを認識します。図 5.3 のシーケンス図は、通常の JSF 要求と AJAX 要求の処理における違いを示しています。
図4.3 要求処理シーケンス図
ResourceBuilder クラスに登録されます。
Resource Cache をチェックします。 Resource Cache が存在する場合はリソースがクライアントへ返されますが、存在しないとフィルタは ResourceBuilder に登録されているリソースを検索します。 リソースが登録されている場合、 RichFaces フィルタは ResourceBuilder がリソースを作成 (送信) するよう要求します。
図4.4 リソース要求シーケンス図
AJAX Action コンポーネントを使用して、クライアント側から AJAX 要求を送信します。<a4j:commandButton>、<a4j:commandLink>、<a4j:poll>、<a4j:support> など多くの AJAX Action コンポーネントがあります。
AjaxContainer は、 AJAX 要求中にデコードされるべき JSF ページの領域を定義するインターフェースです。 AjaxViewRoot と AjaxRegion は共にこのインターフェースの実装です。
RichFaces JavaScript エンジンはクライアント側で実行され、 AJAX 応答からの情報を基に JSF ページの異なる領域をアップデートします。 JavaScript コードは自動的に操作するため、 直接使用する必要はありません。