RichFaces - Kiến trúc
Theo tài liệu chính thức của Red Hat, có tổng cộng năm thành phần hoạt động nội bộ để cung cấp trải nghiệm người dùng phong phú. Sau đây là năm thành phần.
AJAX Filter- Bộ lọc AJAX được sử dụng để phân biệt giữa các loại yêu cầu khác nhau đến từ trình duyệt máy khách. Để đưa thành phần này vào ứng dụng, bạn cần đăng ký Bộ lọc RichFaces trong tệp web.xml của ứng dụng. Bộ lọc AJAX hoạt động khác nhau trong các giai đoạn khác nhau của các ứng dụng JSF.
AJAX Action Components - Các thành phần hành động có trách nhiệm gửi các yêu cầu của khách hàng từ trình duyệt tới AJAX Engine, từ đó nó sẽ xử lý yêu cầu và hiển thị dạng xem được yêu cầu dưới dạng phản hồi.
AJAX Containers- Bình chứa AJAX về mặt khái niệm tương tự như bình chứa lò xo. Về cơ bản, nó nhận ra một khu vực cụ thể của trình duyệt máy khách để xử lý yêu cầu AJAX.
Skinnability- Skin và theme kết hợp với nhau được gọi là Skinnability. Mô-đun này hoạt động độc lập để cung cấp hỗ trợ rộng rãi cho giao diện của toàn bộ.
RichFaces JavaScript Engine- JavaScript Engine chạy ở phía máy khách sẽ gửi các bản cập nhật đến AJAX engine để chuẩn bị phản hồi. Công cụ này hoạt động tự động, do đó chúng tôi không cần viết thêm bất kỳ dòng mã nào để điều khiển nó.
Sau đây là sơ đồ kiến trúc của ứng dụng RichFaces trong mô hình MVC.
Trong hình ảnh trên, hoạt động của người dùng sẽ được xử lý dưới dạng “Sự kiện JS”. Sau đó, “Sự kiện JS” sẽ được truyền tới “Bộ lọc XML”, không là gì ngoài một thành phần của Bộ lọc AJAX. “Bộ lọc XML” chịu trách nhiệm tạo và xử lý các yêu cầu của người dùng. Tất cả các thành phần khác nằm trong các tệp jar khác nhau. Chúng ta cần sử dụng thư viện thẻ thích hợp để sử dụng các chức năng đó.