Tải bản đầy đủ (.docx) (39 trang)

đồ án mã nguồn mở liferay

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.33 MB, 39 trang )

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO
ĐỒ ÁN MÔN HỌC MÃ NGUỒN MỞ
Đề tài
PHÁT TRIỂN WEBSITE TRƯỜNG THPT
VỚI LIFERAY PORTAL
GVHD: PGS. TS. VŨ THANH NGUYÊN
Ths. PHAN TRUNG HIẾU
Nhóm thực hiện: Phạm Văn Trung - 11520438
Võ Văn Tịnh - 11520415
Nguyễn Văn Tiến - 11520408
Lớp: SE417.F11
Tp. Hồ Chí Minh, tháng 1 năm 2015
LỜI CẢM ƠN

Lời đầu tiên, nhóm em xin chân thành cảm ơn Thầy Vũ Thanh Nguyên và Thầy Phan
Trung Hiếu! Các thầy đã tận tình chỉ bảo, truyền đạt những kiến thức vô cùng bổ ích, quý
báu cũng như những ví dụ cụ thể, sinh động, hấp dẫn để nhóm em có thể thực hiện tốt đề tài
này.
Nhóm em cũng xin cảm ơn Trường Đại Học Công Nghệ Thông Tin! Trường đã tạo
thư viện học tập rất lý tưởng cho chúng em có thể họp nhóm hiệu quả.
Nhóm em cũng xin gửi lời cảm ơn sâu sắc đến gia đình, bạn bè và những người thân
đã động viên, cổ vũ về vật chất cũng như tinh thần giúp em vượt qua khó khăn, trở ngại để
tiếp tục hoàn thành đề tài.
Xin chân thành cảm ơn!
Tp. HCM, tháng 1– 2015
Nhóm thực hiện
MỤC LỤC
LỜI NÓI ĐẦU


Công nghệ thông tin phát triển mạnh mẽ đã tác động tích cực đến mọi mặt đời sống
kinh tế, xã hội. Các công việc dễ dàng được quản lý và thực hiện trên máy tính. Điều này
giúp tăng năng suất, hiệu quả làm việc một cách đáng kể.
Các phần mềm được ra đời ngày càng nhiều để phục vụ cho nhu cầu tin học hoá của
con người. Nhưng để sản xuất ra một sản phẩm phần mềm, đòi hỏi các nhà phát triển, kỹ sư
phải làm việc với quy trình chặt chẽ, từ khâu khảo sát hiện trạng, xác định yêu cầu cho đến
phân tích, thiết kế, cài đặt, kiểm thử, vận hành và bảo trì phần mềm. Việc này đòi hỏi nhiều
thời gian, công sức. Một giải pháp khá hay được đặt ra là sử dụng “Phần mềm mã nguồn
mở”. Theo đó, người kỹ sư không cần phải tốn nhiều công sức để tạo ra một sản phẩm phần
mềm theo yêu cầu của khách hàng. Họ chỉ việc tuỳ chỉnh, gia công, phát triển thêm những
tính năng, chức năng của phần mềm hiện có để tạo ra sản phẩm đến tay người dùng.
Hoà nhịp với xu thế đó, nhóm chúng em đã nghiên cứu và phát triển ứng dụng mang
tên “Website trường THPT Trần Cao Vân”. Với ứng dụng này, các thông tin, hoạt động
của trường THPT (quản lý điểm số học sinh, tài liệu giảng dạy…) tin học hoá một cách tiện
lợi.
Mặc dù nhóm đã cố gắng hoàn thành tốt đề tài, nhưng chắc hẵn không tránh khỏi
thiếu sót. Rất mong nhận được lời nhận xét, góp ý của quý Thầy và các bạn!
Xin chân thành cảm ơn!
Tp. Hồ Chí Minh, tháng 1 – 2015
Nhóm thực hiện
NHẬN XÉT CỦA GIẢNG VIÊN

Đồ án môn học mã nguồn mở
1 GIỚI THIỆU
1.1 Portal (Cổng thông tin điện tử)
1.1.1 Tổng quan
1.1.1.1 Khái niệm
Cổng thông tin điện tử tích hợp là điểm truy cập tập trung và duy nhất, tích hợp
các kênh thông tin, các dịch vụ và ứng dụng, phân phối tới người sử dụng thông qua
một phương thức thống nhất và đơn giản trên nền tảng Web.

