Các nhà phát hành nội dung cũng nhưcác công ty dịch vụ kết nối và viễn thông cũng nhanh chóng đáp ứng yêu cầuđọc thông tin trên các thiết bị liên lạc di động bằng cách thiết lập những đị
Trang 1TRƯỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN
- -KHÓA LUẬN TỐT NGHIỆP
ĐỀ TÀI:
TÌM HIỂU CÁC CÔNG NGHỆ, KỸ THUẬT ĐỂ XÂY DỰNG
HỆ QUẢN TRỊ NỘI DUNG CHO WEBSITE TIN TỨC
Sinh viên thực hiện: Lê Thế Dũng
LỚP: 46E3 - CNTT - ĐHV
Vinh, 2010
Trang 2
LỜI NÓI ĐẦU
Với xu thế phát triển của Công nghệ thông tin trên toàn thế giới Ở ViệtNam, Công nghệ Thông tin ngày càng được áp dụng nhiều hơn trong các lĩnhvực của đời sống xã hội Internet là một trong những phát minh lớn nhất tronglĩnh vực Công nghệ Thông tin đã và đang phát triển mạnh mẽ, rộng khắp, tácđộng nhiều đến đời sống xã hội của nhân loại Nước ta bắt đầu nghiên cứu vàchính thức tham gia mạng thông tin toàn cầu từ những năm 90 của thế kỷ trước.Mấy năm gần đây hệ thống thông tin đại chúng ở nước ta xuất hiện thêm loạihình báo chí mới là báo điện tử
Báo điện tử có tác dụng và tiện ích hơn hẳn các loại hình báo chí truyềnthống, dung lượng thông tin lớn, tương tác thông tin nhanh, phát hành không bịtrở ngại bởi không gian, thời gian, biên giới quốc gia Từ khi báo điện tử ra đời
đã góp phần quan trọng vào đời sống dân trí và thỏa mãn nhu cầu thông tin củatất cả mọi người
Để hoàn thành khóa luận tốt nghiệp này, ngoài sự nỗ lực, phấn đấu củabản thân còn có giúp đỡ của các Thầy cô giáo trong khoa Công nghệ thông tin,
đặc biệt là sự chỉ bảo trực tiếp của Thầy giáo - ThS Cao Thanh Sơn người đã
hướng dẫn em hoàn thành khóa luận tốt nghiệp này
Mặc dù trong quá trình thực hiện khóa luận bản thân em đã có nhiều cốgắng, nhưng chắc chắn không tránh khỏi những thiếu sót Em rất mong được sựgóp ý của các thầy cô và các bạn để làm cho đề tài được hoàn thiện hơn
Em xin chân thành cảm ơn!
Lê Thế Dũng - 46E3 - CNTT - ĐH Vinh
Trang 3MỤC LỤC
Trang
LỜI
NÓI ĐẦU 1
MỤC LỤC 3
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 5
1.1 THỰC TRẠNG BÁO ĐIỆN TỬ 5
1.2 LÝ DO CHỌN ĐỀ TÀI 6
1.3 NỘI DUNG ĐỀ TÀI 7
1.4 PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI 7
CHƯƠNG 2: TÌM HIỂU CÁC CÔNG CỤ VÀ CÁC CÔNG NGHỆ 8
2.1 HỆ THỐNG QUẢN LÝ 8
2.1.1 Giới thiệu chung 8
2.1.2 Mô hình hệ thống thông tin quản lý 9
2.1.3 Các nguyên tắc đảm bảo 10
2.1.4 Các bước xây dựng hệ thống 11
2.2 CÔNG CỤ 12
2.2.1 .NET Framework 12
2.2.2 Công nghệ ASP.NET 15
2.2.3 ADO.NET 18
2.2.4 Mô hình Client/ Server 20
2.2.5 Ngôn ngữ lập trình C# 21
2.2.6 Hệ quản trị CSDL SQL Server 2000 22
2.3 MỘT SỐ CÔNG NGHỆ, KỸ THUẬT 23
2.3.1 Rewrite URL 23
2.3.2 RSS 24
Trang 42.3.2 AJAX 26
CHƯƠNG 3: XÂY DỰNG HỆ QUẢN TRỊ NỘI DUNG 29
3.1 GIỚI THIỆU 29
3.2 THIẾT KẾ CƠ SỞ DỮ LIỆU 30
3.3 THIẾT KẾ 35
3.3.1 Thiết kế giao diện cho người sử dụng: (Demo) 35
Giao diện được thiết kế thân thiện với người đọc, dữ liệu của hệ thống được lấy ra trong cơ sở dữ liệu 35
3.3.2 Giao diện cho người quản trị 38
3.4 CÀI ĐẶT HỆ THỐNG 39
3.4.1 Giao diện chương trình 39
3.4.1.1 Giành cho người sử dụng (Front End) 39
3.4.1.2 Trang quản trị (Back End) 40
KẾT LUẬN 47
TÀI LIỆU THAM KHẢO 48
Trang 5CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI
1.1 THỰC TRẠNG BÁO ĐIỆN TỬ
Một khảo sát mới đây về độc giả Internet của hãng dịch vụ thống kê truycập Nielsen/NetRatings công bố cho thấy 1/5 số người lướt Web thích đọc báomạng hơn các phiên bản phi trực tuyến Có lẽ đó cũng chính là một động lựckhiến các tờ báo giấy - vừa là để cạnh tranh, vừa là không thể cưỡng lại xu thếđiện tử hóa – cũng đã phải lập tức triển khai phiên bản điện tử, trong đó phần lớnphát hành các bài báo từ bàn giấy và cập nhật thêm thông tin riêng
Cùng với sự phát triển chóng mặt của các công nghệ kết nối, giúp đẩynhanh tốc độ truy tải, số lượng các tờ báo điện tử cũng nở rộ khắp nơi trên thếgiới, truyền tải thông tin dưới mọi hình thức mà các loại báo truyền thống cungcấp Có thể coi báo điện tử hiện nay là sự hội tụ của cả báo giấy (Text), Báotiếng (Audio) và báo hình (Video) Người lướt Web không chỉ được cập nhật tintức dạng chữ viết mà còn có thể nghe rất nhiều kênh phát thanh và xem truyềndưới hình ngay trên các Website báo chí
Khi khái niệm báo điện tử định hình cũng là lúc vấn đề miễn phí hay thuphí thông tin được đặt ra Theo logic thông thường, mọi dịch vụ đều phải được ai
đó trả tiền Và với báo trực tuyến nguồn tiền đó được thu chủ yếu từ việc quảngcáo, còn thông tin hầu hết được cung cấp miễn phí Tuy nhiên một số tờ báo lớntrên thế giới vẫn áp dụng thu phí trọn gói cả tháng Một số khác chỉ tính tiền đốivới những tin bài đặc sắc, độc quyền
Công nghệ đã cho phép báo điện tử ra đời và ngược lại chính báo điện tửcũng thúc đẫy sự phát triển của các công nghệ mới Những trình duyệt phiên bảnmới liên tục được cải tiến để có thể tích hợp các tính năng truyền thông đa
Trang 6phương tiện Điện thoại di động cũng được nâng cấp để có thể truy cập Web tiệnlợi hơn và khai thác thông tin trực tuyến Các nhà phát hành nội dung cũng nhưcác công ty dịch vụ kết nối và viễn thông cũng nhanh chóng đáp ứng yêu cầuđọc thông tin trên các thiết bị liên lạc di động bằng cách thiết lập những địnhdạng Web phù hợp cho các công ty này Sự phát triển của báo chí điện tử cũng làmột động lực thúc đẩy hoạt động thương mại điện tử khi tạo ra một môi trườngmới cho ngành công nghiệp quảng cáo phát huy những phương cách quảng báthông tin thương mại muôn hình vạn trạng.
Trong sự phát triển của báo điện tử không thể không nhắc tới vai trò to lớncủa các dịch vụ tìm kiếm trực tuyến với những cái tên đã trở thành một từ khôngthể thiếu đối với những người thường xuyên khai thác thông tin trên mạng, nhưcông cụ của Yahoo, Google, MSN,… những dịch vụ tìm kiếm này đang liên tục
mở rộng tiện ích, không chỉ đem đến một cổng thông tin tổng hợp nhiều nguồn
mà còn là một bộ dẫn hướng cực mạnh giúp người sử dụng tiếp cận không chỉnhững nội dung dạng text mà cả hình ảnh
1.2 LÝ DO CHỌN ĐỀ TÀI
Hiện nay các báo điện tử ở nước ta còn rất nhiều hạn chế, yếu kém, một số
cơ sở Internet còn để xảy ra tình trạng lưu hành, phát tán các thông tin, hình ảnhvăn hóa đồ trụy, vu khống, bôi nhọa danh dự cá nhân,…Bên cạnh đó nhiều tờbáo còn chưa áp dụng các công nghệ, kỹ thuật mới vào sản xuất nên dễ dàng bịđánh sập hoặc không đáp ứng được các yêu cầu về mặt kỹ thuật Vì vậy, cầnphải xây dựng những tờ báo điện tử ở nước ta áp dụng những công nghệ, kỹthuật hiện đại, đúng đắn, chân thực đáp ứng được các yêu cầu của độc giả Đây
là công việc không hề dễ dàng chút nào vì ngày nay trong lĩnh vực công nghệthông tin, với sự thay đổi không ngừng về công nghệ và kỹ thuật luôn đòi hỏichúng ta phải thường xuyên cập nhật các công nghệ mới để đáp ứng yêu cầu
Trang 7Xuất phát từ nhu cầu thực tế đó, em đã “Tìm hiểu các công nghệ, kỹ thuật
để xây dựng hệ quản trị nội dung cho Website tin tức” với hy vọng sẽ đáp ứng
được các yêu cầu về các chuẩn công nghệ cũng như kỷ thuật hiện nay
1.3 NỘI DUNG ĐỀ TÀI
Đề tài chủ yếu tìm hiểu một số công nghệ và kỹ thuật như: NET, SQLServer, AJAX, RewriteURL, RSS, một số mô hình phát triển phần mềm, từ đóxây dựng hệ quản trị nội dung (CMS: Content Managerment System) chowebsite tin tức dựa trên nền tảng ASP.NET và hệ quản trị CSDL SQL 2000
Ứng dụng của chương trình chủ yếu là phục vụ cho người đọc có thể dễdàng truy cập và tìm kiếm các thông tin cần thiết phục vụ cho việc học tập,nghiên cứa và giải trí Làm cho người quản trị nội dung có thể thao tác dễ dànghơn, có nhiều sự lựa chọn cho Website của mình
1.4 PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI
Đây là đề tài khá lớn, nhưng do thời gian hạn hẹp và năng lực còn hạn chếnên em mới chỉ đi tìm hiểu các công nghệ và kỷ thuật để xây dựng Website tintức có thể đáp ứng được các yêu cầu về công nghệ tiên tiến hiện nay
Trong đề tài em chủ yếu đi sâu về quản trị nội dung cho Website áp dụngnhững công nghệ tiên tiến để xây dựng và có thể áp dụng tốt vào thực tế
Đề tài được viết dựa trên ngôn ngữ C#, ASP.NET và dữ liệu sử dụng hệquản trị SQL Server 2000 để lưu trữ
Trang 8CHƯƠNG 2: TÌM HIỂU CÁC CÔNG CỤ VÀ CÁC CÔNG NGHỆ
2.1 HỆ THỐNG QUẢN LÝ
2.1.1 Giới thiệu chung
Trước tiên muốn thực hiện phân tích một dự án tin học là phải khảo sát
hệ thống Người ta định nghĩa hệ thống phải là một tập hợp các phần tử córàng buộc lẫn nhau và với môi trường bên ngoài Hệ thống quản lý là một hệthống tích hợp giữa con người và máy tạo ra các thông tin giúp con ngườitrong sản xuất quản lý và ra quyết định Do dó, cần xem xét phân tích các yếu
tố đặc thù, những nét khái quát cũng như các mục tiêu và nguyên tắc đảm bảocho việc xây dựng một hệ thống thông tin được tin học hoá mang lại lợi ích
+ Luồng thông tin vào:
Trong hệ thống thông tin quản lý có những thông tin đầu vào khác nhaugồm:
Những thông tin đầu vào là cố định và ít bị thay đổi, thông tin nay mangtính chất thay đổi lâu dài
Những thông tin mang tích chất thay đổi thường xuyên phải cập nhật.Những thông tin mang tính chất thay đổi tổng hợp, được tổng hợp từ cácthông tin khác phải xử lý định kỳ theo thời gian
Trang 9+ Luồng thông tin ra:
Thông tin đầu ra được tổng hợp từ thông tin đầu vào và phụ thuộc vào nhucầu quản lý trong từng trường hợp cụ thể
Bảng biểu và báo cáo là những thông tin đầu ra quan trọng được phục vụcho nhu cầu quản lý của hệ thống, nó phản ánh trực tiếp mục đích quản lý của hệthống các bảng biểu báo cáo phải đảm báo chính xác và kịp thời
+ Quy trình quản lý:
Trong quy trình quản lý thủ công, các thông tin thường xuyên được đưavào sổ sách Từ sổ sách đó các thông tin được kết xuất để nhập các bảng biểu,báo cáo cần thiết Việc đó sai sót có thể xảy ra ở nhiều công đoạn do việc dưthừa thông tin Trong quá trình quản lý do khối lượng công việc lớn nên nhiềukhi chỉ chú trọng vào một số khác và đối tượng quan trọng, vì thế có nhiều thôngtin không được tổng hợp đầy đủ
2.1.2 Mô hình hệ thống thông tin quản lý
* Mô hình luân chuyển dữ liệu
Mô hình luân chuyển dữ liệu trong hệ thống thông tin quản lý có thể mô tảqua các module sau:
Cập nhật thông tin có tính chất cố định để lưu trữ
Cập nhật thông tin có tính chất thay đổi thường xuyên
Lập sổ sách báo cáo
* Cập nhật thông tin động.
Modul loại này có chức năng xử lý các thông tin luân chuyển chi tiết vàtổng hợp Lưu ý loại thông tin chi tiết đặc biệt lớn về số lượng cần xử lý thườngxuyên được cập nhật đòi hỏi tốc độ nhanh và tin cậy cao
Cập nhật thông tin cố định có tính chất tra cứu
Trang 10Thông tin loại này cần cập nhật nhưng không thường xuyên yêu cầu chủyếu của loại thông tin này là phải tổ chức hợp lý để tra cứu các thông tin cầnthiết.
lý thường dựa trên một số nguyên tắc cơ bản sau:
* Nguyên tắc cơ sở thông tin thống nhất.
Ý nghĩa của nguyên tắc này thể hiện ở chỗ thông tin được tích luỹ vàthường xuyên cập nhật Đó là các thông tin cần thiết phục vụ cho việc giải quyếtnhiều bài toán quản lý, vì vậy thông tin trùng lặp cần được loại bỏ Do vậy,người ta tổ chức thành các mảng thông tin cơ bản mà trong đó các trường hợptrùng lặp hoặc không nhất quán về thông tin đã được loại trừ Chính mảng thôngtin cơ bản này sẽ tạo thành mô hình thông tin của đối tượng điều khiển
* Nguyên tắc linh hoạt của thông tin
Thực chất của nguyên tắc này là ngoài các mảng thông tin cơ bản cần phải
có công cụ đặc biệt tạo ra các mảng thông tin cơ bản đã có, từng mảng cơ bảncác thông tin cần thiết này tạo ra mảng làm việc để sử dụng trực tiếp trong cácbài toán cụ thể
Việc tuân theo nguyên tắc thống nhất linh hoạt đối với cơ sở thông tin sẽlàm giảm nhiều cho nhiệm vụ hoàn thiện và phát triển sau này
Trang 11Nguyên tắc còn được vận dụng cả khi đưa thông tin mới vào hệ thống việcnày không được giảm nhẹ công sức cho vào số liệu mà còn tăng độ tin cậy thôngtin đầu vào.
2.1.4 Các bước xây dựng hệ thống
Một cách tổng quát việc xây dựng một hệ thống thông tin quản lý tự độnghoá thường qua các giai đoạn sau:
* Nghiên cứu sơ bộ và xác lập dự án
Ở bước này người ta tiến hành tìm hiểu và khảo sát hệ thống, phát hiệnnhược điểm còn tồn tại, từ đó đề xuất các giải pháp khắc phục, cần cân nhắc tínhkhả thi của dự án từ đó định hướng cho các giai đoạn tiếp theo
* Phân tích hệ thống
Tiến hành phân tích một cách chi tiết hệ thống hiện tại để xây dựng cáclược đồ khái niệm Trên cơ sở đó tiến hành xây dựng lược đồ cho hệ thống mới
* Thiết kế tổng thể
Nhằm xác định vai trò vị trí của máy tính trong hệ thống mới Phân định
rõ phần việc nào sẽ được xử lý bằng máy tính, việc nào thì xử lý thủ công
* Thiết kế chi tiết
+ Thiết kế các thủ tục thủ công nhằm xử lý thông tin trước khi đưa vào máytính
+ Thiết kế các phương pháp cập nhật và xử lý thông tin cho máy tính
+ Thiết kế chương trình, các giao diện người dùng, các tệp dữ liệu
* Cài đặt và bảo trì chương trình
Chương trình sau khi đóng gói sẽ được đưa vào cài đặt và sử dụng
+ Chạy thử chương trình
+ Dịch sang flie * EXE và đóng gói chương trình
Trang 122.2 CÔNG CỤ
Bộ công cụ Visual Studio 2008 ra đời đã đánh dấu bước phát triển mớimạnh mẽ về kỹ thuật lập trình và thiết kế ứng dụng Ứng dụng Visual Studio
2008 đã giúp công việc của các nhà phát triển ứng dụng trở nên dễ dàng hơn bởi
từ khâu thiết kế đến khâu viết mã lệnh và triển khai các ứng dụng Đối với cácứng dụng Windows Forms, sự bổ sung về mặt xử lý giao diện với các điều khiểnnhiều tính năng hơn như MaskedTextBox, WebBrowser hay các bổ sung vềMenu và Toolbar như ToolStripContainer So với các trình điều khiển đã có ởphiên bản Visual Studio NET 2003, Visual Studio NET 2005 thì các trình điềukhiển trên phiên bản Visual Studio 2008 đã được cải thiện hơn rất nhiều về cáctính năng và sự tiện lợi về cách thiết kế Còn với các ứng dụng Web Forms, cáctiện ích công việc PTUD được bổ sung ngày càng hoàn thiện hơn Microsoftđang nhắm tới việc phổ biến hóa các ứng dụng Web một các tối đa, bằng việctách ra với các ứng dụng khác và được xem như một loại ứng dụng độc lậpchuyên biệt Với hàng loạt các đặc điểm được phát triển cho các ứng dụng WebASP NET 2.0 làm cho ứng dụng Web được thay đổi hoàn toàn
2.2.1 .NET Framework
Các chức năng của ASP NET được viết đều dựa hoàn toàn và NETFramework Để dùng ASP NET một cách hiệu quả thì ta cần phải tìm hiểu kỹkiến trúc của NET Framework, trong đó quan trọng nhất là CLR và NETFramework Class
2.2.1.1 CLR
CLR là môi trường được dùng để quản lý sự thi hành các mã nguồn mà ta
đã soạn ra và biên dịch trong các ứng dụng Tuy nhiên khi biên dịch mã nguồn talại biên dịch chúng ra thành một ngôn ngữ trung gian gọi là Microsoft
Trang 13Intermediate Language (MSIL) Chính MSIL trung gian này là ngôn ngữ chungcho tất cả các ngôn ngữ NET hiện có, do dó ASP.NET cũng được biên dịch raMSIL như các ứng dụng khác Trong khi biên dịch, các ứng dụng cũng tạo ranhững thông tin metadata Khi chạy một ứng dụng, CLR sẽ tiếp quản và lại biêndịch mã nguồn một lần nữa thành ngôn ngữ gốc của máy tính Và cho ta ứngdụng thực thi một cách hiệu quả.
Mọi ứng dụng trong NET đều là đối tượng, các trang ASP.NET, các hộpthông điệp (message box) hay là nút bấm (button), tất cả đều là đối tượng Cácđối tượng đó được tổ chức lại thành từng nhóm riêng biệt như trong một thư viện
để ta dễ dàng sử dụng Ta gọi các nhóm như vậy là namespaces và sẽ dùngnhững namespaces này để gọi hay nhập các class cần thiết cho ứng dụng củamình
2.2.1.2 .NET Framework Class
- NET Framework , là một nền tảng tính toán nhằm đơn giản hóa và hiệnđại hóa trong việc phát triển ứng dụng trên Web cũng như trên các ứng dụngWindows Form
- NET Framework chính là nền móng cơ bản để bắt đầu xây dựng ứngdụng của chúng ta
- Nó cung cấp cho các ứng dụng web, chấp nhận các chuẩn mở như XML,HTTP và Soap
- Cung cấp một số công nghệ phát triển ứng dụng mạnh và rất phong phú,như Windows Form, dùng để xây dựng các ứng dụng web
- Có một thư viện lớp bao quát cung cấp phần hỗ trợ mạnh để truy cập dữliệu (quan hệ và XML), các dịch vụ thư mục lập hàng đợi thông điệp… Và cómột lớp cơ sở chứa hàng trăm lớp để thực hiện các công việc chung
Trang 14- Là lớp trung gian giữa các ngôn ngữ do đó ta có thể dùng bất kỳ ngônngữ gì để viết.
- Cho phép dùng COM hoặc DLL chuẩn
- Các ứng dụng khi viết dựa trên NET Framework thì có tính bảo mật cao
và tương thích trên nhiều hệ điều hành khác nhau
- Cung cấp một môi trường lập trình hướng đối tượng tốt nhất, giúp đơngiản hóa quá trình xây dựng, phân phối và bảo trì ứng dụng
- NET Framework cung cấp bộ máy thực thi mã lệnh cùng với tập hợpcác lớp hay thành phần hướng đối tượng để tạo nên nền ứng dụng, giúp cho cácứng dụng sử dụng tốt hơn các ưu điểm của hệ điều hành bằng cách cung cấp các
cơ chế tự động thu gom rác bộ nhớ, tập các đối tượng đầy đủ những chức năngphục vụ cho những công việc lập trình thông thường nhất Cung cấp bộ thực thichương trình đa ngôn ngữ và bảo vệ an toàn mã thực thi chương trình
- Bất kỳ mã lệnh nào được viết bằng các ngôn ngữ lập trình thuộc NETcũng được .NET Framework biên dịch thành một ngôn ngữ trung gian IL(Intermediate Language) Và NET Framework sẽ biên dịch IL thành các mã nhịphân để hình thành nên ứng dụng Khi mã nguồn bị thay đổi thì mã IL của trangASP.NET sẽ được biên dịch lại để thay thế các trang cũ đang còn được lưu trữtrong vùng đệm
- Tăng tính mềm dẻo và khả năng uyển chuyển cho các ứng dụng phântán
- Môi trường NET Framework cung cấp các chức năng tự động kiểm tralỗi và phát hiện những trường hợp quá tải .NET Framework sẽ tìm cách khởiđộng và tái tạo lại các ứng dụng cũng như những thành phần đối tượng nhằmđảm bảo khả năng phục vụ của chúng cho các kết nối luôn tốt nhất
Trang 15- Bảo vệ các phần mềm hiện nay có và giảm đầu tư về đào tạo Mặc dù cóthay đổi lớn trong hệ điều hành và môi trường thực thi, nhưng NET Frameworkvẫn chú trọng đến tính tương thích với các phên bản của DOM, DCOM, ASP.
- NET Framework cung cấp các thư viện lập trình phong phú và thốngnhất
2.2.2 Công nghệ ASP.NET
ASP.NET bản thân nó là một công nghệ chứ không phải là một ngôn ngữlập trình, ASP.NET chính là một khung chương trình được xây dựng dựa trênCLR (Common Language Runtime), có thể được sử dụng trên server để xâydựng những ứng dụng web
2.2.2.1 Giới thiệu
ASP.NET là phiên bản kế tiếp của ASP (Active Sever Page), nó là mộtnền phát triển ứng dụng web hợp nhất, cung cấp nhiều dịch vụ cần thiết cho lậptrình viên xây dựng các lớp ứng dụng một cách chuyên nghiệp Cú phápASP.NET tương ứng với cú pháp ASP, ngoài ra ASP.NET còn cung cấp một
mô hình lập trình mới, nền tảng an toàn, linh hoạt và ổn định Bằng cách thêmFunction (Hàm) của ASP.NET vào ứng dụng ASP, nên có thể thuận tiện nângcấp ứng dụng ASP hiện có
ASP.NET được biên dịch dựa trên môt trường NET và có thể xây dựngbằng bất cứ ngôn ngữ nào tương thích NET, bao gồm Visual Basic.NET, C#, J#.Ngoài ra, toàn bộ thư viện .Net Framework có thể sử dụng với ứng dụngASP.NET, ASP.NET cung cấp nhiều kỹ thuật mới, bao gồm quản lý môi trườngthực thi ngôn ngữ cùng với CLR, type safety (kiểu an toàn), inheritance (kế thừa)
… giúp cho lập trình viên có thể lập trình tốt hơn
ASP.NET được thiết kế làm việc với các trình soạn thảo WYSIWYGHTML đi kèm và các công cụ lập trình khác được đưa vào trong Microsoft
Trang 16Visual Studio.NET Tất cả các công cụ này không phải chỉ dùng để phát triểnứng dụng web Tuy nhiên, có thể sử dụng một vài chức năng thông thường choúng dụng web, bao gồm một GUI cho phép lập trình viên có thể thuận tiện đặtcác server control vào trang web (web page) và trình Debug kiểm soát lỗi rấtchặt chẽ.
Khi tạo một ứng dụng web lập trình viên có thể chọn web forms hoặc webservices, ngoài ra cũng có thể kết hợp hai loại này với nhau Cả hai loại này cómột nền cơ bản
2.2.2.2 Ưu điểm của ASP.NET
Ta đã biết NET Framework và các ứng dụng của nó đã và đang tạo mộtcuộc các mạng kỹ thuật trong ngành công nghệ thông tin, thay đổi tận gốc rễ cáckiểu lập trình đã phát triển và triển khai mạng trên thế giới Do đó, tạo một bậnhội mới đáp ứng mọi yêu cầu của các ngành nghề kỹ thuật và thương mại điện tửhiện nay, cũng như vạch một hướng đi vững chắc và lâu dài cho những ứng dụngquan trọng để phát triển và triển khai các ứng dụng web một cách dễ dàng
Không như ASP chỉ giới hạn với VBScripts và Jscripts, ASP.NET hỗ trợtrên 25 ngôn ngữ lập trình ( ngoài các ngôn ngữ mới thiết lập được NETFramework hỗ trợ sẵn như VB.NET, C#, J# mà còn hỗ trợ thêm Smalltak.NET,COBOL.NET…)
Mặc dù ta có thể chỉ cần dùng tới Notepad để triển khai các trangASP.NET nhưng Visual Studio.NET giúp tăng năng suất triển khai ứng dụngweb, có thể quan sát các kế hoạch thuận tiện hơn khi phác họa các thành phầncủa ASP.NET bằng hình ảnh Hơn nữa, còn hỗ trợ chúng ta trong việc phát hiện
và loại bỏ lỗi một cách thuận lợi hơn
ASP.NET không những chạy nhanh hơn ASP gấp 5 lần mà còn có thểduy trì kiểu cập nhật, nghĩa là ASP.NET tụ động dò tìm mọi sự thay đổi và biên
Trang 17dịch files khi cần thiết cũng như lưu trữ kết quả của quá trình biên dịch đó, đểcấp dịch vụ cho những yêu cầu tiếp theo sau Nhờ vậy, ứng dụng luôn luôn cậpnhật hóa và chạy nhanh hơn.
ASP.NET có khả năng lưu trữ một kết quả chung trong phần bộ nhớ củatrang để giải đáp cho cùng một yêu cầu từ nhiều khách hàng khác nhau Nhờ đótiết kiệm được sự lặp đi lặp lại công tác thi hành của một trang web mà còn giatăng hiệu suất, do giới hạn tối đa việc chất vấn các cơ sở dữ liệu vốn rất tốnnhiều thời gian
ASP.NET cũng có khả năng tự động dò tìm và phục hồi những lỗi nghiêmtrọng như deadlocks để đảm bảo ứng dụng luôn luôn sẵn sàng khi dùng
ASP.NET đơn giản hóa việc triển khai ứng dụng mạng, do đó biến việctriển khai toàn bộ ứng dụng trở nên dễ dàng và thuận lợi hơn hẳn trước kia, vìbây giờ ta chỉ cần sao và lưu trữ ở trên Server chứ không cần phải chạy chươngtrình ‘regsrv32’ để đăng ký bất cứ thành phần nào Hơn thế nữa, khi cần lưu trữ những yếu tố phụ cần thiết cho việc thiết lập hay bố trí các ứng dụng, ta chỉ cầnlưu giữ nó vào trong một hồ sơ dưới dạng XML là đủ
ASP.NET cho phép ta tự động cập nhật hóa các thành phần đã biên dịch
mà không cần phải khởi động lại các Web Server
ASP.NET có thể chạy song song với ASP ở cùng một Internet IformationServer (IIS) trong nền Windows XP hay Windows 2000 Các ứng dụng cũ vẫntiếp tục chạy ASP.DLL, còn ASP.NET engine sẽ xử lý các ứng dụng mới
Hơn nữa, ASP.NET Mobile Controls còn giúp ta phát triển và triển khaimạng nhắm vào thị trường những cell phone hay PDA với gần hơn 80 Mobileweb services được cung cấp trình NET Framework Ta chỉ cần lập trình cho ứngdụng của mình như bình thường và Mobile Controls sẽ tự động phát sinh ra
Trang 18những nguồn mã như WAP/WML, HTML hay iMode phù hợp với từng loạithiết bị.
2.2.2.3 Mô hình phát triển ứng dụng ASP.NET 2.0
Khi thực thi với ASP.NET , chúng ta có nhiều cách để lựa chọn môitrường phát triển ứng dụng Web Ở đây em sử dụng ngôn ngữ lập trình C#
Visual Studio 2008 cung cấp những công cụ bao gồm tiện ích gỡ lỗi vàcửa sổ chấm sổ xòe, để gợi ý những cú pháp, phát triển, từ khóa mà chúng ta dựđịnh khai báo Như hình minh họa sau:
Visual Studio 2008 cũng hỗ trợ mô hình code-behind cho phép tách phần
mã và giao diện thành hai phần riêng biệt, giúp chúng ta làm việc trên hai phầnnày dễ dàng hơn
2.2.3 ADO.NET
2.2.3.1 Giới thiệu
ADO.NET là một phần của NET Framework, nó được xem là “bộ thư
viện lớp” chịu trách nhiệm sử lý dữ liệu trong ngôn ngữ MS.NET ADO.NET
được thiết kế với dạng dữ liệu “ngắt kết nối”, nghĩa là chúng ta có thể lấy cả một
cấu trúc phức tạp của dữ liệu database, sau đó ngắt kết nối với database rồi mới
Trang 19thực hiện các thao tác cần thiết Đây là một sự tiến bộ về mặt thiết kế bởi vì thiết
kế ADO trước đây luôn cần duy trì một kết nối trong quá trình thao tác dữ liệu
2.2.3.2 Kiến trúc của ADO.NET
Kiến trúc ADO.NET có 2 phần:
* Phần kết nối: phần này ta sử dụng khi ta kết nối với Database và thao tác dữliệu, yêu cầu cần phải thực hiện kết nối với Database khi đang thao tác Các đốitượng của phần này là:
- Connection: Đối tượng quản lý đóng/mở kết nối tới Database Có 2 dạng
Connection tùy theo nguồn dữ liệu là gì (OleDb hay SQL Server) đó làOleDbConnection và SqlConnection
- Command: Đối tượng thực hiện các câu lệnh tương tác truy vấn, rút trích dữ
liệu từ Database khi đã thiết lập kết nối tới dữ liệu và trả về kết quả Tương tựnhư Connection, Command cũng có 2 dạng tùy theo nguông dữ liệu là gì (OleDbhay SQL Server) đó là OleDbCommand và SqlCommand
- DataReader: Đối tượng sử lý đọc dữ liệu, được thiết kế phù hợp cho các ứng
dụng Web Chỉ sử lý một dòng dữ liệu tại một thời điểm Phù hợp với ứng dụngweb vì sử lý nhanh, nhẹ không chiếm bộ nhớ Cũng có 2 dạng tùy theo dữ liệunguồn: OleDbDataReader và SQLDataReader Dữ liệu của đối tượng được tạo rakhi đối tượng Command thực hiện câu lệnh ExecuteReader()
n .OleDb
Trang 20- DataAdapter: Đây là đối tượng rất quan trọng của ADO.NET, nó là cầu nối
của database và dataset (dataset là đối tượng ngắt kết nối), bởi vì đối tượngdataset không thể liên lạc trực tiếp với database nên nó cần một đối tượng trunggian lấy dữ liệu từ database cho nó Và đó chính là DataAdapter Vì DataAdapterkhi thao tác với Database vẫn phải duy trì kết nối nên nó được liệt kê vào dạng
“kết nôi”, nhưng bản chất là phục vụ cho việc “ngắt kết nối”
* Phần ngắt kết nối: chỉ có một đối tượng chịu trách nhiệm ngắt kết nối đó
chính là Dataset Dataset không cần biết gì về Database thuộc kiều gì, kết nối rasao Nhiệm vụ của Dataset là nhận dữ liệu từ DataAdapter và xử lý nó Dataset
có thể được xem như một Database trong bộ nhớ gồm tất cả các bảng, quan hệ,
… Dataset có nhiều đối tượng được xem là “con” tức là cấp thấp hơn đi kèm với
nó như: DataTable (tương đương với một bảng trong database), cấp thấp hơn củaDataTable có các đối tượng DataRow (tương đương với một dòng), DataColumn(tương đương với một cột), DataRelation (tương đương với các quan hệ), ngoài
ra còn có các đối tượng nhóm như: DataTableCollection, DataRowCollection,DataColumnCollection Việc sử dụng Dataset là một tiến bộ lớn của kiến trúcADO.NET tuy nhiên với các ứng dụng Web, việc sử dụng Dataset không đượckhuyến khích vì đối tượng Dataset được xem là quá lớn, nặng nề khó thích hợpcho đường truyền trên web vốn rất nặng nề
2.2.4 Mô hình Client/ Server
Ứng dụng Client duy trì kết nối với thành phần Server của nó Bên cạnhviệc yêu cầu gửi và nhận dữ liệu, Client truy vấn Server theo đình kỳ đảm bảokết nối vẫn tồn tại Nếu Server bị đóng, Client sẽ nhận biết điều này và thực hiệncác thao tác riêng như gửi thông báo đến người dùng
Khi xây dựng ứng dụng Web, không chỉ quan tâm đến thời gian tồn tạicủa Server trong bộ nhớ mà còn quan tâm đến kết nối mạng Internet Khi trình
Trang 21duyệt yêu cầu một trang Web, nó được Server đang mở ghi nhận và gửi đi.Server sẽ không kiểm tra và xác định xem tài liệu trang Web và tất cả các thànhphần liên quan đến như: hình ảnh, âm thanh,… được chuyển tới trình duyệt haychưa.
Để Server và trình duyệt có thể liên lạc và trao đổi thông tin với nhau, taphải xây dựng các ứng dụng Web bằng những ngôn ngữ lập trình như: HTML,PHP, ASP, JAVA,…
2.2.5 Ngôn ngữ lập trình C#
ASP.NET bản chất không phải là một ngôn ngữ lập trình, nó chỉ là một côngnghệ nhằm tổ chức dữ liệu của ứng dụng web một cách tối ưu Nó có thể tươngthích tới 40 ngôn ngữ khác nhau như: Visual Basic.NET, C# Như vậy, chúng
ta có thể lựa chọn một hoặc nhiều ngôn ngữ lập trình cùng một lúc để phát triểnứng dụng web
* Lý do sử dụng ngôn ngữ C#:
- Các thành phần trong C# đều là ngôn ngữ hướng đối tượng.
- Tất cả các phương thức và sự kiện trong C# được chứa trong khai báo:cấu trúc (struct) hoặc lớp (class)
- Ngôn ngữ C# sử dụng khoảng 80 từ khóa và một số kiểu dữ liệu đượcđựng sẵn
Trang 22- Dựa trên nền tảng của C, C++ và java.
- Có những đặc tính: Thu gom bộ nhớ tự động, các kiểu dữ liêu mở rộng,bảo mật mã ngồn…
2.2.6 Hệ quản trị CSDL SQL Server 2000
* Đặc trưng của SQL
SQL là ngôn ngữ quản lý CSDL điển hình, SQL là ngôn ngữ đơn giảnnhưng rất hiệu quả Hơn nữa sự phát triển nhanh chóng của nhu cầu xây dựngnhững CSDL lớn theo mô hình Client/Server ngôn ngữ SQL càng phổ biến.Trong mô hình Client/Server, toàn bộ CSDL được tập trung trên máy chủ(Server) Mọi thao tác xử lý dữ liệu được thực hiện trên máy chủ bằng các lệnhSQL Máy trạm (Client) chỉ dùng để cập nhật CSDL cho máy chủ hoặc lấy thôngtin từ máy chủ SQL được sử dụng để nhanh chóng tạo ra các trang Web động(Dynamic web pages) Kết dính giữa CSDL trang web Khi người dùng yêu cầu,SQL sẽ thực hiện việc truy cập thông tin trong CSDL trên máy chủ và hiển thịkết quả làm việc trên trang web, SQL cũng là công cụ để cập nhật thông tin choCSDL SQL chỉ làm việc với những dữ liệu có cấu trúc bảng (Table) nhưFoxpro, Microsoft Access SQL phân tích, xử lý thông tin, sửa đổi cấu trúc củacác bảng SQL sử dụng Query (câu hỏi truy vấn), mỗi Query là một câu lệnhSQL được xây dựng hoàn chỉnh và có thể kết nối một CSDL khác sang SQL.Một số công cụ chính của SQL có khả năng đáp ứng hầu hết các yêu cầu đối vớiviệc cập nhật, phân tích dữ liệu từ các bảng, và có thể kết nối một CSDL khácsang SQL Một số công cụ chính của SQL:
+ Cập nhật, xóa các bảng ghi trên toàn bảng theo những điều kiện khácnhau
+ Kết nối dữ liệu trên máy chủ (Server) Khi dữ liệu được tập trung trênmáy chúng ta phải dùng lệnh SQL để xâm nhập vào bên trong máy
Trang 23+ Kết hợp các trang web với CSDL bằng lệnh SQL Tất cả các chức năngcủa SQL đều có thể thực hiện bằng các công cụ khác nhau của phần mềm có sửdụng SQL.
+ Câu lệnh đơn giản, dễ nhớ, dễ sử dụng và rất ngắn gọn
+ Khă năng thực hiện những yêu cầu phức tạp của công việc,
2.3 MỘT SỐ CÔNG NGHỆ, KỸ THUẬT
2.3.1 Rewrite URL
Rrewrite url là một kỹ thuật cho phép ghi lại địa chỉ website (URL) từdạng này thành một dạng khác (URL rewriting) Rewrite URLs (đôi khi gọi làshort Urls, URL rewriting, hay fancy URLs) sử dụng để tạo ra một địa chỉ Webngắn hơn và dễ nhìn hơn đối với trang Web Kỹ thuật này được biết đến như mộttrong những thủ thuật nhằm tối ưu hóa địa chỉ cho các cỗ máy tìm kiếm
Khi làm việc với các ứng dụng web trong ASP.NET ta có một yêu cầu làthay đổi địa chỉ URL để thuận tiện hơn cho người sử dụng Khi muốn thay đổicấu trúc của trang trong một ứng dụng web, và ta muốn chắc chắn rằng nhữngngười đã lưu địa chỉ URL của trang đó sẽ không bị gián đoạn khi ta thay đổitrang đó Url- rewriting sẽ giúp chúng ta làm theo địa chỉ trang web mới màkhông gây ảnh hưởng đến trình duyệt
Để trang web của chúng ta tăng thêm khả năng “được tìm thấy” và đượctrả về các kết quả trên các máy tìm kiếm như google hay yahoo…URLRewriting sẽ làm điều đó trở nên dễ dàng sẽ làm tăng lên sự tình cờ khi một ai
đó tìm kiếm và click vào địa chỉ đó
* Sử dụng một HttpModule để thực hiện URL Rewriting
Modul này sẽ giúp chúng ta có thể rewrite đường dẫn của một địa chỉURL và ASP.NET tiếp tục xử lý yêu cầu sử dụng đường dẫn mới nhất