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

Xây dựng website tin tức bằng công nghệ ASP NET

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.45 MB, 57 trang )

LỜI CẢM ƠN
Trước hết em xin chân thành cảm ơn các thầy cô giáo Trường Đại học
Công Nghệ Thông Tin và Truyền thông – Đại Học Thái Nguyên đã trang bị cho
em những kiến thức cơ bản cần thiết trong những năm học vừa qua đã giúp đỡ
em trong suốt đợt đồ án tốt nghiệp vừa qua để em có thể hoàn thành đồ án của
mình.
Trong suốt quá trình làm đồ án em đã nhận được sự quan tâm tận tình
hướng dẫn của thầy giáo Nguyễn Văn Việt và được các thầy, cô giáo bộ môn Kỹ
thuật phần mềm. Em xin gửi lời cảm ơn chân thành tới thầy giáo Nguyễn Văn
Việt, các thầy, cô giáo bộ môn Kỹ thuật phần mềm đã tận tình giúp đỡ trong suốt
quá trình làm đồ án tốt nghiệp, tạo điều kiện cho em hoàn tất đồ án này. Ngoài ra
em cũng xin cảm ơn tất cả bạn bè đã giúp đỡ em trong suốt quá trình thực tập.
Một lần nữa cho em được bày tỏ lòng biết ơn tới các thầy cô giáo đã tận
tình giúp đỡ, chỉ bảo em trong suốt năm năm học vừa qua. Em xin chúc các thầy
cô luôn mạnh khỏe, hạnh phúc để tiếp tục dìu dắt các thế hệ sinh viên trưởng
thành từ ngôi trường này.

Em xin chân thành cảm ơn!

1


MỤC LỤC
LỜI CẢM ƠN .................................................................................................................. 1
MỤC LỤC ........................................................................................................................ 2
DANH MỤC HÌNH .......................................................................................................... 4
LỜI CAM ĐOAN.............................................................................................................. 6
MỞ ĐẦU .......................................................................................................................... 7
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT................................................................................... 8
1.1. TỔNG QUAN VỀ ASP.NET ................................................................................. 8
1.1.1. Giới thiệu chung ............................................................................................. 8


1.1.2. Phân loại......................................................................................................... 8
1.1.3. HTML .......................................................................................................... 12
1.1.4. Giới thiệu về ngôn ngữ ASP.NET................................................................. 12
1.1.5. Cách thức làm việc của ASP.NET................................................................. 18
1.2. TỔNG QUAN VỀ SQL SERVER 2008 ............................................................... 24
1.2.1. Toàn cảnh về nền tảng dữ liệu của SQL Server 2008 .................................... 24
1.2.2. Những điểm mới trong SQL Server 2008...................................................... 26
1.2.3. Nền tảng tin cậy cho dữ liệu ......................................................................... 27
1.2.4. Nền tảng phân tích có khả năng mở rộng ...................................................... 27
1.2.5. Việc lưu trữ dữ liệu thế hệ kế tiếp ................................................................. 28
CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG ............................ 31

2.1. Khảo sát ...................................................................................................... 31
2.2. Phân tích hệ thống................................................................................................ 31
2.2.1. Xác định các tác nhân ................................................................................... 31
2.2.2. Xác định các UC (ca sử dụng) của chương trình ........................................... 32

2.2.3. Biểu đồ UC ......................................................................................... 33
2.2.4. Đặc tả UC............................................................................................ 35
2.2.5 Biểu đồ trình tự .................................................................................... 40
2.2.6 Biểu đồ lớp tổng quát ...............................Error! Bookmark not defined.
2.3 Thiết kết cơ sở dữ liệu.................................................................................. 46
Chương 3. XÂY DỰNG WEBSITE TIN TỨC ................................................................ 47

3.1. Xây dựng website........................................................................................ 47
3.2. Xây dựng chương trình ............................................................................... 47
2


KẾT LUẬN..................................................................................................................... 54

TÀI LIỆU THAM KHẢO ............................................................................................... 55

3


DANH MỤC HÌNH
Hình 1.1 Quá trình biên dịch một chương trình......................................................15
Hình 1.2 Thực thi một ứng dụng web Asp.Net ......................................................17
Hinh 1.3 Cách thức của một HTTP request được xử lý trên server ........................19
Hình 1.4: Mô hình MVC ......................................................................................21
Hình 1.5: Toàn cảnh nền tảng dữ liệu của Microsoft..............................................26
Hình 2.1 Biểu đồ UC tổng quát..............................................................................33
Hình 2.2 Biểu đồ UC tác nhân admin ....................................................................34
Hình 2.3 Biểu đồ UC đăng nhập tác nhân admin .....Error! Bookmark not defined.
Hình 2.4 Biểu đồ UC quản lý người dùng tác nhân adminError! Bookmark not defined.
Hình 2.5 Biểu đồ UC quản lý bài viết chờ đăng tác nhân adminError! Bookmark not defined.
Hình 2.6 Biểu đồ UC quản lý phản hồi tác nhân adminError! Bookmark not defined.
Hình 2.7 Biểu đồ UC quản lý bài viết tác nhân adminError! Bookmark not defined.
Hình 2.8 Biểu đồ UC quản lý chuyên mục tác nhân adminError! Bookmark not defined.
Hình 2.9 Biểu đồ UC tác nhân biên tập viên ..........................................................34
Hình 2.10 Biểu đồ UC đăng nhập tác nhân biên tập viênError! Bookmark not defined.

Hình 2.11 Biểu đồ UC quản lý bài viết chờ đăng tác nhân biên tập viênError! Bookmark not define
Hình 2.12 Biểu đồ UC quản lý bài viết tác nhân biên tập viênError! Bookmark not defined.