1.1.1.2 Phân loại
Cổng thông tin cung cấp cho người dùng cuối nhiều loại dịch vụ khác nhau với nhiều
nhu cầu khác nhau, có thể phân loại các công thông tin (portal) như sau:
• Cổng thông tin công cộng (Public portals): ví dụ như Yahoo, loại cổng thông tin này
thường được sử dụng để ghép nối các thông tin lại với nhau từ nhiều nguồn, nhiều
ứng dụng và từ nhiều người, cho phép cá nhân hoá (personalization) các website theo
tuỳ từng đối tượng sử dụng.
• Cổng thông tin doanh nghiệp (“Enterprise portals” hoặc “Corporate
Desktops”): được xây dựng để cho phép các thành viên của doanh nghiệp sử dụng và
tương tác trên các thông tin và ứng dụng nghiệp vụ tác nghiệp của doanh nghiệp.
6
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
• Cổng giao dịch điện tử (Marketplace portals): ví dụ như eBay và ChemWeb, cổng
thông tin này là nơi liên kết giữa người bán và người mua.
• Cổng thông tin ứng dụng chuyên biệt (Specialized portals): ví dụ như SAP portal,
cổng thông tin loại này cung cấp các ứng dụng chuyên biệt khác nhau.
1.1.1.3 Các tính năng cơ bản của một portal
Tuy có nhiều loại cổng thông tin khác nhau, cung cấp nhiều loại dịch vụ và ứng dụng
khác nhau, nhưng tất cả các loại cổng thông tin đều có chung một số tính năng cơ bản. Các
tính năng này là được sử dụng như là một tiêu chuẩn để phân biệt giữa cổng thông tin với
một website tổng hợp tin tức, với ứng dụng quản trị nội dung web (web content
management system - Web CMS), hoặc với một ứng dụng chạy trên nền tảng Web (web
application).
Các tính năng cơ bản (bắt buộc phải có) của một portal bao gồm:
• Khả năng cá nhân hoá (Customization hay Personalization): cho phép thiết đặt các
thông tin khác nhau cho các loại đối tượng sử dụng khác nhau theo yêu cầu. Tính
năng này dựa trên hoạt động thu thập thông tin về người dùng và cộng đồng người
dùng, từ đó cung cấp các thông tin chính xác tại thời điểm được yêu cầu.

• Tích hợp nhiều loại thông tin (Content aggregation): cho phép xây dựng nội dung
thông tin từ nhiều nguồn khác nhau cho nhiều đối tượng sử dụng.
• Xuất bản thông tin (Content syndication): thu thập thông tin từ nhiều nguồn khác
nhau, cung cấp cho người dùng thông qua các phương pháp hoặc giao thức
(protocol) một cách thích hợp.
• Hỗ trợ nhiều môi trường hiển thị thông tin (Multidevice support): cho phép hiển
thị cùng một nội dung thông tin trên nhiều loại thiết bị khác nhau như: màn hình máy
tính (PC), thiết bị di động (Mobile phone, Wireless phone, PDA), sử dụng để in hay
cho bản fax…. một cách tự động bằng cách xác định thiết bị hiển thị thông qua các
thuộc tính khác nhau.
• Khả năng đăng nhập một lần (Single Sign On - SSO): cho phép dịch vụ xuất bản
thông tin hoặc các dịch vụ khác của portal lấy thông tin về người dùng khi hoạt động
mà không phải yêu cầu người dùng phải đăng nhập lại mỗi khi có yêu cầu.
• Quản trị portal (Portal administration): xác định cách thức hiển thị thông tin cho
người dùng cuối. Tính năng này không chỉ đơn giản là thiết lập các giao diện người
dùng với các chi tiết đồ hoạ (look-and-feel), với tính năng này, người quản trị phải
định nghĩa được các thành phần thông tin, các kênh tương tác với người sử dụng
cuối, định nghĩa nhóm người dùng cùng với các quyền truy cập và sử dụng thông tin
khác nhau.
• Quản trị người dùng (Portal user management): cung cấp các khả năng quản trị
người dùng cuối, tuỳ thuộc vào đối tượng sử dụng của portal. Tại đây, người sử dụng
có thể tự đăng ký trở thành thành viên tại một công thông tin công cộng (như Yahoo,
MSN…) hoặc được người quản trị tạo lập và gán quyền sử dụng tương ứng đối với
các công thông tin doanh nghiệp.
7
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
1.1.1.4 Portlet
Là một thành phần Web có khả năng gắn nối được quản lý bởi một portlet container,

