Thứ Tư, 1 tháng 1, 2014

Xây dựng cổng thông tin điện tử phục vụ tra cứu thông tin về chủ tịch hồ chí minh


7
1.1.4 Cách phân biệt portal với một ứng dụng web hoặc một hệ
thống quản trị nội dung
Nếu hệ thống chỉ thoả mãn từ 5 tính năng nêu trên trở xuống
(thoả mãn 5 hoặc thoả mãn ít hơn 5 tính năng) thì kết luận ñó là ứng
dụng web hoặc phần mềm quản trị nội dung chứ không phải là giải
pháp portal.
Nếu thoả mãn 6 tính năng 1,2,3,5,6,7 mà không thoả mãn
tính năng 4 (support multi-device) thì kết luận ñó thực sự là giải pháp
portal, và có ghi chú kèm bên cạnh là sử dụng tối ưu trên máy tính.
Nếu thoả mãn tất cả cả 7 tính năng trên, thì ñó thực sự là giải
pháp portal và có khả năng hoạt ñộng trên nhiều môi trường/thiết bị
khác nhau.
1.2 MỘT SỐ GIẢI PHÁP MÃ NGUỒN MỞ
Hiện tại trên thế giới cũng như ở Việt Nam có rất nhiều sản
phẩm/giải pháp portal hoặc ñược gọi là "sản phẩm/giải pháp portal"
mã nguồn mở hoặc là một phiên bản Việt hoá và có sửa ñổi từ mã
nguồn mở, các sản phẩm/giải pháp này ñược xây dựng trên nhiều
ngôn ngữ/công nghệ khác nhau.
Tại ñây, tôi chỉ xin liệt kê và nhận xét về một số sản phẩm,
giải pháp portal thông dụng nhất (ñược nhiều người sử dụng nhất -
lưu ý: ñược sử dụng nhiều nhất chưa chắc ñã là tốt nhất):
uPortal
,
Zope, phpNuke, IBuySpy Portal, DotNetNuke, Rainbow Portal
1.3 TÌM HIỂU BỘ PORTAL MÃ NGUỒN MỞ DOTNETNUKE
Tìm hiểu kiến trúc DotNetNuke. Trong ñó, tập trung vào các
phần sau:
Kiến trúc 3 lớp: Việc tìm hiểu kiến trúc này giúp khai thác
những thế mạnh có sẵn của DotNetNuke làm nền tảng cho sự phát
triển sau này của ứng dụng.

8
Tính ñóng gói: Tính ñóng gói cho phép mở rộng ứng dụng
theo nhiều hướng khác nhau một cách dễ dàng.
Kiến trúc ña cổng (multi portal): Đây chính là kiến trúc
quan trọng cho việc triển khai ứng dụng trên phạm vi rộng.
Tìm hiểu cách sử dụng các module mà DotNetNuke hỗ trợ,
xây dựng nhiều module mới phục vụ yêu cầu của nhiều ñơn vị.
Đánh giá ưu ñiểm và tiềm năng phát triển lâu dài của
DotNetNuke
1.3.1 Lý do chọn Dotnetnuke làm nền tảng ứng dụng
Việc chọn lựa công cụ ñể phát triển ứng dụng là một yếu tố
rất quan trọng. Nó phải ñược lựa chọn sao cho phù hợp với nhu cầu
hiện tại và tương lai của ứng dụng. Hiện nay, có rất nhiều công cụ
phục vụ việc phát triển ứng dụng web. Có thể kể ra sau ñây như:
PHP, DotNetNuke, RainBow Portal… Trong ñó, DotNetNuke là
công cụ mang nhiều tính năng vượt trội.
1.3.2 Tính mới và tính mở của DotNetNuke
Tháng 1 năm 2002, Microsoft tung ra IBuySpy Portal
Solution Toolkit. Bộ toolkit này ñược ñánh giá rất cao, giống như
một framework thiết thực nhất cho việc phát triển các ứng dụng
ASP.NET. Tuy nhiên, chỉ sau một thời gian ngắn, nó ñã bộc lộ ñiểm
yếu của mình: “phần code chính không cơ ñộng”.
Tháng 12 năm 2002, DotNetNuke với mã nguồn mở ra ñời.
Là thế hệ sau của IBuySpy Portal Solution Toolkit, DotNetNuke có
rất nhiều sự gia cố về kiến trúc và ñặc tính của thế hệ trước nó.
DotNetNuke ñược xây dựng với phương châm là “tính mở”, cho
phép những người phát triển ứng dụng dễ dàng gắn kết vào kiến trúc
cơ sở ban ñầu các tính năng cần thiết do mình phát triển, phục vụ cho
nhu cầu của riêng mình.

9
DotNetNuke phát triển trên ASP.NET và hỗ trợ cho nhiều
loại lập trình viên, từ những người chỉ quen với C# cho ñến
VisualBasic.NET. Nói chung là tất cả các ngôn ngữ mà ASP.NET
của Microsoft hỗ trợ.
Về Hệ quản trị Cơ sở Dữ liệu, DotNetNuke hỗ trợ Microsoft
SQL Server, MSDE 2000.






