Đồ á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
- Tìm hiểu các khái niệm liên quan đến portal.
- Các portal mã nguồn mở thông dụng hiện nay.
- Tìm hiểu Hệ quản trị nội dung mã nguồn mở NukeViet.
o Chương trình
- Cách thức cài đặt một portal mã nguồn mở
- Cách thức tùy biến CMS portlet để xây dựng một trang tin cá nhân
- Cách thức tùy biến một số các portlet khác.
o Môi trường cài đặt
- Hệ quản trị nội dung NukeViet.
TỔNG QUAN
Đặt vấn đề: Trong sự phát triển mạnh mẽ của Internet, thì các Website giữ
một vai trò đặc biệt quan trọng trong mọi lĩnh vực của đời sống nhân loại. Với
đam mê sáng tạo và chinh phục thế giới, công nghệ thông tin đã và đang thay
đổi từng ngày. Các thế hệ website ra đời, cải tiến liên tục, cùng với Web
Service, sự trợ giúp của công nghệ Mobile Agent - một chương trình thay mặt
người dùng thực hiện công việc tìm kiếm và xử lý thông tin trên Internet -
khái niệm Website truyền thống được chuyển thành “Website thông minh” với
sự trợ giúp của dịch vụ Search Engine, một công cụ cho phép tìm kiếm và lọc
thông tin trên cơ sở các từ khoá được xác lập bởi người dùng và dịch vụ phân
loại thông tin – Category. Từ đó, thuật ngữ “Website thông minh” hay “Cổng
2
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
điện tử” - Portal được hình thành.
Trong bối cảnh hội nhập kinh tế quốc tế, Việt Nam trở thành thành viên
chính thức của tổ chức thương mại thế giới WTO tháng 11 năm 2006, cả dân
tộc Việt Nam bước vào sân chơi lớn của thế giới. Những yêu cầu về cải cách
hành chính, phát triển chính phủ điện tử, thương mại điện tử càng trở nên
cấp thiết và mang tính sống còn. Ở nước ta, một số địa phương cũng rất quan
tâm phát triển công nghệ Portal như thành phố Hà Nội, thành phố Hồ Chí
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.
3
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪ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
1.2. Sự phát triển của web portal 9
1.3. So sánh Website Portal với một Website thông thường
11
1.4. Các đặc trưng cơ bản của Portal
13
1.4.1 Chức năng tìm kiếm (Search function). 13
1.4.2. Dịch vụ thư mục (Directory service) 13
1.4.3. Ứng dụng trực tuyến (Online desktop application). 13
1.4.4. Cá nhân hoá các dịch vụ (Personalization or Customization). 14
1.4.5. Cộng đồng ảo (Virtual community hay Collaboration). 14
1.4.6. Một điểm tích hợp thông tin duy nhất (Comporate Portal) 15
1.4.7. Kênh thông tin (Channel) 15
1.5. Phân loại Portal. 17
1.5.1. Consumer Portal 17
1.5.2. Vertical Portal 17
1.5.3. Horizontal Portal 17
1.5.4. Enterprise Portal 17
1.5.5. B2B Portal 18
1.5.6. G2G Portal 18
CHƯƠNG 2. CÁC KỸ THUẬT CỦA HỆ THỐNG PORTAL 18
2.1. Portlet. 18
2.1.1. Khái niệm portlet. 18
2.1.2. Phân loại Portlet và các dịch vụ web 19
2.1.2.1. Portlet địa phương (Local Portlet) 20
2.1.2.2. Portlet từ xa (Remote Portlet) 20
2.1.2.3. WebService cho các Portal từ xa (WSRP) 21
a. WSRP và các chuẩn WSIA có liên quan 22
b. Các chi tiết kỹ thuật của chuẩn WSRP 22
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
h. Security (bảo mật). 32
i. Technology Used (Công nghệ sử dụng). 33
j. Portal Features (Các đặc điểm của Portal). 33
k. Server Dependency (Sự phụ thuộc server). 33
l. WSRP standard compliant (Tuân theo chuẩn WSRP). 33
2.4.2. Đánh giá các Portal 34
2.4.2.1. uPortal 34
2.4.2.2. eXo Platform 35
2.4.2.3. Liferay 36
2.4.2.4. Stringbeans 38
CHƯƠNG 3. HỆ QUẢN TRỊ NỘI DUNG NUKEVIET 40
3.1. Tổng quan về NukeViet 40
3.1.1. Giới thiệu 40
3.1.2. Quá trình hình thành và phát triển 40
3.2. Tính năng của NukeViet 3.1 41
3.2.1. Tính năng cơ bản. 41
3.2.2. Tính năng hệ thống: 41
3.2.3. Các module có trong NukeViet 3 42
a. Kinh tế. 42
b. Tiện ích. 42
c. Giải trí. 42
d. Hệ thống. 43
3.3. Ứng dụng 43
3.3.1. Cổng thông tin điện tử: 43
3.3.2. Báo điện tử, tạp chí điện tử: 43
3.3.3. Trang giải trí trực tuyến, văn hóa nghệ thuật: 43
3.3.4. Website doanh nghiệp vừa và nhỏ: 44
3.3.5. Website trường học, cá nhân, tổ chức : 44
3.4. Cấu trúc NukeViet 3 45
3.4.1. Đặc điểm chính: 45
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
o. Module Support Online. 50
p. Module ExchangeRates. 50
4.2. CÀI ĐẶT TRÊN LOCALHOST 50
4.2.1. CÀI ĐẶT WEBSERVER 50
4.2.1.1. Các bước chuẩn bị. 50
4.2.1.2. Cài đặt 50
4.2.2. KHỞI TẠO CƠ SỞ DỮ LIỆU 53 U
4.2.3. CÀI ĐẶT NUKEVIET 3.1 54
4.2.3.1. Các bước chuẩn bị. 54
4.2.3.2. Cài đặt 55
4.3. QUẢN TRỊ 58
4.3.1. Quản lý News. 58
4.3.2. Quản lý Banners. 61
4.3.3. Quản lý User. 63
4.3.4. Quản lý Voting. 65
4.3.5. Quản lý Giải trí. 66
4.3.6. Quản lý Sản phẩm. 69
4.3.7. Quản lý Dowload. 74
4.3.8. Quản lý Giao diện. 76
4.3.9. Quản lý Module. 77
4.3.10. Quản lý Ngôn ngữ. 79
4.3.11. Quản lý Cấu hình. 80
4.3.12. Quản lý CSDL. 82
7
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
CHƯƠNG 5: KẾT LUẬN – ĐÁNH GIÁ – HƯỚNG PHÁT TRIỂN ĐỀ TÀI 83
5.1. ĐÁNH GIÁ ĐỀ TÀI. 83
5.1.1. Ưu điểm. 83
5.1.2. Nhược điểm. 83
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
8
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
CHƯƠNG 1. TỔNG QUAN VỀ PORTAL
1.1.Khái niệm về Portal
Portal: Cổng thông tin, tên đầy đủ là Web Portal, là một hệ thống hoạt động
trên Web, định danh và xác thực người dùng đăng nhập, từ đó sẽ cung cấp một
giao diện web để người dùng dễ dàng truy cập, khai thác thông tin và dịch vụ
cũng như thao tác, tuỳ biến các công việc tác nghiệp của mình một cách nhanh
chóng và đơn giản. Portal có các tính năng giúp người quản trị thu thập, quản lý
nhiều nguồn thông tin khác nhau, từ đó phân phối chúng dưới dạng các dịch vụ
cho từng người dùng khác nhau tuỳ thuộc vào nhóm quyền, vào nhu cầu cũng
như mục đích của người dùng đó. Portal thực hiện việc này hết sức linh động, từ
những công việc như tìm xem và đặt mua sách trong một kho hàng trực tuyến,
xem và thay đổi thông tin về sinh viên và giáo viên trên các ứng dụng quản lý
giảng dạy, đến việc đăng và chia sẻ các thông tin, tài nguyên, bài viết trên các
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
cung cấp
khả năng tích hợp các tính năng này một cách
dễ dàng thành một trang web duy nhất. Web Portal đầu tiên kiểu này là Americal
Online (AOL - /> ) .
Hiện tại, Web Portal không chỉ là một “cổng vào”, dẫn đường người dùng truy
cập website, mà đã trở thành một siêu website, nghĩa là ngoài chứa đựng mọi
thông tin và dịch vụ cần có như một website thông thường, nó còn có khả năng
quản trị giao diện cũng như nội dung của nhiều website, thêm bớt không những
nội dung mới mà còn các dịch vụ mới, tích hợp các module thông dụng nhất như
các forum, chat room, blog hay RSS feed…và quan trọng là, cung cấp việc truy
cập các nguồn thông tin rất đa dạng và khác nhau này chỉ thông qua một lần đăng
nhập duy nhất (single sign-on).
Một Web Portal nổi tiếng hiện nay là My Yahoo! ( />)
10
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
của Yahoo, người dùng chỉ cần đăng nhập một lần duy nhất trong trang này để
truy cập vào một trang web riêng mà Yahoo đã thiết kế sẵn, với nhiều module có
sẵn như tin tức, bản tin thời tiết, bản đồ… Ngoài ra ở trang My Yahoo cũng có
các link liên kết đến các ứng dụng web của Yahoo quen thuộc như Messenger,
Mail, Group, Blog, Music… và người dùng sẽ không cần phải đăng nhập lại.
Ngoài ra một Portal khá nổi tiếng ở Việt Nam hiện nay đó là Zing
(
) Portal của VNG. Người dùng cũng chỉ cần 1 tài khoản với
1 lần đăng nhập duy nhất để có thể truy cập và sử dụng các tiện ích của Zing
như: Nghe nhạc xem phim, mạng xã hội, tin tức, games.
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ường
Portal
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ức độ rất nhỏ, không phải là đặc
điểm nổi bật.
11
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
website thông thường. Portal
cá nhân hóa nội dung hiển thị,
thông thường đây là sự
lựa
chọn một cách tự động dựa
trên các quy tắc tác nghiệp,
chẳng hạn như vai trò của
người sử dụng trong một tổ
chức. Ví dụ khi một người mua
hàng
+ Khả năng tùy biến. Đây là
một khả năng tiêu biểu của một
Portal.
Ví dụ một giao diện Portal có mục
thông tin thời tiết, chúng ta có thể
bỏ phần thông tin này đi nếu chúng
ta không quan tâm đến nó. Hoặc
chúng ta có thể thay đổi cách hiển
thị của Portal. Ví dụ như thay vì
hiển thị bằng font chữ màu xác định
chúng ta có thể thay nó bằng chữ
màu đỏ, hay có thể tự thay đổi giao
diện của Portal nếu mặc định chức
năng A
+ 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
hiện bởi các dịch vụ hợp tác.
Bảng 1.1. So sánh Portal và Website thông thường
1.4. Các đặc trưng cơ bản của Portal
1.4.1 Chức năng tìm kiếm (Search function).
Chức năng tìm kiếm là dịch vụ đầu tiên cần phải có của tất cả các Portal. Sau
khi người sử dụng mô tả loại thông tin mà mình cần thông qua các từ khoá hoặc
tổ hợp các từ khoá, dịch vụ này sẽ tự động thực hiện tìm kiếm thông tin trên các
Website có trên Internet và trả lại kết quả cho người dùng. Thời gian thực hiện
của dịch vụ tìm kiếm này rất nhanh, do vậy rất tiện lợi cho người dùng.
1.4.2. Dịch vụ thư mục (Directory service)
Đối với những người dùng không muốn tìm kiếm thông tin qua các từ khoá,
họ có nhu cầu tìm kiếm thông tin theo một chủ đề, lĩnh vực nào đó, thì có thể sử
dụng dịch vụ thư mục phân loại thông tin. Dịch vụ thư mục là dịch vụ thực
hiện phân loại và sắp xếp thông tin trên các website theo chủ đề có thể có nhiều
chủ đề con trong một chủ đề và có thể tiếp tục phân tách xuống các mức thấp
hơn.
1.4.3. Ứng dụng trực tuyến (Online desktop application).
Bao gồm các ứng dụng phổ biến nhất của Internet, hiện nay có các ứng dụng
điển hình.
- Thư điện tử: Các Portal lớn như Yahoo, Excite, v.v… thường cung cấp
các tài
khoản điện tử (E-mail account) miễn phí cho người dùng. Dịch vụ này
rất có ý nghĩa vì người dùng có thể nhận/gửi tại bất cứ địa điểm nào của
Internet.
13
Đồ á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,
các doanh nghiệp có thể “tập hợp” để giúp đỡ, hợp tác với nhau trong các hoạt
14
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
động thương mại. Nói một cách khác “cộng đồng ảo” mang lại cơ hội hợp tác
cho các cá nhân, tổ chức doanh nghiệp mà ranh giới địa lý không còn có ý
nghĩa. Sau đây là một số ví dụ về cộng đồng ảo:
- Hội thoại trực tuyến – Online chat: Thông qua dịch vụ này người ta có
thể triển khai các hội nghị mà không cần phải tập trung toàn bộ cán bộ công
nhân viên ở các địa phương trong phạm vi cả nước về một địa điểm cụ thể nào
đó.
- Hỗ trợ trực tuyến - Online support : Tại đây khách hàng có thể nhận
được trực tiếp các hỗ trợ, tư vấn của các nhà sản xuất về sản phẩm mà khách
hàng đã lựa chọn.
1.4.6. Một điểm tích hợp thông tin duy nhất (Comporate Portal)
Đặc trưng này cho phép đơn vị cung cấp cho người sử dụng dùng một
điểm truy nhập duy nhất để thu thập và xử lý thông tin từ các nguồn khác nhau,
hoặc sử dụng các ứng dụng để khai thác kho tài nguyên thông tin chung. Như
chúng ta đã biết, có rất nhiều thông tin hàng ngày cần phải được xử lý và chuyển
đến người dùng dưới nhiều nguồn khác nhau, ví dụ như E-mail, news, tài liệu,
báo cáo, các bài báo, audio và các video files, v.v… sẽ rất khó khăn cho người
dùng nếu các thông tin này được xử lý một cách riêng rẽ; Comporate Portal cho
phép sử dụng các công cụ tích hợp để xử lý các nguồn thông tin này, do vậy năng
suất lao động xử lý các thông tin của người dùng sẽ được nâng cao.
1.4.7. Kênh thông tin (Channel)
Portal cũng cho phép xây dựng các liên kết (connector) tới các ứng dụng
hoặc Portal khác. Một Portal khác hoặc một Website thông thường khác có thể
cung cấp nội dung thông tin của mình trong kênh thông tin của Portal. Kênh
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ì
đâu, bất kì khi nào.
- Cải thiện các tiến trình hợp tác nhờ luồng thông tin tốt hơn giữa con người
và các ứng dụng, và nhờ các môi trường cộng tác giúp giảm thời gian để chuyển
đổi thông tin thô thành tri thức.
- Giảm gánh nặng của việc triển khai và quản lí thông tin và các dịch vụ ứng
dụng trong một tổ chức.
- Duy trì, quản lý, mở rộng, nâng cấp, tái sử dụng dễ dàng, tiết kiệm chi phí
đầu tư để xây dựng lại hệ thống.
16
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
- Cho phép các hãng thứ 3 tham gia vào việc cung cấp ứng dụng hệ thống,
các dịch vụ trung gian Khả năng này làm phong phú, đa dạng khả năng úng
dụng và triển khai của hệ thống Portal.
1.5. Phân loại Portal.
Việc phân loại Portal có thể có nhiều cách khác nhau. Nếu căn cứ vào đặc
trưng của Portal người ta chia Portal thành các loại như sau :
1.5.1. Consumer Portal
Cung cấp nhiều lựa chọn cho việc tìm kiếm, chuyển, E-mail, tự sửa khuôn
dạng, lựa chọn tin tức, calendar, quản lý địa chỉ liên hệ, các cuộc hẹn, các lưu ý,
chú thích, các địa chỉ website, real-time chat và các chức năng Intranet, v.v…
1.5.2. Vertical Portal
Chuyên cung cấp các thông tin và dịch vụ cho một lĩnh vực chuyên môn,
khoa học, kinh tế cụ thể nào (mang tính chuyên ngành).
1.5.3. Horizontal Portal
Nội dung bao trùm nhiều chủ đề (mang tính diện rộng), phục vụ các mối quan tâm
khác nhau, hỗ trợ bằng các chức năng dịch vụ phong phú, phục vụ cộng đồng, phục
vụ tổ chức hành chính.
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 .
18
Đồ á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.1. Các portlet được ghép lại thành portal.
Portlet thực thi trong môi trường thời gian thực được gọi là Portlet Container,
các Portlet trình bày nội dung của chúng trong một cửa sổ hiện trên trang Portal,
tương tự như cửa sổ trong màn hình (desktop). Cửa sổ của Portlet có một thanh
tiêu đề chứa, các nút điều khiển cho phép người sử dụng mở rộng và thu nhỏ nó
[13].
Một Portlet có thể hiển thị trên một trang web như một cửa sổ cá nhân nhỏ,
Portlet là nội dung bên trong cửa sổ, nó không phải là bản thân cửa số đó.
Các Portlet bao gồm nhiều mức, cho phép người sử dụng giao tiếp với nó để
thực hiện công việc trong môi trường Portal.
2.1.2. Phân loại Portlet và các dịch vụ web
Giống như dịch vụ web hướng dữ liệu, các Portlet dựa trên kiến trúc hướng
dịch vụ, nó cho phép các công ty sử dụng lại các thành phần của phần mềm để
nhanh chóng xây dựng các ứng dụng trong các Portal mới.
19
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
Không giống như các dịch vụ web hướng dữ liệu, các Portlet tóm lược các
dịch vụ tác nghiệp ở mức cao bao gồm các tương tác người dùng, các lưu đồ và
các trình diễn tùy biến.
2.1.2.1. Portlet địa phương (Local Portlet)
Các Portlet địa phương là các Portlet thực thi ở bên trong một máy chủ Portal.
Khi một máy chủ Portal sinh ra một trang và những thứ cần thiết trong một đoạn
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 định nghĩa bởi tổ chức OASIS, một tổ chức phi lợi nhuận toàn cầu có chức
năng phát triển, tập hợp, và thông qua các chuẩn. Đặc biệt WSRP được thực hiện
21
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
khi SOAP gọi phiên HTTP. Các đoạn trang, đặc biệt là HTML được trả lại như là
một thành phần của payload SOAP.
Hình 2.4. Mô hình WSRP cho Portal từ xa
a. WSRP và các chuẩn WSIA có liên quan
Sự ra đời của định nghĩa WSRP là kết quả làm việc của ủy ban OASIS và
WSIA (dịch vụ web cho ứng dụng hợp tác).
Phần lớn các nhà sản xuất đều tuyên bố dự định của họ sẽ hỗ trợ Portal
thông qua chuẩn WSRP. Ủy ban WSRP và WSIA bao gồm BEA, Bowstreet,
CA, Epicentric, Fujitsu, IBM, Novell, Oracle, Plumtree, SAP, Sun, TIBCO,
WebCollage, và một số hãng khác
b. Các chi tiết kỹ thuật của chuẩn WSRP
WSRP định nghĩa các giao diện như sau :
Một tập hợp giao diện hỗ trợ sự kết hợp ban đầu giữa Portal và Portlet. Một
giao diện cho phép một Portal yêu cầu một đoạn trang từ một Portlet.
Một giao diện cho phép một Portal đưa tương tác của người sử dụng vào
22
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
Portlet.
Một tập hợp các giao diện cho phép Portal và Portlet cộng tác và lưu trữ đa
cấu hình của một Portlet.
2.1.2.4. Portlet Container
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.
Dịch vụ điều khiển truy cập và bảo mật bao gồm chứng thực và cấp quyền
người dùng.
2.1.2.6. Portal Server
Portal server là một máy chủ ứng dụng chuyên biệt cung cấp logic tác nghiệp
cho một ứng dụng Portal, đặc biệt được xây dựng trên nền máy chủ ứng dụng
J2EE, Portal cung cấp sự phát triển và cơ sở hạ tầng thời gian thực cho Portal.
Một Portal Server thường làm việc liên kết với một Web Server để xử lý yêu cầu
của client.
Portlet có thể được xem như là một cách mở rộng chức năng của Portal Server.
Hình 2.6. Server Portal mở rộng Server ứng dụng để hỗ trợ ứng dụng Portal
Theo ví dụ dưới đây, Portal yêu cầu xử lý một kịch bản. Đây là kịch bản
được sinh ra khi người sử dụng yêu cầu trang Portal từ thiết bị client.
24
Đồ án thực tập tốt nghiệp Tìm hiểu và triển khai portal mã nguồn mở
- Thiết bị client (sử dụng Web Browser hoặc PDA) gửi một yêu cầu HTTP
cho trang Portal tới máy chủ Web.
- Máy chủ Web nhận ra yêu cầu và gửi tiếp yêu cầu đó tới máy chủ Portal.
- Máy chủ Portal sẽ quyết định nếu yêu cầu này chứa một hành động
hướng mục đích tới một Portlet trên trang Portal. Portal sẽ yêu cầu Portlet
container gọi Portlet xử lý hành động này .
- Portlet container yêu cầu mỗi Portlet liên kết đến trang Portal gửi lại một
đoạn trang (fragment) với nội dung được yêu cầu .
- Các Fragment này được quay trở về máy chủ Portal, nơi đó chúng được
tổng hợp để tạo nên một trang Portal.
- Trang Portal được gửi trở lại thiết bị client để hiển thị.
Dưới đây là sơ đồ các bước xử lý yêu cầu kịch bản của một hệ thống Portal:
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