cái cung cấp một cách linh động nội dung như là một phần của sự kết hợp giao diện người
dùng.
Portlet là một thành phần nhỏ của ứng dụng web, chạy bên trong trang portal cùng với
một số lượng bất kỳ các thực thể nào đó khác, nó có thể xử lý các request và tạo ra các nội
dung động.
1.1.2 Sự khác biệt giữa Website thông thường và Portal
Portal là bước phát triển kế tiếp của công nghệ web. Sự khác biệt chính giữa Portal và
Website là: Website được xây dựng như một đơn vị thông tin độc lập, còn Portal được thiết
kế để trở thành trung tâm tích hợp thông tin, ứng dụng và dịch vụ mạng. Với Portal, người
dùng có thể tìm được mọi dịch vụ cần thiết để khai thác và xử lý thông tin chỉ cần đăng
nhập một lần theo cơ chế một cửa. Điểm khác biệt này cũng quy định nên sự khác biệt về
ứng dụng giữa Portal và Website. Trên thế giới, xu hướng ứng dụng Portal đang ngày càng
trở nên phổ biến trong các lĩnh vực như chính phủ điện tử (E-government), thương mại điện
tử, đào tạo trực tuyến
1.2 Liferay Portal
1.2.1 Tổng quan
Liferay Portal là giải pháp Cổng điện tử đượ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.
Là giải pháp cổng thông tin dành cho cả những tổ chức cá nhân và cộng đồng.
Thực thi trên tất cả các ứng dụng servers & servlet, cơ sở dữ liệu và các hệ điều hành
chính yếu (có hơn 700 sự phối hợp triển khai)
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
Điểm chuẩn giữa các nền cổng thông tin được bảo mật nhất sử dụng bộ Logiscan của
LogicLibrary
Được tích hợp bộ Cộng tác và Hệ thống quản lý dữ liệu (CMS).
8
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu

Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
1.2.2 Tính năng nổi bật của Liferay Portal
1.2.2.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ào 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
1.2.2.2 Xây dựng dịch vụ
Công cụ riêng biệt Liferay 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.
1.2.2.3 Thay đổi Look-And-Feel chỉ với một thao tác nhấn chuột đơ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 với chương trình Người quản lý cập nhật phần mềm Liferay.
1.2.2.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ế.
Tất cả các chủ đề đang CSS định hướng để làm thay đổi cái nhìn và cảm thấy dễ
dàng hơn
1.2.2.5 Các ứng dụng/WebOS tự do
Sau khi định hướng mở đầu tính năng sắp xếp lại vị trí các ứng dụng cổng thông
tin, Liferay Portal hiện đang đưa ra một kỹ thuật sắp xếp bố cục trang web tự do
tương tự như cơ chế look-and-feel của môi trường máy bàn …

1.2.2.6 Nâng cấp các hiệu ứng giao diện/bố cục trang Web cổng thông tin
 Quản lý hiệu ứng giao diện theo quyền sử dụng hệ thống
 Chuẩn hóa sườn jQuery Javascript
 Đơn giản hóa quy trình phát triển hiệu ứng giao diện
 Cải tiến ngôn từ và tính năng sử dụng phù hợp hơn với thực tế sử dụng
 Chuẩn hóa
 Nhập/Xuất LAR cho hiệu ứng giao diện