Hình 1.1: Trang chủ Dotnetnuke( www.dotnetnuke.com )
1.3.3 Kiến trúc và tính ñóng gói của DotNetNuke
1.3.3.1 Kiến trúc của DotNetNuke
Kiến trúc mà DotNetNuke xây dựng là kiến trúc ña cổng
(multi portal). Khái niệm cổng ñược gọi là portal trong DotNetNuke,
DotNetNuke hỗ trợ nhiều portal cùng chạy trên một cơ sở dữ liệu và
một mã nguồn duy nhất. Trong ñó, có một portal chính; các portal
còn lại ñược gọi là portal con. Mỗi portal có thể xem như là một
website ñộc lập, có tên gọi riêng và ñược cấp một chỉ số duy nhất gọi
là PortalID. Từ PortalID của một portal, ứng dụng sẽ xác ñịnh các tài

10
nguyên ñược cung cấp cho portal này và tương ứng, ta có sẽ một
website.
Ví dụ: Với portal chính có tên www.dotnetnuke.com, hai
portal con ñược xây dựng dựa trên portal chính có ñịa chỉ:
www.dotnetnuke.com/portal1 và www.dotnetnuke.com/portal2.
Thật ra, cả 3 portal này chỉ có một mã nguồn duy nhất và
một cơ sở dữ liệu duy nhất. Từ tên của các Portal, ứng dụng sẽ ánh
xạ vào các PortalID và xác ñịnh xem portal nào ñược phân bổ những
tài nguyên nào, từ ñó tổ hợp các tài nguyên và tạo nên một website
cụ thể. Mỗi portal này giống như là một bản sao của portal chính vì
nó có cơ chế hoạt ñộng không khác gì so với portal chính. Nó có một
hệ thống người dùng riêng, hệ thống tài nguyên riêng. Chỉ có một
khác biệt là những portal chính quản lý ñược những portal con thông
qua việc quản lý tài nguyên của chúng. Một trong những loại tài
nguyên là module.
1.3.3.2 Tính ñóng gói của DotNetNuke
Một trong những khái niệm quan trọng nhất trong
DotNetNuke là khái niệm module. Đây chính là tính năng tạo nên
tính mở và tính linh hoạt của DotNetNuke. Mỗi module có thể xem
là một UserControl, một khái niệm trong lập trình thể hiện sự tùy
biến và sự cơ ñộng của ngôn ngữ lập trình ñó. UserControl do chính
người sử dụng tạo ra, có khả năng hoạt ñộng tốt khi gắn vào một tổ
hợp cho sẵn và ñiều quan trọng là khả năng sử dụng lại.
DotNetNuke hỗ trợ chức năng thêm các control vào một
portal ngay trên trang web thể hiện của portal ñó chỉ với vài thao tác
tương tự như việc thêm một portal. Mỗi portal có thể xem là tổ hợp
của rất nhiều module.

11
Sau khi ñã viết một module hoàn chỉnh, người dùng chỉ việc
nhập ñường dẫn ñến thư mục lưu trữ module và thêm vào trang mà
mình mong muốn.
1.3.3.3 Kiến trúc 3 lớp trong xử lý
DotNetNuke ñược thiết kế theo mô hình ba lớp hoàn chỉnh
(lớp hiển thị, lớp xử lý và lớp truy xuất dữ liệu). Vì vậy, nó tạo ra rất
nhiều tiện lợi cho người lập trình. Không những thế, khả năng hỗ trợ
rất tốt và dễ dùng lại trong việc truy xuất dữ liệu chính là một trong
những thế mạnh của DotNetNuke. Mô hình ba lớp của DotNetNuke
ñược mô tả trong mô hình sau :

Hình 1.2: Kiến trúc 3 lớp
DotNetNuke sử dụng ñối tượng DataReader ñể chuyển
những dữ liệu có ñược từ Lớp Truy xuất Dữ liệu lên Lớp Xử lý.

12
DotNetNuke chọn DataReader vì ñó là cơ chế truy xuất dữ liệu
nhanh nhất ñược ADO.NET hỗ trợ (dữ liệu ở ñây chỉ là những dữ
liệu một hướng, chỉ ñọc lên chứ không thể ghi xuống lại cơ sở dữ
liệu). Ngoài ra, việc sử dụng ñối tượng IDataReader làm lớp trừu
tượng cho phép chuyển dữ liệu giữa các lớp mà không phải quan tâm
ñến những vấn ñề khác như SQLClient, OleDB, ODBC v.v…
1.4 TÍNH TIỆN DỤNG CỦA DOTNETNUKE
Tính tiện dụng của DotNetNuke một phần là do tính ñóng
gói mang lại.
Một số chức năng cơ bản mà DotNetNuke hỗ trợ việc quản
lý người dùng (những chức năng khác người phát triển ứng dụng có
thể xây dựng thêm) là:
- Cấp/hủy bỏ quyền hoạt ñộng của người dùng
- Xóa hoặc thêm người dùng
- Cấp quyền cho người dùng

Không có nhận xét nào:

Đăng nhận xét