Hình 2.13 Biểu đồ UC quản lý thông tin cá nhân tác nhân biên tập viênError! Bookmark not define
Hình 2.14 Biểu đồ UC quản lý phản hồi tác nhân biên tập viênError! Bookmark not defined.
Hình 2.15 Biểu đồ UC tác nhân phóng viên...........................................................35
Hình 2.16 Biểu đồ UC đăng nhập tác nhân phóng viênError! Bookmark not defined.
Hình 2.17 Biểu đồ UC quản lý bài viết tác nhân phóng viênError! Bookmark not defined.

Hình 2.18 Biểu đồ UC quản lý phản hồi của tác nhân phóng viênError! Bookmark not defined.
Hình 2.19 Biểu đồ UC tác nhân người đọc ..............Error! Bookmark not defined.
Hình 2.20 biểu đồ trình tự UC đăng nhập ..............................................................40
Hình 2.21 biểu đồ trình tự UC đăng ký ..................................................................41
Hình 2.22 biểu đồ trình tự UC thêm mới bài viết ...................................................41
Hình 2.23 Biểu đồ trình tự UC liên hệ ...................................................................42
Hình 2.24 Biểu đồ trình tự UC thông tin cá nhân...................................................43
4


Hình 2.25 Biểu đồ trình tự thêm mới chuyên mục .................................................44
Hình 2.26 Biểu đồ lớp tổng thể................................Error! Bookmark not defined.
Hình 2.27 Cơ sở dữ liệu.........................................................................................46
Hình 3.1 giao diện trang đăng nhập .......................................................................47
Hình 3.2 giao diện trang chủ..................................................................................48
Hình 3.3 giao diện trang quản trị ...........................................................................51
Hình 3.4 Giao diện thêm mới bài viết ....................................................................52
Hình 3.5 Giao diện trang đăng ký ..........................................................................52
Hình 3.7 Giao diện trang liên hệ ............................................................................53

5


LỜI CAM ĐOAN
Em xin cam đoan toàn bộ nội dung trong đồ án này là do tự em đọc và
nghiên cứu các tài liệu, khảo sát các trang tin tức hiện nay . Từ đó viết ra cơ sở lý
thuyết và xây dựng chương trình website tin tức trực tuyến.

Người cam đoan


Vũ Văn Hinh

6


MỞ ĐẦU
 Tổng quan về đề tài .
Hiện nay công nghệ thông tin đã và đang phát triển một cách sâu rộng và
toàn diện, cuộc sống con người được cải thiện nhanh chóng và ngày càng phát
triển. Nhờ việc áp dụng tin học vào nhiều lĩnh vực khác nhau, nhất là Công nghệ
phần mềm đã và đang phát triển mạnh mẽ trên toàn thế giới. Nhờ đó giúp con
người nâng cao hiệu quả quản lý, tiết kiệm thời gian và tiền của. Chính vì những
lợi ích to lớn đó mà con người ngày càng phát triển và mở rộng hơn các ứng
dụng của công nghệ thông tin nói chung và phần mềm nói riêng vào công việc
hàng ngày cũng như đời sống xã hội.
 Lí do chọn đề tài
Hiện nay nhu cầu đọc tin tức hàng ngày trong nước và quốc tế ngày càng
cao, cần phải có những trang web tin tức để đáp ứng nhu cầu con người.
 Mục đích của đề tài
Qua đây giúp cho em hiểu rõ hơn được về lập trình web ASP.NET . Có
thể vận dụng vào làm nhiều phần mềm bằng ASP.NET hơn nữa.
Mặc dù đã rất cố gắng vận dụng các kiến thức tổng hợp để xây dựng
chương trình nhưng với kinh nghiệm còn thiếu nên không thể tránh khỏi những
thiếu sót. Em rất mong được sự giúp đỡ của thầy cô và các bạn để em có thể hoàn
thành tốt hơn đồ án của mình.
Việc thành lập Website tin tức . Giúp cho người đọc có thể theo dõi tin tức
hàng ngày.
 Nội dung đề tài gồm 3 chương :
Chương 1: Cơ sở lí thuyết
Chương 2: Phân tích và thiết kế hệ thống

Chương 3: Xây dựng website tin tức

7


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

1.1. TỔNG QUAN VỀ ASP.NET
1.1.1. Giới thiệu chung
Internet là mạng của các máy tính trên toàn cầu được thành lập từ những
năm 80 bắt nguồn từ mạng APARRNET của bộ quốc phòng Mỹ.
Vào mạng Internet, bạn có thể tìm thấy nhiều tài liệu để nghiên cứu, học
tập, trao đổi thư từ, đặt hàng, mua bán,...Một trong những mục tiêu của Internet
là chia sẻ thông tin giữa những người dùng trên nhiều lĩnh vực khác nhau.
Mỗi máy tính trên Internet được gọi là một host. Mỗi host có khả năng
như nhau về truyền thông tới máy khác trên Internet. Một số host được nối tới
mạng bằng đường nối Dial-up (quay số) tạm thời, số khác được nối bằng đường
nối mạng thật sự 100% (như Ethernet, Tokenring,..).
1.1.2. Phân loại
Các máy tính trên mạng được chia làm 3 nhóm Client và Server.
*Client: Máy khách trên mạng, chứa các chương trình Client.
*Server: Máy phục vụ-Máy chủ. Chứa các chương trình Server, tài
nguyên (tập tin, tài liệu... ) dùng chung cho nhiều máy khách. Server luôn ở trạng
thái chờ yêu cầu và đáp ứng yêu cầu của Client.
*Internet Server: Là những server cung cấp các dịch vụ Internet như
Web Server, Mail Server, FPT Server,...
Các dịch vụ thường dùng trên Internet:
*Dịch vụ World Wide Web (gọi tắt là Web)
*Dịch vụ Electronic Mail (viết tắt là Email)
*Dịch vụ FPT

Để truyền thông với những máy tính khác, mọi máy tính trên Internet phải
hỗ trợ giao thức chung TCP/IP (Transmission Control Protocol/ Internet
Protocol- là giao thức điều khiển truyền dữ liệu và giao thức Internet), là một
giao thức đồng bộ, cho truyền thông điệp từ nhiều nguồn và tới nhiều đích khác
nhau. Ví dụ có thể vừa lấy thư từ trong hộp thư, đồng thời vừa truy cập trang