9
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
1.2.2.7 Hỗ trợ WebDAV
Người sử dụng sẽ quản lý chặt chẽ hơn nội dung cổng thông tin bằng những quy
ước hệ điều hành quen thuộc cho các tài liệu và thư mục.
Hỗ trợ đầy đủ cho các hệ điều hành Windows và Linux.
1.2.2.8 Hệ thống quản lý quyền sử dụng chặt chẽ
Kiểm tra, cung cấp các chức năng và thông tin đúng với quyền sử dụng của từng
thành viên.
Kiến trúc kiểm tra quyền sử dụng có khả năng mở rộng và sử dụng lại được sử
dụng xuyên suốt cổng thông tin và có thể áp dụng cho từng thành phần của ứng dụng
cổng thông tin như nút bấm, thông báo, ứng dụng và người sử dụng.
1.2.2.9 Thời gian trình bày ứng dụng
Các ứng dụng được tải độc lập khi chúng đã được triển khai sẵn sàng. Vì vậy,
người sử dụng không cần phải chờ khởi động cổng thông tin.
1.2.2.10Tính năng quy trình làm việc
Giảm thời gian cập nhật các ứng dụng để phản ánh hiện thực những hoạt động
kinh doanh của bạn thay đổi như thế nào
Các quy trình được cập nhật dễ dàng như thanh toán thương mại điện tử, đăng ký
người sử dụng, công bố nội dung và xác nhận tài liệu.
Cài đặt mặc định của jBPM có thể được thay thế bằng Intalio hoặc các cơ chế quy

trình làm việc khác.
1.2.2.11Trợ giúp nhanh
Người sử dụng cổng thông tin có thể được truy cập thông tin cụ thể cho từng
công cụ họ đang sử dụng bất kỳ lúc nào bằng cách nhấn biểu tượng dấu chấm hỏi.
1.2.2.12Tích hợp Liferay trong Eclipse
Để giảm bớt thời gian phát triển một ứng dụng cổng thông tin mới, Liferay đã kết
hợp với Eclipse để tạo ra những tập tin cấu hình XML tự động và cho phép phát triển
JSP/những lớp xử lý hành động chỉ bằng một vài thao tác nhấn chuột đơn giản.
1.2.2.13Những công cụ giao diện AJAX
Tính linh hoạt của Liferay Portal cho phép nó được triển khai theo nhiều cách
khác nhau để đáp ứng nhu cầu kinh doanh then chốt.
1.2.2.14Hình thức triển khai
Tính linh hoạt của Liferay Portal cho phép nó được triển khai theo nhiều cách
khác nhau để đáp ứng nhu cầu kinh doanh then chốt.
Dưới đây là một số mô hình Liferay Portal đang sử dụng:
10
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
- Kết hợp mạng bên ngoài (Extranet)
- Mạng nội bộ công ty
- Quản lý dữ liệu và công bố Web
- Cộng tác
- Cổng thông tin cơ sở hạ tầng
1.2.2.15Các ứng dụng được tích hợp sẵn
Liferay Portal đưa ra các chức năng vô cùng hữu ích với trên 60 ứng dụng theo
chuẩn JSR-168.
Danh mục ứng dụng:
- Quản trị
- Quản lý dữ liệu

- Cộng tác
- Cộng đồng
- Giải trí
- Công cụ cá nhân
- Công cụ mua sắm
- Công cụ người phát triển
1.2.2.16Những lợi ích kinh doanh cơ bản mà life mang lại
 Cung cấp kinh nghiệm cộng tác trực quan cho các đối tượng người sử dụng.
 Củng cố, tổ chức và truy xuất tất cả dữ liệu và ứng dụng của bạn thông qua cơ
chế điểm truy cập đơn.
 Tối ưu hóa những hạ tầng CNTT sẵn có.
 Có khả năng điều chỉnh, thích ứng những yêu cầu tương ứng với sự thay đổi của
thị trường.
 Sắp xếp hoạt động kinh doanh của bạn một cách an toàn nhất, giảm thiểu tối đa
sự ảnh hưởng đến hạ tầng CNTT có sẵn.
 Giúp bạn thu được TCO thấp nhất.
