Tải bản đầy đủ (.pdf) (68 trang)

Đề Tài: Xây Dựng Portal Chứng Khoán potx

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.54 MB, 68 trang )

TRƯỜNG ĐẠI HỌC THĂNG LONG
KHOA CÔNG NGHỆ THÔNG TIN
CHUYÊN ĐỀ TỐT NGHIỆP
CÔNG NGHỆ .NET
Đề Tài: Xây Dựng Portal Chứng Khoán
Sinh viên thực hiện:
Bùi Mạnh Hưng – A07757
Giáo viên hướng dẫn:
Đoàn Quang Minh
Hà Nội 30/05/2008

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
1
Mục lục
1 Lời mở đầu 4
2 Khái niệm cổng thông tin (Portal) 5
2.1 Khái niệm cổng thông tin tích hợp 5
2.2 Phân loại cổng thông tin 5
2.3 Các tính năng cơ bản của portal 5
3 Cổng thông tin chứng khoán 7
3.1 Giới thiệu 7
3.2 Mục tiêu 7
3.3 Nguyên tắc xây dựng 8
3.4 Tính năng nổi bật 8
3.5 Lợi ích sản phẩm 9
3.6 Giao diện mỹ thuật 10
4 Tìm hiểu khái niệm 17
4.1 Giới thiệu DotNetNuke 17
4.1.1 DotNetNuke là gì? 17
4.1.2 Nguồn gốc DotNetNuke 18
4.1.3 Khả năng mở rộng 18


4.1.4 Xây dựng skin mới gắn vào DotNetNuke 19
4.1.5 Xây dựng container mới gắn vào DotNetNuke 20
4.1.6 Xây dựng module mới thêm vào DotNetNuke 21
4.2 Giới thiệu XML & XSL 23
4.2.1 XML là gì? 23
4.2.2 Lịch sử XML 24
4.2.3 SGML, HTML, và XML 25
4.2.4 Ứng dụng XML 26
4.2.5 XSL thêm dáng điệu cho XML 27
4.3 Giới thiệu Webservice 29
4.3.1 Khái niệm webservice 29
Đặc điểm 30
Ưu điểm 31
Nhược điểm 31
4.3.2 Kiến trúc webservice 31
4.3.4 Ứng dụng webservice 33
4.4 Giới thiệu Ajax 33
4.4.1 Khái niệm Ajax 33

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
2
Lịch sử Ajax 33
Khái niệm Ajax 33
Ajax hoạt động như thế nào? 34
4.4.2 Các ứng dụng Ajax phổ biến 38
4.4.3 Hàm javascript dùng cho kỹ thuật ajax 38
4.4.4 Giới thiệu Asp.net Ajax 39
Kiến trúc của asp.net ajax 39
Asp.net ajax control toolkit 40
Tính năng Asp.net ajax community-supported 40

4.4.5 Ứng dụng kỹ thuật AJAX 40
5 Mô tả hệ thống 41
5.1 Kiến trúc tổng thể 41
5.1.1Tổng quan hệ thống 44
5.1.2 Kiến trúc đa tầng 44
5.1.3 Sơ đồ triển khai hệ thống 44
5.2 Giải pháp XML&XSL 42
5.2.1 Sơ đồ giải pháp XML&XSL 44
5.2.2 Mô tả hoạt động giải pháp XML&XSL 44
5.2.3 Sơ đồ tổng quan các chức năng giải pháp XML&XSL 45
Các tác nhân tham gia hệ thống 46
Các tác chức năng chính của hệ thống 47
5.2.4 Chi tiết đặc tả chức năng 47
5.3 Giải pháp Webservice 64
5.3.1 Sơ đồ giải pháp Webservice 64
5.3.2 Mô tả hoạt động giải pháp Webservice 65
5.4 Giải pháp Webspider 65
5.4.1 Sơ đồ giải pháp Webspider 65
5.4.2 Mô tả hoạt động giải pháp Webspider 66
6 Tổng kết 66
6.1 Kết quả về mặt lý thuyết 66
6.2 Kết quả về mặt thực tế 66
6.3 Phương hướng phát triển 66
7 Tài liệu tham khảo 67
7.1 Tài liệu tham khảo tiếng anh 67
7.2 Tài liệu tham khảo tiếng việt 67

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
3


