Đ
ẠI HỌC THĂNG LONG
B MÔN TIN HỌC
CHUYÊN ĐỀ TỐT NGHIỆP
TÌM HIU VÀ XÂY DỰNG ỨNG DỤNG
WEB SIÊU THTRỰC TUYẾN
VỚI ASP.NET MVC
SINH VIÊN :
ĐẶNG TIẾN LỘC A07138
GIÁO VIÊN ỚNG DẪN :
Ths. ĐOÀN QUANG MINH
HÀ NỘI 5/ 2010
BẢNG KÝ HIỆU VIẾT TẮT
MVC Model View Controller hình lập trình ba lớp Model, View, Controller
được sdụng trong nhiều framework lp trình
web trong đó có ASP.NET MVC, ZEND ,
J2EE…
API Application
Programming Interface
Giao diện lập trình được sdụng bởi một ứng
dụng qua đó cho phép tương tác với ng
dụng khác
ACK ACKnowledgement Tha nhận một trường xác thực trong gói tin
http.
URL Uniform Resource
Locator
Địa chỉ website
LINQ .NET Language
Intergrated Query
Ngôn ngữ truy vấn tích hợp với .NET
CDN Content Delivery
Network
Mạng phân phối nội dung
SMTP Simple Mail Transfer
Protocol
Giao thức gửi thư điện t
SSL Secure Socket Layer Tầng bảo mật Socket
IIS Internet Information
Server
y chủ thông tin mạng
EML Electronic Mail Thư điện tử (đuôi của tệp thư điện tử)
DOM Document Object
Model
định nga tập các đối tượng chuẩn cho tất c
tài liệu có cấu trúc
UI User Interface Giao diện người dùng
CPU Control Processing
Unit
Bộ điều khiển xử lí trong máy tính
MỤC LỤC
i
MỤC LỤC
GIỚI THIỆU CHUNG ..................................................................................................... 1
CHƯƠNG 1: MĐẦU .................................................................................................... 3
1.1. Tổng quan về ASP.NET MVC.......................................................................... 3
1.2. Tổng quan về ứng dụng thương mại siêu thị trực tuyến .................................... 3
2.1. Yêu cu đặt ra cho kiến trúc hệ thng ............................................................... 4
2.2. Thiết kế kiến trúc hệ thống ............................................................................... 4
2.2.1. Thiết kế kiến trúc phân tầng....................................................................... 5
2.2.2. Lựa chọn lưu trữ d liệu và thiết kế tầng truy xuất dữ liệu ......................... 5
2.2.3. Thiết kế tầng logic nghiệp vụ ..................................................................... 9
2.2.4. y dựng vùng nhớ đệm - caching , sử dụng mạng phân phối ni dung tăng
hiệu năng của hệ thng ......................................................................................... 10
2.2.5. Tầng trình diễn (UI hay Views) ............................................................... 10
CHƯƠNG 2: TÌM HIU ASP.NET MVC VÀ LINQ ................................................... 12
1.1. ASP.NET MVC là gì? .................................................................................... 12
1.1.1. hình MVC cơ bản .............................................................................. 12
1.1.2. Mt vài đặc tính của ASP.NET MVC ...................................................... 12
1.2. S khác biệt so với Web Form ........................................................................ 13
1.3. Quá trình thực thi một ứng dng nền web ASP.NET MVC ............................. 15
2.1. Linq to SQL là gì? .......................................................................................... 16
2.2. Mô hình hóa CSDL dùng Linq to SQL ........................................................... 16
2.3. Tìm hiểu lớp DataContext .............................................................................. 18
2.4. c ví dụ Linq to SQL .................................................................................... 18
2.5. Tổng kết ......................................................................................................... 21
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ ỨNG DỤNG .................................................. 22
1.1. Thiết kế hệ thống ............................................................................................ 22
1.1.1. Các module của hệ thống ......................................................................... 22
1.1.2. Mi quan hệ giữa các module .................................................................. 23
1.2. Đặc tả sơ lược các module .............................................................................. 23
1.2.1. Module hồ sơ và thành viên ..................................................................... 23
1.2.2. Module ly ý kiến khách hàng ................................................................. 23
1.2.3. Module thương mại ................................................................................. 23
1.2.4. Module gửi thư ........................................................................................ 23
1.2.5. Module diễn đàn ...................................................................................... 23
1.2.6. Module tìm kiếm siêu th ......................................................................... 24
1.2.7. Module bài báo, tin tức, và blog .............................................................. 24
1.2.8. Module quc tế hóa ................................................................................. 24
1.2.9. Module kiểm thử ..................................................................................... 24
2.1. Tổng quan về module ..................................................................................... 25
2.2. Sơ đồ chức năng ............................................................................................. 26
2.3. c bảng DL của module................................................................................ 26
2.3.1. Tạo bảng DL ........................................................................................... 26
2.3.2. Cấu hình trong web.config cho membership, role và profile: ................... 27
2.4. Models ........................................................................................................... 28
2.4.1. Lớp UserInformation ............................................................................... 28
2.4.2. Lớp ProfileInformation ............................................................................ 28
2.5. Controllers...................................................................................................... 29
2.6. Views ............................................................................................................. 30
2.7. S dụng Javascript .......................................................................................... 31
2.8. Cu hình định tuyến........................................................................................ 32
2.9. Xử lí xác thực người dùng .............................................................................. 32
3.1. Tổng quan về module ..................................................................................... 33
3.2. Sơ đồ chức năng ............................................................................................. 34
3.3. Tìm hiểu , sử dụng Paypal cho chức năng thanh toán (check out).................... 34
3.3.1. Tạo tài khoản ảo cho mục đích kiểm thử .................................................. 35
3.3.2. Quá trình thanh toán vi Paypal từ website thương mại ........................... 35
3.4. c bảng dữ liệu của module .......................................................................... 37
3.5. Lớp thiết lập cấu hình cho module thương mi ............................................... 37
3.6. Model ............................................................................................................. 38
3.7. Controller ....................................................................................................... 39
3.8. View............................................................................................................... 40
3.9. S dụng JavaScript ......................................................................................... 42
3.10. Cấu hình đnh tuyến .................................................................................... 45
4.1. Tổng quan về module ..................................................................................... 47
4.2. c vấn đề cần quan tâm khi y dựng module:.............................................. 47
4.3. Sơ đồ chức năng ............................................................................................. 50
4.4. c bảng dữ liệu ............................................................................................. 50
4.5. Thiết kế lớp cấu hình cho module ................................................................... 51
4.6. Model ............................................................................................................. 51
4.7. Controller ....................................................................................................... 52
4.8. View............................................................................................................... 52
4.9. Cu hình định tuyến........................................................................................ 53
5.1. Tổng quan về module ..................................................................................... 54
5.2. Sơ đồ chức năng ............................................................................................. 54
5.3. c bảng dữ liệu ............................................................................................. 55
5.4. Thiết kế lớp cấu hình cho module ................................................................... 56
5.5. Model ............................................................................................................. 56
5.6. Controller ....................................................................................................... 57
5.7. View............................................................................................................... 58
5.8. S dụng javascript .......................................................................................... 58
5.9. Cu hình định tuyến........................................................................................ 63
6.1. Tổng quan về module ..................................................................................... 65
6.2. Sơ đồ chức năng ............................................................................................. 65
6.3. c bảng dữ liệu ............................................................................................. 66
6.4. Xây dựng lớp ForumsElement cho thiết lập cấu hình module .......................... 66
6.5. Model ............................................................................................................. 66
6.6. Controller ....................................................................................................... 67
6.7. View............................................................................................................... 68
6.8. S dụng javascript .......................................................................................... 69
6.9. Cu hình định tuyến........................................................................................ 73
6.10. Cấu hình trong tệp web.config .................................................................... 74
7.1. Tổng quan về module ..................................................................................... 75
7.2. Sơ đồ chức năng ............................................................................................. 75
7.3. c bảng dữ liệu ............................................................................................. 76
7.4. Xây dựng lớp ArticleElement cho thiết lập cấu hình ca module .................... 76
7.5. Model ............................................................................................................. 77
7.6. Controller ....................................................................................................... 78
7.7. View............................................................................................................... 79
7.8. S dụng javascript .......................................................................................... 80
7.9. Cu hình định tuyến........................................................................................ 86
8.1. Tổng quan về module ..................................................................................... 90
8.2. Xây dựng module ........................................................................................... 90
8.2.1. Các Service h trợ quốc tế hóa trong Framework ca Microsoft .............. 90
8.2.2. y dựng các tệp tài nguyên .................................................................... 91
8.2.3. Controller ca module ............................................................................. 93
8.2.4. View tương ứng của module .................................................................... 93
CHƯƠNG 4: SỬ DỤNG WEB FORMS TRONG ỨNG DỤNG ASP.NET MVC ....... 97
1.1. c lí do cho sự kết hợp gia 2 công ngh ...................................................... 97
1.2. Ti sao có thể thực hiện được sự kết hợp này .................................................. 97
1.3. c bước để kết hợp các trang WebForms vào ng dụng ASP.NET MVC ...... 97
2.1. Tổng quan về module ..................................................................................... 98
2.2. Sơ đồ chức năng ............................................................................................. 98
2.3. Phân tích cách xây dựng chức năng ............................................................. 98
2.4. Bảng CSDL .................................................................................................... 99
2.5. c lp hỗ tr trong module ......................................................................... 100
2.6. View............................................................................................................. 102
2.7. Thêm định tuyến cho các trang view của module .......................................... 103
2.8. Vn đề bảo mật ............................................................................................. 104
CHƯƠNG 5: TRIN KHAI NG DỤNG VÀ HƯỚNG PHÁT TRIỂN ................... 106
1.1. c bước triển khai....................................................................................... 106
1.2. Triển khai Global Store Site ......................................................................... 106
1.3. Cu hình IIS 7.0 cho Framework MVC sử dụng Microsoft Web Platform
Installer .................................................................................................................. 107
1.4. Thêm Global Store site vào IIS 7.0 ............................................................... 110
2.1. H trợ tìm kiếm sản phẩm mở rộng .............................................................. 112
2.2. M rộng chức năng tìm kiếm cửa hàng gn nhất ........................................... 112
2.3. Xây dựng module báo cáo tình hình bán hàng của siêu thkết xuất ra các tệp
định dạng Execel , Pdf ............................................................................................ 112
KẾT LUẬN .................................................................................................................. 113
TÀI LIỆU THAM KHẢO ............................................................................................ 114
DANH MỤC HÌNH ẢNH ............................................................................................ 115