8


Web. TCP đảm bảo tính an toàn dữ liệu, IP là giao thức chi phối phương thức
vận chuyển dữ liệu trên Internet.
World Wide Web
Các khái niệm cơ bản về World Wide Web
World Wide Web (WWW) hay còn gọi là Web là một dịch vụ phổ biến
nhất hiện nay trên Internet, 85% các giao dịch trên Internet ước lượng thuộc về
WWW. Ngày nay số Website trên thế giới đã đạt tới con số khổng lồ. WWW cho
phép bạn truy xuất thông tin văn bản, hình ảnh, âm thanh, video trên toàn thế giới.
Thông qua Website, các quý công ty có thể giảm thiểu tối đa chi phí in ấn và phân
phát tài liệu cho khách hàng ở nhiều nơi.
Cách tạo trang Web:
Có nhiều cách để tạo trang Web:
*Có thể tạo trang Web trên bất kì chương trình xử lí văn bản nào:
*Tạo Web bằng cách viết mã nguồn bởi một trình soạn thảo văn bản như:
Notepad, WordPad,... là những chương trình soạn thảo văn bản có sẵn trong
Window.
*Thiết kế bằng cách dùng Web Wizard và công cụ của Word 97, Word 3000.
*Thiết kế Web bằng các phần mềm chuyên nghiệp: FrontPage,
Dreamweaver, Nescape Editor,....Phần mềm chuyên nghiệp như DreamWeaver
sẽ giúp bạn thiết kế trang Web dễ dàng hơn, nhanh chóng hơn, phần lớn mã lệnh
HTML sẽ có sẵn trong phần Code cho bạn.

Để xây dựng một ứng dụng Web hoàn chỉnh và có tính thương mại, bạn
cần kết hợp cả Client Script (kịch bản trình khách) và Server Script (kịch bản
trên trình chủ) với một loại cơ sở dữ liệu nào đó, chẳng hạn như: MS Access,
SQL Server, MySQL, Oracle,...
Khi bạn muốn triển khai ứng dụng Web trên mạng, ngoài các điều kiện về
cấu hình phần cứng, bạn cần có trình chủ Web thường gọi là Web Server.
Trình duyệt Web (Web Client hay Web Browser)
Trình duyệt Web là công cụ truy xuất dữ liệu trên mạng, là phần mềm giao
diện trực tiếp với người sử dụng. Nhiệm vụ của Web Browser là nhận các yêu cầu
của người dùng, gửi các yêu cầu đó qua mạng tới các Web Server và nhận các dữ
9


liệu cần thiết từ Server để hiển thị lên màn hình. Để sử dụng dịch vụ WWW, Client
cần có 1 chương trình duyệt Web, kết nối vào Internet thông qua một ISP. Các trình
duyệt thông dụng hiện nay là: Microsoft Internet Explorer và Netscape Navigator.
Internet Explorer 5.0 là một trình duyệt chuẩn cho phép trình bày nội dung do Web
server cung cấp, cho phép đăng kí tới bất kì Website nào trên Internet, hỗ trợ trình
bày trang Web.
Webserver:
Webserver là một máy tính được nối vào Internet và chạy các phần mềm
được thiết kế. Webserver đóng vai trò một chương trình xử lí các nhiệm vụ xác
định, như tìm trang thích hợp, xử lí tổ hợp dữ liệu, kiểm tra dữ liệu hợp lệ....
Webserver cũng là nơi lưu trữ cơ sở dữ liệu, là phần mềm đảm nhiệm vai trò
Server cung cấp dịch vụ Web.
Webserver hỗ trợ các công nghệ khác nhau:
*IIS (Internet Information Service): Hỗ trợ ASP, mở rộng hỗ trợ PHP
*Apache: Hỗ trợ PHP
*Tomcat: Hỗ trợ JSP(Java Servlet Page)
Phân loại Web

a) Web tĩnh:
Là một trang web mà người dùng không có khả năng tương tác với nó, nó
không yêu cầu cần phải lập trình hay nói một cách khác khi xem một trang web
tĩnh như xem một tờ báo được in trên giấy. Trang web tĩnh dưới dạng các file
html, tất cả những gì vần hiển thị trên trang web thì người thiết kế phải tạo sẵn
trang đó.
Tài liệu được phân phát rất đơn giản từ hệ thống file của Server
Định dạng các trang web tĩnh là các siêu liên kết, các trang định dạng
Text, các hình ảnh đơn giản.
Ưu điểm: CSDL nhỏ nên việc phân phát dữ liệu có hiệu quả rõ ràng,
Server có thể đáp ứng nhu cầu Client một cách nhanh chóng. Ta nên sử dụng
Web tĩnh khi không thay đổi thông tin trên đó.
Nhược điểm: Không đáp ứng được yêu cầu phức tạp của người sử dụng,
không linh hoạt,...
10


*Hoạt động của trang Web tĩnh được thể hiện như sau:
Browser gửi yêu cầu Server trả về dữ liệu

b) Website động:
Web động là thuật ngữ được dùng để chỉ những website có cơ sở dữ liệu
và được hỗ trợ bởi các phần mềm phát triển web.
- Với web động, thông tin hiển thị được gọi ra từ một cơ sở dữ liệu khi
người
dùng truy vấn tới một trang web. Trang web được gửi tới trình duyệt gồm
những câu chữ, hình ảnh, âm thanh hay những dữ liệu số hoặc ở dạng bảng hoặc ở
nhiều hình thức khác nữa.
Chẳng hạn ứng dụng cơ sở của bạn có chức năng như một công cụ thương
mại điện tử (một cửa hàng trực tuyến) trưng bày catalogue sản phẩm trên website