1.2.3 Đặc trưng của Liferay
Những thuận lợi thu được trong mội trường làm việc thực tế hiện nay được đưa vào
bộ cộng tác Liferay.
- Nhật ký điện tử – Chức năng bao gồm hỗ trợ RSS, lời chú thích của khách và
người sử, danh mục trình duyệt, tags và nhãn, và hệ thống đánh giá hạng mục.
- Bảng thông báo – Bao gồm hỗ trợ đăng tin nóng, thống kê, tin đăng gần đây,
RSS, đăng ký thư điện tử cơ bản, biểu tượng hình người sử dụng, quản lý luồng
thông báo (chuyển đến một danh mục khác) và quyền sử dụng.
- Hệ thống tin nhắn doanh nghiệp – Công nghệ AJAX trên nền nghi thức Jabber
cho phép người sử dụng thêm bạn tán gẫu từ danh sách người sử dụng cổng
thông tin. Cửa sổ tán gẫu hiện diện trên trang cổng thông tin.
11
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến

Đồ án môn học mã nguồn mở
- Lịch công tác chia sẻ – Lịch công tác cộng đồng với danh sách các tác vụ được
lưu giữ theo nhóm sự kiện cơ bản.
- Sổ địa chỉ – Quản lý những đối tác liên lạc của bạn trong Liferay Portal.
- Thư điện tử – Hệ thống WebMail trên nền AJAX được cấu hình để giao tiếp với
nhiều hệ thống thư chủ IMAP nổi tiếng.
- RSS – Yêu cầu đọc tin RSS thường xuyên trong cổng thông tin.
- Wikis – Cộng tác trên những tri thức thu thập với Liferay wiki, cho phép đánh
dấu và phục hồi phiên bản.
- Hỗ trợ Microformat – Chuyển lịch công tác của bạn và thông tin người sử dụng
thông qua chuẩn Web 2.0. Các ứng dụng Liferay chuẩn hóa dữ liệu theo
microformats (hCard, hCalendar …) để dễ sử dụng và tích hợp với các ứng
dụng khác (như Yahoo, Technorati …).
- Hỗ trợ lịch biểu – Nhập và xuất các sự kiện từ ứng dụng lịch công tác. Liferay
hỗ trợ iCal và Exchange.
- Hỗ trợ Meta-Tagging – Sử dụng chức năng tag của Liferay với ứng dụng CMS
của Liferay để chia sẻ những nội dung thú vị và quan trọng với những người sử
dụng khác.
12
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
1.2.4 Kiến trúc Liferay Portal
1.2.4.1 Kiến trúc
Kiến trúc logic của Liferay gồm 6 layer như hình dưới
Mỗi layer sẽ được phân biệt bởi một màu nền khác nhau
- Layer 1: OS
• Dĩ nhiên các software muốn chạy được thì cần có hệ điều hành
• Liferay hỗ trợ Windows, Mac and Linux.
- Layer 2: JVM

• Liferay được phát triển trên ngôn ngữ Java nên cần JVM
- Layer 3: JVM
• Java là 1 web portal và để chạy bất kỳ ứng dụng web nào thì ta cũng cần
application server (application server sẽ chạy với sự giúp đỡ của JVM)
• Liferay hỗ trợ vài cái application servers như là Apache Tomcat, Glassfish,
Geronimo, Jetty, JOnAS, JBoss, and Resin
• Mặc đinh, mỗi application servers đều cung cấp vài dịch vụ cho deployed
applications. Liferay Portal Application sử dụng các dịch vụ như là JNDI,
JDBC, JTS, JMS, JAAS, JDO, JWS, JSP/Servlets, and JavaMail
o Application servers là phần mềm hệ thống để cho các ứng dụng web,
ứng dụng desktop chạy trên đó. Application servers bao gồm trình kết
nối máy chủ web, ngôn ngữ lập trình, các thư viện runtime, trình kết
nối csdl, deployed, config, quản lý, kết nối các thành phần của 1 web
host. Application servers chạy phía sau một máy web server (ví dụ như
Apache hay IIS của Microsoft) và (gần như luôn luôn) ở phía trước của
13
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
một csdl SQL (ví dụ như PostgreSQL, MySQL hoặc Oracle). Các ứng
dụng Web là mã máy mà chạy trên Application servers và được viết
bằng các ngôn ngữ hỗ trợ Application servers và gọi các thư viện
runtime và các thành phần Application servers cung cấp.
o JNDI: là 1 chuẩn cho Java Naming and Directory Interface. Nó là Java
API. JNDI như là một công cụ, ta sẽ dùng nó cho các hoạt động
naming ( vd: packet, lấy tên đầy đủ của class, tạo kết nối cơ sở dũ
liệu…)
o JTS: Java Transaction Service.
o JMS: Java Message Service
o JAAS: Java Authentication and Authorization Service