May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
4
1 Lời mở đầu
Hiện nay, nhân loại đang đứng trên kỷ nguyên của công nghệ thông tin. Sự phát triển
hết sức mạnh mẽ của công nghệ thông tin đã đem đến cho con người những thành tựu
đáng kinh ngạc đặc biệt là internet. Với sự phát triển Internet toàn cầu trên nền tảng
băng thông rộng, Internet đã trở thành một phần không thể thiếu trong lĩnh vực truyền
thông toàn cầu với sự phát triển mạnh mẽ với ứng dụng công nghệ thông tin, truyền
thông nền tảng Internet dần thay thế các công cụ truyền thông truyền thống, giúp mọi
người tiến đến gần nhau hơn trên toàn thế giới.
Trong những năm gần đây, các ứng dụng trên Internet phát triển nhanh, ảnh hưởng
của nó là đã làm thay đổi nhiều đến đời sống kinh tế, văn hoá, xã hội của tất cả các
nước trên thế giới. Trong sự phát triển mạnh mẽ của Internet, thì các cổng thông tin
(portal) giữ một vai trò đặc biệt quan trọng. Công nghệ này đã và đang trở thành xu thế
chung trong quá trình phát triển trên Internet, có thể coi đó là cổng vào một kho thông
tin lớn, đa dạng. Qua Portal, những đối tượng người dùng khác nhau có thể truy cập
đến nhiều loại thông tin khác nhau nhưng theo một cách thức thống nhất.
Việc xây dựng một portal về chứng khoán không dễ dàng và khá tốn kém. Để portal
đó hoạt động hiệu quả và đem lại các lợi ích thiết thực cho công ty chứng khoán cần có
một giải pháp xây dựng portal hợp lý. Trong chuyên đề tốt nghiệp .Net này tôi xin giới
thiệu giải pháp "Xây dựng website chứng khoán trên công nghệ portal". Giải pháp này
sẽ giúp bạn xây dựng được một website chứng khoán hoạt động hiệu quả, chuyên
nghiệp, với nhiều thông tin chi tiết, dịch vụ khiến khách hàng hài lòng. Xây dựng trên
nền công nghệ mới “Portal”, website chứng khoán có thiết kế đẹp mắt, dễ sử dụng, dễ
quản lý và có chi phí tối thiểu.
Báo cáo bao gồm những phần sau:
Phần 1: Khái niệm cổng thông tin (portal), phân loại, các tính năng cơ bản trong một
portal.
Phần 2: Giới thiệu cổng thông tin chứng khoán (mục tiêu, lợi ích sản phẩm mang lại
cho khách hàng, các tính năng nổi bật trong portal này)

Phần 3: Tìm hiểu các khái niệm mới liên quan tới giải pháp sẽ mô tả trong phần 4.
Phần 4: Mô tả hệ thống, mô tả công nghệ sử dụng cho việc xây dựng, triển khai portal.
Portal được xây dựng trên nền tảng DotNetNuke và dựa vào 3 giải pháp chính:
XML&XSL, Webservice, Webspider.
Phần 5: Tổng kết các kết quả đã đạt được.

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
5
2 Khái niệm cổng thông tin (Portal)
2.1 Khái niệm cổng thông tin tích hợp
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.
2.2 Phân loại cổng thông tin
Cổng thông tin điện tử 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 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 Web site 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.
* 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.
2.3 Các tính năng cơ bản của portal
Tuy có nhiều loại cổng thông tin tích hợp, 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 tích hợp đều có chung một số tính