hay theo dõi kho hàng, khi một mặt hàng được giao, ngay lập tức những trang có
liên quan đến sản phẩm đó phản ánh sự thay đổi này. Những website cơ sở dữ
liệu còn có thể thực hiện những chức năng truyền và xử lý thông tin giữa doanh
nghiệp – doanh nghiệp.
- Web động thường được phát triển bằng các ngôn ngữ lập trình tiên tiến
như PHP, ASP, ASP.NET, Java, CGI, Perl, và sử dụng các cơ sở dữ liệu quan hệ
mạnh như Access, My SQL, MS SQL, Oracle, DB3,
- Thông tin trên web động luôn luôn mới vì nó dễ dàng được bạn thường
xuyên cập nhật thông qua việc Bạn sử dụng các công cụ cập nhật của các phần
mềm quản trị web. Thông tin luôn được cập nhật trong một cơ sở dữ liệu và
người dùng Internet có thể xem những chỉnh sửa đó ngay lập tức. Vì vậy website
được hỗ trợ bởi cơ sở dữ liệu là phương tiện trao đổi thông tin nhanh nhất với
người dùng Internet. Điều dễ nhận thấy là những website thường xuyên được cập
nhật sẽ thu hút nhiều khách hàng tới thăm hơn những web site ít có sự thay đổi
về thông tin.
- Web động có tính tương tác với người sử dụng cao. Với web động, Bạn
hoàn toàn có thể dễ dàng quản trị nội dung và điều hành website của mình thông

11


qua các phần mềm hỗ trợ mà không nhất thiết Bạn cần phải có kiến thức nhất
định về ngôn ngữ html, lập trình web,
Bạn cũng có thể nhìn nhận vấn đề theo khía cạnh khác: chẳng hạn bạn đã
có sẵn những cơ sở dữ liệu như cơ sở dữ liệu sản phẩm, nhân sự, khách hàng hay
bất kỳ cơ sở dữ liệu nào đó mà bạn muốn đưa thêm giao diện web vào để người
dùng nội bộ hay người dùng Internet đều có thể sử dụng chương trình chỉ
với trình duyệt web của mình.
- Tất cả các website Thương mại điện tử, các mạng thương mại, các mạng
thông tin lớn, các website của các tổ chức, doanh nghiệp hoạt động chuyên

nghiệp trên Net đều sử dụng công nghệ web động. Có thể nói web động là
website của giới chuyên nghiệp hoạt động trên môi trường Internet.
1.1.3. HTML
Trang Web là sự kết hợp giữa văn bản và các thẻ HTML. HTML là chữ
viết tắt của HyperText Markup Language được hội đồng World Wide Web
Consortium (W3C) quy định.Một tập tin HTML chẳng qua là một tập tin bình
thường, có đuôi.html hoặc. htm.
HTML giúp định dạng văn bản trong trang Web nhờ các thẻ. Hơn nữa ,
các thẻ html có thể liên kết từ hoặc một cụm từ với các tài liệu khác trên
Internet. Đa số các thẻ HTML có dạng thẻ đóng mở. Thẻ đóng dùng chung từ
lệnh giống như thẻ mở, nhưng thêm dấu xiên phải (/). Ngôn ngữ HTML qui định
cú pháp không phân biệt chữ hoa chữ thường. Ví dụ, có thể khai báo <html>
hoặc <HTML>. Không có khoảng trắng trong định nghĩa thẻ.
1.1.4. Giới thiệu về ngôn ngữ ASP.NET
ASP.NET là gì?
Hiện tại ASP 3.0 đã và đang trở thành kịch bản được nhiều người sử dụng
để thiết kế ứng dụng thương mại điện tử dưới nhiều hình thức khác nhau. Chúng
được sự hỗ trợ mạnh của ngôn ngữ lập trình C#, VB.NET… và cơ sở dữ liệu
SQL Server 3005 cùng với sự ra đời của công nghệ COM và DCOM, ứng dụng
trở nên hoàn hảo và ưu việt hơn trong quá trình trao đổi thông tin trên mạng
Internet và Intranet.

12


Tuy nhiên, Microsoft đã và đang nỗ lực cho một công nghệ Web xử lý
phía máy chủ hoàn toàn mới đó là ASP.NET, độc lập với mọi trình duyệt. Điều
này có nghĩa là trình duyệt không cần phải cài đặt bất kỳ công cụ hỗ trợ nào để
duyệt trang Web dạng ASP.NET(.aspx). Với kỹ thuật cho phép mọi thực thi đều
nằm trên trình chủ (Server), có nghĩa là trình duyệt xử lý nhiều vấn đề cùng một

lúc cho nhiều người dùng, chính vì vậy đòi hỏi cấu hình máy chủ có cấu hình
mạnh và đòi hỏi băng thông có khả năng truyền dữ liệu với khối lượng lớn và tốc
độ truy cập nhanh.
ASP.NET được thiết kế tương thích với các phiên bản ASP trước đó. Bạn
có thể triển khai ứng dụng phát triển bằng ASP.NET chung với ứng dụng phát
triển bằng ASP trên cùng một máy chủ mà không cần thay đổi cấu hình của ứng
dụng ASP
Những ngôn ngữ được dùng để viết ASP.NET là VBScript, Jscript, C#.
Tùy thuộc vào khai báo chỉ mục trong đối tượng chỉ dẫn đầu trang ASP.NET,
bạn có thể chỉ rõ ngôn ngữ lập trình bạn sử dụng để xây dựng trang ASP.NET.
Trước hết, tên đầy đủ của ASP.NET là Active Server Pages.NET (.NET ở
đây là .NET framework). Nói đơn giản thì ASP.NET là một công nghệ có tính
cách mạng dùng để phát triển các ứng dụng về mạng hiện nay cũng như trong
tương lai. Bạn lưu ý ở chỗ ASP.NET là một phương pháp tổ chức hay khung tổ
chức (framework) để thiết lập các ứng dụng hết sức hùng mạnh cho mạng dựa
trên CLR(Common Language Runtime) CLR là môi trường được dùng để quản
lý sự thi hành các nguồn mã mà ta đã soạn ra và biên dịch (write and compile
code) trong các ứng dụng.
- ASP.NET tích hợp với .NET framework
.Net framework được chia thành bộ các tác vụ cho từng chức năng gồm
các lớp, cấu trúc, các giao diện, và các lõi thành phần chương trình. Trước khi sử
dụng thành phần nào, bạn phải hiểu cơ bản về chức năng, các tổ chức của nó.
Mỗi một trong hàng ngàn các tầng lớp được nhóm theo trình tự logic, thức bậc
được học là namespace. Mỗi namespace cung cấp một tính năng.
- ASP.NET là đa ngôn ngữ