o JDO: Java Data Objects
o JavaMail: là 1 api, dùng để gởi và nhận mai thông qua các giao thức
SMTP, POP3 và IMAP
• Liferay cũng sử dụng các dịch vụ mở rộng và cách dịch vụ đó có thể được
deploy vào application services. Các dịch vụ đó nhứ là SOLR Search engine,
DROOLS Rule Engine and Tunneling Servlets
o SOLR Search engine
o DROOLS Rule Engine
o Tunneling Servlets
- Layer 4: Đây mới thực sự là cốt lõi kiến trúc và công nghệ của Liferay.
• Language adapter: Cung cấp cơ chế để phát triển và chạy các portlet của ngôn
ngữ khác như là PHP, Ruby, Python và Groovy
• Portlet Bridge / JSR 168/286
o Liferay implemented Portlet Bridge để triển khai JSR 168/286 portlets
và hỗ trợ các ứng dụng RIA
o Chúng ta cũng có thể sử dụng Web framework liên quan đến Portlet
Bridges để convert Web work flow vào Portlet Work flow
• Struts Portlet Bridges: dùng để chạy Struts framework dựa trên các ứng dụn
portlet
• Spring Portlet Bridge(Spring Portlet MVC): dùng để chạy spring frame work
dựa trên các ứng dụn portlet
• JCR ( Java Content Repository):
• BPM(Business Process Management):
• Lucene Engine:
- Layer 5:
o Layer này cung cấp cơ chế như vậy mà chúng ta có thể tùy chỉnh hoặc mở
rộng các tính năng liferay và cung cấp các công cụ implementation các
dịch vụ nhanh chóng, ví dụ như service builder.
- Layer 6:
14

Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
o Đây là layer ứng dụng, mang lại trải nghiệm cho người dùng cuối, 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, quản lý doanh nghiệp, quản lý tài liệu, quản lý tài khoản, quản Work
flow, quản lý bảo mật.
1.2.4.2 Sơ đồ triển khai
- Frameworks: cung cấp các thư viện về liferay
- Frontend : Liferay sẽ cung cấp các thành phần giao diện.
- Web Services API: cung cấp các web service để hiển thị và giao tiếp trên Mobile
Apps
 Layer này được xây dựng tự động bằng công cụ tuyệt vời mà được gọi
là Service Builder dựa trên giao diện dịch vụ từ xa và các chú thích còn
lại trong việc thực hiện của các nhà phát triển của nó.
 Lớp này được xây dựng tự động bằng công cụ tuyệt vời mà được gọi là
Service Builder dựa trên interface remote service và các chú thích còn
lại trong việc implement của các nhà phát triển.
 Layer này có 2 giao thức quan trọng và thường được sử dụng nhất là:
• JSON Web Services
• SOAP
- Services: cung cấp các service lưu trữ gồm 2 Loai Remote và Local.
 Local Services: Đây là những người có chứa các business logic và giao
tiếp với persistence layer.
15
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
 Remote Services: Mục tiêu chính là để thực hiện an ninh kiểm tra trước
khi gọi phương thức tương đương ở các local service. Trong một số

trường hợp, các remote services cũng chịu trách nhiệm để chuyển đổi
các đối tượng Java được trả về bởi local service sang các định dạng
khác.
 Mỗi persisted entity có một service liên quan. Ví dụ, User entity có
UserService, DLFileEntry(các thực thể được sử dụng để lưu trữ tài liệu
văn bản &Phương tiện truyền thông) có LFileEntryService.
 Các service method được excute trong một transaction.
