Triển khai ứng dụng quản lý học tập Courses

Một phần của tài liệu Nghiên cứu mô hình quản lý người dùng và bảo mật thông tin trong cổng thông tin điện tử (Trang 63 - 71)

Mô tả: Trong khoa chúng tôi muốn lƣu trữ những thông tin về giảng viên, môn học, các phòng học đó là những dữ liệu độc lập. khi đó chúng tôi lập những khóa học những khóa học này đƣợc sinh viên lựa chọn các môn học và thầy cô nào sẽ giảng dạy và tự lựa chọn ngày nghỉ. Sinh viên sẽ có một khóa học duy nhất với lớp hoc, thầy dạy và môn học tự chọn,..

Từ mô tả bài toán thực tế em đ thiết kế thành Portlet, đây là biểu đồ lớp lĩnh vực:

Hình 17: i u đồ lớp lĩnh vự

Cơ sở dữ liệu

Từ biểu đồ lớp lĩnh vực ta dễ dàng xây dựng đƣợc cơ sở dữ liệu của hệ thống. Và trong cổng thông tin Liferay, thông tin về ngƣời dùng sẽ đƣợc quản lý riêng, nên chúng ta chỉ cần thiết kế cơ sở dữ liệu cho những bảng thông tin lƣu trữ khác:

Bảng tin tuyển dụng lƣu trữ thông tin của những đợt, vị trí tuyển dụng:

Courses

Tên trƣờng Kiểu dữ liệu Mô tả

Courseid Int(10) Id của khóa học

courseName Varchar Tên của khóa học

courseActive Boolean Khóa học có hay không

ng 2: ng tên kh họ

Students

Tên trƣờng Kiểu dữ liệu Mô tả

studentId Int(10) ID sinh viên

studentName Varchar Tên sinh viên

Classroomid Int(10) ID phòng học

studentPhoto igImagine Ảnh sinh viên

ng 3: ng lưu thông tin sinh viên

Classrooms

Tên trƣờng Kiểu dữ liệu Mô tả

Classroomid Int(10) Id của phòng học

classroomName Varchar Tên của phòng học

ng 4: ng phòng họ

CourseSubjects

Tên trƣờng Kiểu dữ liệu Mô tả

courseSubjectid Int(10) ID phân công môn học

Courseid Int(10) Id khóa học

Subjectid Int(10) Id môn học

Teacherid Int(10) Id giảng viên phụ trách môn học

ng 5: ng gi ng viên phụ tr h môn họ

Teachers

Tên trƣờng Kiểu dữ liệu Mô tả

Teacherid Int(10) Id giảng viên

teacherName Varchar Tên giảng viên

ng 6: ng gi ng viên

Subjects

Tên trƣờng Kiểu dữ liệu Mô tả

Subjectid Int(10) Id môn học

subjectName Varchar Tên môn học

Comments

Tên trƣờng Kiểu dữ liệu Mô tả

commentId Int(10) ID comment

Studentid Int(10) Id của khóa học

Commment Text Tên sinh viên

ng 8: ng lưu thông tin sinh viên viết lời b nh (Comment)

Holidays

Tên trƣờng Kiểu dữ liệu Mô tả

holidaytId Int(10) ID comment

Courseid Int(10) Id khóa học

holidayName Varchar Id của khóa học

holidayDate Date Tên sinh viên

ng 9: ng lưu thông tin những ng nghỉ trong kh họ

Phát triển portlet

Portlet là một ứng dụng web chạy trong cổng thông tin. Nó là phần quan trọng nhất của bất kì cổng thông tin nào, bởi vì nó chứa các chức năng thực tế của cổng thông tin, cụ thể hóa các chức năng đó thành giao diện tƣơng tác với ngƣời dùng. Mọi hoạt động trên cổng thông tin đƣợc thực hiện thông qua các portlet. Nói một cách khác, portlet chính là trái tim của cổng thông tin.

Tƣơng tự nhƣ servlet, portlet là một thành phần web đƣợc dùng để triển khai vào trong một Portlet Container và tạo ra nội dung động. Về mặt công nghệ, portlet là một class viết theo chuẩn giao diện của javax.portlet.Portlet interface và đƣợc đóng gói, triển khai trong một file. war và trong một Portlet Container.

Điểm giống servlet:

- Đƣợc quản lí bởi một Container chuyên dụng. - Khả năng xử lý yêu cầu và sinh ra nội dung động. - Vòng đời đƣợc quản lí bởi Container

Điểm khác:

- Portlet chỉ tạo ra những mảnh nội dung chứ không tạo ra một trang web hoàn chỉnh.

- Portlet không có URL trực tiếp.

- Portlet không bị bó buộc vào nội dung tạo ra. Nội dung tạo ra có thể là html/text hoặc WML (Wireless Markup Language).

Ngoài ra Portlet cung cấp thêm một số hàm chức năng sau:

Persistent storage for preferences: Portlet cung cấp một đối tƣợng Portlet Preferences dành cho việc lƣu trữ những dƣ liệu của ngƣời sử dụng. Một ví dụ về dữ liệu mà portlet có thể lƣu lại là Look and Feel của một portlet cho từng user. Những dữ liệu này sẽ đƣợc lƣu trữ và kho dữ liệu đồng bộ. Chúng không bị mất đi khi khởi động lại server. Là một nhà phát triển bạn không cần phải suy nghĩ về cách lƣu trữ của chúng.