năng. Các tính năng này là được sử dụng như một tiêu chuẩn để phân biệt giữa cổng
thông tin điện tử tích hợp với một Web site hoặc một ứng dụng chạy trên nền tảng
Web. Các tính năng đó 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 và liên kết 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. Sự
khác biệt giữa các nội dung thông tin sẽ được xác định qua các ngữ cảnh hoạt động của
người dùng (user- specific context), ví dụ như đối với từng đối tượng sử dụng sau khi

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
6
thông qua quá trình xác thực thì sẽ được cung cấp các thông tin khác nhau, hoặc nội
dung thông tin sẽ được cung cấp khác nhau trong quá trình cá nhân hoá thông tin.
* 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. Một hệ thống xuất bản thông tin chuyên nghiệp phải có khả năng
xuất bản thông tin với các định dạng đã được quy chuẩn, ví dụ như RDF (Resource
Description Format), RSS (Rich Site Summary), NITF (News Industry Text Format) và
NewsXML. Ngoài ra, các tiêu chuẩn dựa trên XML cũng phải được áp dụng để quản trị
và hiển thị nội dung một cách thống nhất, xuyên suốt trong quá trình xuất bản thông
tin. Các tiêu chuẩn dựa trên XML này cho phép đưa ra giải pháp nhanh nhất để khai
thác và sử dụng thông tin trên các Web site khác nhau thông qua quá trình thu thập và
bóc tách thông tin với các định dạng đã được quy chuẩn.
* 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).
* Khả năng đăng nhập một lần (Single Sign On): 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. Đây là một tính
năng rất quan trọng vì các ứng dụng và dịch vụ trong portal sẽ phát triển một cách
nhanh chóng khi xuất hiện nhu cầu, mà các ứng dụng và dịch vụ này tất yếu sẽ có các
nhu cầu về xác thực hoặc truy xuất thông tin người dùng.
* 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. Mặt khác, tuỳ vào từng kiểu portal mà số lượng thành
viên có thể từ vài nghìn tới hàng triệu. Hiện tại phương pháp phân quyền sử dụng dựa
trên vai trò (Role-based security) được sử dụng như một tiêu chuẩn trong các hoạt động
xác định quyền truy cập và cung cấp thông tin cho các đối tượng khác nhau trong các
portal cũng như các ứng dụng Web.

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
7
3 Cổng thông tin chứng khoán
3.1 Giới thiệu
Việc xây dựng một portal chứng khoán không dễ dàng và khá tốn kém. Để portal đó
hoạt động hiệu quả và đem lại các lợi ích thiết thực cho công ty chứng khoán bạn cần
một giải pháp xây dựng portal hợp lý. Trong chuyên đề tốt nghiệp .Net này tôi xin giới
thiệu giải pháp xây dựng portal chứng khoán trên nền tảng dotnetnuke và dựa trên 3
công nghệ chính: XML&XSL, webservice, webspider.

Giải pháp này sẽ giúp bạn xây dựng được một website chứng khoán hoạt động hiệu
quả, chuyên nghiệp, với nhiều thông tin chi tiết, dịch vụ khiến khách hàng hài lòng.
Xây dựng trên nền công nghệ mới, portal chứng khoán có thiết kế đẹp mắt, dễ sử dụng,
dễ quản lý và có chi phí tối thiểu.
3.2 Mục tiêu
- Xây dựng một website đẹp, hiện đại, thể hiện đầy đủ hình ảnh của công ty chứng
khoán trên Internet.
- Website cần phải là một công cụ marketing và chăm sóc khách hàng hiệu quả.
- Website cần phải có chi phí xây dựng và vận hành hợp lý, do đặc thù mới thành lập
của công ty.
- Website cần phải có tính mở cao để dễ dàng nâng cấp sau này.

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
8
- Đáp ứng các yêu cầu của các công ty, tập đoàn chứng khoán, tập thể cá nhân có nhu
cầu về chứng khoán.
3.3 Nguyên tắc xây dựng
Tôi tuân theo các triết lý sau khi thiết kế & xây dựng các hệ thống website cho khách
hàng của mình:
- Cảm nhận của website: Chuyên nghiệp và Thống nhất.
- Tương tác cao và năng động:
o Dễ dàng cập nhật cũng như loại bỏ thông tin cũ khi có nhu cầu mà không cần hiểu
biết về kỹ thuật.
o Có sẵn cơ chế phân quyền để cho phép đồng thời cập nhật nội dung và thông tin ở
nhiều vùng khác nhau.
o Dễ dàng thay đổi cấu trúc của toàn bộ website.
o Dễ dàng thay đổi từng phần hoặc toàn phần giao diện website với chi phí thấp nhất
mà không ảnh hưởng đến nội dung
- Cấu trúc khoa học, chặt chẽ, rõ ràng, dễ dàng điều hướng và khai thác.
- Thiết kế sáng tạo, độc đáo, hiện đại và ấn tượng.