13


Để xây dựng một ứng dụng web chúng ta không chỉ một ngôn ngữ mà có

thể chọn nhiều ngôn ngữ khác. Điều quan trọng là các ngôn ngữ chúng ta chọn
mã của nó dịch được ra mã IL. Điều đó có nghĩa là IL là ngôn ngữ của .NET và
chỉ có CLR nhận biết được IL.
- ASP.NET là hướng đối tượng(Object-Oriented)
ASP.NET là ngôn ngữ lập trình hướng đối tượng sử dụng các ngôn ngữ
.NET. Nó cung cấp bộ các đối tượng nhỏ và thực sự là một tầng làm việc trên
nguyên lý của HTTP và HTML. Mã nguồn của chúng ta được truy cập toàn bộ
các đối trượng trong .NET Framework nhưng có thể khai thác tất cả các quy ước
của một môi trường OOP (Object Oriented Programming). Chúng ta có thể tạo
các lớp, giao diện, kế thừa các lớp... Chúng ta có thể kiểm soát được các đối
tượng trong chương trình như hiển thị dữ liệu và các sự kiện của đối tượng.
- ASP.NET được biên dịch
Một ứng dụng ASP.NET luôn luôn được biên dịch, nó không chạy bằng
mã của C# hoặc VB mà không được biên dịch trước. Một ứng dụng ASP.NET
thực sự được biên dịch thông qua 3 giai đoạn:
+ Giai đoạn đầu tiên của những các mã (code) bạn viết (C#, VB, hoặc
ngôn ngữ .NET khác) được dịch bởi Microsoft Intermediate Language
(MSIL). Giai đoạn dịch này được tự động khi trang web đầu tiên yêu cầu. Chúng
ta có thể thực hiện dịch trước. Các tệp được dịch thành mã IL (Intermediate
Language Code).
+ Giai đoạn tiếp theo được dịch trước khi trang web được thực thi. Tại
giai đoạn này mã IL được dịch thành bản mã máy (Native Machine Code). Giai
đoạn được gọi là Just-In-Time(JIT).

14


Hình 1.1 Quá trình biên dịch một chương trình
- ASP.NET được lưu trữ trên máy bởi Common Language Runtime
Khía cạnh quan trọng nhất của công cụ ASP.NET là nó chạy trong môi

trường thời gian thực(Runtime) của CLR. CLR là máy ảo (virtual machine) trong
Microsoft .NET, do có ngôn ngữ trung gian IL nên khi phát triển ứng dụng trên
.NET, chúng ta không bị phụ thuộc vào thiết bị, có nghĩa là theo Microsoft nói
thì ứng dụng trên .NET có thể chạy trên bất kỳ thiết bị có .NET Framework. Tất
cả các namespace, các ứng dụng, các lớp trong bộ .NET Framework được gọi tắt
là bộ quản lý mã. CLR cũng cung cấp các dịch vụ quan trọng khác như:
+ Quản lý bộ nhớ.
+ Thu nhặt rác.
+ Quản lý các tuyến.
+ Xử lý ngoại lệ.
+ An toàn.
- ASP.NET dễ dàng triển khai và cấu hình
Mọi sự cài đặt .NET Framework đều cung cấp các lớp như nhau. Để triển
khai ứng dụng ASP.NET chúng ta chỉ cần sao chép các tập tin vào thư mục ảo
trên máy chủ (server) và máy chủ cần có .NET Framwork.

15


-Việc cấu hình dễ dàng đơn giản không phụ thuộc vào IIS (Internet
Information Services). Cấu hình trong ASP.NET được đặt trong tệp web.config.
Tệp web.config được để cùng với thư mục chứa trang web của chúng ta. Tệp
web.config không bao giờ bị khóa, chúng ta có thể truy cập bất kỳ lúc nào, việc
sửa tệp này hoàn toàn dễ dàng vì chúng được lưu dưới dạng XML.
-Công nghệ ASP.NET sẽ hướng các lập trình viên Web vào quỹ đạo của
chúng bằng các lý do sau :
- Độc lập ngôn ngữ cho phép bạn không biên dịch ngôn ngữ, thực hiện tối
ưu các ngôn ngữ kết hợp.
- Dễ phát triển: ASP.NET cho phép bạn khai báo và viết mã và đơn giản hóa
vấn đề.

- Tách mã và nội dung ra hai phần khác nhau: Trong mở Web form bạn có
thể khai báo một số thủ tục trên tập tin với các tên mở rộng.
- Tính mềm dẻo và khả năng nâng cấp: Cho phép chúng ta quản lý trạng
thái của các Sesion và tạo form trên một ứng dụng sử dụng hệ thống Server.
- Hỗ trợ nhiều trình khách có thể tự động nhận dạng trình khách để hiện
thị cho phù hợp
- Thay vì sử dụng mô hình DLL, COM, DCOM trước đây, trong trường
hợp ứng dụng sử dụng công nghệ ASP.NET bạn có thể sử dụng dịch vụ tương tự
có tên là Web Services
Ưu điểm của ASP.NET
ASP.NET có nhiều ưu điểm hơn các nền tảng khác khi dùng nó để tạo ứng
dụng Web. Có thể phần lớn những ưu điểm quan trọng của nó đi kèm với các
máy chủ Windows và các công cụ lập trình Windows. Ứng dụng web được tạo
bởi ASP.NET được tạo ra, bắt lỗi và triển khai rất dễ dàng thông qua các tác vụ
có thể thực thi trọn vẹn trong một môi trường phát triển duy nhất - Visual Studio.
NET.
Với những nhà phát triển ứng dụng Web, ASP.NET bộc lộ những ưu điểm
sau đây :
- Những phần thực thi được của ứng dụng Web được biên dịch, vì vậy
chúng thực thi nhanh hơn là các kịch bản thông dịch.
16