1.3 Phạm vi đề tài
Sau đây là các chức năng của website trường THPT Trần Cao Vân:
• Quản trị hệ thống
- Đăng nhập.
- Thay đổi thông tin của trường.
- Tạo các Template hiển thị.
• Trang chính (Home).
• Quản lý nội dung
- Thêm bài đăng, thông báo, tin tức
- Thêm, chỉnh sửa cấu trúc, cách hiển thị bài đăng.
- Tải lên tài liệu, hình ảnh
- Tạo các trang hiển thị
- Quản lý người dùng
- Tạo người dùng mới
- Phân quyền người dùng
- Tạo các group, team
- Quản lý điểm học sinh
- Giáo viên, admin nhập điểm học sinh
- Hiển thị điểm cho học sinh – phụ huynh xem
- Quản lý các nghiệp vụ: giáo viên, học sinh, phân công giảng dạy…
- Quản lý các Module khác
- Quản lý danh sách các chuyện cười và hiển thị lên website
- Quản lý các câu nói nổi tiếng

- Quản lý các đường link liên kết
2 LICENSE SỬ DỤNG TRONG LIFERAY PORTAL
2.1 Liferay Portal sử dụng bản quyền mã nguồn mở: GNU LGPL.
2.2 GNU LGPL
2.2.1 Nhà phát hành
Open Source Initiative OSI - The LGPL: Cấp phép
16
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
GNU Lesser General Public License (LGPL). Phiên bản 2.1 phát hành tháng 2 năm 1999.
Lesser GNU General Public License (LGPLv3) phát hành tháng 6 năm 2007. Giấy phép này
là một tập các điều khoản bổ sung thêm vào phiên bản 3 của GNU General Public License.
2.2.2 Vài nét về LGPL
LGPL thiết lập các hạn chế copyleft trên chương trình quản lý bởi nó nhưng không áp
dụng những hạn chế này cho các phần mềm chỉ kết nối với chương trình. Tuy nhiên, có một
số hạn chế trên phần mềm này.
LGPL được sử dụng chủ yếu cho các thư viện phần mềm, mặc dù nó cũng được sử dụng
bởi các chương trình ứng dụng stand-alone khác, tiêu biểu như Mozilla và OpenOffice.org.
Giấy phép LGPL rất gần với GPL, nhưng cho phép gọi các hàm từ một chương trình
khác, không cần các chương trình sử dụng chương trình dưới LGPL này phải là nguồn mở.
Giấy phép này vì thế đặc biệt thích hợp với các thư viện hàm, bản chất là để cho các chương
trình khác nhau gọi tới, không đặt ra các điều kiện quá mạnh cho các chương trình này.
Ban đầu LGPL có nghĩa là Library GPL, nhưng tên gọi sau đã được đổi thành Lesser GPL
(yếu hơn GPL), bởi vì Richard Stallman muốn hạn chế tối đa sự tương ứng “thư viện
(Library) = LGPL” và cho phép trù tính có cả các thư viện dưới GPL. Giấy phép LGPL là
một sự thỏa hiệp giữa quyết tâm mạnh mẽ cổ động cho nguồn mở, và tránh sự thu hồi nó để
phục vụ cho các phần mềm tư hữu, và mặt khác ý muốn đem lại dịch vụ lớn nhất thông qua
sự sử dụng rộng rãi nhất.
Gọi giấy phép này là "Lesser" General Public License bởi vì nó ít để bảo vệ quyền tự do

của người dùng hơn bình thường General Public License. Nó cũng cung cấp cho các nhà
phát triển phần mềm khác. Less của một lợi thế cạnh tranh trên không phải chương trình
miễn phí. Những bất lợi là lý do chúng tôi sử dụng tổng hợp thông thường Giấy phép Công
cộng cho thư viện nhiều. Tuy nhiên, các giấy phép Lesser cung cấp những lợi thế trong một
số trường hợp đặc biệt.
3 XÂY DỰNG WEBSITE TRƯỜNG THPT VỚI LIFERAY PORTAL
3.1 Đặc tả yêu cầu
Website trường THPT Trần Cao Vân gồm có các thành phần chính như sau:
- Tiêu đề trang web: nơi thể hiện logo trường, tên trường, hình ảnh trường, địa chỉ,
điện thoại, email, website, mục tìm kiếm, đăng nhập vào hệ thống, đăng ký thành
viên…
- Menu chức năng chính của website: thể hiện các chức năng có trong trang web.
Các chức năng này sẽ được thể hiện rõ trong biểu đồ phân tích chức năng (bên dưới).
17
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
- Các liên kiết tới một số trang web khác như: website của sở/phòng giáo dục địa
phương, website các trường bạn, diễn đàn của học sinh trường, tra cứu điểm thi đại
học, cao đẳng; từ điển trực tuyến; học tiếng anh …
- Quản lý các dữ liệu của nhà trường (văn bản, quy chế, quy định…), của giáo viên
(tài liệu giảng dạy…), học sinh (điểm số, thời khóa biểu…), các hình ảnh, bộ sưu
tập…
3.1.1 Cấu trúc tổng quan của website đã xây dựng
3.1.2 Yêu cầu trọng tâm
3.1.2.1 Chức năng căn bảng
• Phân quyền: có quyền cho học sinh, giáo viên, quản trị viên. 1 user có thể có
nhiều quyền.
• Hoc sinh đăng nhập vào tài khoản của mình là có thể thấy điểm các môn học của
mình