- Thân thiện với người sử dụng, tương thích với các trình duyệt web khác nhau, nội
dung được tối ưu, tốc độ tải/nạp trang web nhanh.
3.4 Tính năng nổi bật
- Giao diện quản trị trực quan được gắn ngay trên đỉnh website
- Giao diện của hệ thống có thể tùy biến dễ dàng, người dùng muốn thay đổi giao diện
chỉ cần lựa chọn skin, contaner.
- Các container rất uyển chuyển: tự động co giãn theo nội dung, cũng có thể chọn icon
giúp tăng thêm màu sắc riêng của mỗi container.
- Không cần nhiều kiến thức về CNNT: công cụ soạn thảo FCK Editor được đặt ngay
trên nền web giúp người nhập tin có thể xử lý những yêu cầu cao đối với nội dung
thông tin mà không cần phải hiểu biết nhiều về kỹ thuật. Có thể cập nhật và quản lý nội
dung thông tin của website bởi những nhân viên nhập liệu bình thường, không cần phải
nhờ tới những chuyên gia hiểu biết về công nghệ thông tin.
- Mỗi người sử dụng được quy định phạm vi hoạt động riêng, vì vậy họ chỉ có thể cập
nhật thông tin vào những vùng được phép: Chỉ những người có quyền editor trở lên
mới được đăng bài, sau khi editor đăng bài thì những người có quyền aprover trở lên

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
9
mới được sửa, xóa và đăng bài viết đó. Chỉ admin trở lên mới được xem xml, xsl hay
tùy chọn skin, container cho module.
- Nội dung bài viết, top cổ phiếu, thống kê giá chứng khoán được export ra dữ liệu
dạng XML và có thể được hiển thị bằng nhiều cách khác nhau nhờ XSL.
- Hệ thống có khả năng cung cấp thông tin cho các website khác hoặc lấy thông tin từ
website khác nhờ các module sử dụng webservice.
- Có khả năng tự động cực cao trong việc kết nối thông tin với website khác nhờ các
module webspider.
- Có khả năng lấy thông tin của các công ty lên sàn rồi đưa vào cơ sở dữ liệu.
- Thông tin được truyền tải về phía người dùng ít nhất nhờ các câu store procedure xử
lý dữ liệu và kỹ thuật ajax.

- Và rất nhiều tính năng nổi bật khác
3.5 Lợi ích sản phẩm
Sản phẩm này mang lại rất nhiều lợi ích cho doanh nghiệp:
- Giúp doanh nghiệp có được hình ảnh một công ty chứng khoán chuyên nghiệp:
Nguồn tin tức chuyên ngành phong phú, các thông tin chứng khoán đầy đủ, chi tiết và
được cập nhật nhanh chóng như bảng giá trực tuyến, kết quả giao dịch
- Tạo nên niềm tin vào việc tổ chức của bạn có khả năng ứng dụng các kỹ thuật mới
nhất của công nghệ thông tin để đạt đến mục đích của mình.
- Là một kênh marketing hiệu quả: Các sản phẩm dịch vụ của công ty được giới thiệu
trên website một cách rộng rãi. Với sự chuyên nghiệp trong giao diện, chuyên nghiệp
trong cách xử lý dữ liệu portal sẽ là 1 kênh marketing hiệu quả cho công ty.
- Là một công cụ chăm sóc khách hàng hiệu quả: Website cung cấp nhiều chức năng hỗ
trợ khách hàng trực tuyến và nhanh chóng.
- Góp phần xây dựng thương hiệu công ty: Hiện nay, website đang trở thành điều
khách hàng nghĩ tới đầu tiên khi tìm hiểu về sản phẩm dịch vụ của một công ty. Vì vậy,
website sẽ giúp công ty tăng mức nhận biết thương hiệu một cách hiệu quả.
- Xây dựng một hệ thống điều hành, xử lý thông tin thống nhất, hiệu quả trong toàn tổ
chức đồng thời kết nối không hạn chế với các hệ thống khác trong tương lai.
Tôi luôn chờ đón mọi sự phản hồi từ phía khách hàng để ngày càng hoàn thiện sản
phẩm. Hãy gửi yêu cầu/phản hồi của bạn cho chúng tôi nếu bạn có những sáng kiến
hoặc yêu cầu mới để bổ sung nâng cao tính năng của hệ thống. Có thể bạn sẽ thấy
những sáng kiến của mình được áp dụng trong một phiên bản mới trong tương lai.

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
10
3.6 Giao diện mỹ thuật
Giao diện trang chủ

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
11