Hình 1.2 Thực thi một ứng dụng web Asp.Net
- Các cập nhập ngay lập tức giúp cho việc triển khai các ứng dụng Web
mà không phải khởi động lại máy chủ.
- Truy cập tới .NET Framework, có thể đơn giản hóa nhiều khía cạnh
trong lập trình Windows
- Sử dụng nhiều những hiểu biết về ngôn ngữ lập trình C#, VB, vốn đã
được tăng cường để hỗ trợ lập trình hướng đối tượng.

- Giới thiệu ngôn ngữ lập trình mới mà nó cung cấp khả năng an toàn
kiểu, hướng đối tượng, so với ngôn ngữ lập trình C.
- Tự động quản lý trạng thái để điều khiển trang Web (được gọi là Server
Controls) vì vậy chúng có gì đó giống với các Windows Controls.
- Các tính năng bảo mật được xây dựng sẵn thông qua máy chủ Windows
hoặc thông qua các phương thức xác nhận/phân quyền khác.
- Tích hợp chặt chẽ với ADO.NET để cung cấp các truy xuất CSDL và các
công cụ thiết kế CSDL trực quan trong bộ VS.NET
- Hỗ trợ đầy đủ XML, CSS và các chuẩn Web đã được thiết lập hoặc mới
khác.
- Các tính năng sẵn có để đệm các trang web thường xuyên được yêu cầu
trên máy chủ, các nội dung bản địa hóa cho các ngôn ngữ và trao đổi, nhận ra khả
năng tương thích trình duyệt
Giới thiệu về cách thức truy cập dữ liệu
a. Tổng quan
Phần lớn các ứng dụng hiện nay đều sử dụng cơ sở dữ liệu. Có nhiều cách
thức truy cập dữ liệu khác nhau trong các công nghệ của Microsoft như ADO,
RDO, DAO, ODBC. Tuy nhiên từ khi .NET Framework ra đời thì công nghệ
ADO.NET đã được tích hợp, ADO.NET chứa các lớp cho phép các ứng dụng
17


connect data sources ( kết nối với các nguồn dữ liệu), execute commands (thực
hiện các lệnh), manager disconnected data (quản lý dữ liệu đã ngắt kết nối). Với
ADO.NET người lập trình có thể viết ít mã lệnh thao tác cơ sở dữ liệu hơn so với
các công nghệ trước trong các ứng dụng client – server hoặc các ứng dụng trên
desktop.
Mặt khác, trong ASP.NET từ phiên bản .NET Framework 3.0 trở lên có
thêm các thao tác với cơ sở dữ liệu mà không sử dụng ADO.NET như
SqlDataSource, LINQ hoặc profiles.

Ngoài ra các ứng dụng truy cập dữ liệu của .NET Framework còn có thể
truy nhập vào các nguồn dữ liệu như File, Stream, XML, Ajax, web services,
WCF, data services.
b. Truy cập dữ liệu ADO.NET
ADO.NET Data Providers cho phép truy cập vào một cơ sở dữ liệu cụ thể,
thực hiện các câu lệnh SQL và nhận dữ liệu. Data provider là chiếc cầu nối giữa
ứng dụng và nguồn dữ liệu. Lớp ADO.NET Data Provider bao gồm các thành
phần: Connection: thực hiện connect tới nguồn cơ sở dữ liệu; Command: thực
hiện một câu lệnh SQL hoặc một store procedures; DataReader: chỉ đọc và nhận
dữ liệu từ một truy vấn; DataAdapter thực hiện 3 nhiệm vụ: điền dữ liệu nhận
được vào một DataSet, có thể ghi nhận sự thay đổi dữ liệu trong DataSet.
c. Truy cập dữ liệu XML
Dữ liệu XML ngày càng thông dụng và được phát triển mạnh mẽ hơn
trước. Trong các ứng dụng ngày nay, việc sử dụng XML thay cho dữ liệu truyền
thống đang có xu hướng phát triển mạnh mẽ. Tuy nhiên các ứng dựng XML làm
cơ sở dữ liệu vẫn còn ở mức quy mô nhỏ và hạn chế.
d. Truy cập dữ liệu với SqlDataSource
SqlDataSource là một thành phần được giới thiệu từ .NET Framework 3.0.
Sử dụng SqlDataSource để truy cập dữ liệu sẽ không cần phải viết mã lệnh lập
trình, chỉ cần khai báo đầy đủ các thuộc tính cần. SqlDataSource chỉ nên dùng
khi không cần sử dụng truy vấn SQL quá phức tạp để thao tác với cơ sở dữ liệu.
1.1.5. Cách thức làm việc của ASP.NET
Mối quan hệ giữa ASPX File và Code-Behind File
18


File ASPX sẽ khai báo tên của file code liên kết với nó, và tên class trong
file code mà nó thừa kế. Tuy nhiên, class này chỉ là partial class. File code sẽ
chứa code để hiện thực các chức năng cần thêm vào của trang web, file .aspx sẽ
hiện thực giao diện của người dùng.