3.1.2.2 Chức năng nâng cao
• Cho phép giáo viên xuất danh sách điểm
• Cho phép giáo viên nhập bảng điểm từ excel
18
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
3.2 Các chức năng chính của website
3.2.1 Actor chính
Dưới đây là danh sách các actor thao tác với module quản lý điểm học sinh:
- Phụ huynh – Học sinh: cho phép xem điểm, không được chỉnh sửa.
- Giáo viên: cho phép chọn môn để nhập điểm, chỉnh sửa điểm.
- Quản trị viên: có tất cả các quyền thao tác với module này.
3.2.2 Các use case hệ thống
3.2.2.1 Phụ Huynh – Học Sinh
3.2.2.2 Giáo Viên
19
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
3.2.2.3 Quản Trị Viên
3.2.3 Danh sách các chức năng của hệ thống
ST
T
Tên chức năng, nghiệp Vụ Biểu mẫu Qui định Ghi chú
Quản Lý Nội Dung
1 Thêm các bài đăng, thông báo, tin tức
2
Cho phép thêm, chỉnh sửa cấu trúc
cũng như cách hiển thị bài đăng.

Thiết lập cấu trúc hiển thị
3
Cho phép tải lên các tài liệu và hình
ảnh
4 Cho phép tạo các trang hiển thị
Quản Lý người dùng
5 Tạo người dùng mới
6 Phân Quyền
7 Tạo các Group, Team
Quản Lý Hệ Thống
8
Cho Phép cấu hình và thay đổi các
thông tin của Trường
9 Tạo các Template Hiển thị
20
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
Quản Lý các Module khác
10
Quản lý danh sách các chuyện cười và
hiển thị lên trang
11 Quản Lý các câu nói nổi tiếng
12 Quản Lý các đường Link Liên Kết
Quản Lý Điểm
13
Cho phép giáo viên Nhập điểm học
sinh
Nhập điểm học sinh thủ
công hoặc import từ file

excel
14 Hiển thị Điểm Cho Học Sinh Xem
Cho phép xem điểm
15
Quản Lý các nghiệp vụ như: Giáo
viên, Học Sinh, Phân công Giảng
dạy…
21
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
3.2.4 Lược đồ cơ sở dữ liệu
3.2.4.1 Cơ sở dữ liệu của module Quản lý điểm – thông tin học sinh trường THPT
3.2.4.2 Cơ sở dữ liệu toàn bộ website trường THPT Trần Cao Vân
Được Liferay Portal hỗ trợ sẵn để lưu trữ các nội dung, đăng tải…
22
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
4 PHÁT TRIỂN, TRIỂN KHAI LIFERAY PORTAL ĐỂ XÂY DỰNG
WEBSITE TRƯỜNG THPT
4.1 Những phần đã triển khai tốt
4.1.1 Đăng nhập
23
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
4.1.2 Trang chính
24
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu

Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến
Đồ án môn học mã nguồn mở
4.1.3 Trang quản lý dành cho Admin
4.1.3.1 Quản lý học sinh
25
Giảng viên hướng dẫn: PGS. TS. Vũ Thanh Nguyên – Ths. Phan Trung Hiếu
Sinh viên thực hiện: Phạm Văn Trung, Võ Văn Tịnh, Nguyễn Văn Tiến

×