Giao diện trang tin tức

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
12
Giao diện trang dịch vụ

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
13
Giao diện trang diễn đàn

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
14
Giao diện trang dữ liệu doanh nghiệp

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
15
Giao diện trang biểu đồ phân tích tài chính

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
16
Giao diện bảng giá trực tuyến sàn Hồ Chí Minh
Giao diện bảng giá trực tuyến sàn Hà Nội

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
17
4 Tìm hiểu khái niệm
4.1 Giới thiệu DotNetNuke
4.1.1 DotNetNuke là gì?
a. Khái niệm
DotNetNuke® là hệ thống quản lý nội dung mã nguồn mở viết bằng ngôn ngữ lập

trình VB.NET trên nền tảng ASP.NET. Đây là một hệ thống mở, tùy biến dựa trên skin
và module. DotNetNuke có thể được sử dụng để tạo các trang web cộng đồng một cách
dễ dàng và nhanh chóng.
Phát triển: Perpetual Motion Interactive Systems Inc.
Phiên bản mới nhất: 4.8.2 (Cập nhật thông tin ngày 24/05/2008)
Hệ điều hành: ASP.NET / Microsoft Windows
Phân loại: Hệ thống quản lý nội dung
Giấy phép: Dựa trên BSD
Trang chủ:
b. Web Application Framework
DotNetNuke là một bộ khung trong ứng dụng web (Web Application Framework) mã
nguồn mở với tư tưởng là tạo và phát triển dự án về web, mạng lưới thông tin nội bộ,
mạng nội bộ mở rộng, cổng thông tin tích hợp trên mạng, và tùy chỉnh ứng dụng.
DotNetNuke được cung cấp như một phần mềm mã nguồn mở. Nó cũng cho phép làm
bất cứ gì họ muốn với framework cả về mặt thương mại và phi thương mại, với yêu cầu
đơn giản là đưa uy tín trở lại cộng đồng dự án DotNetNuke.
DotNetNuke được xây dựng trên một nền tảng (platform) Microsoft ASP.NET
(VB.NET), nó dễ dàng được cài đặt trên máy chủ. Với sự phát triển của cộng đồng đã
có 440,000 người sử dụng, và là một cở sở tốt của việc lập trình chuyên nghiệp.
c. Giới thiệu DotNetNuke®
DotNetNuke là một framework ứng dụng web với tư tưởng là tạo, phát triển và quản
lý web. Với một cộng đồng phát triển nhanh chóng: hơn 300,000 người đăng kí làm
thành viên, một số lượng lớn những người phát triển web chuyên nghiệp.
DotNetNuke® tiếp tục tạo nền móng vững chắc cho một ứng dụng web chuyên nghiệp.

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
18
d. Giới thiệu Open Source
Ý tưởng cơ bảng đằng sau Open Source rất đơn giản: Khi đó một người lập trình có
thể đọc, phân phối lại, và định nghĩa mã nguồn mở cho một bộ phận của phần mềm,

