BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC THĂNG LONG
---o0o---
KHÓA LUẬN TỐT NGHIỆP
NGHIÊN CỨU LIFERAY PORTAL FRAMEWORK
ỨNG DỤNG PHÁT TRIỂN WEBSITE
VÀ QUẢN LÝ GIỜ NGHIÊN CỨU KHOA HỌC
TRƯỜNG ĐẠI HỌC THĂNG LONG
TÀI LIỆU 1: BÁO CÁO TỔNG KẾT
SINH VIÊN THỰC HIỆN : A20414 - ĐỖ TIẾN KIÊN
CHUYÊN NGÀNH
HÀ NỘI - 2016
: KHOA HỌC MÁY TÍNH
BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC THĂNG LONG
---o0o---
KHÓA LUẬN TỐT NGHIỆP
NGHIÊN CỨU LIFERAY PORTAL FRAMEWORK
ỨNG DỤNG PHÁT TRIỂN WEBSITE
VÀ QUẢN LÝ GIỜ NGHIÊN CỨU KHOA HỌC
TRƯỜNG ĐẠI HỌC THĂNG LONG
TÀI LIỆU 1: BÁO CÁO TỔNG KẾT
Giáo viên hướng dẫn
: ThS.Mai Thúy Nga
Sinh viên thực hiện
: A20414 - Đỗ Tiến Kiên
Chuyên ngành
: KHOA HỌC MÁY TÍNH
HÀ NỘI - 2016
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Hà Nội, ngày …. tháng …. năm….
Giáo viên hướng dẫn
[Giáo viên ký và ghi rõ họ tên]
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIÊN
Hà Nội, ngày …. tháng …. năm….
Giáo viên phản biện
[Giáo viên ký và ghi rõ họ tên]
LỜI CẢM ƠN
Trong thời gian học tập và rèn luyện dưới giảng đường trường Đại học Thăng
Long, với lòng yêu nghề, sự tận tâm, hết lòng truyền đạt kiến thức của quý thầy cô
chúng em đã tích lũy được rất nhiều kiến thức về lý thuyết và thực hành cũng như
những kỹ năng cần thiết trong cuộc sống.
Lời đầu tiên, chúng em xin chân thành bày tỏ lòng biết ơn đến Cô ThS.Mai Thúy
Nga đã tận tình giúp đỡ hướng dẫn và tạo mọi điều kiện để chúng em hoàn thành tốt
khóa luận tốt nghiệp này.
Tiếp theo, chúng em xin gửi lời cảm ơn đến toàn thể các thầy cô bộ môn Tin
những người đã dẫn dắt và định hướng nghiên cứu cho chúng em trong suốt thời gian
học tập tại trường.
Cuối cùng, chúng em xin tỏ lòng biết ơn chân thành tới cha mẹ, gia đình những
người đã sinh thành, nuôi nấng, tin tưởng động viên tạo mọi điều kiện cho chúng em
an tâm học tập đến ngày hôm nay.
Nguồn kiến thức thì vô tận mà thời gian thực hiện khóa luận còn hạn chế nên
trong quá trình thực hiện sẽ không tránh khỏi những thiếu sót, chúng em xin chân
thành cảm ơn những góp ý vô cùng quý giá và chân thành của Quý Thầy Cô.
Hà Nội, ngày …. tháng …. năm….
Sinh viên thực hiện
GIỚI THIỆU
Đây tài liệu báo cáo tổng hợp trình bày toàn bộ nội dung của khóa luận, tài liệu là
kết quả thu được trong toàn bộ quá trình nghiên cứu và phát triển ứng dụng. Trong tài
liệu đưa ra những phần đã nghiên cứu, kết quả của quá trình nghiên cứu. Ngoài ra tài
liệu cũng đưa ra những phần nội dung về xây dựng ứng dụng và kết quả sau khi ứng
dụng được xây dựng. Bên cạnh tài liệu báo cáo tổng hợp còn có hai tài liệu gồm Tài
liệu phân tích và thiết kế hệ thống quản lý giờ nghiên cứu khoa học và Tài liệu hướng
dẫn cài đặt Liferay Framework.
MỤC LỤC
CHƯƠNG 1.
MỞ ĐẦU............................................................................................1
1.1. Lý do chọn đề tài.............................................................................................1
1.2. Mục tiêu của đề tài..........................................................................................2
1.3. Phạm vi nội dung nghiên cứu.........................................................................2
1.4. Phương pháp tiếp cận.....................................................................................2
1.5. Bố cục tài liệu..................................................................................................2
CHƯƠNG 2.
TỔNG QUAN VỀ PORTAL VÀ LIFERAY PORTAL...................4
2.1. Portal...............................................................................................................4
2.1.1. Portal là gì?................................................................................................4
2.1.2. Các loại Portal............................................................................................4
2.1.3. Các tính năng cơ bản của một Portal..........................................................4
2.2. Liferay Portal Framework.............................................................................5
2.2.1. Giới thiệu....................................................................................................5
2.2.2. Hình thành và phát triển.............................................................................5
2.2.3. Các công nghệ và ngôn ngữ lập trình.........................................................6
2.2.4. Các đặc điểm nổi bật..................................................................................6
2.2.5. Các tính năng được tích hợp trong Liferay.................................................7
2.2.6. Các phiên bản Liferay................................................................................9
2.2.7. Sơ đồ kiến trúc của Liferay........................................................................9
2.2.8. Cài đặt và cấu hình Liferay Portal Framework.........................................11
2.2.9. Công cụ xây dựng và phát triển trên Framework......................................12
2.3. Portlet............................................................................................................13
2.3.1. Portlet là gì?.............................................................................................13
2.3.2. So sánh Portlet với Servlet.......................................................................14
2.3.3. Đặc điểm của Portlet................................................................................14
2.3.4. Các chuẩn phát triển Portlet......................................................................14
2.4. Cấu trúc và xây dựng Portlet.......................................................................17
2.4.1. Các giai đoạn (vòng đời) của Portlet........................................................17
2.4.2. Tạo một MVC Portlet...............................................................................21
CHƯƠNG 3.
ỨNG DỤNG PHÁT TRIỂN WEBSITE........................................23
3.1. Các thành phần cơ bản của Liferay Portal.................................................23
3.1.1. Theme trong Liferay Portal......................................................................23
3.1.2. Cấu trúc (Structure)..................................................................................28
3.1.3. Template...................................................................................................32
3.1.4. Site Template............................................................................................34
3.2. Xây dựng website với Liferay Web Content...............................................38
3.2.1. Quy trình tạo một website........................................................................38
3.2.2. Bài toán xây dựng website giới thiệu trường Đại học Thăng Long..........38
3.2.3. Các bước thực hiện...................................................................................39
3.2.4. Đánh giá kết quả.......................................................................................46
CHƯƠNG 4. ỨNG DỤNG QUẢN LÝ GIỜ NGHIÊN CỨU KHOA HỌC
TRƯỜNG ĐẠI HỌC THĂNG LONG.....................................................................47
4.1. Tổng quan về hệ thống.................................................................................47
4.1.1. Mô tả........................................................................................................47
4.1.2. Hiện trạng.................................................................................................47
4.1.3. Yêu cầu nghiệp vụ....................................................................................48
4.1.4. Sơ đồ mô tả bài toán quản lý giờ NCKH..................................................50
4.1.5. Mô hình hóa các quy trình nghiệp vụ chính.............................................51
4.1.6. Sơ đồ tổng quan các chức năng chính của hệ thống.................................55
4.1.7. Các tác nhân tham gia hệ thống................................................................55
4.1.8. Các chức năng chính của hệ thống...........................................................56
4.1.9. Các thực thể chính....................................................................................58
4.1.10. Bảng ánh xạ BR với UC.......................................................................58
4.2. Phân tích thiết kế hệ thống...........................................................................59
4.2.1. Đặc tả chức năng hệ thống.......................................................................59
4.2.2. Phân tích và thiết kế các chức năng..........................................................79
4.3. Cài đặt và triển khai.....................................................................................93
4.3.1. Môi trường cài đặt....................................................................................93
4.3.2. Cấu trúc cây mã ngồn...............................................................................93
5.
KẾT LUẬN VÀ ĐÁNH GIÁ........................................................................96
5.1. Kết quả đạt được...........................................................................................96
5.2. Hướng phát triển..........................................................................................96
DANH MỤC HÌNH ẢNH MINH H
Sơ đồ 1. Sơ đồ vòng đời của một portlet......................................................................18
Sơ đồ 2. Sơ đồ thể hiện Action phase và render phase của Portlet...............................20
Sơ đồ 3. Cấu trúc thư mục Project Portlet....................................................................21
Sơ đồ 4. Mô tả bài toán quản lý giờ NCKH.................................................................50
Sơ đồ 5. Quy trình tạo Seminar....................................................................................52
Sơ đồ 6. Quy trình tạo quy định về định mức..............................................................53
Sơ đồ 7. Quy trình tạo giờ NCKH...............................................................................54
Sơ đồ 8: Sơ đồ tổng quan các chức năng chính............................................................55
Sơ đồ 9. Sơ đồ cây mã nguồn – chức năng QL giảng viên...........................................93
Sơ đồ 10. Sơ đồ cây mã nguồn – chức năng QL duyệt seminar...................................94
Sơ đồ 11. Sơ đồ cây mã nguồn – chức năng QL duyệt quy định định mức..................95
Y
Giao diện quản trị 1. Giao diện cổng Liferay Portal sau khi cài đặt thành công..........12
Giao diện quản trị 2. Các thành phần của theme..........................................................23
Giao diện quản trị 3. Giao diện quản trị theme 1.........................................................24
Giao diện quản trị 4. Giao diện quản trị theme 2.........................................................25
Giao diện quản trị 5. Giao diện quản trị chọn Structure...............................................29
Giao diện quản trị 6. Thêm mới Structure....................................................................29
Giao diện quản trị 7. Nhập thông tin Structure............................................................30
Giao diện quản trị 8. Thêm các trường thông tin structure...........................................30
Giao diện quản trị 9. Giao diện quản trị template........................................................33
Giao diện quản trị 10. Thêm mới template...................................................................33
Giao diện quản trị 11. Nhập thông tin template...........................................................33
Giao diện quản trị 12. Nhập thông tin template 2........................................................34
Giao diện quản trị 13. Phần viết mã script cho template..............................................34
Giao diện quản trị 14. Quản trị site template...............................................................35
Giao diện quản trị 15. Quản lý một site template.........................................................35
Giao diện quản trị 16. Quản lý site pages của site template.........................................36
Giao diện quản trị 17. Quản lý Content của site template............................................37
Giao diện quản trị 18. Quản lý Configuration của site template..................................37
Giao diện 1. Danh sách giảng viên..............................................................................64
Giao diện 2. Thêm mới giảng viên – Chọn user trong hệ thống...................................65
Giao diện 3. Thêm mới giảng viên – Nhập thông tin giảng viên..................................65
Giao diện 4. Thông tin chi tiết giảng viên....................................................................66
Giao diện 5. Chỉnh sửa thông tin giảng viên................................................................66
Giao diện 6. Danh sách chức danh...............................................................................67
Giao diện 7. Thêm mới chức danh...............................................................................67
Giao diện 8. Chỉnh sửa chức danh...............................................................................68
Giao diện 9. Danh sách học vị.....................................................................................68
Giao diện 10. Thêm mới học vị...................................................................................69
Giao diện 11. Chỉnh sửa học vị....................................................................................69
Giao diện 12. Quản lý duyệt Seminar..........................................................................71
Giao diện 13. Phê duyệt Seminar.................................................................................72
Giao diện 14. Quản lý duyệt định mức........................................................................76
Giao diện 15. Phê duyệt định mức...............................................................................76
Giao diện 16. Quản lý duyệt giảm định mức...............................................................77
Giao diện 17. Phê duyệt giảm định mức......................................................................77
Giao diện 18. Quản lý duyệt danh mục quy đổi...........................................................78
Giao diện 19. Phê duyệt danh mục quy đổi....................................................................7
Hình 1. Sơ đồ cấu trúc mã nguồn theme website trường Đại học Thăng Long............39
Hình 2. Danh sách file trong thư mục css....................................................................39
Hình 3. Danh sách file trong thư mục js......................................................................40
Hình 4. Danh sách file trong thư mục template............................................................40
Hình 5. Structure thông tin của slider..........................................................................41
Hình 6. Structure hiển thị kiểu nội dung 1...................................................................41
Hình 7. Structure hiển thị kiểu nội dung 2...................................................................42
Hình 8. Mã nguồn template hiển thị slider...................................................................42
Hình 9. Mã nguồn template hiển thị kiểu nội dung 1...................................................43
Hình 10. Mã nguồn template hiển thị kiểu nội dung 2.................................................43
Hình 11. Bố cục các page của site template.................................................................44
Hình 12. Giao diện quản trị site trong Liferay.............................................................44
Hình 13. Thêm mới site từ site template......................................................................44
Hình 14. Các thông tin thêm mới site template............................................................45
Y
Sơ đồ lớp phân tích 1. Quản lý giảng viên...................................................................79
Sơ đồ lớp phân tích 3. Phê duyệt seminar....................................................................84
Sơ đồ lớp phân tích 3. Phê duyệt quy định định mức...................................................88
Sơ đồ trình tự 1. Quản lý giảng viên – Thêm mới giảng viên......................................80
Sơ đồ trình tự 2. QL giảng viên – Chỉnh sửa giảng viên..............................................81
Sơ đồ trình tự 3. QL giảng viên – Xóa giảng viên.......................................................81
Sơ đồ trình tự 7. Phê duyệt seminar.............................................................................85
Sơ đồ trình tự 4. Phê duyệt quy định định mức – Phê duyệt định mức........................89
Sơ đồ trình tự 5.Phê duyệt định mức – Phê duyệt giảm định mức...............................89
Sơ đồ trình tự 6. Phê duyệt định mức – Phê duyệt danh mục quy đổi..........................90
Sơ đồ lớp chi tiết 1. Quản lý giảng viên.......................................................................82
Sơ đồ lớp chi tiết 3. Quản lý phê duyệt seminar..........................................................86
Sơ đồ lớp chi tiết 2. Quản lý phê duyệt quy định định mức.........................................91
Sơ đồ database 1. Database QL giảng viên..................................................................83
Sơ đồ database 2. Phê duyệt seminar...........................................................................87
Sơ đồ database 2. Database phê duyệt quy định định mức...........................................92
DANH MỤC TỪ VIẾT TẮT
Ký hiệu viết tắt
Tên đầy đủ
NCKH
Nghiên cứu khoa học
GV
Giảng viên
HT
Hệ thống
BR
Business requirement
(Quy trình nghiệp vụ)
UC
Use case (Chức năng sử dụng)
WCM
Web content management
(Quản lý nội dung trang web)
SDK
Software development kit
(Bộ công cụ phát triển phần mềm)
IDE
Integrated Development Environment
(Môi trường phát triển tích hợp)
LIFERAY PORTAL FRAMEWORK
CHƯƠNG 1. MỞ ĐẦU
1.1. Lý do chọn đề tài
Ngày nay, với sự phát triển không ngừng của công nghệ thông tin, đặc biệt là các
ứng dụng của công nghệ website đã đưa thông tin đến gần và nhanh hơn đối với người
sử dụng. Tuy nhiên, công nghệ website hiện nay vẫn còn khá đơn giản, chưa đáp ứng
được đầy đủ yêu cầu ngày càng cao của người sử dụng như: Tính cá nhân hóa, tập hợp
nội dung, bảo mật, phân quyền các dịch vụ, các liên kết tới những thành phần trong và
ngoài hệ thống. Những hạn chế đó là lý do tất yếu dẫn đến sự ra đời của công nghệ
mới mà có khả năng đáp ứng được đầy đủ những yêu cầu trên.
Cổng thông tin điện tử (portal) chính là cái mà người dùng cần, đây được coi là
công nghệ của tương lai sau thời kì của công nghệ web hiện nay. Có nhiều công nghệ
xây dựng Cổng thông tin điện tử khác nhau nhưng công nghệ Liferay portal là một
trong những công nghệ Cổng thông tin điện tử mã nguồn mở hàng đầu thế giới viết
bằng Java với giao diện thân thiện, dễ sử dụng và đặc biệt là có khả năng đưa ra các
phương án để giải quyết những yêu cầu của bài toán mà người dùng cần.
Hiện nay, trên thế giới công nghệ Liferay portal đã được triển khai, ứng dụng rất
mạnh mẽ với quy mô lớn và đã gặt hái được nhiều thành công, tuy nhiên Liferay portal
vẫn còn khá mới mẻ ở Việt Nam. Sự quan tâm của các nhà phát triển cũng như của
người dùng vẫn còn chưa đáng kể khiến cho Liferay portal trở nên lạ lẫm, chưa gây
được nhiều sự chú ý, quan tâm dù rằng nó ở gần ngay quanh ta.
Chính Phủ có nhiều chính sách khuyến khích phát triển portal trên nền liferay nói
riêng và trên phần mềm mã nguồn mở nói chung. Cụ thể là được Bộ TT&TT khuyến
khích sử dụng chọn làm giải pháp phát triển portal và đã được một số doanh nghiệp
dùng làm công cụ phát triển các phần mềm liên quan chính phủ điện tử.
Đây là hệ thống nguồn mở nên chi phí đầu tư cho hệ thống rất thấp, khả năng làm
chủ và khai thác hiệu quả. Liferay là cấu trúc mở, đáp ứng đủ các tiêu chuẩn của portal
nên dễ dàng tích hợp được với một số công nghệ mở khác mang lại hiệu quả cao.
Liferay có cộng đồng tương đối lớn và được xếp hạng đứng thứ 2 sau công nghệ portal
của IBM (đây là portal mã nguồn đóng)
Chính vì những lý do trên chúng em chọn đề tài: “Nghiên cứu Liferay Portal
Framework trong ứng dụng phát triển website và quản lý giờ nghiên cứu khoa học
trường Đại học Thăng Long” với mong muốn phần nào có thể giúp mọi người biết
đến nhiều hơn về Liferay portal.
Đỗ Tiến Kiên
Trang 13
LIFERAY PORTAL FRAMEWORK
1.2. Mục tiêu của đề tài
Tìm hiểu từ khái quát đến cụ thể những tính năng nổi bật nhất của công nghệ
Liferay portal để từ đó ứng dụng công nghệ này vào xây dựng hệ thống tự động tạo
website và hệ thống quản lý giờ nghiên cứu khoa học của giảng viên trong trường Đại
học Thăng Long. Với hệ thống tự động tạo website sẽ hỗ trợ người dùng xây dựng
website một cách dễ dàng nhanh chóng tiết kiệm chi phí cho việc xây dựng vận hành
và bảo trì một website. Còn với hệ thống quản lý giờ nghiên cứu khoa học sẽ hỗ trợ tự
động hóa việc quản lý giờ nghiên cứu khoa học phục vụ viêc quản lý giờ nghiên cứu
khoa học của giảng viên một cách dễ dàng thuận tiện.
1.3. Phạm vi nội dung nghiên cứu
Nghiên cứu công nghệ Portal
Tìm hiểu và sử dụng Liferay Framework
Thiết kế các template tạo website giới thiệu dịch vụ, công ty
Ứng dụng các tính năng của liferay để quản lý giờ nghiên cứu khoa học của
giảng viên tại trường Đại học Thăng Long
Xây dựng và phát triển các chức năng hệ thống quản lý giờ nghiên cứu khoa
học dựa trên Liferay Framwork
1.4. Phương pháp tiếp cận
Sưu tập và nghiên cứu các tài liệu, ví dụ minh họa, hướng dẫn từ đó xem xét,
đánh giá lựa chọn những tính năng đáp ứng được yêu cầu xây dựng ứng dụng.
Nghiên cứu các tài liệu về kiến trúc, các thành phần của Liferay Portal.
Tìm hiểu quy trình vận hành hoạt động và quản trị Liferay Portal
Phân tích các ứng dụng hoạt động trên nền tảng Liferay Portal từ đó xây dựng
các quy trình phát triển các ứng dụng đó.
1.5. Bố cục tài liệu
Nội dung được chia thành 3 tài liệu nhỏ:
Tài liệu 1 - “Báo cáo tổng kết”: Giới thiệu tổng thể hệ thống
Chương 1: Phần mở đầu
Trình bày lý do và mục đích của đề tài, đồng thời giới hạn phạm vi đề tài.
Chương 2: Tổng quan về portal và liferay portal
Giới thiệu những khái niệm, thành phần cơ bản của portal và Liferay Portal
Chương 3: Ứng dụng phát triển website
Đỗ Tiến Kiên
Trang 14
LIFERAY PORTAL FRAMEWORK
Giới thiệu một số thành phần cơ bản tạo thành website sử dụng Liferay Web
Content
Chương 4: Ứng dụng quản lý giờ NCKH trường Đại học Thăng Long
Trình bày vấn đề của bài toán thực tế quản lý số giờ NCKH trường Đại học
Thăng Long. Xác định yêu cầu nghiệp vụ, sau đó giải quyết vấn đề bằng
cách tạo ra các portlet chức năng phù hợp.
Tài liệu 2 – “Thiết kế và đặc tả”: Nội dung đặc tả các chức năng trong ứng dụng xây
dựng hệ thống quản lý giờ NCKH.
Chương 1: Tổng quan hệ thống
Xác định các chức năng chính và các tác nhân tham gia HT.
Chương 2: Đặc tả các chức năng hệ thống
Mô tả chi tiết các bước thực hiện các chức năng trong HT.
Chương 3: Phân tích và thiết kế các chức năng
Thể hiện mỗi liên hệ giữa các thành phần trong HT thông qua các sơ đồ: sơ
đồ lớp phân tích, sơ đồ trình tự, sơ đồ lớp chi tiết và thiết kế database.
Tài liệu 3 – “Hướng dẫn cài đặt”: Chi tiết các bước cài đặt cấu hình hệ thống.
Chương 1: Cài đặt liferay portal framework
Hướng dẫn chi tiết cài đặt các thành phần liferay portal framework.
Chương 2: Cài đặt công cụ phát triển
Giới thiệu và hướng dẫn cài đặt SDK vào Liferay IDE.
Chương 3: Xây dựng 1 portlet
Hướng dẫn tạo portlet, động thời trình bày cấu trúc của portlet và cách sử
dụng portlet thông qua cách portlet hoạt động.
Chương 4: Tạo mới 1 theme
Hướng dẫn tạo mới theme trong liferay.
Chương 5: Sử dụng các thành phần cơ bản của WCM
Đỗ Tiến Kiên
Trang 15
LIFERAY PORTAL FRAMEWORK
CHƯƠNG 2. TỔNG QUAN VỀ PORTAL VÀ LIFERAY PORTAL
2.1. Portal
2.1.1. Portal là gì?
Portal là một môi trường giao diện Web thống nhất cho phép truy cập đơn giản,
bảo mật đối với dữ liệu và các chương trình ứng dụng cho người dùng. Portal có thể
thu thập, tích hợp và cung cấp thông tin theo nhu cầu đặc thù của mỗi cá nhân, giúp
các đơn vị tìm được cách thức giao tiếp cao cấp và riêng tư.
Hiểu một cách đơn giản Portal là một trang web mà từ đó người sử dụng có thể
dễ dàng truy xuất các trang web, các ứng dụng và các dịch vụ trên mạng máy tính hoặc
internet. Các dịch vụ thường tích hợp vào trong portal là công cụ tìm kiếm, danh mục
các trang web, trang tin tức điện tử, forum, chat, email, trang web cá nhân.
Có nhiều khái niệm về Portal khác nhau, và cho đến nay chưa có khái niệm nào
được coi là chuẩn xác. Một số tên gọi gần tương đương với thuật ngữ “Portal” như
Cổng thông tin điện tử hoặc Cổng giao tiếp điện tử hoặc Cổng giao dịch điện tử.
2.1.2. Các loại Portal
Portal được phân loại dựa trên việc ứng dụng của nó. Các loại Portal phổ biến:
Personal portals – là loại portal được sử dụng bởi các cá nhân.
Gorvement portals – được dùng bởi các chính phủ.
Collaboration portals – mạng xã hội và hợp tác giữa các người dùng.
Domain Specific portals – như mua sắm, tin tức, thể thao, khoa học…
Business-to-Business portals – kết nối giữa các doanh nghiệp.
Business-to-Customers portals – kết nối doanh nghiệp với người tiêu dùng.
2.1.3. Các tính năng cơ bản của một Portal
Mặc dù hiện nay có nhiều loại portal khác nhau nhưng chúng đều có chung một
số tính năng cơ bản sau:
Khả năng cá nhân hóa: cho phép thiết đặt các thông tin khác nhau tùy theo
nhóm đối tượng sử dụng. Mỗi cá nhân có thể tự chỉnh sửa các thông tin hiển thị,
dịch vụ theo ý muốn của mình.
Tổng hợp và xuất bản thông tin: cho phép xây dựng nội dung thông tin từ nhiều
nguồn khác nhau để cung cấp cho nhiều đối tượng sử dụng khác nhau. Nội
dung thông tin sẽ được cung cấp tùy theo nhóm đối tượng sử dụng hoặc do việc
cá nhân hóa của mỗi người dùng.
Đỗ Tiến Kiên
Trang 16
LIFERAY PORTAL FRAMEWORK
Khả năng tìm kiếm và chỉ mục: portal tích hợp được các hệ thống tìm kiếm và
đánh chỉ mục các văn bản, tài liệu để giúp người dùng có thể nhanh chóng truy
xuất đến thông tin.
Khả năng hỗ trợ nhiều môi trường hiển thị thông tin: Portal có khả năng hiển thị
thông tin trên nhiều loại thiết bị khác nhau. Cho phép người sử dụng có thể sử
dụng nhiều hệ điều hành khác nhau, thông qua các trình duyệt web khác nhau
để truy xuất vào Portal bao gồm cả các thiết bị di động.
Khả năng đăng nhập một lần: cho phép người dùng chỉ cần đăng nhập 1 lần là
có thể truy cập tất cả các dịch vụ của portal. Đây là tính năng rất quan trọng đặc
biệt khi portal cung cấp một số lượng lớn dịch vụ cho người dùng.
Khả năng bảo mật: Portal cung cấp được các hệ thống xác thực và phân quyền
mạnh mẽ nhằm đảm bảo an toàn thông tin.
Quản trị portal: cho phép quản trị thiết lập các nguồn thông tin, các dịch vụ
cung cấp cho người dùng cũng như các giao diện người dùng.
Quản trị người dùng: cho phép quản lý người dùng cuối. Quản trị có thể tạo và
gán quyền cho người dùng. Người sử dụng cũng có thể tự đăng ký để trở thành
thành viên của portal.
2.2. Liferay Portal Framework
2.2.1. Giới thiệu
Liferay portal là một portal doanh nghiệp mã nguồn mở miễn phí. Liferay bao
gồm một hệ thống quản lý nội dung (web content management) cho phép người dùng
xây dựng các website hoặc portal một cách dễ dàng.
Liferay Portal được thiết kế phù hợp với các mô hình ứng dụng trong các cơ
quan, tổ chức và doanh nghiệp có nhu cầu phát triển hệ thống thông tin trên môi
trường web nhằm thực hiện các giao dịch trực tuyến và sử dụng Intranet/Internet như
một công cụ thiết yếu trong các hoạt động, cung cấp thông tin, giao tiếp, quản lý và
điều hành, trao đổi và cộng tác.
Liferay khá gọn nhẹ và dễ sử dụng. Nó đơn giản hơn WebSphere nhưng linh hoạt
hơn SharePoint. Liferay được đóng gói sẵn với nhiều web server khác nhau như
Tomcat, JBoss, Jetty… nên rất dễ cài đặt.
2.2.2. Hình thành và phát triển
Liferay Portal là một trong những sản phẩm đứng đầu trong danh sách các sản
phẩm portal mã nguồn mở trên thế giới hiện nay.
Đỗ Tiến Kiên
Trang 17
LIFERAY PORTAL FRAMEWORK
Ban đầu Liferay được tạo ra nhằm cung cấp một giải pháp portal cho các tổ chức
phi lợi nhuận. Với sự hỗ trợ từ cộng đồng người dùng, Liferay đã phát triển nhanh
chóng và trở thành một giải pháp portal hàng đầu trên thị trường hiện nay.
2.2.3. Các công nghệ và ngôn ngữ lập trình
Liferay Portal được phát triển trên các công nghệ tiên tiến, các công cụ và ngôn
ngữ lập trình hiện đại.
Liferay Portal sử dụng công nghệ mới nhất hiện nay của Java, J2EE và công
nghệ Web 2.0.
Hỗ trợ rộng rãi các chuẩn công nghiệp và chuẩn mở (SOAP, LDAP, XML/XSL,
SSL, JSR 170, JSR168, WSRP, Webservices …).
Các dịch vụ và ứng dụng của Liferay Portal được phát triển một cách độc lập
dưới dạng các portlets và tuân thủ chặt chẽ chuẩn phát triển ứng dụng trên
portal là JSR 168 và JSR 286.
Ngôn ngữ Java là một ngôn ngữ cho phép xây dựng các phần mềm chỉ cần viết
một lần và có thể chạy ở mọi nơi. Do đó Liferay Portal cũng thừa hưởng được
các tính năng ưu việt đó. Liferay Portal có thể chạy với nhiều web server và kết
nối đến nhiều hệ cơ sở dữ liệu khác nhau như Oracle, SQL Server, My SQL,
DB2…
Đã được triển khai sẵn hơn 60 ứng dụng tích hợp vào cổng thông tin và có khả
năng thiết kế, dàn trang theo sở thích từng cá nhân cho tất cả người sử dụng.
2.2.4. Các đặc điểm nổi bật
2.2.4.1. Giao diện AJAX dễ sử dụng
Liferay Portal cung cấp một giao diện giàu tính thân thiện với người sử dụng, bao
gồm:
Kéo-thả vị trí các ứng dụng trên 1 trang của cổng thông tin;
Tải các ứng dụng được triển khai và sử dụng linh động, dễ dàng;
Cho phép người sử dụng có thể sửa đổi màu sắc, kiểu chữ và liên kết cho các
ứng dụng mà không cần phải có trình chỉnh sửa stylesheets hay HTML;
2.2.4.2. Xây dựng dịch vụ
Công cụ riêng biệt Liferay Portal giúp đội ngũ phát triển có thể phát triển mã
nguồn của họ dựa trên những công nghệ tầng cơ sở đã được xây dựng như Web
Service, Spring, AJAX và EJB. Với sự hỗ trợ này, họ chỉ phải tập trung vào việc triển
khai tầng business logic cho các ứng dụng.
Đỗ Tiến Kiên
Trang 18
LIFERAY PORTAL FRAMEWORK
2.2.4.3. Thay đổi Look-and-Feel một cách đơn giản
Kiến trúc triển khai nhanh hiệu ứng trình bày giao diện cho phép các nhà quản
trị cổng thông tin triển khai các giao diện mới và người sử dụng có thể tùy thích
chọn lựa mà không có bất kỳ sự thay đổi nào trên mã nguồn chính.
Những hiệu ứng trình bày giao diện mới có thể được đưa thêm vào một cách
nhanh chóng.
2.2.4.4. Chuẩn CSS
Tất cả các trang của Liferay Portal đều được thực hiện theo chuẩn CSS để đơn
giản hóa việc phát triển giao diện cho đội ngũ các lập trình viên và nhà thiết kế.
2.2.5. Các tính năng được tích hợp trong Liferay
2.2.5.1. Tích hợp đầy đủ các tính năng
Liferay được tích hợp sẵn nhiều portlet để cung cấp các tính năng cốt lõi của một
portal. Liferay đã triển khai sẵn hơn 60 portlet vào cổng thông tin Một số portlet nổi
bật như:
Webcontent Management – Quản lý bài viết.
Asset Publisher – Hiển thị nội dung (bài viết, blog…) của portal.
Document Library Manager, Recent Documents – Quản lý tài liệu.
Web Form Builder – Xây dựng form động.
Tags and Categories
Blogs
Wiki
Knowledge Base – Một sự kết hợp giữa Wiki và CMS.
Message Boards – Diễn đàn trao đổi thông tin.
Social Equity – Quản lý hoạt động cộng đồng.
Page Ratings & Flags – Hệ thống xếp hạng.
Polls – Bình chọn.
Calendar
Chat
Mail
Với những portlet này, chúng ta có thể dễ dàng xây dựng cho mình một portal
với đầy đủ các tính năng như CMS, Blog, Forum…
Đỗ Tiến Kiên
Trang 19
LIFERAY PORTAL FRAMEWORK
Nếu các portlet có sẵn vẫn chưa đáp ứng được nhu cầu của người dùng thì có thể
tìm kiếm và cài đặt thêm các portlet (miễn phí và có phí) từ Marketplace của Liferay
do các công ty và lập trình viên tự do đưa lên.
2.2.5.2. Khả năng mở rộng các ứng dụng trên Liferay Portal
Ngoài các tính năng và thành phần có sẵn, lập trình viên vẫn có thể mở rộng
Liferay theo nhu cầu của mình. Liferay cho phép thực hiện điều này thông qua cơ chế
plugin.
Plugin của Liferay gồm các loại sau:
Portlet – Là các ứng dụng chạy trong Liferay.
Hook – Dùng để thay thế hoặc mở rộng các phần mặc định trong các chức năng
của Liferay.
Ext – Dùng để mở rộng Liferay trong một số trường hợp mà hook không thể
thực hiện được.
Layout – Dùng để xây dựng bố cục trình bày các thành phần trang.
Themes – Dùng để xây dựng giao diện hiển thị (look and feel) của Liferay.
Trong các loại plugin trên thì chỉ có Ext plugin là có thể sử dụng các API nội bộ
và can thiệp vào core của Liferay. Điều này đồng nghĩa với việc khi nâng cấp Liferay
thì cần kiểm tra và chỉnh sửa lại Ext plugin cho tương thích với phiên bản Lifray mới,
còn các loại plugin còn lại thì gần như có thể hoạt động được trên phiên bản mới mà
không cần chỉnh sửa gì.
Đối với portlet, Liferay hỗ trợ đầy đủ 2 chuẩn portlet là JSR-286, JSR-168. Vì
vậy, có thể chuyển những portlet từ nền tảng portal khác sang Liferay một cách nhanh
chóng.
Liferay hỗ trợ nhiều ngôn ngữ lập trình khác nhau để phát triển plugin bao gồm
cả các portlet viết bằng PHP và Ruby.
2.2.5.3. Cung cấp nhiều sản phẩm và công cụ hỗ trợ
Bên cạnh Liferay portal, Liferay Inc (công ty sở hữu Liferay portal) còn cung cấp
các sản phẩm và các bộ công cụ hỗ trợ dựa trên nền tảng Liferay:
Liferay Social Office — Một bộ công cụ hợp tác xã hội dành cho doanh nghiệp.
Liferay Sync — Cho phép người dùng đăng tải và try cập các tài liệu từ nhiều
môi trường khác nhau bao gồm: Windows, Mac OS, iOS, Android.
AlloyUI — Một UI framework dùng cho việc xây dựng các ứng dụng web.
Đỗ Tiến Kiên
Trang 20
LIFERAY PORTAL FRAMEWORK
Liferay Faces — Một tập hợp các dự án cung cấp việc hỗ trợ tiêu chuẩn
JavaServer Faces (JSF) bên trong Liferay portal.
Liferay IDE — Tập hợp các plugin cho Eclipse IDE dùng cho việc phát triển
plugin.
Liferay Marketplace — Kho ứng dụng cho Liferay.
2.2.6. Các phiên bản Liferay
Liferay có 2 phiên bản khác nhau:
Liferay Portal Community Edition — phiên bản miễn phí với các tính năng mới
nhất và được hỗ trợ thông qua cộng đồng người dùng.
Liferay Portal Enterprise Edition — phiên bản thương mại bao gồm các dịch vụ
cập nhật và hỗ trợ đầy đủ. Phiên bản ngày thường ra mắt sau khoảng 1 hoặc 2
tháng sau phiên bản Community Edition.
So với phiên bản Community, phiên bản Enterprise có lợi thế về tính ổn định, độ
tin cậy, chính sách hỗ trợ, khắc phục sự cố và cung cấp nhiều tính năng bổ sung hữu
ích đối với hệ thống portal doanh nghiệp.
2.2.7. Sơ đồ kiến trúc của Liferay
Đỗ Tiến Kiên
Trang 21
LIFERAY PORTAL FRAMEWORK
Layer 1: OS (Operating System)
Mọi phần mềm đều hệ điều hành để chạy. Đây là layer cơ bản cho để chạy mọi
phần mềm. Với liferay, các hệ điều hành được hỗ trợ là: Windows, Mac and Linux
Layer 2: JVM (Java virtual machine)
Cũng cần thiết như layer 1, bất kì phần mềm nào cũng cần môi trường chạy.
Liferay là một cổng java (java portal), vì vậy cần đến Java Virtual Machine (JVM) tạo ra môi trường máy ảo để thực thi mã java bytecode. JVM làm 4 công việc chính là:
Load code, Verifies code, Executes code và Provides runtime environment.
Layer 3: Service layer
Liferay là cổng web java (java web portal) và để chạy mọi ứng dụng web, ta cần
có máy chủ (application server). Liferay hỗ trợ rất nhiều application server như:
Apache Tomcat, Glassfish, Geronimo, Jetty, JOnAS, JBoss, and Resin
Mỗi application server mặc định cung cấp rất nhiều dịch vụ (services) mà sẽ
được sử dụng bởi các ứng dụng liferay. Một số dịch vụ, trong đó chủ yếu được sử
dụng bởi Liferay trên máy chủ ứng dụng, bao gồm: JNDI, JDBC, JTS, JMS, JAAS,
JDO, JWS, JSP / servlet, và JavaMail.
Layer 4: Logical Architecture of Liferay
Đây là layer thực hiện lõi của liferay và các công nghệ trong liferay.
Liferay sử dụng một số công nghệ cốt lõi của nó để cung cấp dịch vụ khác nhau.
Những công nghệ này bao gồm EJB, Hibernate, Spring và jBPM. Liferay thực hiện
công cụ tìm kiếm Lucene (Lucene Search Engine) theo mặc định và có thể được cấu
hình để mở rộng. Liferay chứa adapter ngôn ngữ như cho Python, Ruby và PHP, cho
phép tích hợp dễ dàng.
Layer 5: Extensions Framework
Đây là layer cung cấp các cơ chế đã được định nghĩa, chúng ta có thể điều chỉnh
lại hoặc kế thừa các tính năng của liferay và cung cấp các công cụ thực hiện dich vụ
nhanh chóng như service builder.
Liferay Service Builder Tool: cung cấp khởi tạo và triển khai các dịch vụ,
các công cụ sử dụng Spring and Hibernate để thực hiện các service.
Portlet plug-in: cung cấp các portlet động được tạo ra cho người sử dụng
cuối cùng.
Hooks plug-in: cung cấp công cụ cho phép việc chỉnh sửa thay đổi các chức
năng của Liferay
Đỗ Tiến Kiên
Trang 22
LIFERAY PORTAL FRAMEWORK
Portal Service/Custom Services: nó giống như là lõi của Liferay bao gồm
Group,Organization,Site,User and Roles. Chúng ta có thể tùy chỉnh chúng
OOTB(Out of Box)/Custom portlets:
Layer 6: Enterprise Layer
Đây là layer các ứng dụng mà người dùng có thể trải nghiệm. Liferay sử dụng tất
cả các dịch vụ và khả năng ở trên và nó cung cấp các tính năng cốt lõi mạnh mẽ như:
Quản lý Portal, quản lý nội dung Web, nội dung quản lý doanh nghiệp, quản lý tài liệu,
quản lý tài khoản, quản lý luồng công việc, quản lý an ninh.
2.2.8. Cài đặt và cấu hình Liferay Portal Framework
2.2.8.1. Các thành phần cần cài đặt
Các thành phần
Database MySql 5
MySQL Workbench
Địa chỉ download
/> /> 6.2
portal/available-releases
Community
(Chọn phiên bản chạy server Tomcat)
Liferay 6.2 Community SDK
portal/available-releases
+ Liferay IDE
projects/liferay-ide
Java SE Development Kit 8 />hoặc Java SE Development ads/jdk8-downloads-2133151.html
Kit 7
2.2.8.2. Hướng dẫn cài đặt
Xem chi tiết hướng dẫn cài đặt trong Tài liệu hướng dẫn cài đặt Liferay
Framework (phần 1.2. Hướng dẫn cài đặt Liferay portal )
Cuối cùng sau khi cài đặt cổng Portal thành công chúng ta có cổng Portal với đầy
đủ các thông tin.
Đỗ Tiến Kiên
Trang 23
LIFERAY PORTAL FRAMEWORK
Giao diện quản trị 1. Giao diện cổng Liferay Portal sau khi cài đặt thành công
2.2.9. Công cụ xây dựng và phát triển trên Framework
2.2.9.1. Liferay plugins SDK
Liferay cung cấp cho các lập trình viên một gói Liferay Plugins Software
Development Kit (SDK) để hỗ trợ cho việc xây dựng và phát triển công thông tin.
Plugins SDK sử dụng Apache Ant là công cụ xây dựng và có thể được sử dụng với bất
kỳ trình soạn thảo hoặc môi trường phát triển tích hợp (IDE). Trong các phần tiếp theo
SDK sử dụng sẽ là phiên bản 6.2.
Các thư mục và file quan trọng của SDK
Liferay-plugins-sdk-6.2
dist/ - Chứa các ứng dụng được đóng gói (có lệnh ant giúp ta đóng gói các
ứng dụng)
ext/ - Chứa các plugin dạng extension
hooks/ - Chứa các ứng dụng hook
layouttpl/ - Chứa các mẫu layout
lib/ - Thư viện chung
misc/ - Chứa các file cấu hình
portlets/ - Chứa các portlet mà lập trình viên phát triển
themes/ - Chứa các theme được phát triển
tools/ - Chứa các công cụ tiện ích và các mẫu
webs/ - Chứa các plugin dạng web
build.properties – Các thuộc tính mặc định của SDK
build.[username].properties – Cho phép lập trình viên ghi đè các thuộc tính
của SDK
Đỗ Tiến Kiên
Trang 24
LIFERAY PORTAL FRAMEWORK
build.xml – File cấu hình của ant, chứa các target dùng để phát triển ứng
dụng
build-common.xml
build-common-plugin.xml
build-common-plugins.xml
Có một tệp tin Ant build là build.xml trong mỗi thư mục plugins. Một số target
thường được sử dụng trong việc phát triển các plugin sau:
build-service – tạo ra lớp dịch vụ cho ứng dụng (Sử dụng Liferay Service
Builder)
clean – xóa các tệp tin còn sót lại được tạo ra bởi quá trình biên dịch, lưu
trữ và triển khai
compile – biên dịch mã nguồn
deploy – Triển khai ứng dụng vào máy chủ
format-source – Định dạng lại mã nguồn, chỉ ra những vi phạm trong mà
nguồn cần được xử lý
format-javadoc – Định dạng lại javadoc
2.2.9.2. Liferay IDE
Có hai IDE là Liferay Developer Studio và plugin IDE của Eclipse. Liferay
Developer Studio cũng chính là eclipse nhưng được cài cắm thêm các công cụ và do
đó sẽ mất phí. Trong tài liệu này chúng ta sẽ sử dụng Eclipse.
Xem chi tiết hướng dẫn cài đặt SDK vào Eclipse trong Tài liệu hướng dẫn cài
đặt Liferay Framework (phần 2.2. Hướng dẫn cài đặt SDK vào Liferay IDE )
2.3. Portlet
2.3.1. Portlet là gì?
Portlet là một thành phần giao diện người dùng có khả năng được nhúng và hiển
thị trong một portal. Các portlet sinh ra các phân đoạn mã hiển thị được tổng hợp lại
vào portal. Có thể xem portlet như là một ứng dụng nhỏ chạy bên trong một trang của
portal.
Kiến trúc portlet: Portlet có ít nhất 3 phần
Phần 1: java source code : WEB-INF/src
Phần 2: các file config: WEB-INF/portlet.xml, liferay-portlet.xml, liferay
display.xml, liferayplugin-package.properties
Đỗ Tiến Kiên
Trang 25