Request processing: So với servlet thì portlet có một bộ xử lý request phức tạp hơn. Nếu trong servlet, vòng đời của một request đƣợc gói gọn trong method service (…) thì vòng đời của một request trong một portlet đƣợc chia ra làm hai giai đoạn (phases). Giai đoạn một là xử lý request và giai đoạn hai là trả lại kết quả. - Giai đoạn một: Vì một trang web trong cổng thông tin, chúng ta có thể có nhiều portlet nên cổng thông tin sẽ phải tìm ra portlet nào mà ngƣời sử dụng gửi yêu cầu tới và gọi phƣơng thức processAction. Tất các các lôgic nghiệp vụ của một portlet thƣờng đƣợc xử lí trong giai đoạn này. Kết quả trả về đƣợc chứa trong portlet session hay actionResponse.

- Giai đoạn hai: Cổng thông tin sẽ đi qua từng portlet trong trang web và gọi phƣơng thức render. Ở giai đoạn này, một portlet thƣờng lấy kết quả chứa trong portlet session hay response và chuyển kết quả này thành những mảng html mà ngƣời sử dụng có thể đọc hiểu.

Portlet cũng có nhiều loại khác nhau và đều đƣợc cổng thông tin Liferay hỗ trợ. Một số loại portlet phổ biến có thể kể đến nhƣ:

 Struts portlets

 JavaServer Faces (JSF) portlets

 Vaadin portlets

 Spring Model–View–Controller (MVC) portlets

JavaServer Page portlet (JSP portlet)

Đây là loại portlet đơn giản nhất trong Liferay. Phần lõi xử lý đƣợc viết bằng java. Các nhà phát triển có thể dễ dàng hiểu và phát triển đƣợc các JSP portlet bởi cấu trúc, cách thức xử lý cũng nhƣ logic của JSP portlet là khá đơn giản và dễ hiểu.

Trong Liferay plugin SDK đ có chế độ tự động sinh các portlet theo dạng JSP portlet, coi nhƣ đây mà loại portlet mặc định

Strusts portlet

Strusts portlet đƣợc thiết kế theo mô hình MVC dựa trên nền tảng của Struts Portlet Framework. Strust portlet là một trong những công nghệ hoàn chỉnh nhất của portlet tuy nhiên việc phát triển nó là khó khăn hơn. Chúng ta có thể tải Struts portlet và Struts 2.0 portlet trên trang download của Liferay

JavaServer Faces portlet (JSF portlet)

Portlet đƣợc xây dựng trên nền tảng của Java Server Faces APIs của SUN. Đây là công nghệ tiêu chuẩn để xây dựng giao diện ngƣời dùng phía máy chủ, đƣợc thiết kế để giúp cho các nhà thiết kế giao diện web dễ dàng hơn.

Trên giao diện download của Liferay, ta có thể lấy đƣợc các WAR file cho cả JSF 1.1 và JSF 1.2 Portlet

Vaadin portlet

Vaadin portlet là portlet mới nhất đƣợc hỗ trợ trong cổng thông tin Liferay mặc dù chúng ta có thể chạy các phiên bản cũ bằng cách cài đặt thủ công thông qua các file thƣ viện mở của Vaadin.

Vaadin portlet có một đặc điểm khá là thú vị bởi chúng ta viết Vaadin portlet hoàn toàn ở phía server, chúng ta không cần lo ngại về HTML, CSS, về Javascript hay sự tƣơng thích với trình duyệt bởi nó hoàn toàn đƣợc xử lý từ bên trong. Vaadin

Spring MVC portlet

Liferay portal cũng hỗ trợ Spring MVC portlet. Spring MVC portlet nổi tiếng với khía cạnh lập trình định hƣớng. Đƣợc phát triển dựa trên Spring Web Flow (SWF), Spring Framework – đây là giải pháp tốt nhất cho việc quản lý dòng chảy trong ứng dụng web. Cụ thể nó cho phép chúng ta chụp các dòng sự kiện nhƣ một mô đun khép kín và có thể tái sử dụng cho các tình huống khác nhau. Và nhƣ vậy, nó là lý tƣởng cho việc xây dựng các mô đun ứng dụng web cho phép các nhà quản lý dễ dàng quản lý các giao dịch mà không cần quan tâm đến các vấn đề xử lý ở mức độ thấp.

Service Builder

Service Builder là một công cụ đƣợc tích hợp bên trong Liferay sử dụng công nghệ Spring và Hibernate, hỗ trợ lập trình viên phát triển portlet một cách nhanh chóng hơn, nó giúp sinh tự động ra một số interface và class ở các lớp Persistence, Service, Model.

Lớp Service có những class chịu trách nhiệm quản lý truy xuất, lƣu trữ dữ liệu và thêm những logic nghiệp vụ cần thiết. Lớp này có thể xây dựng thành hai lớp nhỏ: Local Service và Remote Service. Local Service bao gồm logic nghiệp vụ và truy cập lớp Persistence. Remove Service thƣờng sử dụng để kiểm tra an ninh và có thể đƣợc truy cập ở bất kỳ đâu trên Internet hoặc mạng cục bộ bằng phƣơng thức SOAP, JSON hay Java RMI.

- Portlet chính là khung của hệ thống cần xây dựng, và nhƣ đ trình bày ở trên em đ chọn công nghệ MVC portlet để phát triển và chạy ServiceBuilder sẽ sinh tự động đƣợc các package persistence, model, service nhƣ hình dƣới.

nh 18: C lớp đượ sinh r khi hạ Servi e uilder

Sau khi Deploy và xuất project ra một dạng file.war và chạy trên cổng thông tin liferay

Hình 20: Tr ng đăng ký kh họ d nh ho sinh viên

Một phần của tài liệu Nghiên cứu mô hình quản lý người dùng và bảo mật thông tin trong cổng thông tin điện tử (Trang 63 - 71)

Tải bản đầy đủ (PDF)

(81 trang)