phần mềm được phát triển thêm. Mọi người sử dụng, cải tiến nó, fix lỗi giúp cho mã
nguồn ngày càng trở nên hoàn thiện hơn.
4.1.2 Nguồn gốc DotNetNuke
DotNetNuke được phát triển dựa trên cổng điện tử IBuySpy được Microsoft giới
thiệu như là một ứng dụng mẫu dựa trên nền tảng .NET Framework. DotNetNuke đã
được phát triển qua nhiều phiên bản và hiện nay đang ở phiên bản 4.8.2 Phiên bản hiện
tại đòi hỏi .NET Framework 3.5 trong khi các phiên bản trước đó chạy trên nền .NET
Framework 1.1 hoặc 2.0
Một cài đặt DotNetNuke có thể phục vụ nhiều trang web, mỗi trang có thể có giao diện
và cộng đồng người sử dụng riêng biệt. Phiên bản hiện tại cũng cho phép chức năng đa
ngôn ngữ.
Cái tên DotNetNuke đã được đặt để phản ánh nền tảng .NET mà nó sử dụng đồng thời
theo trào lưu của một số cổng điện tử khá thành công trước đó như PHP-Nuke và
PostNuke. Tên này cũng đã được công ty Perpetual Motion Interactive Systems Inc.
đăng ký bảo hộ vào ngày 15 tháng 11 năm 2004 (TMA 625.364). Shaun Walker, chủ
tịch của công ty này, chính là người tạo ra và duy trì DotNetNuke.
4.1.3 Khả năng mở rộng
DotNetNuke có một nhân cơ bản có thể mở rộng với các module để bổ sung các tính
năng mới; giao diện của hệ thống có thể tùy biến nhờ vào kỹ thuật skin.
a) Module
Khoảng hơn 10 module cơ bản được cung cấp cùng với bản DotNetNuke. Các
module khác có thể được download từ trang web của DotNetNuke trong đó có các
module như: thương mại điện tử, album ảnh, blog, forum, wiki, mailling list Các
module bổ sung khác cũng được các cộng đồng nguồn mở và các công ty phần mềm
thương mại cung cấp.
Các module này có thể được cài đặt bổ sung dễ dàng bằng cách upload chúng thông
qua giao diện của trang quản trị. Một địa chỉ tốt để mua các module thương mại ( nâng
cao tính chuyên nghiệp của sản phẩm) là trang Một vấn
đề khác các nhà phát triển cho Dotnetnuke hay vấp phải là hệ thống menu của DNN
khó chỉnh sửa và hơi đơn điệu, tuy nhiên, gần đây đã có sản phẩm Navigation Suite và

TransArt do công ty phát triển khá tốt và có thể thay thế cho
Solpart Menu. Nếu bạn muốn tìm một số module thương mại về Image Gallery, Đăng

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
19
tin tức theo chuyên mục(article)(khoảng 7 module) với giá cả rất thấp 25$ cho cả gói
tại
b) Skin
Giao diện của DotNetNuke được thiết kế với kiến trúc sử dụng skin cho phép tách
biệt nội dung và giao diện của hệ thống. Kiến trúc này cho phép người thiết kế giao
diện có khả năng làm việc độc lập với quá trình phát triển trong ASP.NET và chỉ đòi
hỏi kiến thức về HTML cùng với cách thức thiết kế skin của DotNetNuke. Skin bao
gồm một số file HTML cơ bản, trong đó có các vị trí để đặt nội dung, menu và các tính
năng khác cùng với các file ảnh, file định dạng (stylesheets), Javascript; tất cả thường
được đóng gói trong một file Zip. Giống như module, skin có thể được upload và cài
đặt tự động thông qua trang quản trị.
4.1.4 Xây dựng skin mới gắn vào DotNetNuke
Bước 1: Tạo thư mục mới trong thư mục skins của portal
Ví dụ: C:\MyPortals\MySecurities\Portals\_default\Skins\MySecurities
Bước 2: Tạo file TenFile.ascx, skin.css trong thư mục vừa tạo
Bước 3: Viết code cho file TenFile.ascx, skin.css vừa tạo
- Kế thừa lớp skin DotNetNuke.UI.Skins.Skin
- Tạo bộ khung cho giao diện bằng cách chia thành các pane
- Viết HTML cho skin
- Các pane được phân định bằng cách đặt id trong thẻ TD
- Ít nhất cần phải có 1 pane là ContentPane
- Có thể dễ dàng gắn bảng điều khiển khi đăng nhập sẽ hiện lên bằng cách đặt
id="ControlPanel" trong thẻ ID
Bước 4: Đăng nhập vào portal bằng quyền admin hoặc quyền host sau đó chọn thiết
lập

