VI.1. Các kết quả đạt được
a. Hiểu được mô hình xây dựng một Tool trên Sakai:
Các dependency cần thiết.
Các file config cần thiết (pom.xml, web.xml, tool.xml …)
Các Service chung có thể inject và sử dụng thông qua các file xml trong tomcat/component và Api Component Manager của Sakai.
Mô hình phát triển tool của Sakai cũng như các project hiện nay với nhiều module độc lập, quản lí bởi maven.
b. Sử dụng Maven để quản lí thư viện một cách hiệu quả:
Hiểu cách mà các project định nghĩa thông cua file pom.xml, cơ chế quản lí project với nhiều module là các project khác.
Cài đặt dependency vào repository, cách xác định dependency và sử dụng m2eclipse để đính kèm thư viện vào project, các attribute khi khai báo
Hiểu được các cơ chế transitive dependency, exclude dependency, grouping dependency…
VI.2. Một số giới hạn
a. Chức năng : Các chức năng chưa được hiện thực đầy đủ.
b. Chức năng quản lí: theo dõi tình trang lab và bài nộp của sinh viên, chỉnh sửa lab sau khi tạo, khả năng phân quyền tùy biến và định nghĩa role tùy ý như các tool khác(thông qua Realms).
c. Chức năng biên dịch và thực thi: Chưa đảm tính độc lập cao cho môi trường TestServer. Tốc độ xử lí thông qua SSH chậm( xem phần Performance Test ). Stdout và StdErr trả về khi trình lên user chưa được xử lí thỏa đáng, có thể làm cho hệ thống bị lộ thông tin
d. Việc kiểm soát dòng chảy chương trình không được xử lí thỏa đáng gây ra tình trạng dữ liệu bất hợp lí (thí dụ như đang tạo lab thì không tạo nữa mà tắt browser, dữ liệu đã tạo không bị xóa, mặc dù đặt trong folder tạm riêng nhưng có thể gây rắt rối về sau).
e. Mô hình CSLab chưa đúng với chuẩn, project gom trọn trong một module thay vì phân thành nhiều module với chức năng riêng biệt để dễ dàng cho việc kiểm tra, phát triển và nâng cấp, đảm bảo độ độc lập cao.
f. Cách đặt tên cho class, method, các file JSP và sắp xếp package chưa hợp lí và đúng chuẩn mực, đôi khi không thống nhất các phần tử trong cùng một miền chức năng. Một số tên gọi class và package làm hiểu lầm về chức năng của nó.
VI.3. Các phương hướng phát triển
Trước mắt, cần khắc phụ các giới hạn nêu ở trên.
Hiện thực cơ chế phân quyền tùy biến, sử dụng công cụ Realm của Sakai. Hiện nay tool phân quyền “cứng” gắn liền với quyền maintain và access cùa Sakai.
Plugin Jquery dùng để highlight code có thể được nâng cấp hỗ trợ cho các ngôn ngữ tùy ý bằng cách viết thêm các file parser.
Tạo ra các model cho phép đưa một số ràng buộc hoặc chỉ định các resource cho bài Lab được tạo ra.
Hiện thực chức năng chấm điểm dựa trên kết quả.