Khi client gửi request ASPX file, ASP.NET sẽ tạo 2 classes. Class đầu
tiên là một partial class khác với partial class trong code-behind file, tuy nhiên nó
chứa phần còn lại của partial class này. Khi biên dịch, phần class chứa khai báo
web control sẽ liên kết với partial class khai báo trong code-behind file để tạo
mộtlớphoànthiện.
Lớp thứ hai được sinh ra bởi ASP.NET dựa trên ASPX file để định nghĩa
cách thể hiện trực quan của trang web. Lớp mới này sẽ được thừa kế từ lớp đã
được khai báo trong code-behind file (lớp định nghĩa trang web về mặt luận lý).
Trong lần đầu kích hoạt trang web, lớp này sẽ được biên dịch và một thực thể
được tạo ra. Thực thể này sẽ đại diện cho trang web và tạo ra file XHTML gửi
cho client. Nhiều người dùng có thể cùng sử dụng thực thể này mà không cần
biên dịch lại. Project sẽ dịch lại khi ta thay đổi ứng dụng, những thay đổi này
được phát hiện trong môi trường thực thi.
Cách thức vận hành của ASP.NET:

Hinh 1.3 Cách thức của một HTTP request được xử lý trên server

19


Hình trên mô tả cách thức xử lý khi có một HTTP request của client đối
với một .aspx page trên IIS ( Internet Information Service).
Một yêu cầu loại HTTP được gửi đến IIS (INETIFO.EXE), nếu đó là yêu
cầu đối với một .aspx page thì nó sẽ được chuyển đến bộ lọc ISAPI ( thông qua
tập tin aspnet_isapi.dll). Tại đây, bộ lọc sẽ gửi lại yêu cầu đến quá trình xử lý
ASP.NET thông qua một đường ống (named pipe). Tại đây, ASP.NET sẽ tiến
hành kiểm tra, nếu trang web được yêu cầu đã được biên dịch hay chưa. Nếu
trang web này đã được biên dịch thì nó sẽ được load từ bộ nhớ cache và gửi kết
quả về cho client. Ngược lại, nếu đây là yêu cầu đầu tiên đến trang này,
ASP.NET sẽ tự động biên dịch trang này và lưu lại các đoạn mã assembly in thư

mục Temporary ASP.NET Files. Bạn có thể tìm thấy thư mục này thông qua
đường dẫn sau:
WINDOWS\Microsoft.NET\Framework\v.<version>\
ASP.NET sẽ tự động tham khảo đến các mã assembly có trong thư mục
\bin và nhiều mã assembly khác từ “global assembly cache”.
Class đóng vai trò quan trọng nhất trong quá trình này là class Page. .aspx
page sẽ được chuyển thành một lớp dẫn xuất (derived class), tất cả các nội dung
tĩnh như HTML, các khối render block trong mã ASP.NET sẽ được thể hiện
trong phương thức Render. Class Page cũng đóng vai trò quan trọng trong web
form và server controls.
ASP.NET MVC
a. ASP.NET MVC là gì?
MVC là viết các của các chữ cái đầu Models, Views, Controllers. MVC
chia giao diện UI thành 3 phần tương ứng, đầu vào của controller là các điểu
khiển thông qua HTTP requests, model chứa các miền logic, view là những thứ
được sinh ra trả về cho trình duyệt.

20


Hình 1.4: Mô hình MVC
Lợi ích của việc dùng phương pháp MVC là sự phân đoạn rõ ràng giữa
models, views, controllers bên trong ứng dụng. Cấu trúc sạch sẽ giúp cho việc
kiểm tra lỗi ứng dụng trở nên dễ dàng hơn.
Phần Models trong các ứng dụng dựa trên MVC là những thành phần có
nhiệm vụ lưu trữ thông tin, trạng thái của các đối tượng, thông thường nó là một
lớp được ánh xạ từ một bảng trong CSDL.
Còn đối với Views, nó chính là các thành phần chịu trách nhiệm hiển thị
các thông tin lên cho người dùng thông qua giao diện. Thông thường, các thông
tin cần hiển thị được lấy từ thành phần Models.

Controllers trong các ứng dụng kiểu MVC chịu trách nhiệm xử lý các tác
động về mặt giao diện, các thao tác đối với models, và cuối cùng là chọn một
view thích hợp để hiển thị ra màn hình. Trong kiến trúc MVC, view chỉ có tác
dụng hiển thị giao diện mà thôi, còn điều kiển dòng nhập xuất của người dùng
vẫn do Controllers đảm trách.
Một lợi điểm của phương pháp MVC là nó bắt buộc phải tạo ra một sự
rành mạch trong liên kết giữa 3 thành phần models, views và controllers trong
ứng dụng. Duy trì được mối quan hệ rành mạch rõ ràng này khiến việc kiểm tra
ứng dụng trở nên dễ dàng hơn, đồng thời trách nhiệm của từng thành phần được
định nghĩa rõ ràng và cả ba đều làm việc ăn ý với nhau. Mô hình kiến trúc MVC

21


này ngày càng được phát triển và hoàn thiện nhằm giải quyết các vấn đề phát
sinh cũng như các giải pháp trong quá trình phát triển ứng dụng.
b. Một số đặc tính trong ASP.NET MVC
Tách rõ ràng các mối liên quan, mở khả năng test TDD (test driven
developer). Có tể test unit trong ứng dụng mà không cần chạy controllers cùng
với tiến hành của ASP.NET và có thể dùng bất kỳ một unit testing framework
nào như Nunit, MBUnit, MS Test...
Có khả năng mở rộng, mọi thứ trong MVC được thiết kế cho phép dễ
dàng thay thế / tùy biến (ví dụ: có thể lựa chọn sử dụng engine view riêng,
routing policy,..)
Bao gồm một ánh xạ URL mạnh mẽ cho phép xây dựng với những URL
sạch, các URL không cần cs phần mở rộng (ví dụ: có thể ánh xạ địa chỉ
/Blog/SomeTopic để thực hiện hành động “Display topic” của lớp điều khiener
BlogEngineController)
ASP.NET MVC Framework cũng hỗ trợ những file ASP.NET như .aspx,
.ascx, và Master, đánh dấu các tập tin này như một “view template”. Tuy nhiên