Bước 5: Sau khi chọn thiết lập ==> chọn thiết lập nâng cao ==> Chọn giao diện ==>
Chọn skin vừa tạo ra.

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
20
4.1.5 Xây dựng container mới gắn vào DotNetNuke
Bước 1: Tạo thư mục mới trong thư mục skins của portal
C:\MyPortals\MySecurities\Portals\_default\Containers\MySecurities
Bước 2: Tạo file TenFile.ascx, container.css
Bước 3: Viết code cho file TenFile.ascx, container.css vừa tạo
 Kế thừa lớp container Inherits="DotNetNuke.UI.Containers.Container"
 Khai báo sử dụng Title, Icon, Actions, Visibility
<%@ Register TagPrefix="dnn" TagName="ACTIONS"
Src="~/Admin/Containers/SolPartActions.ascx" %>
<%@ Register TagPrefix="dnn" TagName="ICON"
Src="~/Admin/Containers/Icon.ascx" %>
<%@ Register TagPrefix="dnn" TagName="TITLE"
Src="~/Admin/Containers/Title.ascx" %>
<%@ Register TagPrefix="dnn" TagName="VISIBILITY"
Src="~/Admin/Containers/Visibility.ascx" %>
 Sử dụng trong HTML bằng cách
<dnn:ACTIONS runat="server" id="dnnACTIONS" />
<dnn:ICON runat="server" id="dnnICON" />
<dnn:TITLE runat="server" id="dnnTITLE"
cssclass="Default_TitleContainer"/>
 Viết HTML cho container
Bước 4: Đăng nhập vào quyền admin hoặc host, chọn thiết lập

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
21

Bước 5: Sau khi chọn thiết lập ==> Chọn thiết lập trang ==> chọn thiết lập cơ bản ==>
Chọn container vừa tạo ra
4.1.6 Xây dựng module mới thêm vào DotNetNuke
Bước 1: Khởi động Visual studio dotnet mở project của dotnetnuke ra
Bước 2: Tạo thư mục mới trong DesktopModules ví dụ HungBM.HelloWorld
Bước 3: Add thêm web user control ví dụ ViewHelloWorld.ascx
Bước 4: Sử dụng thư viện Dotnetnuke.Entities
using DotNetNuke.Entities.Modules;
Bước 5: Viết class ViewHelloWorld kế thừa từ lớp PortalModuleBase
Bước 6: Thêm 1 label mới trong file ViewHelloWorld.ascx
<asp:Label ID="lblHelloWorld" runat="server" Text=""></asp:Label>
Bước 7: Viết code
namespace HungBM.HelloWorld
{
public partial class ViewHelloWorld : PortalModuleBase
{
protected void Page_Load(object sender, EventArgs e)
{
lblHelloWorld.Text = "HelloWorld";
}
}
}
Bước 8: Đăng nhập vào quyền host, chọn định nghĩa module
Bước 9: Thêm khai báo module mới

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
22
Bước 10: Đặt tên module sau đó ấn nút tạo
Bước 11: Thêm khai báo module mới
Bước 12: Thêm control

Bước 13: Thêm module mới mang tên HungBM.HelloWorld và chạy thử.

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
23
4.2 Giới thiệu XML & XSL
Sự Bùng Nổ XML!!! Hiện nay XML chiếm vị trí số một và có vai trò rất quan trọng
trong việc truyền tải và trao đổi dữ liệu liên lạc giữa các ứng dụng và các hệ điều hành
khác nhau, Nếu phải tiên đoán kỹ thuật tin học nào chắc chắn sẽ thịnh hành trong
tương lai, ta không cần phải học chiêm tinh cũng có thể đoán nay là XML. Ngay cả
Microsoft, Sun, IBM, Oracles, đều hỗ trợ XML và dùng nó trong rất nhiều ứng dụng.
Theo như sự đánh giá của những nhà khởi xướng XML cho rằng nó có thể đẩy lùi sự
bất ổn từ HTML đồng thời tạo nên cuộc cách mạng trong truyền tải và trao đổi dữ
liệu,
4.2.1 XML là gì?
XML viết tắt của chữ eXtensible Markup Language (ngôn ngữ nâng cấp có thể mở
rộng) là một bộ qui luật về cách chia một tài liệu ra làm nhiều phần, rồi đánh dấu và
ráp các phần khác nhau lại để dễ nhận diện chúng. Được chỉ đạo bởi Tổ hợp Web toàn
cầu (W3C), XML trở thành một đặc điểm kỹ thuật chính thức.
Tổ hợp Web toàn cầu W3C gọi XML là "một cú pháp thông dụng cho việc biểu thị
cấu trúc trong dữ liệu". Dữ liệu có cấu trúc tham chiếu đến dữ liệu được gán nhãn cho
nội dung, ý nghĩa, hoặc công dụng.
Ví dụ : Trong HTML ta dùng những Tag Pairs (cặp nhãn hiệu mở đóng) để đánh dấu
như <BODY> và </BODY>. Hãy quan sát một trang Web dưới đây:
<HTML>
<HEAD>
<TITLE>Welcome To HungBM’s Website</TITLE>
</HEAD>

