I. NỘI DUNG
2. JavaServer Faces:
2.2. Sự vận dụng các nguyên tắc sáng tạo trong JavaServer Faces (JSF)
2.2.1. Nguyên tắc phân n hỏ
JSF hỗ trợ một tập các thẻ chuẩn với nhiều chứ c năng khác nhau. Bao gồm các t hẻ core và html. Phần lớn các thẻ core đại diện cho những đối tượng và ngư ời lập tr ình thêm vào một component, cụ thể:
o Attributes o Listeners o Convert ers o Validators o Facets o Param eters o Select items Có nhóm các thẻ JSF H TM L: o Inputs (input...)
o Outputs (outp ut...)
o Comm ands (commandButton and comm andLink)
o Selections (checkbox, listbox,menu,radio)
o Layouts (panelGrid)
o Data table (dataTable)
o Errors and m ess ages (mess age, m ess ages)
2.2.2. Nguyên tắc tách kh ỏi:
JSF hỗ tr ợ kiến trúc M VC giúp cho việc quản lý giữa các tầng trở nên linh hoạt hơn. Tất cả các ứng dụng đều cho phép ngư ời sử
Phân tích sự vận dụng các nguyên tắc sáng t ạo trong J avaServer Faces
dụng t ạo ra nhữ ng dữ liệu cụ thể, ví dụ như giỏ hàng (shopping carts), đăng ký vé máy bay... Những dữ liệu như thế đư ợc gọi là model. Và nhà lập trình phải tạo ra v iew cho dữ liệu mod el đó. Trong lập trình web, H TML (hay những kỹ thuật tương tự) được dùng để tạo ra view. JSF kết nối view và model với nhau, Faces Servlet đóng vai trò như m ột controller, để cập nhật view cũng như model.
2.2.3. Nguyên tắc kết hợp:
Tuy JSF chia thành các tầng khác nhau trong mô hình M VC, Tuy nhiên controller s ẽ giúp cho view và model giao tiếp với nhau.
JSF có khả năng kết hợp với những công nghệ khác như Hibernate hoặc EJB.
JSF cung cấp nhưng dịch vụ kết hợp như
o Chuyển đổi dữ liệu - người dùng nhập dữ liệu vào web form dưới dạng text. Nhưng đối tượng xử lý muốn dữ liệu ở dạng số, ngày thán g hay một k iểu dữ liệu nào đó. Với J SF thì sự chuyển đổi dữ liệu rất đơn giản.
o Xử lý lỗi và kiểm tra tính hợp lệ - với J SF, ta có thể dễ dàng để thêm nhữn g luật kiểm tra tính hợp lệ cho các field ví dụ như “field này không đư ợc để trống”, “field này phải là số”… Và tất nhiên, khi người dùng nhập s ai, J SF cung cấp
Phân tích sự vận dụng các nguyên tắc sáng t ạo trong J avaServer Faces
o Quốc tế hóa – J SF hỗ trợ chúng ta phát triển ứng dụng đa ngôn ngữ với resource bundles (tuỳ thuộc vào ngư ời dùng ở quốc gia nào thì ứng dụng web của ta s ẽ hiện thị đúng ngôn ngữ của vùng đó).
o Custom components – nhà phát triển thứ 3 có thể phát triển nhữn g component riêng cho ứn g dụng J SF. Ví dụ như Calendar component, s au đó muốn sử dụng ta chỉ việc khai báo m ột lệnh đơn giản:
2.2.4. Nguyên tắc vạn năng:
Java vừ a hỗ trợ t ầng view , vừa hỗ trợ tầng controller.
Ngoài các bộ thẻ chuẩn về core và htm l như được giới thiệu ở phần 2.2.1. JSF còn đư ợc hỗ trợ từ J Boss (third party v endor) bộ thẻ dành cho ajax.
2.2.5. Nguyên tắc s ử dụng trung gian:
Để view và model đư ợc giao tiếp với nhau, J SF đóng vai trò trung gian là controller.
JSF thư ờng được sử dụng như 1 framework trung gian cùng với các framew ork khác hibernate hoặc JPA để hỗ trợ cho t ầng model (đối tượng hóa databas e).
2.2.6. Nguyên tắc phẩm chất cụ c bộ:
JSF có các thành phần chính như M anaged Bean, bộ Điều Hướng, bộ chuyển kiểu và kiểm tra tính hợp lệ, bộ xử lý sự kiện. M ỗi thành phần có một chức năng riêng.
o Managed Beans: Đ ặc điểm của JSF là sự t ách biệt giữa presentat ion và business logic. J SF sử dụng bean cho mục đích này. Các trang J SF s ẽ tham chiếu đến các thuộc tính của bean, và xử lý logic cũng đư ợc chứ a trong các đo ạn mã của bean.
Phân tích sự vận dụng các nguyên tắc sáng t ạo trong J avaServer Faces
o Bộ điều hướng: Sau khi người dùng điền đầy đủ thông tin vào text field, s elect list, radio button… và bấm vào nút button, gử i các thông tin trong form về cho server. Vào lúc này, ứng dụng của t a cần phải phân tích và quyết định trang JSF nào sẽ đư ợc trả về cho người dùng. Bộ điều hư ớng navigation handler sẽ chịu trách nhiệm cho việc lựa chọn trang JSF kế tiếp.
o Chuyển kiểu và kiểm tra tính hợp lệ: J SF s ẽ chịu trách nhiệm về việc chuyển đổi và kiểm tra t ính hợp lệ trư ớc khi cập nhật dữ liệu, do đó người lập trình không cần quan tâm đến việc kiểu dữ liệu input sai làm ảnh hư ởng đến logic bài toán.
o Xử Lý Sự K iện: Ứn g dụng web thường phải đáp ứng các sự kiện từ phía ngư ời dùng, như khi người dùng bấm v ào một nút b utton hay lựa một tuỳ chọn từ menu. Lấy một v í dụ, ta muốn phản ứ ng lại khi người dùng lựa chọn m ột thành phố trong form địa chỉ bằng cách thay đổi quận/huyện và h iển thị lại trang hiện tại sao cho phù hợp với ngư ời dùng đó.
2.2.7. Nguyên tắc chứa tron g:
JSF đư ợc hỗ trợ bởi các Third Party Vendor như JBoss, Oracle…
Có khả năng tích hợp với H ibernate, EJB, Spring Framework…
2.2.8. Nguyên tắc linh động
JSF được xem như là “thư viện t hành phần” nên việc thêm bớt 1 thành phần nào đó rất đơn giản.
JSF đư ợc xây dự ng trên nền tảng lập trình hướng đối tượng nên có thể thừ a kế, nâng cấp các ứn g dụng dễ dàng, linh động.
Phân tích sự vận dụng các nguyên tắc sáng t ạo trong J avaServer Faces
2.2.9. Nguyên tắc sao ché p:
Khi phát triển nhữn g phiên bản m ới J SF giữ lại một vài tính năng của phiên bản cũ như bộ điều hướng, managed bean, bộ kiểm tra lỗi và chuy ển kiểu…
2.2.10. N guyên tắc “rẻ ” thay cho “đắt”
JSF la m ột fram ework open source, vì vậy nó sẽ tiết kiệm hơn so với việc sử dụng .Net
3. KẾT LUẬN
Qua các nội dung đã trình bày, người viết bài – với vốn kiến thứ c hạn hẹp của m ình – đã cố gắng tìm tòi, p hân tích và chỉ ra đư ợc một số trong số nhữ ng nguyên tắc s áng tạo có thể thấy đư ợc trong J SF framework
Có thể những phân tích, nhận định của ngư ời viết còn m ang tính chủ quan, chưa chính xác hoặc còn thiếu sót, n hưng qua đó chúng ta có thể phần nào sức m ạnh mà Framework này đem lại. N ó là một công nghệ khá m ạnh hiện nay, có thể thay th ế và vư ợt trội hơn Struts Fram ework về mặt giao diện với những hỗ trợ từ nhà phát triển thế ba như JBoss, O racle…
Trong tương lai nó hứa hẹn sẽ thay thế cho Struts và hỗ trợ phát triển nhữn g ứng dụng trực quan, thân thiện, đẹp không kém so với các công nghệ của .N et như Sliverlight…
Phân tích sự vận dụng các nguyên tắc sáng t ạo trong J avaServer Faces
TÀI LIỆU TH AM KH ẢO
[1] Slides bài giản g m ôn PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC T RONG TIN HỌC ,Tác giả : GS.T SKH. Hoàn g Kiếm .
[2] Sổ tay sán g tạo : Các thủ thuật (nguy ên tắc) cơ bản, Ủy ban khoa học v à kỹ thuật TpHCM 1992, tác giả : Phan Dũn g.