Để hoàn thành đợc đồ án này, em xin đợc gửi lời cảm ơn chân thànhnhất đến thầy giáo Th.S Trần Văn Cảnh ngời đã tận tình chỉ bảo và dìu dắt em trong suốt quá trình học tập và thực hiện cá
Trang 1Trờng đại học vinh Khoa công nghệ thông tin
- -đồ án tốt nghiệp
Trang 2PHầN II CƠ Sở Lý THUYếT 7
2.1 Sơ lợc về Net Framework 7
2.1.1 Net Framework là gì ? 7
2.1.2 Các thành phần và chức năng chính trong Net Framework 8
2.1.3 Một số u điểm chính của Net Framework 10
2.2 Tổng quan về ASP.NET 10
2.2.1 ASP.NET là gì ? 10
2.2.2 Một số u nhợc điểm 11
2.3 Ngôn ngữ lập trình C# 12
2.3.1 Giới thiệu 12
2.3.2 Một số đặc điểm 12
2.3.3 Sự kết hợp giữa ASP.NET và ngôn ngữ C# 13
2.4 Microsoft SQL Server 2005 13
2.4.1 Giới thiệu về SQL Server 2005 13
2.4.2 Lý do chọn CSDL Microsoft SQL Server 2005 13
2.4.3 Stored Procedure 15
2.5 Mô hình ba lớp (3-Tier) và công nghệ AJAX 17
2.5.1 Mô hình ba lớp 17
2.5.2 Công nghệ AJAX 21
PHầN III PHÂN TíCH THIếT Kế Hệ THốNG 22
3.1 Phân tích hệ thống về mặt chức năng 22
3.1.1 Biểu đồ phân cấp chức năng 22
3.1.2 Biểu đồ luồng dữ liệu 22
3.2 Phân tích hệ thống về mặt dữ liệu 28
3.3 Thiết kế các bảng dữ liệu 29
PHầN IV XÂY DựNG WEBSITE CHIA Sẻ TàI LIệU 35
4.1 Phần Frontend (Phần giao diện ngời dùng) 35
4.1.1 Trang chủ (Default.aspx) 35
4.1.2 Trang tìm kiếm (Search.aspx) 36
4.1.3 Trang đăng ký thành viên (Register.aspx) 36
4.1.4 Trang nạp tài khoản (BuyVcoint.aspx) 37
4.1.5 Trang Upload tài liệu (Upload.aspx) 37
4.1.6 Trang tin tức (News.aspx) 38
Trang 34.1.8 Trang liªn hÖ, ph¶n håi (Feedback.aspx) 39
4.2 PhÇn Backend (Qu¶n trÞ Website) 40
4.2.1 Trang ®¨ng nhËp (Login.aspx) 40
4.2.2 Trang qu¶n lý tµi liÖu (CheckFile.aspx) 40
4.2.3 Trang qu¶n lý tin tøc (News.aspx) 41
4.2.4 Trang qu¶n lý thÓ lo¹i tµi liÖu (Genre.aspx) 41
4.2.5 Trang qu¶n lý nhãm thÎ Paycard (PaycardManager.aspx) 42
4.2.6 Trang qu¶n lý thÎ (ListPaycard.aspx) 42
KÕT LUËN 44
Tµi liÖu tham kh¶o 45
Trang 4Để hoàn thành đợc đồ án này, em xin đợc gửi lời cảm ơn chân thành
nhất đến thầy giáo Th.S Trần Văn Cảnh ngời đã tận tình chỉ bảo và dìu dắt
em trong suốt quá trình học tập và thực hiện các đề tài thực tập cơ sở, đề tàithực tập chuyên ngành và cuối cùng là đồ án tốt nghiệp Em xin chân thànhcảm ơn gia đình và bạn bè đã cổ vũ, động viên và giúp đỡ em trong suốt thờigian thực hiện đồ án
Mặc dù cố gắng hoàn thành đồ án trong phạm vi và khả năng cho phépnhng chắc chắn sẽ không tránh khỏi những thiếu sót Em rất mong nhận đợc
sự thông cảm, góp ý và tận tình chỉ bảo của các thầy, cô và tất cả các bạn để
đề tài ngày càng hoàn thiện hơn
Vinh, tháng 5 năm 2010
Sinh viên thực hiện: Phạm Văn Sơn
Trang 5LờI NóI ĐầU
Xây dựng th viện điện tử là một trong những xu hớng mới đã và đang
đ-ợc nhân rộng trong hầu hết các trờng đại học Tuy nhiên, các nguồn tài liệunày vẫn cha thực sự đợc cung cấp rộng rãi đến với sinh viên Đặc biệt là các
đề tài, luận văn và đồ án tốt nghiệp Sinh viên muốn sử dụng nguồn tài liệunày phải trực tiếp đến th viện nghiên cứu hoặc mang USB đến Copy những tàiliệu mình cần nên mất rất nhiều thời gian Thiết nghĩ tại sao ta không xâydựng một Website cung cấp thông tin và cho phép sinh viên sử dụng nhữngnguồn tài liệu này thông qua hình thức thanh toán bằng thẻ (Paycard) hoặcSMS Mobile
Do đó tôi đã lựa chọn đề tài: “Xây dựng Website chia sẻ tài liệu qua mạng” làm đồ án tốt nghiệp Mục đích chính của đề tài là tạo điều kiện thuận
lợi hơn cho các bạn sinh viên trong việc tra cứu và sử dụng các loại tài liệu vàhơn hết là tạo ra một môi trờng chia sẻ kiến thức và tài liệu học tập cho cộng
đồng sinh viên
Nội dung của đề tài gồm bốn phần chính
Phần I: Tổng quan về đề tài Phần II: Cơ sở lý thuyết Phần III: Phân tích thiết kế hệ thống Phần IV: Xây dựng Website chia sẻ tài liệu.
Hiện nay đã có không ít Website triển khai hình thức thanh toán thôngqua việc phát hành thẻ nh: http://www.hocmai.vn ; http://ebank.vtc.vn và đã
mang lại hiệu quả rất cao.
Tôi rất mong muốn đề tài của mình sẻ đợc triển khai trong th viện trờng
Đại Học Vinh Nếu đợc nh vậy sẽ giúp các bạn sinh viên có điều kiện thuận
lợi trong việc khai thác các nguồn tài liệu của th viện, phục vụ tốt hơn chocông việc học tập và nghiên cứu
Trang 6PHầN I TổNG QUAN Về Đề TàI
1.1 Lý do chọn đề tài
Đối với mỗi sinh viên, các tài liệu, giáo trình, luận văn, đồ án lànhững nguồn tài liệu rất bổ ích Đặc biệt là ở nớc ta, khi mà tài liệu học tậpcho sinh viên còn thiếu và hệ thống thông tin th viện cha đáp ứng đợc nhu cầungày càng cao của sinh viên Hiện nay nhu cầu trao đổi, tìm kiếm tài liệu củasinh viên là rất lớn, nhng thực tế sinh viên vẫn cha tìm kiếm đúng và đầy đủcác tài liệu mình cần Các th viện không thể cung cấp cùng lúc nhiều tài liệu
đến tất cả các sinh viên do số lợng có hạn Các đề tài, đồ án, luận văn cha đợccung cấp rộng rãi và hiện vẫn cha có nguồn đề thi cũ chính thức để sinh viên
có thể tham khảo
Mặc dù hiện nay có khá nhiều các Website cho phép ngời dùng chia sẻcác tài liệu học tập, tuy nhiên vẫn cha có nhiều Website nào tập trung hớng
đến việc chia sẻ các tài liệu chuyên biệt dành cho sinh viên
Vậy: “Làm thế nào để tạo nên một môi trờng chia sẻ tài liệu phong phú, thiết thực và thực sự hiệu quả?”
1.2 Mục đích của đề tài
+ Tạo ra một môi trờng học tập và chia sẻ kiến thức, tài liệu cho cácbạn sinh viên, giúp sinh viên có thể tra cứu và có đợc những tài liệu họ cầnmột cách nhanh chóng và dễ dàng
+ Xây dựng một nguồn học liệu phong phú, tập trung các trờng đại họctrên toàn quốc nhằm phục vụ tốt hơn cho các bạn sinh viên trong học tập vànghiên cứu
+ Hớng tới xây dựng nguồn tài liệu có bản quyền Sinh viên có thể sửdụng thông qua hình thức nạp tiền vào tài khoản bằng thẻ Paycard
+ Triển khai mô hình thanh toán thông qua thẻ Paycard, mô hình đã và
đang đợc áp dụng trên nhiều hệ thống lớn hiện nay
Trang 71.3 Hớng triển khai của đề tài
Website cho phép ngời dùng có thể đăng ký thành viên và chia sẻ cáctài liệu của mình Thông qua Website, ngời dùng có thể tìm kiếm vàDownload các tài liệu cần thiết nhờ chức năng phân loại, tìm kiếm dựa vào từkhóa, tiêu đề, nội dung Các tài liệu Website cung cấp phân thành 2 loại:miễn phí và có thu phí
+ Đối với tài liệu miễn phí, ngời dùng chỉ cần đăng ký thành viên vàtiến hành tìm kiếm, Download các tài liệu cần thiết
+ Đối với tài liệu dạng có thu phí ngời dùng phải thanh toán bằng thẻtheo hình thức nạp tiền vào tài khoản bằng thẻ Paycard hoặc nhắn tin SMS đểtải về các tài liệu tơng ứng
1.4 Hớng phát triển của đề tài
+ Hiện tại Website chỉ mới đáp ứng đợc một phần nhỏ yêu cầu của ngờidùng, nguồn tài liệu cha thực sự phong phú Website chỉ mới cho phép
ngời dùng thanh toán thông qua hệ thống thẻ Paycard Sau này khi quy môtrang Web đợc mở rộng sẻ triển khai thêm hệ thống thanh toán thông quacổng tin nhắn SMS
+ Nguồn tài liệu hiện tại chỉ mới giới hạn trong cộng đồng sinh viên vàtrong trờng đại học, cha thực sự xây dựng đợc một nguồn tài liệu tập trung tấtcả các trờng đại học trên toàn quốc Vì vậy trong thời gian sắp tới Website sẻ
Trang 8PHầN II CƠ Sở Lý THUYếT
2.1 Sơ lợc về Net Framework
2.1.1 Net Framework là gì ?
Thông thờng, mỗi ngôn ngữ lập trình đều có một tập các th viện riêng,
chẳng hạn: VC++ thì có th viện chính là msvcrt.dll; Visual Basic thì có
msvbm60.dll Các th viện này chứa các hàm, thủ tục cơ bản của mỗi ngôn
ngữ Tất cả các thứ này đều có ý nghĩa logic giống nhau nhng về cách sử dụnghay cú pháp thì hầu nh là khác nhau Điều này khiến cho một lập trình viênC++ không thể áp dụng những kiến thức họ biết sang VB hoặc ngợc lại Hơnnữa, việc phát triển bộ th viện riêng cho mỗi ngôn ngữ nh vậy là quá d thừa
ý tởng của Microsoft là không xây dựng chung một tập th viện riêng
biệt cho từng ngôn ngữ lập trình mà sẽ xây dựng một bộ th viện dùng chung.
Tập th viện dùng chung này hình thành nên một bộ khung (Framework) đểcác lập trình viên viết ứng dụng trên bộ khung sẵn có đó
Bộ khung này thực chất là một tập hợp các th viện đợc xây dựng sẵn,
đáp ứng mọi nhu cầu phát triển các ứng dụng Desktop, Network, Mobile,Web
Hình 2.1 Mô hình xây dựng phần mềm bằng ngôn ngữ truyền thống
Trang 92.1.2 Các thành phần và chức năng chính trong Net Framework
+ Common Language Runtime (Trình thực thi ngôn ngữ chung): sau khi
đợc ứng dụng dịch ra file “.Exe” (nội dung file Exe này tuân theo một chuẩnngôn ngữ chung, dù là viết bằng C# hay VB.NET), tiếp theo để file Exe trunggian này có thể chạy đợc trên máy hiện hành thì cần phải biên dịch ra mã máytơng ứng Việc biên dịch và chạy đợc là nhờ chơng trình thực thi ngôn ngữchung - CLR (Common Language Runtime)
+ Base Class Library: là tập các th viện chứa các lớp cơ bản để sử dụng
trong tất cả các ngôn ngữ NET
+ ADO.NET : là tập các th viện chuyên dành cho thao tác với CSDL + ASP.NET : các th viện dành cho phát triển ứng dụng Web.
+ Windows Forms : các th viện dành cho phát triển các ứng dụng
Windows
+ Common Language Specification : phần này có nhiệm vụ đặc tả ngôn
ngữ chung để các chơng trình viết trên các ngôn ngữ lập trình khác nhau phảituân theo Nói cách khác, biên dịch các chơng trình viết trên các ngôn ngữ
khác nhau về một ngôn ngữ chung nhất (Common Language).
Trang 10H×nh 2.4 M« h×nh biªn dÞch vµ thùc thi ch¬ng tr×nh cña øng dông NET (2) H×nh 2.3 M« h×nh biªn dÞch vµ thùc thi ch¬ng tr×nh cña øng dông NET (1)
Trang 112.1.3 Một số u điểm chính của Net Framework
+ Tất cả các ngôn ngữ đều thừa hởng một th viện thống nhất Khi sửachữa hay nâng cấp th viện này thì chỉ phải thực hiện một lần
+ Phong cách phát triển ứng dụng nhất quán và tơng tự nhau giữa cácngôn ngữ lập trình Có thể chuyển đổi sang ngôn ngữ lập trình NET khácnhau một cách dễ dàng
+ Viết các ứng dụng Webform không khác nhiều so với ứng dụngWinform
+ Cung cấp một tập th viện truy xuất CSDL thống nhất (ADO.NET)cho mọi ngôn ngữ NET
+ Hỗ trợ cơ chế “Write One - Run Everywhere” Một ứng dụng viết
bằng NET có thể chạy trên bất cứ hệ điều hành nào mà không cần sửa lạicode, miễn là máy đó có cài NET Framework
+ Cung cấp hệ thống kiểu chung (Common Type), do vậy đảm bảo tính
thống nhất về kiểu dữ liệu giữa các ngôn ngữ lập trình
+ Cho phép sử dụng nhiều ngôn ngữ lập trình trong một dự án
+ Kế thừa và sử dụng chéo giữa các ngôn ngữ lập trình dễ dàng nh trêncùng một ngôn ngữ Các ứng dụng triển khai dễ dàng
2.2 Tổng quan về ASP.NET
2.2.1 ASP.NET là gì ?
+ ASP.NET đợc viết tắt từ Active Server Pages.NET Nói đơn giản 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ạnghiện nay cũng nh trong tơng lai ASP.NET là một phơng pháp tổ chức haykhung tổ chức để thiết lập các ứng dụng hết sức mạnh cho mạng dựa trên CLR
(Common Language Runtime) chứ không phải là ngôn ngữ lập trình Ngôn
ngữ lập trình dùng để diễn đạt có thể là VB.NET, C#
+ ASP.NET dùng các ngôn ngữ mới có trình biên dịch nh C#, VB.NET
để soạn thảo các nguồn mã trong các trang Web ở Server
Trang 12sử dụng để duyệt Website, điều này sẽ đợc Framework sinh ra mã tơng ứng.
+ Truy xuất dữ liệu bằng công nghệ ADO.NET có sẵn của .NETFramework
+ Tốn ít dòng lệnh hơn so với ASP/PHP khi thực hiện cùng một côngviệc Dễ dàng bảo trì và dễ đọc hơn bởi Code và giao diện đợc tách biệt Điềunày cũng giúp cho tính chuyên biệt hóa cao hơn
+ ASP.NET sử dụng ngôn ngữ lập trình VB.NET hoặc C# hoặc cả hai
để phát triển ứng dụng
+ Trang ASP.NET đợc biên dịch trớc Thay vì phải đọc và thông dịchmỗi khi trang Web đợc yêu cầu, ASP.NET biên dịch những trang Web độngthành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả.Yếu tố này là một bớc nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP
Hình 2.5 Mô hình thực thi trang ASP.NET
Trang 132.3 Ngôn ngữ lập trình C#
2.3.1 Giới thiệu
+ C# mô tả một ngôn ngữ hiện đại hớng đối tợng Nó đợc thiết kế đểchú ý đến việc diễn đạt C++ theo kiểu lập trình và phát triển nhanh ứng dụngRAD (Rapid Application Development) chẳng hạn nh Microsoft VB, Delphil,C++ C# đợc kiến trúc bới Anders Hejlsbeg, ngời đã viết nên trình biên dịchPascal và có nhiều đóng góp cho ngôn ngữ Delphi cũng nh Java Và do đó sựtiến triển của C# chịu ảnh hởng bởi các ngôn ngữ nh C++, Java và các ngônngữ khác
+ Trớc hết, mọi thứ trong C# đều là đối tợng C# không quan tâm đếndữ liệu toàn cục hay hàm toàn cục Tất cả dữ liệu và phơng thức thao tác trêndữ liệu cần đợc đóng gói nh một đơn vị chức năng, các đơn vị chức năng này
là những đối tợng có thể đợc sử dụng lại, chúng độc lập và có thể tự hoạt
động
2.3.2 Một số đặc điểm
+ C# là ngôn ngữ khá đơn giản, với khoảng 80 từ khóa và hơn 10 kiểudữ liệu đợc dựng sẵn Tuy nhiên, C# có tính diễn đạt cao C# bao gồm tất cảnhững hỗ trợ cho cấu trúc, hớng đối tợng, hớng thành phần Những tính chất
đó hiện diện trong một ngôn ngữ lập trình hiện đại Và ngôn ngữ C# hội đủnhững điều kiện nh vậy, hơn nữa nó đợc xây dựng trên nền tảng của hai ngônngữ mạnh nhất là C++ và Java
+ Phần cốt lõi hay còn gọi là trái tim của bất cứ ngôn ngữ lập trình hớng
đối tợng là sự hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp.Những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép ngời phát triển mởrộng ngôn ngữ để tạo mô hình tốt hơn trong việc giải quyết vấn đề + Ngônngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tợng mới vànhững phơng thức hay thuộc tính của lớp, và cho việc thực thi đóng gói, kếthừa, và đa hình - ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình hớng đốitợng
Trang 142.3.3 Sự kết hợp giữa ASP.NET và ngôn ngữ C#
ASP.NET là một bộ khung làm việc hay một môi trờng làm việc nềntảng cho công việc lập trình, nó đợc xây dựng dựa vào bộ vận hành ngôn ngữchung CLR (Common Language Runtime) ASP.NET có thể đợc sử dụng trênmáy Server để xây dựng các trình ứng dụng Web với nhiều khả năng hỗ trợmạnh mẽ Lý do nó trở nên mạnh mẽ so với tiền nhiệm của nó bởi nó tận dụng
đợc khả năng hỗ trợ mạnh mẽ của NET Framework Chẳng những nó hỗ trợC#, mà còn hỗ trợ hơn 40 ngôn ngữ Trong đồ án này tôi sử dụng ngôn ngữ C#
để lập trình, vì nó có nhiều u điểm:
+ Là ngôn ngữ dễ học, dễ hiểu và dễ thao tác
+ Mọi thứ trong C# đều hớng đối tợng
+ Tất cả dữ liệu và phơng thức trong C# đợc chứa trong khai báo: cấutrúc (Struct) hoặc lớp (Class)
+ Ngôn ngữ C# đơn giản, khoảng 80 từ khóa và một số kiểu dữ liệu đợcdựng sẵn
+ 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, nhng kiểu dữ liệu mởrộng, bảo mật mà nguồn Và cũng là ngôn ngữ đang đợc sử dụng rộng rãitrong ứng dụng tin học hiện nay
2.4 Microsoft SQL Server 2005
2.4.1 Giới thiệu về SQL Server 2005
SQL Server 2005 là một hệ thống quản lý cơ sở dữ liệu (RDBMS) sửdụng Transact-SQL để trao đổi dữ liệu giữa Client Computer và SQL ServerComputer Một RDBMS bao gồm Database, Database Engine và các ứng dụng
để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS
2.4.2 Lý do chọn CSDL Microsoft SQL Server 2005
+ Microsoft SQL Server 2005 là hệ quản trị cơ sở dữ liệu hỗ trợ tốt với
lợng dữ liệu lớn, cho phép ngời sử dụng theo mô hình Client/Server
Trang 15+ Microsoft SQL Server 2005 đợc tối u để có thể chạy trên môi trờng cơ
sở dữ liệu rất lớn, lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngànUser
+ Microsoft SQL Server 2005 có thể kết hợp “ăn ý” với các Server khác
nh IIS, E-commerce Server, Proxy Server
+ Microsoft SQL Server 2005 là công cụ thiết kế và xây dựng cơ sở dữ
liệu có tính thực thi cao, đợc trải nghiệm qua nhiều phiên bản nhằm đem lại sựtối u Những ngời phát triển ứng dụng, những nhà phân tích và thiết kế hệthống và tất cả những ai quan tâm đến việc thiết kế, phát triển, bảo lu và quản
lý các trình ứng dụng đều có thể sử dụng công cụ này
Các phiên bản của SQL Server 2005
+ Enterprise: chứa đầy đủ các đặc trng của SQL Server và có thể chạy
tốt trên hệ thống lên đến 32 CPUs và 64 GB Ram Thêm vào đó nó có các dịch
vụ giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services)
+ Standard: rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ
hơn nhiều so với Enterprise Editor, nhng lại bị giới hạn một số chức năng caocấp khác, Editor có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB Ram
+ Personal: đợc tối u hóa để chạy trên PC nên có thể cài đặt trên hầu
hết các phiên bản Windows kể cả Windows 98
+ Developer: có đầy đủ các tính năng của Enterprise Editor nhng đợc
chế tạo đặc biệt nh giới hạn số lợng ngời kết nối vào Server cùng một lúc.Editor này có thể cài trên windows 2000 Professional hay Win NTWorkstartion
+ Desktop Engine (MSDE): đây chỉ là một Engine chạy trên Desktop
và không có User Interface Thích hợp cho việc triển khai ứng dụng ở máyClient Kích thớc Database bị giới hạn khoảng 2GB
+ Trial: có các tính năng của Enterprise Edition, Download Free nhng
giới hạn thời gian sử dụng
Trang 162.4.3 Stored Procedure
1 Khái niệm
+ Stored Procedure là tập các câu lệnh đã đợc biên dịch sẵn và dùng để
thao tác với cơ sở dữ liệu, bao gồm nhiều câu lệnh T-SQL đợc tập hợp lại vớinhau thành một nhóm, và tất cả các lệnh này sẽ đợc thực thi khi thủ tục lu trữ
đợc thi hành
+ Bên trong thủ tục lu trữ có thể sử dụng các biến nh trong ngôn ngữ lập
trình nhằm lu giữ các giá trị tính toán đợc, các giá trị đợc truy xuất đợc từ cơ
sở dữ liệu
+ Một tập các câu lệnh SQL đợc kết hợp lại với nhau thành một khối
lệnh bên trong một thủ tục Một thủ tục có thể nhận các tham số truyền vàocũng nh có thể trả về các giá trị thông qua các tham số Khi một thủ tục lu trữ
đã đợc định nghĩa, nó có thể đợc gọi thông qua tên thủ tục, nhận các tham sốtruyền vào, thực thi các câu lệnh SQL bên trong thủ tục và có thể trả về cácgiá trị sau khi thực hiện xong
2 Các loại Stored Procedure:
+ System Stored Procedure: là những Stored Procedure chứa trong
Master Database và thờng bắt đầu bằng tiếp đầu ngữ sp_
+ Local Stored Procedure: đây là loại thờng dùng nhất Chúng đợc
chứa trong User Database và thờng đợc viết để thực hiện một công việc nào
đó
+ Temporary Stored Procedure: là nhng loại Stored Procedure tơng tự
nh Local Stored Procedure nhng chỉ tồn tại cho đến khi Connection đã tạo rachúng bị đóng lại hoặc SQL Server Shutdown
+ Extended Stored Procedure: đây là loại Stored Procedure sử dụng
một chơng trình ngoại vi vốn đợc biên dịch thành một DLL để mở rộng chứcnăng hoạt động của SQL Server Loại này thờng bắt đầu bằng tiếp đầu ngữxp_
+ Remote Stored Procedure: những Stored Procedure gọi Stored
Procedure ở Server khác
3 Lợi ích của việc sử dụng Stored Procedure
+ SQL Server chỉ biên dịch các thủ tục lu trữ một lần và sử dụng lại kếtquả biên dịch này trong các lần tiếp theo trừ khi ngời dùng có những thiết lậpkhác Việc sử dụng lại kết quả biên dịch không làm ảnh hởng đến hiệu suất hệthống khi thủ tục lu trữ đợc gọi liên tục nhiều lần
Trang 17+ Stored Procedure đợc phân tích, tối u khi tạo ra nên việc thực thichúng nhanh hơn nhiều so với thực hiện một tập rời rạc các câu lệnh SQL tơng
đơng theo cách thông thờng
+ Stored Procedure cho phép chúng ta thực hiện cùng một yêu cầu bằngmột câu lệnh đơn giản thay vì sử dụng nhiều dòng lệnh SQL Điều này sẽ làmgiảm thiểu sự lu thông trên mạng
+ Thay vì cấp phát quyền trực tiếp cho ngời sử dụng trên các câu lệnhSQL và trên các đối tợng cơ sở dữ liệu, ta có thể cấp phát quyền cho ngời sửdụng thông qua các Stored Procedure, nhờ đó tăng khả năng bảo mật của hệthống
Các Stored Procedure trả về kết quả theo 4 cách:
+ Sử dụng các tham số Output+ Sử dụng các lệnh trả về giá trị+ Tập các giá trị trả về của câu lệnh SELECT+ Một biến con trỏ toàn cục có thể tham chiếu từ bên ngoài
Trang 18Mô hình 3 lớp bao gồm:
+ Presentation (lớp giao diện) + Business Logic (lớp chứa các hàm) + Data Access (lớp truy xuất đến cơ sở dữ liệu)
Mô hình 3 lớp mà Microsoft phát triển dùng cho các hệ thống dựa trênnền NET nh sau:
Hình 2.6 Mô hình 3 lớp
Trang 191 Layer Presentation (lớp giao diện)
Lớp này làm nhiệm vụ giao tiếp với ngời dùng để thu thập dữ liệu vàhiển thị kết quả dữ liệu thông qua các thành phần trong giao diện ngời sửdụng Lớp này sẽ sử dụng các dịch vụ do lớp Business logic cung cấp Trong
lớp này có 2 thành phần chính là User Interface Component và User Interface Proccess Components.
+ UI Components: là những phần tử chịu trách nhiệm thu thập và hiển
thị thông tin cho ngời dùng Trong ASP.NET thì những thành phần này có thể
là các Textbox, Button, Repeater
+ UI Process Components: là thành phần chịu trách nhiệm quản lý các
quy trình chuyển đổi giữa các UI Component
Lớp này không nên sử dụng trực tiếp các dịch vụ của lớp Data Access
mà nên sử dụng thông qua các dịch vụ của lớp Business Logic vì khi sử dụngtrực tiếp nh vậy có thể bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng dụngcần phải có
2 Layer Business Logic (lớp chứa các hàm)
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch
vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation
Trong lớp này có các thành phần chính là Business Component, Business Entities, Business Workflow và Services Interface.
+ Services Interface là giao diện lập trình mà lớp này cung cấp cho lớp
Presentation sử dụng Lớp Presentation chỉ cần biết các dịch vụ thông qua giaodiện này mà không cần phải quan tâm đến bên trong lớp này đợc thực hiện nhthế nào
+ Business Entities là những thực thể mô tả những đối tợng thông tin
mà hệ thống xử lý
+ Business Components là những thành phần chính thực hiện các dịch
vụ mà Services Interface cung cấp
Trang 203 Layer Data Access (lớp truy xuất dữ liệu)
Lớp này thực hiện các nghiệp vụ liên quan đến lu trữ và truy xuất dữliệu của ứng dụng Thờng lớp này sẻ sử dụng các dịch vụ của các hệ quản trịcơ sở dữ liệu nh SQL Server, Oracle để thực hiện nhiệm vụ của mình Tronglớp này có các thành phần chính là Data Access Logic, Data Source vàServices Agents
Data Access Logic Component (DALC) là thành phần chịu trách
nhiệm lu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu Trong NET cácDALC thờng đợc hiện thực bằng cách sử dụng th viện ADO.NET để giao tiếpvới các cơ sở dữ liệu
Services Agents là những thành phần trợ giúp việc truy xuất các dịch vụ
bên ngoài một cách dễ dàng và đơn giản nh truy xuất các dịch vụ nội tại
ứng dụng mô hình 3 lớp trong xây dựng Website chia sẻ tài liệu
+ Lớp giao diện: sử dụng các hàm, Class do lớp Business cung cấp
Hình 2.7 Lớp giao diện ngời dùng
Trang 21+ Líp Business Logic: Líp chøa c¸c hµm xö lý chÝnh cña
Website Líp nµy sö dông c¸c hµm, Class do líp DataObject cung cÊp
+ Líp DataContext, DataObject: Lµ líp giao tiÕp víi c¬ së d÷ liÖu,
cung cÊp c¸c chøc n¨ng xö lý cho líp Business Logic
H×nh 2.8 Líp chøa c¸c hµm xö lý
Trang 222.5.2 Công nghệ AJAX
1 Giới thiệu về AJAX
Ajax là viết tắt của Asynchronous Javascript and XML, là bộ công cụ
cho phép tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ liệu và hiển thịnhững gì cần thiết thay vì tải đi tải lại toàn bộ trang Web
2 So sánh ứng dụng Web truyền thống và Web có sử dụng AJAX
+ ở các ứng dụng Web truyền thống, Client sẽ gửi các HTTP Request
đến Web Services và Web Services sẽ gửi trả Response chứa các thông tin dớidạng HTML và CSS Ajax cho phép tạo ra một Ajax Engine nằm giữa giaotiếp này Khi đó, các yêu cầu gửi Request và nhận Response do Ajax Enginethực hiện Thay vì trả dữ liệu dới dạng HTML và CSS trực tiếp cho trình duyệtWeb Server có thể gửi trả dữ liệu dạng XML và Ajax Engine sẻ tiếp nhận,phân tách và chuyển hóa thành XHTML + CSS cho trình duyệt hiển thị Việcnày đợc thực hiện trên Client nên giảm tải rất nhiều cho Server, đồng thời ngời
sử dụng cảm thấy kết quả xử lý đợc hiển thị tức thì mà không cần phải nạp lạitrang
+ Mặt khác, sự kết hợp công nghệ web nh CSS và XHTML làm cho việctrình bày giao diện trang web tốt hơn nhiều và giảm đáng kể dung lợng trangphải nạp Đây là lợi ích hết sức thiết thực mà Ajax đem lại
3 Một số ứng dụng của AJAX
Phần lớn các ứng dụng trên Web đều đòi hỏi phải có một trang Webmới gửi tới cho ngời sử dụng để hoàn thành từng bớc đề ra trong nhiệm vụ
Đây chính là nguyên nhân khiến cho chúng hoạt động rất chậm chạp NhngAjax cho phép dữ liệu mới biết cách truy cập vào để cập nhật nội dung của
trang Web đó với tốc độ hết sức nhanh Radcontrol Ajax là một bộ công cụ
mới, đợc phát triển từ nhiều công nghệ mà nền tảng cơ bản là công nghệ Ajax,cho nên cơ chế hoạt động giống với Ajax Bộ công cụ này gồm rất nhiều công
cụ khác nhau, có giao diện đẹp, nhiều chức năng, tạo thuận lợi cho lập trìnhviên phát triển ứng dụng của mình
Trang 23PHầN III PHÂN TíCH THIếT Kế Hệ THốNG
3.1 Phân tích hệ thống về mặt chức năng
3.1.1 Biểu đồ phân cấp chức năng
3.1.2 Biểu đồ luồng dữ liệu
1 Biểu đồ luồng dữ liệu mức khung cảnh
Góp ý
Quản trị Thông tin tài liệu, ng ời dùng, Paycard
Đáp ứng yêu cầu Kết quả tìm kiếm
Download tài liệu
WEBSITE