May30,2008,Bùi Mạnh Hưng_A07757,BaoCaoChuyenDeTotNghiep.Net
24

<BODY>
<H1>Định Nghĩa</H1>
A: "Anh tên là gì?"<BR>
B: "Tôi tên là HungBM".<BR>
A: "Anh học trường nào?" <BR>
B: "Tôi học trường Thăng Long <BR>
</BODY>
</HTML>
Trong HTML Web page các Tag Pair đều được định nghĩa trước và không chứa đựng
ý nghĩa gì về dữ kiện mà chúng kẹp bên trong, trừ trường hợp TITLE. Thí dụ H1 có
nghĩa display hàng chữ bên trong (Định Nghĩa) theo cỡ lớn nhất, nhưng hàng chữ ấy có
thể là bất cứ thứ gì, không nhất thiết phải là từ (Định Nghĩa) ở đây. Còn XML thì cho
phép ta tự do đặt tên các Tag Pair để dùng khi cần. Nếu tính ra, Dynamic HTML có
đến khoảng 400 Tags mà nếu muốn dùng ta phải nhớ hết. Trong khi đó, XML không có
giới hạn về con số Tags và ta không cần phải nhớ Tag nào cả. Ý nghĩa của các Tag rất
linh động và ta có thể sắp xếp các tags của XML theo loại cho hợp lý. Thí dụ muốn làm
một trang XML về môn Văn học ta cần những Tag diễn tả nhân vật, ngày sinh, ngày
tử,
4.2.2 Lịch sử XML
XML được triển khai nhờ sự đóng góp của rất nhiều người trong mười năm qua.
Ngôn ngữ đánh dấu tiêu chuẩn tổng quát (SGML - Standard Generalized Markup
Language), một ngôn ngữ biểu thị dữ liệu trong những ứng dụng xử lý văn bản đa dạng
và có cấu trúc tinh vi. Nhược điểm của nó là rất rắc rối, khó học, khó sử dụng,
Chính vì lẽ đó vào năm 1990 Tim Berners- Lee ở CERN, đã tạo ra HTML (là một
ứng dụng của SGML), một phần nhỏ của SGML, nhưng mọi người lại rất dễ dùng.
Không ngờ sự thành công của HTML vượt quá sức tưởng tượng của chính tác giả.
Nhưng rồi đến một ngày vào năm 1995 người ta bắt đầu thấy sự giới hạn của HTML,
mặc dù nó được Netscape, Microsoft cố gắng thêm thắt, bởi sự thịnh hành của Web.
Do đó, nhiều người có ý định quay trở lại SGML, nhưng lại ái ngại.
Đúng lúc đó vào 1996, Jon Bosak ở Sun Microsystem khởi đầu nhóm cộng tác

(working group) W3C SGML, bấy giờ được gọi là nhóm XML. Mục đích là đơn giản
hoá SGML để nó dễ dùng như HTML mà đồng thời mạnh mẽ, dễ dùng,
Tim Bray và C.M. Sperberg-McQueen viết hầu hết Specification (bản điều kiện kỹ
thuật) nguyên thủy của XML. Trươc đó, Bray đã có kinh nghiệm nhiều năm quản lý dự
án "New Oxford English Dictionary". Ông muốn XML hội các điều kiện sau:

×