Tìm hiểu và xây dựng ứng dụng web siêu thị trực tuyến với ASP NET MVC

122 483 1
Tìm hiểu và xây dựng ứng dụng web siêu thị trực tuyến với ASP NET MVC

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THĂNG LONG BỘ MÔN TIN HỌC CHUYÊN ĐỀ TỐT NGHIỆP TÌM HIỂU VÀ XÂY DỰNG ỨNG DỤNG WEB SIÊU THỊ TRỰC TUYẾN VỚI ASP.NET MVC SINH VIÊN : ĐẶNG TIẾN LỘC – A07138 GIÁO VIÊN HƯỚ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 Mô hình lập trình ba lớp Model, View, Controller sử dụng nhiều framework lập trình web có ASP.NET MVC, ZEND , J2EE… API Application Programming Interface Giao diện lập trình sử dụng ứng dụng qua cho phép tương tác với ứng dụng khác ACK ACKnowledgement Thừa nhận trường xác thực gói tin http URL Uniform Resource Locator Địa 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 Máy chủ thông tin mạng EML Electronic Mail Thư điện tử (đuôi tệp thư điện tử) DOM Document Object Model định nghĩa tập đối tượng chuẩn cho tất 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í máy tính MỤC LỤC MỤC LỤC GIỚI THIỆU CHUNG CHƯƠNG 1: MỞ ĐẦU 1.1 Tổng quan ASP.NET MVC 1.2 Tổng quan ứng dụng thương mại siêu thị trực tuyến 2.1 Yêu cầu đặt cho kiến trúc hệ thống 2.2 Thiết kế kiến trúc hệ thống 2.2.1 Thiết kế kiến trúc phân tầng 2.2.2 Lựa chọn lưu trữ liệu thiết kế tầng truy xuất liệu 2.2.3 Thiết kế tầng logic nghiệp vụ 2.2.4 Xây dựng vùng nhớ đệm - caching , sử dụng mạng phân phối nội dung tăng hiệu hệ thống 10 2.2.5 Tầng trình diễn (UI hay Views) 10 CHƯƠNG 2: TÌM HIỂU ASP.NET MVC VÀ LINQ 12 1.1 ASP.NET MVC gì? 12 1.1.1 Mô hình MVC 12 1.1.2 Một vài đặc tính 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 ứng dụng web ASP.NET MVC 15 2.1 Linq to SQL 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á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 hệ thống 22 1.1.2 Mối quan hệ module 23 1.2 Đặc tả sơ lược module 23 1.2.1 Module hồ sơ thành viên 23 1.2.2 Module lấy ý 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áo, tin tức, blog 24 1.2.8 Module quốc tế hóa 24 1.2.9 Module kiểm thử 24 2.1 Tổng quan module 25 2.2 Sơ đồ chức 26 2.3 Các bảng DL module 26 2.3.1 Tạo bảng DL 26 2.3.2 Cấu hình web.config cho membership, role 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 Cấu hình định tuyến 32 i 2.9 Xử lí xác thực người dùng 32 3.1 Tổng quan module 33 3.2 Sơ đồ chức 34 3.3 Tìm hiểu , sử dụng Paypal cho chức 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 toán với Paypal từ website thương mại 35 3.4 Các bảng liệu module 37 3.5 Lớp thiết lập cấu hình cho module thương mại 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 module 47 4.2 Các vấn đề cần quan tâm xây dựng module: 47 4.3 Sơ đồ chức 50 4.4 Các bảng 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 Cấu hình định tuyến 53 5.1 Tổng quan module 54 5.2 Sơ đồ chức 54 5.3 Các bảng 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 Cấu hình định tuyến 63 6.1 Tổng quan module 65 6.2 Sơ đồ chức 65 6.3 Các bảng 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 Cấu hình định tuyến 73 6.10 Cấu hình tệp web.config 74 7.1 Tổng quan module 75 7.2 Sơ đồ chức 75 7.3 Các bảng liệu 76 7.4 Xây dựng lớp ArticleElement cho thiết lập cấu hình module 76 7.5 Model 77 7.6 Controller 78 7.7 View 79 7.8 Sử dụng javascript 80 7.9 Cấu hình định tuyến 86 8.1 Tổng quan module 90 8.2 Xây dựng module 90 8.2.1 Các Service hỗ trợ quốc tế hóa Framework Microsoft 90 8.2.2 Xây dựng tệp tài nguyên 91 8.2.3 Controller module 93 8.2.4 View tương ứng module 93 CHƯƠNG 4: SỬ DỤNG WEB FORMS TRONG ỨNG DỤNG ASP.NET MVC 97 1.1 Các lí cho kết hợp công nghệ 97 1.2 Tại thực kết hợp 97 1.3 Các bước để kết hợp trang WebForms vào ứng dụng ASP.NET MVC 97 2.1 Tổng quan module 98 2.2 Sơ đồ chức 98 2.3 Phân tích cách xây dựng chức 98 2.4 Bảng CSDL 99 2.5 Các lớp hỗ trợ module 100 2.6 View 102 2.7 Thêm định tuyến cho trang view module 103 2.8 Vấn đề bảo mật 104 CHƯƠNG 5: TRIỂN KHAI ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN 106 1.1 Các bước triển khai 106 1.2 Triển khai Global Store Site 106 1.3 Cấu 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 tìm kiếm cửa hàng gần 112 2.3 Xây dựng module báo cáo tình hình bán hàng siêu thị kết xuất 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 GIỚI THIỆU CHUNG Trong chuyên đề tốt nghiệp em thực việc tìm hiểu ASP.NET MVC , mô hình thương mại điện tử trực tuyến chuỗi siêu thị lớn giới http://www.bestbuy.com , http://www.walmart.com/ qua xây dựng hệ thống thương mại trực tuyến tảng gồm module: • • • Module thành viên hồ sơ - Đăng kí tài khoản - Đăng nhập, đăng xuất - Quản lí hồ sơ - Quản lí vai trò người dùng, xóa , tạo vai trò - Quản lí người dùng, tìm kiếm người dùng theo tên – theo email , xóa người dùng, sửa đổi thông tin người dùng Moudle thương mại - Duyệt toàn gian hàng siêu thị - Xem gian hàng với danh sách mặt hàng có gian hàng - Xem chi tiết sản phẩm gian hàng , đưa vào giỏ hàng - Quản lí gian hàng, tạo gian hàng - Quản lí sản phẩm (chỉnh sửa thông tin sản phẩm, xóa sản phẩm), tạo sản phẩm - Quản lí chọn lựa cách thức giao hàng (xóa, thêm cách thức giao hàng) - Quản lí đơn đặt hàng (xem chi tiết đơn hàng) Mudule tin tức – báo - blog - Xem toàn báo - Xem theo đầu mục, chọn rss - Xem chi tiết , viết lời bình đánh giá báo - Quản lí đầu mục, tạo đầu mục - Quản lí báo (chỉnh sửa, xóa), tạo báo - Quản lí nhận xét báo • • • • • Module chưng cầu ý kiến khách hàng - Xem chưng cầu - polls, cho ý kiến (vote) - Quản lí chưng cầu (chuyển chưng cầu sang trạng thái lấy đủ ý kiến archive, hành, chỉnh sửa chưng cầu, xóa chưng cầu) , tạo chưng cầu Module gửi thư từ hệ thống - Xem ,xóa thư gửi - Tạo thư gửi Module định vị cửa hàng siêu thị gần - Tìm siêu thị khoảng cách định - Tìm đường tới siêu thị - Thêm vị trí siêu thị vào hệ thống Module Forum - Duyệt diễn đàn - Xem thảo luận, tham gia thảo luận , xác nhận thích hay không thích thảo luận, tạo thảo luận - Quản lí diễn đàn (chỉnh sửa , xóa diễn đàn) - Quản lí thảo luận (approve, đóng , xóa thảo luận) Module quốc tế hóa - • Hiển thị thông tin địa phương ứng với thông tin địa phương hồ sơ người dùng tiền dùng địa phương, thời gian, cách viết số địa phương,… Module kiểm thử - Kiểm thử phần báo, blog - Kiểm thử phần gửi thư CHƯƠNG 1: MỞ ĐẦU LÍ DO THỰC HIỆN ĐỀ TÀI 1.1 Tổng quan ASP.NET MVC Không phải tự nhiên mà nhiều web programming framework phổ biến kế thừa nguyên tắc MVC Django, Ruby on Rails, CakePHP, Struts, … Sự thành công việc kế thừa kiểu mẫu lập trình cuối khiến Microsoft định đưa nghuyên tắc vào sử dụng NET Framework hình thành nên ASP.NET MVC đầu năm 2007 phiên 1.0 Kiểu mẫu lập trình ứng dụng tảng Web kiểu mẫu lập trình tốt xong có ưu điểm định sử dụng phổ biến tiếp tục hỗ trợ phát triển Micorosoft Chính lí mà đáng tìm hiểu để từ sử dụng cách hiệu 1.2 Tổng quan ứng dụng thương mại siêu thị trực tuyến Việc mua bán kinh doanh ngày trở nên dễ dàng với hỗ trợ CNTT có số lượng lớn website thương mại xây dựng sử dụng Việc giúp đa dạng hóa phương thức bán hàng hàng hóa tiêu thụ dễ dàng Có nhiều ích lợi từ việc kinh doanh trực tuyến thấy như: Đối với khách hàng: • Mua hàng đâu miễn họ có máy tính kết nối mạng • Nhanh chóng tìm kiếm mặt hàng cần mua qua vài click chuột • Không phải đối mặt với nhân viên bán hàng • … Đối với doanh nghiệp: • Có thêm kênh quảng bá sản phẩm hiệu mà chi phí thấp • Nắm bắt thông tin phong phú thị trường đối tác • Thiết lập mối quan hệ tốt với khách hàng đối tác • Đa dạng hóa kênh bán hàng doanh nghiệp • … Hệ thống siêu thị trực tuyến ví dụ điển hình thương mại điện tử có đầy đủ module mà hệ thống thương mại điện tử cần có Trong chuyên đề tốt nghiệp em xây dựng hệ thống bán hàng trực tuyến theo mô hình MVC dựa tảng công nghệ NET TIÊU ĐỀ CHƯƠNG 2 SƠ LƯỢC VỀ YÊU CẦU KIẾN TRÚC CỦA HỆ THỐNG 2.1 Yêu cầu đặt cho kiến trúc hệ thống Xây dựng nên hệ thống siêu thị trực tuyến cấu thành từ module riêng biệt đồng thời quản lí nội dung động báo,diễn đàn, phiếu điều tra (polls) gửi thư từ hệ thống cần giải vấn đề chung đặt với module là: Tách biệt mã lệnh truy cập CSDL với mã lệnh logic nghiệp vụ mã lệnh cho giao diện để hệ thống dễ dàng bảo trì mở rộng Cô lập kiến trúc truy cập CSDL để từ hỗ trợ việc lưu trữ với CSDL quan hệ khác SQL , MySQL , Oracle, mà thực thay đổi với tầng đối tượng nghiệp vụ Ngược lại việc thay đổi tầng trình diễn (giao diện người dùng) hay tầng đối tượng nghiệp vụ không làm thay đổi tầng lại – Tạo tính decoupling cho hệ thống Thiết kế kiến trúc đối tượng nghiệp vụ lấy từ tầng truy cập CSDL theo kiểu hướng đối tượng cách ánh xạ sở liệu quan hệ vào lớp OOP Hỗ trợ chế caching với đối tượng nghiệp vụ Điều giúp làm giảm việc sử dụng CPU, nguồn CSDL, băng thông mạng – network bandwidth làm tăng hiệu chung hệ thống Tạo tệp cấu hình cho module để dễ dàng thay đổi chúng 2.2 Thiết kế kiến trúc hệ thống Với dự án ASP.NET web forms truyền thống ta không thực tách riêng phần giao diện người dùng với logic ứng dụng NET cung cấp sẵn điều khiển phía máy chủ (server side control) mà ta thường sử dụng cách kéo thả vào Web Form ví dụ GridView Các control kiểu giúp thực nhiều việc nhiên lại thường làm cho mã lệnh xử lí logic ứng dụng lẫn vào với mã lệnh giao diện Một ví dụ thường thấy việc tạo logic để xếp GridView hay lọc liệu ứng với kiện nhấn chuột Khi sử dụng control ta cần có tệp mã lệnh để xử lí logic đằng sau (code behind file) view Chúng ta tự tạo trọn vẹn ứng dụng có tính module nhiên điều dẫn tới việc ta phải tự xây dựng framework cho ứng dụng Với việc đời framework asp.net mvc thứ thay đổi hẳn không tệp mã lệnh xử lí logic đằng sau view giúp tách biệt hoàn toàn giao diện với logic nghiệp vụ ứng dụng Với asp.net mvc framework ta dễ dàng, nhanh chóng phát triển kiến trúc ứng dụng theo hướng phân tầng (n-tier web application) TIÊU ĐỀ CHƯƠNG 2.2.1 Thiết kế kiến trúc phân tầng Với ứng dụng siêu thị trực tuyến ta chia thành tầng sau: Tầng lưu trữ liệu: Nơi lưu trữ CSDL CSDL ứng dụng CSDL quan hệ Tầng truy cập CSDL (Data Access Layer – DAL): Mã lệnh để lấy liệu , xử lí liệu thô lưu tầng lưu trữ DL Nhiệm vụ tầng đưa truy xuất CSDL theo logic nghiệp vụ có tính trực quan cho ứng dụng Che dấu chi tiết thâm nhập CSDL mức thấp tăng tính an toàn cho CSDL hệ thống Tầng nghiệp vụ (Business Logic Layer – BLL): Mã lệnh tầng thực nguyên tắc nghiệp vụ , tạo đối tượng cụ thể thuộc miền nghiệp vụ nhằm thỏa mãn yêu cầu ứng dụng Tầng Logic ứng dụng (Application Logic Layer): Mã lệnh thuộc tầng xử lí tương tác tầng trình diễn (Presentation Layer) với tầng logic nghiệp vụ Tầng trình diễn (Presentation Layer – PL) : Là đoạn mã lệnh tạo nên mà người dùng thấy trình duyệt – liệu định dạng, thực đơn duyệt hệ thống, … Hình 1.1 – Kiến trúc ứng dụng 2.2.2 Lựa chọn lưu trữ liệu thiết kế tầng truy xuất liệu Ở ứng dụng ta lựa chọn lưu trữ CSDL với SQL server 2008 SQL server 2008 nhiên thực tế khách hàng lại muốn sử dụng Oracle server hay IBM DB2 server … nhiều lí họ muốn tích hợp ứng dụng bạn vào project lớn mà project lại dùng Oracle Server để lưu trữ DL nên tầng truy xuất liệu cần thiết kế cho đủ linh hoạt để việc thay đổi diễn dễ dàng , nhanh chóng TIÊU ĐỀ CHƯƠNG Module có view dành cho người dùng tìm kiếm siêu thị gần họ , view lại dành cho người dùng có vai trò quản trị để thêm vị trí cửa hàng Tên trang StoreLocator.aspx AddStoreLocation.aspx Đặc tả Trang cho phép người dùng tìm kiếm siêu thị gần họ Trang dành cho người dùng với vai trò quản trị thêm vị trí cửa hàng vào CSDL Đường dẫn ảo Locator/Index Locator/AddStore 2.7 Thêm định tuyến cho trang view module Khi mà ta yêu cầu trang web sử dụng Url tương ứng với trang ổ đĩa tức ta hoàn toàn tránh không sử dụng hệ thống định tuyến ASP.NET MVC Tuy nhiên module ta muốn yêu cầu trang web StoreLocator.aspx AddStoreLocation.aspx thông qua hệ thống định tuyến cách sử dụng phương pháp: Tạo phương thức sinh URL hướng tới thư mục nằm thư mục Views Cụ thể thư mục WebForms Đây đoạn code lớp chứa phương thức đó: //Create route class for WebForms public class WebFormsRoute : Route { //Constructor is hard-coded to use the special WebFormsRouteHandler public WebFormsRoute(string url, string virtualPath) : base(url, new WebFormsRouteHandler { VirtualPath = virtualPath }) { } public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) { //Only generate outbound URL when "virtual Path" matches this entry string path = ((WebFormsRouteHandler)this.RouteHandler).VirtualPath; if ((string)values["VirtualPath"] != path) return null; else { // var valuesExceptVirtualPath = new RouteValueDictionary (values); valuesExceptVirtualPath.Remove("virtualPath"); 103 TIÊU ĐỀ CHƯƠNG return base.GetVirtualPath(requestContext , valuesExceptVirtualPath); } } private class WebFormsRouteHandler : IRouteHandler { public string VirtualPath { get; set; } //Compiles the ASPX file if needed and instantiates the web form public IHttpHandler GetHttpHandler(RequestContext requestContext) { return (IHttpHandler)BuildManager.CreateInstanceFromVirtualPath(VirtualPath, typeof(IHttpHandler)); } } } Ở ta sử dụng tới lớp BuildManager để định vị, dịch tạo thể trang webforms Với lớp ta tạo định tuyến cho tệp StoreLocator.aspx AddStoreLocation.aspx thư mục WebForms thêm định tuyến vào bảng định tuyến: #region Locator routes.Add(new WebFormsRoute("Locator/Index", "~/WebForms/StoreLocator.aspx")); routes.Add(new WebFormsRoute("Locator/AddStore", "~/WebForms/AddStoreLocation.aspx")); #endregion Ghi chú: Đến ta hoàn tất việc kết hợp trang webforms vào dự án asp.net mvc 2.8 Vấn đề bảo mật Một vấn đề cần thêm luật xác thực cho định tuyến Urls tạo để bảo vệ trang khỏi kiểu truy cập trực tiếp sử dụng định tuyến đó: 104 TIÊU ĐỀ CHƯƠNG 105 CHƯƠNG 5: TRIỂN KHAI ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN TRIỂN KHAI ỨNG DỤNG 1.1 Các bước triển khai Công việc triển khai chia làm bước: Triển khai sở liệu triển khai gobal store site Về phần CSDL IIS hỗ SQL server express CSDL gắn với ứng dụng GlobalStore ta triển khai ứng dụng Ở GlobalStore site sử dụng site nhỏ nên ta cần dùng SQL server express để chứa CSDL 1.2 Triển khai Global Store Site Ta thực triển khai Global Store Site với chức Public từ Visual Studio hình sau chạy Visual Studio với vai trò administrator: 106 Hình 5.1 – Triển khai Global Store Site 1.3 Cấu hình IIS 7.0 cho Framework MVC sử dụng Microsoft Web Platform Installer Công cụ cài đặt Web Platform công cụ Microsoft hỗ trợ cài đặt trọn Web Platform Microsoft Sau cài công cụ khởi động ta thấy hình : Hình 5.2 – Màn hình chọn lựa Paltform để cài đặt 107 Ta phải đảm bảo NET framework ASP.NET MVC cài đặt cách nhấn vào link Customize mục Framworks and Runtimes hình có dấu tích chìm ứng với mục cần cài tức chúng cài đặt vào máy ta Hình 5.3 – Màn hình kiêm tra cài đặt NET Framework ASP.NET MVC 108 Kiểm tra xem cài SQL Server express 2008 chưa việc chọn liên kết Customize mục Database có dấu tích chìm phần SQL Server Express 2008 hình mở tức SQL server express 2008 cài đặt Hình 5.4 – Màn hình kiểm tra việc cài đặt SQL server express 2008 Ghi chú: Ở ta cài đặt thứ nên cài đặt thêm 109 1.4 Thêm Global Store site vào IIS 7.0 Chạy máy chủ quản lí thông tin Internet Microsoft – IIS 7.0 hình vẽ Hình 5.5 – IIS Manager 110 Nhấn vào node máy chủ nhấn chuột phải chọn Add Web Site ta thấy sau Hình 5.6 – Add Web Site Dialog Ở cần số thiết lập đặt tên cho site, gán Host header … 111 Hướng phát triển ứng dụng Do thời gian phạm vi làm chuyên đề tốt nghiệp hiểu biết hạn chế nên em đa phần áp dụng kĩ thuật lập trình ứng dụng tảng web sử dụng công nghệ NET MVC ASP.NET Microsft Trên thực tế hệ thống mở rộng theo số hướng sau để trở nên hữu ích hiệu 2.1 Hỗ trợ tìm kiếm sản phẩm mở rộng Với hệ thống lớn Global Store việc xây dựng chức tìm kiếm sản phẩm mở rộng cần thiết giúp khách hàng tiết kiệm thời gian tìm kiếm khiến cho hệ thống trở nên hữu ích 2.2 Mở rộng chức tìm kiếm cửa hàng gần Việc tìm kiếm cửa hàng gần tiện ích thú vị hệ thống nhiên mục tiêu cần hướng tới trường hợp khách hàng có lựa chọn sản phẩm vào giỏ hàng hệ thống cần thiết phải thông báo cho khách hàng biết sản phẩm mà khách hàng muốn mua có hay siêu thị mà họ định tới Ngoài cần có thông tin bổ trợ siêu thị mở cửa , đóng cửa ,… 2.3 Xây dựng module báo cáo tình hình bán hàng siêu thị kết xuất tệp định dạng Execel , Pdf Đây module cần thiết cho ứng dụng kiểu siêu thị trực tuyến , ông chủ Global Store Pte có nhu cầu nắm bắt thông tin bán hàng siêu thị Để xây dựng module mức cao yêu cầu thực tế site www.bestbuy.com hay www.walmart.com điều dễ dàng xong xây dựng để mô không khó cần thiết 112 KẾT LUẬN Sau thực xong chuyên đề tốt nghiệp xây dựng hệ thống siêu thị trực tuyến em tìm hiểu số công nghệ xây dựng ứng dụng tảng web Microsoft: - ASP.NET MVC - ASP.NET Tìm hiểu ứng dụng cách kết hợp công nghệ xây dựng ứng dụng web Microsoft ASP.NET MVC ASP.NET Tìm hiểu sử dụng webservices sử dụng chức toán với Paypal, hay chức hiển thị đồ Google module định vị cửa hàng gần Tìm hiểu sử dụng AJAX cho hành động phía Client, kĩ thuật xây dựng nhớ đệm,… 113 TÀI LIỆU THAM KHẢO Tiếng Anh: Về chức tham http://www.bestbuy.com/ khảo trang http://www.walmart.com/ ScottGu (5/2007) , Using LINQ to SQL , xem blog ScottGu (http://weblogs.asp.net/scottgu) Troy Mageniss (2010), LINQ to Object using C# 4.0, Chapter 3,4 ASP.NET MVC, từ đến nâng cao framework asp.net mvc trang dành cho NET MVC microsoft (http://www.asp.net/mvc/fundamentals) Steven Sanderson (2009) , Pro ASP.NET MVC framework , p540 tới p546 – Internationlization , p555 tới p576 commbination of ASP.NET and ASP.NET MVC technology in one application Bear Bibfault, (11/2008), JQuery in action, Chapter Talk to the server with Ajax p217 tới p266 Google developers, Google map API, xem (http://code.google.com/apis/maps/) Paypal developers, Paypal API , xem (https://cms.paypal.com/us/cgibin/?cmd=_render-content&content_ID=developer/howto_api_reference ) 114 , DANH MỤC HÌNH ẢNH Hình 1.1 – Kiến trúc ứng dụng – Trang Hình 1.2 - Mối quan hệ tầng giao diện, logic nghiệp vụ, truy cập CSDL lưu trữ CSDL – Trang Hình 2.1 – Mô hình MVC – Trang 12 Hình 2.2 – Mô hình LINQ to SQL – Trang 17 Hình 2.3 – Mô hình NorthwindDataContext – Trang 19 Hình 2.4 – Hình minh họa lấy sản phẩm từ CSDL với LINQ - Trang 19 Hình 2.5 – Hình minh họa cập nhật sản phẩm từ CSDL với LINQ – Trang 19 Hình 2.6 – Chèn sản phẩm vào CSDL – Trang 19 Hình 2.7 – Xóa sản phẩm – Trang 20 Hình 2.8 – Gọi thủ tục – Trang 20 Hình 2.9 – Lấy sản phẩm phân trang – Trang 21 Hình 3.1 – Các module hệ thống siêu thị trực tuyến – Trang 22 Hình 3.2 – Sơ đồ tổng quan người dùng chức module – Trang 25 Hình 3.3 – Sơ đồ tổng quan chức module theo mô hình UC – Trang 26 Hình 3.4 Bảng Langugage – Trang 26 Hình 3.5 Sơ đồ lớp UserInformation – Trang 28 Hình 3.6 Sơ đồ lớp ProfileInformation – Trang 29 Hình 3.7 Sơ đồ chức theo mô hình UC module thương mại – Trang 34 Hình 3.8 – Các tài khoản kiểm thử với sandbox – Trang 35 Hình 3.8 Sơ đồ quan hệ bảng liệu module thương mại – Trang 37 Hình 3.9 – Sơ đồ lớp thực thể LINQ-to-SQL module – Trang 38 Hình 3.10 – Các lớp xây dựng thêm hỗ trợ cho module – Trang 39 Hình 3.11 – Sơ đồ chức module - Trang 50 Hình 3.12 – Bảng Newsletters – Trang 50 Hình 3.13 – Sơ đồ Model Newsletter – Trang 52 Hình 3.14 – Sơ đồ chức module lấy ý kiến người dùng – Trang 54 115 DANH MỤC HÌNH ẢNH Hình 3.15 – Sơ đồ mối quan hệ bảng DL module lấy ý kiến người dùng – Trang 55 Hình 3.16 – Sơ đồ thiết kế bảng PollOptions – Trang 55 Hình 3.17 – Sơ đồ thiết kế bảng Polls – Trang 56 Hình 3.18 – Sơ đồ lớp PollOption Poll – Trang 57 Hình 3.19 – Sơ đồ lớp PollQueries – Trang 57 Hình 3.20 – Sơ đồ chức module Forum – Trang 65 Hình 3.21 – Các bảng liệu module forum – Trang 66 Hình 3.22 – Sơ đồ lớp thực thể LINQ-to-SQL Post, Forum , Vote – Trang 67 Hình 3.23 – Sơ đồ lớp ForumQueries – Trang 67 Hình 3.24 – Sơ đồ chức module báo, tin tức , blog – Trang 75 Hình 3.25 – Sơ đồ bảng Categories, Comments, Articles quan hệ chúng – Trang 76 Hình 3.26 – Sơ đồ lớp thực thể Article, Comment, Category – Trang 77 Hình 3.27 – Sơ đồ lớp mở rộng ArticlesQueries, Article, ArticleCollectionWrapper - Trang 78 Hình 3.28 – Tệp Message.resx – Trang 91 Hình 3.29 – Tệp Message.vn-VN.resx – Trang 91 Hình 3.30 – Tệp Message.it-IT.resx – Trang 92 Hình 3.31 – Tệp TestLocalization.resx – Trang 92 Hình 3.32 – Tệp TestLocalization.vn-VN.resx – Trang 92 Hình 3.33 – Tệp TestLocalization.it-IT.resx – Trang 92 Hình 4.1 – Sơ đồ chức module Store Locator - Trang 96 Hình 4.2 – Bảng Locations – Trang 99 Hình 4.3 – Tệp LocationsData.xsd – Trang 102 Hình 5.1 – Triển khai Global Store Site – Trang 105 Hình 5.2 – Màn hình chọn lựa Paltform để cài đặt – Trang 106 116 DANH MỤC HÌNH ẢNH Hình 5.3 – Màn hình kiêm tra cài đặt NET Framework ASP.NET MVC – Trang 107 Hình 5.4 – Màn hình kiểm tra việc cài đặt SQL server express 2008 – Trang 108 Hình 5.5 – IIS Manager – Trang 109 Hình 5.6 – Add Web Site Dialog – Trang 110 117 [...]... framework ổn định , ra đời cách đây vài năm , có các tài liệu hỗ trợ đầy đủ , dễ sử dụng 11 TIÊU ĐỀ CHƯƠNG 2 CHƯƠNG 2: TÌM HIỂU ASP. NET MVC VÀ LINQ 1 TỔNG QUAN VỀ ASP. NET MVC 1.1 ASP. NET MVC là gì? 1.1.1 Mô hình MVC cơ bản Tham khảo asp. net mvc của microsoft MVC viết tắt của các chữ cái đầu của 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... MVC là đối tượng MvcHandler Đối tượng này sẽ chọn ra controller đáp ứng yêu cầu gửi tới ứng dụng Chú ý: Khi một ứng dụng nền Web viết bằng ASP. NET MVC chạy trên IIS 7.0 , phần mở rộng tên file là không cần thiết đối vớp dự án ứng dụng đó Tuy nhiên nến chạy trên IIS 6.0 , IIS 6.0 yêu cầu bạn phải chỉ ra cho ASP. NET ISAPI DLL nhận các file có phần mở rộng mvc Module nói trên và IIS là các điểm đầu vào... editor (biên tập) 23 TIÊU ĐỀ CHƯƠNG 3 1.2.6 Module tìm kiếm siêu thị Người dùng có thể sử dụng module này để tìm kiếm các siêu thị gần nơi mình ở theo khoảng cách và tìm đường đi đến một siêu thị nào đó Với người dùng có vai trò là admin thì còn có thêm chức năng thêm vị trí siêu thị mới vào hệ thống 1.2.7 Module bài báo, tin tức, và blog Người dùng sử dụng module này có thể xem toàn bộ các bài báo, xem... page lifecycle ) • ASP. NET MVC Framework hỗ trợ đầy đủ các tính năng bảo mật của ASP. NET như forms/windows authenticate, URL authorization, membership/roles, output và data caching, session/profile state, configuration system, provider architecture v.v… 1.2 Sự khác biệt so với Web Form 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... hưởng đến ứng dụng Đối với ASP. NET MVC Framework thì việc có thể sử dụng các unit test có thể kiểm định khá dễ dàng hoạt động của các controller 13 TIÊU ĐỀ CHƯƠNG 2 Tính năng ASP. NET 2.0 ASP. NET MVC Kiến trúc chương trình Kiến trúc mô hình Kiến trúc sử dụng việc WebForrm Bussiness phân chia chương trình Database thành Controllers, Models, Views Cú pháp chương trình Sử dụng cú pháp của webform Tất... các điểm đầu vào đối với ASP. NET MVC framework Chúng thực hiện những việc sau: • Chọn ra một controller tương ứng xử lí yêu cầu trong một ứng dụng MVC nền web • Có được một thể hiện cụ thể của controller đó • Gọi phương thức Execute của controller này Bảng sau sẽ liệt kê các giai đoạn thực thi của một dự án nền Web ASP. NET MVC Giai đoạn Chi tiết Nhận yêu cầu đầu tiên của ứng dụng Trong file Global.asax,... các hãng thứ 3) vẫn thường được sử dụng trong các asp. net web forms trước kia thì sao? Trên thực tế những control kiểu này không còn cần thiết trong các web forms nữa ASP. NET MVC framework đem đến rất nhiều lựa chọn thay thế cho các control đó mà trong hệ thống siêu thị trực tuyến sử dụng Framework này có một tập các phương thức mở rộng hỗ trợ HTML giúp tự động tạo và gắn kết dữ liệu của khá 10 TIÊU... 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 dùng với Views sẽ thực hiện hành động trong Controllers, không còn postback, không còn lifecycle hay events nữa Việc kiểm tra ( test ), gỡ lỗi ( debug ) với ASP. NET đều phải chạy tất cả các tiến trình của ASP. NET và mọi sự thay đổi ID... hiệu quả khi sử dụng Với asp. net mvc framework thì tầng BLL nằm gọn trong các điều khiển (controllers) và các lớp điều khiển bắt buộc phải được đặt trong thư mục controllers giúp tách hẳn tệp code behind ra khỏi views Các lớp này sử dụng các tập hợp (collections) xử lí dữ liệu thông qua chúng trả lại view tương ứng Với việc tạo tầng logic nghiệp vụ ở thư mục controllers trong ứng dụng net mvc thì ta có... nhiều người dùng và trong hệ thống siêu thị trực tuyến các dữ liệu như vậy có thể kể tới như danh sách các đầu mục bài báo, đầu mục sản phẩm và các sản phẩm… Để có thể tăng hiệu ứng cho hệ thống với những dữ liệu kiểu này ta có thể tạo vùng nhớ đệm cho chúng và giữ vùng nhớ đệm này ở bộ nhớ trong những khoảng thời gian xác định Asp. net framework cũng khá mạnh trong việc giúp chúng ta xây dựng , quản lí

Ngày đăng: 05/06/2016, 19:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan