Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
LỜI CẢM ƠN
Lời cảm ơn đầu tiên, em xin kính gửi lòng biết ơn chân thành đến cha mẹ
đã nuôi dưỡng và dạy bảo để em có ngày hôm nay.
Xin cảm ơn quý Thầy, Cô trường Đại học Nha Trang, đặc biệt là các
Thầy, Cô Khoa Công Nghệ Thông Tin đã tận tình truyền đạt những kiến thức và
kinh nghiệm cho em trong suốt thời gian học tập tại trường.
Em xin gửi lời chân thành cảm ơn thầy, Th.s Trần Mạnh Khang đã tận
tình hướng dẫn em trong suốt thời gian thực hiện đề tài này.
Xin cảm ơn các bạn trong lớp 49THM đã chia sẻ, giúp đỡ và động viên
tôi trong suốt thời gian học tập tại trường cũng như trong thời gian thực hiện đề
tài.
Mặc dù em đã cố gắng hoàn thành đề tài này với tất cả nỗ lực, nhưng vẫn
không tránh khỏi những thiếu sót nhất định. Kính mong nhận được sự chỉ bảo
của quý Thầy, Cô và sự góp ý chân thành của các bạn.
Kính chúc quý thầy cô mạnh khỏe, tiếp tục đạt được nhiều thắng lợi
trong giảng dạy, trong nghiên cứu khoa học và trong sự nghiệp trồng người.
Xin chân thành cảm ơn !
Nha Trang ngày 18 tháng 6 năm 2011
Sinh viên thực hiện
Nguyễn Trần Đức
1
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
TÓM TẮT
• Tên đề tài: Tìm hiểu và triển khai Portal mã nguồn mở.
• Thời gian thực hiện:
− Ngày được giao đề tài: 10-02-2011
− Ngày hoàn tất đề tài: 20-06-2011
• Nội dung nghiên cứu:
o Lý thuyết
Minh, Vĩnh Phúc và một số địa phương khác… Các địa phương này đã xây
dựng được cổng thông tin điện tử cho riêng mình, để nó trở thành một công cụ
phục vụ đắc lực trong việc quản lý, điều hành các hoạt động kinh tế, xã hội.
Nhận thấy tầm quan trọng của portal mà các doanh nghiệp hiện nay đã và
đang dần dần chuyển sang mô hình web portal. Tuy còn nhiều mới mẻ những
sẽ là xu hướng tất yếu trong tương lai gần. Vì vậy em chọn đề tài “Tìm hiểu và
triển khai portal mã nguồn mở “ làm đề tài thực tập tốt nghiệp cho mình
Mục đích: Tìm hiểu công nghệ Portal , tiến hành xây dựng một website portal
mã nguồn mở bằng công cụ do cộng đồng người Việt xây dựng và phát triển.
Nha Trang, ngày tháng năm 2011.
Giáo viên hướng dẫn. 4
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
MỤC LỤC
LỜI CẢM ƠN 1
TÓM TẮT 2
TỔNG QUAN 2
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 4
CHƯƠNG 1. TỔNG QUAN VỀ PORTAL 9
1.1.Khái niệm về Portal 9
2.1.2.4. Portlet Container 23
2.1.2.5. Portal Service 23
2.1.2.6. Portal Server 24
2.2. Các bước xây dựng Portal 25
2.2.1. Lập kế hoạch 25
2.2.2. Thiết kế tổng thể 26
2.2.3. Phát triển Portal 26
2.3. Các công nghệ xây dựng Portal. 27
2.3. 1. Công nghệ xây dựng các phân hệ 27
2.3. 2. Công nghệ để xây dựng Portal 28
2.3.2.1. Bảng so sánh giữa J2EE và .NET 28
5
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
2.3.2.2. Mô hình hoạt động của J2EE và .NET 30
a. Mô hình hoạt động của J2EE
30
b. Mô hình hoạt động của .NET 30
2.4. So sánh các Portal trên thế
giới
30
2.4.1. Các tiêu chí đánh giá 31
a. JSR-168 compliant (Tuân theo JSR-168). 31
b. Ease to installation (Tính dễ dàng cài đặt). 31
c. Documentation Standard (Tài liệu chuẩn). 31
d. Online Support (Hỗ trợ trực tuyến) 31
e. Portal Management (Quản lý Portal). 32
f. Portlet Resources (Các tài nguyên Portal). 32
g. Performance & Scalability. 32
3.4.2. Mô hình hoạt động của NukeViet 3 46
3.5. Ưu nhược điểm của NukeViet. 47
3.5.1. Ưu điểm. 47
3.5.2. Nhược điểm. 47
6
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
3.6. Thành phần yêu cầu. 47
3.6.1. Môi trường máy chủ. 47
3.6.2. Môi trường máy người truy cập. 48
CHƯƠNG 4: CÀI ĐẶT VÀ TRIỂN KHAI WEBSITE PORTAL 48
4.1. TỔNG QUAN 48
4.1.1. Giới thiệu 48
a. Tên đầy đủ. 48
b. Loại hình ứng dụng. 49
c. Mục đích ứng dụng. 49
4.1.2. Các module tích hợp. 49
a. Module About. 49
b. Module News. 49
c. Module User. 49
d. Module Contact. 49
e. Module Statistics. 49
f. Module Voting. 49
g. Module Banners. 49
h. Module Search. 49
i. Module Menu. 49
k. Module RSS. 49
l. Module Shops. 50
m. Module Music 50
n. Module Weather 50
5.2. HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI. 83
5.3. KẾT LUẬN. 84
TÀI LIỆU THAM KHẢO 85
DANH SÁCH CHỮ VIẾT TẮT 85
DANH MỤC CÁC HÌNH 90
DANH MỤC CÁC BẢNG 90
diễn dàn hay cung cấp việc truy cập thống nhất và thuận lợi đến các thông tin
nội bộ trong một website của công ty Portal như một cổng vào vạn năng cho
người dùng tìm kiếm thông tin và tác nghiệp một cách thuận lợi và dễ dàng. Hình 1.1. Hình ảnh về một Portal
1.2. Sự phát triển của web portal
Khái niệm “Web Portal” đã xuất hiện từ khá lâu, chỉ sau khi ra đời WWW
9
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
một
thời gian
ngắn. Ban đầu, các website chỉ như các báo quảng cáo điện tử, chứa
các thông tin của một doanh nghiệp để khách hàng của họ có thể truy cập để xem
và theo dõi một cách thuận tiện. Lúc đó, Portal được dùng để chỉ một trang chủ,
chứa các liên kết đến các nội dung trong một website nào đó. Ngoài ra, nó còn
chứa một công cụ tìm kiếm nội bộ, cho phép người dùng dễ dàng tìm các thông
tin nằm trong nội dung các trang web. Chính vì vậy, cái tên Web Portal mang ý
nghĩa: một cái “cổng” để truy nhập vào website. Web Portal tựa như một danh bạ
Web (Web directory) liên kết với một search engine đơn giản, tất cả chỉ dùng nội
bộ trong một website.
Sau thời gian đầu, các website không chỉ mang ý nghĩa đại diện để giới thiệu của
các công ty, chúng trở thành những công cụ tác nghiệp trực tuyến rất thuận tiện
dành cho cả khách hàng, đối tác và các nhân viên cũng như ban quản trị doanh
nghiệp. Do đó các tính năng quan trọng nên tích hợp vào một website như các
tính năng đăng nhập và xác thực người dùng, các tính năng quản lý nội dung, tính
năng cá nhân hoá, đa ngôn ngữ cũng như các tính năng tác nghiệp cụ thể đối với
từng website. Web Portal
Sang Tiếng Việt, Web Portal được dịch là “Cổng giao tiếp điện tử”, “Cổng
giao dịch điện tử” hoặc ngắn gọn hơn: “Cổng điện tử”. Tuy nhiên, cũng như tên
tiếng Anh của chúng, các từ này thật sự chưa thể phản ánh hết được chính xác thế
nào là một Portal.
Để làm rõ bản chất của Portal chúng ta đưa ra bảng so sánh giữa Portal với
một Website thông thường sau đây.1.3. So sánh Website Portal với một Website thông thườngPortal
Website thông thường
+ Portal hỗ trợ khả năng đăng nhập
một lần tới tất cả các tài nguyên
được liên kết với Portal. Nghĩa là,
người dùng chỉ cần một lần đăng
nhập là có thể vào và sử dụng tất cả
các ứng dụng đã được tích hợp
trong Portal đó mà người dùng này
có quyền.
+ Một website thông thường không
có được khả năng đăng nhập một
lần.
+ Portal hỗ trợ khả năng cá
nhân hóa theo người sử dụng.
Đây là một trong những khả
năng quan trọng của Portal,
giúp nó phân biệt với một
+ Thường không hỗ trợ, nếu có chỉ ở
+ Một vài Website có nhưng chỉ
dừng lại ở mức độ dựng sẵn, người
dùng chỉ có thể lựa chọn một vài
giao diện đã có, mà không tự mình
thay đổi từng mục một cách tùy ý.
+ Liên kết truy cập tới hàng
trăm kiểu dữ liệu, kho dữ liệu,
kể cả dữ liệu tổng hợp hay đã
phân loại. Portal nó có khả
năng liên kết tới tài nguyên dữ
liệu rộng lớn, gồm nhiều kiểu
dữ liệu từ dữ liệu thông thường
đến siêu
dữ liệu.
+ Chỉ sử dụng các liên kết để tới các
site khác nhưng nội dung chủ yếu
vẫn chỉ tập trung trong trang đó.
+ Portal hỗ trợ rất tốt khả năng
liên kết và hợp tác người dùng.
Portal không chỉ liên kết chúng
+ Không hỗ trợ
12
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
ta với những gì chúng ta cần
mà còn liên kết với những
người mà chúng ta cần. Khả
năng liên kết này được thực
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
- Lịch cá nhân: Một số Portal cung cấp dịch vụ “lịch cá nhân - calendar”
miễn phí cho người dùng. Dịch vụ này giúp người sử dụng có thể sử dụng lịch
cá nhân mọi nơi trên Internet.
- Hội thoại trực tuyến: Dịch vụ này cho phép nhóm người dùng hội thoại trực
tuyến với nhau thông qua môi trường Internet, không phụ thuộc vào khoảng
cách địa lý giữa họ. Có thể liệt kê nhiều loại dịch vụ trực tuyến khác như dịch vụ
hỗ trợ kỹ thuật trực tuyến giữa các nhà sản xuất với khách hàng của mình…
- Các dịch vụ khác: Một trong những dịch vụ hấp dẫn người sử dụng là
bưu thiếp điện tử. Thay vì gửi bưu thiếp qua đường bưu điện thông thường,
ngay nay người sử dụng có thể gửi bưu thiếp chức mừng người thân của mình
thông qua mạng Internet.
1.4.4. Cá nhân hoá các dịch vụ (Personalization or Customization).
Cá nhân hoá là dịch vụ đặc trưng quan trọng của Portal. Trên cơ sở các thông
tin của từng khách hàng cụ thể, nhà cung cấp có thể tạo ra các dịch vụ mang tính
định hướng cá nhân, phù hợp với yêu cầu, sở thích của từng khách hàng riêng
biệt của mình. Thông qua đó các nhà cung cấp có khả năng tăng cường mối quan
hệ với khách hàng, duy trì được sự tín nhiệm của khách hàng đối với nhà cung
cấp.
Cá nhân hoá các dịch vụ được tiến hành thông qua dữ liệu thông tin cá nhân
về khách hàng (customer profiles). Dữ liệu này chứa các thông tin mang
tính cá nhân như nghề nghiệp, thói quen, sở thích v.v… từ những thông tin cá
nhân này, các nhà cung cấp có khả năng giới hạn cung cấp các thông tin và các
dịch vụ mà khách hàng thực sự quan tâm muốn có. Có nghĩa là tránh được việc
cung cấp các thông tin và dịch vụ không cần thiết có thể sẽ gây khó chịu cho
khách hàng, và thậm chí dẫn đến quyết định ngừng sử dụng dịch vụ của nhà
cung cấp.
1.4.5. Cộng đồng ảo (Virtual community hay Collaboration).
Cộng đồng ảo là một “một địa điểm ảo” trên Internet mà các cá nhân,
thông tin là đặc tính rất mới của Portal, cho phép xây dựng các dịch vụ truy
cập, xử lý các thông tin nằm bên trong mạng Intranet của một tổ chức, và sau
đó tổ chức hiển thị kết quả xử lý tin trên kênh thông tin của Portal.
1.4.8. Các dịch vụ cơ bản.
15
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
Từ những tính năng của portal nêu trên thì ta có thể hình dung một dịch
vụ mà hệ thống Portal cung cấp :
- Các dịch vụ cơ bản:
Post bài định dạng HTML/Document, Danh sách liên kết, Upload/Download
Files, Thao tác ảnh…
- Các dịch vụ giao tiếp công cộng:
Forum, Thông báo, Thăm dò - Bỏ phiếu…
- Các dịch vụ cung cấp thông tin: Thông báo, Bản tin
- Các dịch vụ tìm kiếm: Tìm kiếm, Phân loại …
- Các dịch vụ trợ giúp người dùng: Thông tin cá nhân, Lịch biểu…
- Các dịch vụ tác nghiệp:
Quản lý nội dung, Hợp tác dự án, Quản lý bán hàng, quản lý nhân sự…
1.4.9. Lợi ích của hệ thống Portal
Hệ thống Portal hỗ trợ cộng đồng người dùng trực tuyến, các cán bộ, nhân
viên, các đối tác và các nhà cung cấp dưới nhiều hình thức kết hợp khác nhau.
Cơ sở hạ tầng Portal giúp việc khởi tạo, tích hợp, quản lí và cá nhân hóa toàn
diện các thông tin và ứng dụng cho mỗi người dùng riêng biệt phục vụ các nhu
cầu và sở thích của một cộng đồng riêng biệt. Các lợi ích thực sự của hệ thống
Portal này đem lại nhìn từ khía cạnh hiệu quả ứng dụng thực tế đó là:
- Nâng cao hiệu quả làm việc cho các cá nhân và tô chưc, đối tác nhờ truy
cập bảo mật, tích hợp tới các thông tin và ứng dụng liên quan, cũng như truy cập
tổng thể tới tất cả các cá nhân, thông tin, tổ chức và các nhà cung cấp từ bất kì
Hình 1.2. Cơ sở Portal theo chiều ngang
1.5.4. Enterprise Portal
Cung cấp các dịch vụ truy xuất thông tin từ mọi nguồn tài nguyên thông
17
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
tin trong mạng Intranet của một tổ chức qua một cổng truy cập duy nhất.
1.5.5. B2B Portal
Cung cấp các dịch vụ định hướng theo mối quan hệ tương tác thông tin hai
chiều giữa các doanh nghiệp (B2B) trong môi trường thương mại điện tử.
1.5.6. G2G Portal
Cung cấp các dịch vụ hành chính công theo mối quan hệ tương tác thông tin
hai chiều giữa các cơ quan hành chính nhà nước (G2G) trong môi trường trao đổi
thông tin điện tử. CHƯƠNG 2. CÁC KỸ THUẬT CỦA HỆ THỐNG PORTAL
2.1. Portlet.
2.1.1. Khái niệm portlet.
Portlet là giao diện người dùng, là các module tương tác nhiều mức cho phép
tích hợp vào Portal các ứng dụng web khác nhau. Các Portlet này sinh ra các
đoạn trang (fragment), các đoạn trang này được Portal ghép lại thành một trang
hoàn chỉnh .
trang, nó gọi Code Portlet và sử dụng giao diện tiền định nghĩa. JSR168 định
nghĩa một giao diện Portlet địa phương chuẩn cho môi trường J2EE.
Hình 2.2. Local Portlet
2.1.2.2. Portlet từ xa (Remote Portlet)
Portlet từ xa là các Portlet thực thi bên ngoài một máy chủ Portal, hoặc bên
trong một máy chủ của một tổ chức hoặc ở một vị trí từ xa. Khi một Portal cần
đoạn trang, nó sẽ gọi Portlet từ xa thông qua SOAP.
20
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
Hình 2.3. Remote Portlet
Giao thức WSRP cung cấp định nghĩa một chuẩn giao diện SOAP cho các
Portlet từ xa. Vấn đề quan trọng của Portlet từ xa là tách các Portlet ra khỏi tổ
chức và môi trường Portal. Để thực hiện việc này có thể :
- Sử dụng các Portlet thành phần thứ ba để tạo thành các Portal mới.
- Phân bổ trách nhiệm tạo và bảo trì các chức năng ứng dụng giữa các đơn vị
khác nhau.
- Sử dụng các công cụ phát triển, các phương thức và các kiến trúc khác nhau
để tạo ra các chức năng Portlet.
- Đạt được thông qua môi trường phát triển trong vấn đề tải, thực thi, quản lý
và bảo mật.
2.1.2.3. WebService cho các Portal từ xa (WSRP)
Chuẩn WSRP là giao thức định nghĩa giao diện SOAP tạo khả năng cho các
Portal và các ứng dụng không phải là Portal kết nạp vào các Portlet từ xa. WSRP
Các Framework Portal cung cấp môi trường thực thi thời gian thực cho các
Portlet được biết đến như là một Portlet Container. Sự tổng hợp nội dung không
phải là chức năng liên kết với Portlet Container nhưng nó lại liên kết với Portal
hoặc Portal server. Hình 2.5. Mô tả ngữ cảnh trong đó tồn tại một Portlet
2.1.2.5. Portal Service
Portlet dựa vào container cung cấp hạ tầng cơ sở cần thiết để đáp ứng cho một
môi trường Portal. Cơ sở hạ tầng Portal cung cấp tập hợp các dịch vụ cốt lõi
được yêu cầu bởi các Portlet.
- Dịch vụ cá nhân hóa tạo khả năng cho các Portlet sử dụng các công cụ và
các thông tin profile để sửa đổi nội dung nhằm mục đích thỏa mãn người dùng.
- Dịch vụ thông báo sự kiện tạo khả năng cho các Portlet đáp ứng nhiều yêu
cầu mà không ảnh hưởng đến môi trường của Portal.
- Dịch vụ liên lạc cung cấp sự giao tiếp từ Portlet này tới Portlet khác.
- Quản trị nội dung đáp ứng kết nối dễ dàng tới tài nguyên ứng dụng hay nội
23
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
dung ảo nào đó.
- Các dịch vụ tìm kiếm đáp ứng việc tìm kiếm đa tiêu chí trên nhiều
nguồn tài nguyên dữ liệu.
- Dịch vụ hợp tác tạo khả năng cho người dùng liên lạc và tham dự vào
các cộng đồng người sử dụng cùng quan tâm đến một lĩnh vực.
- Dịch vụ quản trị người dùng và nhóm người dùng cho phép người sử dụng
gia nhập vào một Portal, tự quản lý tài khoản và các thông tin mà mình ưa thích.
- Dịch vụ biến đổi trang đáp ứng rất nhiều thiết bị client.
- Các dịch vụ khác cung cấp hoặc quản lý
Profile người dùng và các kiểu dữ liệu liên tục.
Hình 2.7. Trang Portal yêu cầu xử lý kịch bản
2.2. Các bước xây dựng Portal
2.2.1. Lập kế hoạch
25