sẽ không còn postback và interactive back server và thay vào đó là interactive
end-user tới một controller class (không còn viewstate, page lifecycle).
ASP.NET MVC Framework hỗ trợ đầy đủ các tính năng bảo mật của
ASP.NET

như

form/windows

authenticate,UNL

authorization,membershiop/roles, output và data caching, session/profile state,...
Cho phép bạn chia nhỏ một ứng dụng thành nhiều phần khác nhau. Mỗi
phần có controller, view và cấu hình định tuyến riêng. Vì thế, rất thuận tiện để
phát triển mỗi phần một cách độc lập và có thể sử dụng lại giữa các dự án.
Do được thiết kế trên mô hình MVC nên việc mở rộng các đối tượng
trong mô hình dữ liệu của dễ dàng hơn. Ta có thể sử dụng những templated để
tiết kiệm thời gian.
Mô hình siêu dữ liệu có thể định rõ việc xác nhận những nguyên tắc sử
dụng các thuộc tính khai báo hoặc tùy chỉnh.
Mã hóa tự động HTML : Có thể tránh được những lỗ hổng cross-site
scripting (XSS) nhờ chức năng này.
22


Điều khiển không đồng bộ, khi phải xử lý một khối lượng lớn công việc
mà có sự tranh chấp trong việc chờ đợi nhập xuất từ hệ điều hành thì chức năng
điều khiển không đồng bộ sẽ giúp ta giải quyết vần đề này.
Phương thức ghi đè HTTP: máy trạm phát những yêu cầu HTTP kiểu
PUT và DELETE mà chỉ có thể phát chỉ định một thông số ghi đè. Và sau đó

Framework sẽ chấp nhận trạng thái HTTP đó.
Strongly typed input helpers: cho phép bạn chỉ định ràng buộc bằng
cách sử dụng biểu thức thay vì chuỗi ký tự.
Tuy ASP.NET MVC có nhiều tính năng nhưng vẫn có những khuyết điểm
như: tốn kém nhiều tài nguyên cho sự cân bằng, do tốn thời gian trung chuyển
DTO (Data Transfer Object) giữa các layers. Đối với dự án nhỏ thì cồng kềnh,
tốn thời gian phát triển.
c. Sự khác biệt với Webform
ASP.NET Webform sử dụng ViewState để quản lý, các trang ASP.NET
đều có lifecycle, postback và dùng các web controls, các events để thực hiện các
hành động cho UI khi có sự tương tác với người dùng nên hầu hết ASP.NET
Webform xử lý chậm.
ASP.NET MVC Framework chia ra thành 3 phần: Models, Views,
Controllers. Mọi tương tác của người với Views sẽ được thực hiện hành động
trong Controllers, không còn postback, không còn lifecycle, không còn events.

23


1.2. TỔNG QUAN VỀ SQL SERVER 2008
1.2.1. Toàn cảnh về nền tảng dữ liệu của SQL Server 2008
Ngày nay, có rất nhiều hệ số đang hội tụ để tạo nên sự bùng nổ về lưu trữ
thông tin. Lượng thông tin số bên trong một tổ chức đang ngày càng tăng một
cách rõ rệt bởi nhiều kiểu khác nhau như số hóa dữ liệu từ ảnh số, video và các
tín hiệu cảm biến. Việc tăng sự thi hành và tính toàn cầu hóa yêu cầu thông tin
được lưu một cách an toàn nhưng cũng phải có thể truy cập cứ lúc nào. Người
dùng phải di chuyển qua hàng núi dữ liệu để tìm được thông tin thích đáng. Mặt
khác họ cũng muốn sử dụng những thông tin này trên các thiết bị và bên trong
các ứng dụng sử dụng hàng ngày như Microsoft Office System. Với sự phát triển
của công nghệ, chi phí cho việc lưu trữ cũng được giảm đáng kể; các ổ đĩa

24


FLASH cho phép lưu trữ lượng dữ liệu lớn trên các thiết bị mới. Chính vì vậy
các tổ chức hiện có thể lưu nhiều dữ liệu và giảm được chi phí cho việc lưu trữ.
Mặc dù vậy, vẫn tồn tại rất nhiều khó khăn và thách thức còn đó trong việc quản
lý sự bùng nổ dữ liệu này.
Toàn cảnh về nền tảng dữ liệu của Microsoft đã đề cập đến những vấn đề
cần thiết trong việc bùng nổ dữ liệu và thế hệ kế tiếp của các ứng dụng thao tác
dữ liệu bằng việc cung cấp dữ liệu mọi lúc, mọi nơi. Các tổ chức yêu cầu một
nền tảng dữ liệu có thể lưu và quản lý các dữ liệu khác nhau gồm XML, e-mail,
thời gian/lịch biểu, file, tài liệu, tính không gian… trong khi đó vẫn cung cấp một
loạt các dịch vụ phong phú để tương tác với dữ liệu như: tìm kiếm, truy vấn,
phân tích, báo cáo, tích hợp dữ liệu liên tục, đồng bộ hóa dữ liệu. Người dùng có
thể truy cập thông tin từ ứng dụng đến kho lưu trữ dữ liệu và truy cập trên bất kỳ
thiết bị nào, có thể từ máy trạm hay thiết bị di động.
Nền tảng dữ liệu Microsoft là một giải pháp xuyên suốt cần cho các thách
thức đã tồn tại và hơn thế nữa, bằng việc đưa ra những cách tân trong bốn lĩnh
vực chính nhằm hỗ trợ cho dữ liệu: Nền tảng cho các nhiệm vụ then chốt, phát
triển động, dữ liệu quan hệ mở rộng, thông tin trong toàn bộ doanh nghiệp.
Hãy tìm hiểu cách SQL Server 2008 đáp ứng những cần thiết cho thế hệ
kế tiếp của các ứng dụng thao tác dữ liệu.

25


×