Khoa Công nghệ thông tin sử dụng ZK Framework xây dựng Website đặt cơm tại Học viện Nông nghiệp Việt Nam

  1. Giới thiệu về ZK framework

Trong 20 năm trở lại đây, ngôn ngữ lập trình Java luôn là lựa chọn hàng đầu để xây dựng các phần mềm ứng dụng, trong nhiều năm Java thường xếp thứ nhất hoặc nhì trong bảng xếp hạng các ngôn ngữ lập trình được sử dụng nhiều nhất (Bảng 1).

Bảng 1. Thứ hạng ngôn ngữ lập trình Java qua 20 năm theo Tiobe

Các framework lập trình ứng dụng Web trên nền tảng Java được chia thành 2 nhóm, nhóm client-centric phân tán nhiều công việc xử lý về phía máy khách, nhóm server-centric tập trung đa phần xử lý ở phía máy chủ. Nhóm các client-centric framework đòi hỏi lập trình viên cần am hiểu về các ngôn ngữ HTML, Javascript. Do đặc thù của những ngôn ngữ này, chương trình thường phức tạp hơn và tốn nhiều thời gian công sức để phát triển hơn. Nhóm các server-centric framework đã xây dựng sẵn nhiều thư viện để đơn giản hóa việc lập trình của người sử dụng nên thường dễ phát triển hơn, thời gian xây dựng ngắn hơn và do tập trung phần lớn công việc xử lý ở phía server nên tính bảo mật cũng cao hơn, đây là một tiêu chí quan trọng trong lựa chọn của nhiều doanh nghiệp. Tốc độ xử lý của các client-centric framework thường nhanh hơn các server-centric framework, tuy nhiên cân nhắc trên nhiều yếu tố, trong nhiều trường hợp, server-centric framework là một lựa chọn tốt.

ZK được viết bởi Potix Đài Loan năm 2005, ZK bao gồm hai phiên bản, phiên bản thương mại và phiên bản mã nguồn mở dành miễn phí cho cộng đồng. Dù ra đời sau, ZK đã nhanh chóng phát triển và chiếm được sự tin tưởng của nhiều công ty, tập đoàn lớn trên thế giới như Samsung, Sony, Toyota, HTC, Airbus, Barclays, Ebay, Bank of America, Deutsche Bank, US Department of Defense… Triết lý của ZK là “Ajax without Javascript”, nó cho phép người dùng xây dựng ứng dụng web mà không cần biết bất kỳ kiến thức nào về Ajax và Javascript. ZK hỗ trợ số lượng lớn các thành phần giao diện đã được xây dựng sẵn với trên 200 thành phần, là framework đầu tiên hỗ trợ bảng tính (spreadsheet), mô hình MVVM trên nền web. Theo phản hồi từ phía người sử dụng, thời gian xây dựng ứng dụng với ZK giảm từ 4 đến 16 lần. Ngoài ra, ZK cho phép tích hợp nhiều công nghệ khác như JSP, Struts, Spring, EJB, Hibernate, CDI, JDBC, Bootstrap… với tài liệu hướng dẫn chi tiết, đây là một yếu tố rất quan trọng khi các ứng dụng lớn cần kết hợp nhiều công nghệ khác nhau.

Bạn đọc có thể tham khảo nhanh hướng dẫn xây dựng hai ứng dụng sau đây để thấy tính đơn giản, hiệu quả và mạnh mẽ của ZK framework:

  • Ứng dụng đăng ký tài khoản:

https://www.zkoss.org/wiki/ZK_Getting_Started/Learn_ZK_in_10_Minutes

  • Ứng dụng tìm kiếm, hiển thị danh sách và thông tin chi tiết sản phẩm:

https://www.zkoss.org/wiki/ZK_Getting_Started/Get_ZK_Up_and_Running_with_MVC

  1. Ứng dụng ZK xây dựng website đặt cơm

Bộ môn Công nghệ phần mềm- Khoa Công nghệ thông tin đã sử dụng ZK framework để xây dựng website đặt cơm tại nhà hàng H+ Green Vnua. Website nằm trong chương trình của Học viện Nông nghiệp Việt Nam hỗ trợ một phần tiền ăn trưa cho cán bộ Học viện, phối hợp với nhà hàng H+ Green Vnua cho phép các cán bộ học viện có thể đăng ký suất ăn trưa trực tuyến, quét thẻ xác nhận dùng cơm và thống kê, xuất báo cáo danh sách các cán bộ đã dùng cơm theo một khoảng thời gian nhất định.

Hình 1: Giao diện đăng nhập website đặt cơm

Nhờ có những ưu điểm của ZK framework mà chúng tôi có thể triển khai xây dựng website trong thời gian ngắn, website có giao diện đẹp, tối ưu hóa trải nghiệm người dùng nhờ các thành phần giao diện hỗ trợ mạnh bởi ZK framework.

Hình 2. Giao diện website đặt cơm

Website phục vụ cho hơn 1000 cán bộ của Học viện đăng ký ăn trưa và quét thẻ xác nhận hàng ngày, việc xuất báo cáo theo tháng với file excel cỡ lớn chứa từ 3000 đến 4500 bản ghi dữ liệu. Website vẫn hoạt động tốt kể từ khi triển khai tháng 9/2019 đến nay (tháng 6/2020). Trong thời gian xây dựng website, chúng tôi gặp ít lỗi phải sửa và trong thời gian từ khi triển khai, cũng có ít lỗi phải bảo trì, điều này có được cũng nhờ một phần ở tính ưu việt của công nghệ ZK framework. Website có thể truy cập vào từ địa chỉ: http://datcom.vnua.edu.vn/.