Luận văn Xây dựng hệ thống thương mại điện tử hướng dịch vụ

MỤC LỤC

CHƯƠNG I. GIỚI THIỆU 8

1. Tổng quan 8

2. Mục tiêu đặt ra 9

2.1 Về mặt lý thuyết: 9

2.2 Về mặt thực tiễn: 9

3. Hướng tiếp cận 9

4. Thuận lợi và khó khăn 10

4.1 Thuận lợi : 10

4.2 Khó khăn 10

CHƯƠNG II. KIẾN THỨC NỀN TẢNG 10

1. Thương mại điện tử ( EC ) 10

1.1 Định nghĩa EC 10

1.1.1 E-Commerce 10

1.1.2 E- Business 11

1.2 Một số khái niệm EC 11

1.2.1 Mô hình EC 11

1.2.2 Thị trường điện tử (Electronic Market) 11

1.2.3 Sàn giao dịch 11

1.2.4 Thanh toán điện tử 11

1.2.5 Trao đổi dữ liệu điện tử tài chính 11

1.2.6 Tiền mặt Internet (Internet Cash) 12

1.2.7 Túi tiền điện tử (Electronic Purseb) 12

1.2.8 Giao dịch ngân hàng số hóa (digital banking), giao dịch chứng khoán số hóa (digital securities trading) 12

1.3 Khung hoạt động 13

1.4 Các thành phần tham gia 13

1.5 Phân loại EC 14

1.5.1 Phân loại theo mô hình thương mại 14

1.5.1.1 Đưa ra giá của bạn cần 14

1.5.1.2 Tìm giá tốt nhất 14

1.5.1.3 Môi giới 15

1.5.1.4 Chi nhánh tiếp thị 15

1.5.1.5 Phân loại mua sắm 15

1.5.1.6 Hệ thống đề nghị điện tử 15

1.5.1.7 Bán đấu giá trực tuyến 15

1.5.1.8 Sản xuất theo yêu cầu khách hàng và cá nhân hóa 15

1.5.2 Phân loại theo bản chất của giao dịch 16

1.5.2.1 B2B (business-to-business) 16

1.5.2.2 B2C (business-to-consumer) 16

1.5.2.3 B2E (business-to-employee) 16

1.5.2.4 C2B (consumer-to-business) 16

1.5.2.5 C2C (consumer-to-consumer) 16

1.5.2.6 E-Government 16

1.5.2.7 E-Learning 17

1.5.2.8 M-Commerce (Mobile Commerce) 17

1.6 Hệ thống EC 17

1.7 Thuận lợi của EC 17

1.7.1 Đối với doanh nghiệp 17

1.7.2 Đối với người dùng (đầu cuối) 18

1.7.3 Đối với xã hội 18

1.8 Hạn chế của EC 19

1.8.1 Về mặt công nghệ 19

1.8.2 Các hạn chế khác 19

1.9 Một số vấn đề cần lưu ý 19

1.9.1 Bảo mật trong EC 19

1.9.1.1 Một số vấn đề bảo mật 19

1.9.1.2 Qui trình bảo mật 21

1.9.1.3 Một số loại tấn công 21

1.9.1.4 Chống lại tấn công 21

1.9.2 Xử lý tự động 21

1.9.3 Thanh toán điện tử 22

1.9.3.1 Paypal 22

1.9.3.2 OnePay 22

1.9.3.3 PayNet 22

1.9.3.4 Google Checkout 23

1.9.3.5 So sánh giữa Google Checkout và Paypal 23

2. Phần mềm SaaS 25

2.1 Ví dụ mở đầu 25

2.1.1 Google Docs 25

2.1.2 SalesFoce.com 26

2.2 Thế nào là một phần mềm SaaS? 26

2.3 Những thuận lợi của phần mềm SaaS 27

2.3.1 Chi phí triển khai thấp 27

2.3.2 Không cần nhiều sự hỗ trợ kĩ thuật 27

2.3.3 Nâng cấp chương trình mà không tốn thêm chi phí 27

2.3.4 Truy cập không giới hạn không gian và thời gian 27

2.4 Mô hình phần mềm SaaS hoạt động như thế nào? 27

2.5 Xu hướng hiện nay 29

2.5.1 Xu hướng thế giới 29

2.5.2 Xu hướng Việt Nam 29

2.6 Khó khăn của mô hình phần mềm SaaS 30

2.6.1 Đối với người dùng( doanh nghiệp) 30

2.6.2 Đối với nhà cung cấp dịch vụ 30

2.7 Một số kĩ thuật lập trình sử dụng 30

2.7.1 URL Friendly trên ASP.NET 30

2.7.2 Mã hóa: SHA1, MD5 34

2.7.3 ASP.NET 34

2.7.3.1 Code Behind 34

2.7.3.2 Làm việc với một số control thông dụng 35

2.7.3.3 Webpart 35

2.7.3.4 Master page 35

2.7.4 ADO.NET 36

2.7.5 Các đối tượng chính trong ADO.NET 36

2.7.5.1 Connection 36

2.7.5.2 Command 36

2.7.5.3 DataReader 37

2.7.5.4 DataAdapter 37

2.7.6 XML 37

2.7.6.1 Mô hình DOM trong XML 39

2.7.6.2 Duyệt các node trong file XML 41

2.7.7 Lập trình Web services trên môi trường .NET 41

2.7.8 Những kĩ thuật khác 41

CHƯƠNG III. PHÂN TÍCH – THIẾT KẾ 41

1. Tổng quan hệ thống 42

1.1 Mô tả hệ thống 42

1.1.1 Về người dùng hệ thống: 42

1.1.2 Về chức năng hệ thống 43

1.1.2.1 Yêu cầu chức năng: 43

1.1.2.2 Yêu cầu phi chức năng: 43

1.2 Mô hình hệ thống 43

1.3 Flowchart cho đối tượng SaaSAdmin 44

1.4 Flowchart cho đối tượng SaaSCustomer 45

1.5 Flowchart cho đối tượng ClientCustomer 46

1.6 Use - case cho đối tượng SaaSAdmin 47

1.7 Use – case cho đối tượng SaaSCustomer 47

1.8 User – case cho đối tượng ClientCustomer 48

2. Hệ thống SaasSystem 48

3. Hệ thống ứng dụng mẫu – phiên bản của SaaSSystem 48

CHƯƠNG IV. TỔ CHỨC VÀ CÀI ĐẶT 48

1. Sơ đồ lớp 49

2. Lược đồ cơ sở dữ liệu 49

3. Danh sách các bảng cơ sở dữ liệu 50

4. Mô tả thuộc tính một số bảng cơ sở dữ liệu 52

CHƯƠNG V. KẾT QUẢ CÀI ĐẶT THỬ NGHIỆM 57

1. Xây dựng Hệ thống cung cấp ứng dụng trọn gói SaaSSystem 57

2. Ứng dụng mẫu - sử dụng SaaSSystem 57

2.1 Chức năng Hiển thị sản phẩm 57

2.2 Chức năng Thêm sản phẩm vào giỏ hàng 57

2.3 Chức năng Xem chi tiết sản phẩm 57

2.4 Chức năng Cập nhật giỏ hàng 57

CHƯƠNG VI. NHẬN XÉT - ĐÁNH GIÁ 57

1. Kết quả đạt được 57

1.1 Về mặt lý thuyết 57

1.2 Về mặt ứng dụng 57

2. Các kinh nghiệm và kỹ năng thu được 58

3. Hạn chế luận văn 58

4. Hướng phát triển 58

CHƯƠNG VII. TÀI LIỆU THAM KHẢO 58

1. Sách, Ebooks 58

2. Luận văn, luận án 58

3. Bài báo 59

4. Websites, Blog chuyên gia 59

CHƯƠNG VIII. PHỤ LỤC 59

1. Phụ lục A. Kĩ thuật Dynamic DNS – biến máy tính sử dụng ADSL thành server 59

1.1 Dynamic DNS là gì? 59

1.2 Tại sao phải sử dụng Dynamic DNS? 59

1.3 Làm thế nào để sử dụng Dynamic DNS? 60

1.3.1 Điều kiện để sử dụng Dynamic DNS: 60

1.3.2 Có rất nhiều cách để sử dụng Dynamic DNS 60

1.3.2.1 Mua một IP tĩnh 60

1.3.2.2 Sử dụng dịch vụ trỏ IP động của Mắt Bão 60

2. Phụ lục B. Web Services 60

2.1 Lý thuyết về Web service 60

2.2 Web services trong mô hình 3 lớp 60

3. Phụ lục C. Sử dụng AJAX trên ASP.NET 64

3.1 Cách 1: Sử dụng AJAX truyền thống 64

3.2 Cách 2: Sử dụng bộ Toolkit có hỗ trợ AJAX 64

3.3 Kỹ thuật logging và cách sử dụng log4net trong ASP.NET 64

3.3.1 Logging là gì? 64

3.3.2 Log4net 64

3.3.2.1 Giới thiệu log4net 64

3.3.2.2 Cách sử dụng log4net trong ASP.NET 64

 

 

doc67 trang | Chia sẻ: lethao | Lượt xem: 2658 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng hệ thống thương mại điện tử hướng dịch vụ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ụng chuyên môn Lợi dụng sức ép, tâm lý để đánh lừa người dùng và làm tổn hại đến mạng máy tính Hình thức : gọi điện thoại, gửi mail, phát tán links Sử dụng chuyên môn Các phần mềm, kiến thức hệ thống, sự thành thạo của người tấn công Hình thức: DoS, DDoS Virus, worm, trojan horse Chống lại tấn công Xử lý tự động Cần phải chú ý đến khâu xử lý tự động các thao tác lặp đi lặp lại để tiết kiệm thời gian và chi phí. Cần phân chia công việc cần xử lý tự động thành các giai đoạn xử lý sao cho phù hợp. Các giai đoạn cần phải độc lập, tuần tự và dễ dàng trao đổi dữ liệu giữa các giai đoạn. Thanh toán điện tử Trong thương mại điện tử, vấn đề thanh toán là rất quan trọng. Do đó, cần phải có phương thức thanh toán phù hợp, hiệu quả, khách hàng tin cậy và hài lòng vào phương thức thanh toán. Đồng thời cần phải bảo mật tối đa các thông tin thanh toán của khách hàng. Hình thức thanh toán cũng tùy thuộc vào đối tượng thanh toán: hình thức thanh toán giữa cá nhân – cá nhân sẽ khác hình thức thanh toán giữa công ty – công ty. Sau đây tìm hiểu thử một số cách thức mà các trang EC ở VN đang sử dụng để thanh toán trên site của họ: Paypal OnePay PayNet Cổng thanh toán trực tuyến PayNet cung cấp hệ thống tài khoản trực tuyến cho phép các chủ tài khoản có thể đặt hàng trực tuyến, yêu cầu thanh toán, chuyển khoản, nạp tiền, rút tiền, vấn tin, sao kê, quản lý giao dịch, theo dõi lịch sử giao dịch, đơn hàng. Việc đăng ký tham gia cổng này có thể thực hiện qua mạng hoặc tại các đại lý của Paynet. Hình 6 Các tài khoản có thể nạp tiền bằng cách mua thẻ netCASH trả trước do Paynet phát hành, nạp trực tiếp tại hơn 2.000 đại lý của Paynet hoặc có thể chuyển tiền từ tài khoản ngân hàng sang tài khoản trên cổng thanh toán này. Toàn bộ số tiền nạp vào tài khoản trên cổng này được quản lý và lưu ký tại ngân hàng trước khi chuyển cho người bán nhằm bảo vệ quyền lợi cả bên mua và bên bán. Google Checkout Hình 7 Thanh toán đơn giản với Google Checkout Qui trình thanh toán với Google Checkout rất đơn giản: Bước 1: Tìm kiếm sản phẩm thông qua Google Search Bước 2: Thêm sản phẩm vào giỏ hàng Bước 3: Thanh toán với Google Checkout Một số khách hàng của Google Checkout: Hình 8 Một số khách hàng của Google Checkout So sánh giữa Google Checkout và Paypal Tiêu chí Paypal Google Checkout Khách hàng eBay và hàng ngàn nhà bán lẻ Hàng trăm nhà bán lẻ bao gồm Buy.com Hỗ trợ thanh toán các loại thẻ Credit card, Debit card, hoặc Bank account Credit hoặc debit card Tính quốc tế 55 quốc gia và 6 loại tiền tệ (EU, CA, pound, US, yen, Australian) Hiện tại chỉ có ở Mĩ và chỉ sử dụng USD Ẩn email của bạn từ phía khách hàng Không Có Thanh toán dạng peer-to-peer Có Không Bảo mật SSL, kĩ thuật tương tự dùng trong ngân hàng SSL, áp dụng kĩ thuật tương tự của ngân hàng Chống gian lận 100% các giao dịch có giá trị trên 50$ được bảo vệ 100% các giao dịch có hiệu lực giao dịch trong vòng 60 ngày được bảo vệ Phí sử dụng trên hệ thống của bạn 1.9 đến 2.9% doanh thu cộng với 30 cent/giao dịch 2% doanh thu cộng với 20 cent/giao dịch Hàng hóa nào được phép thanh toán Sản phẩm hợp pháp, hàng hóa dành cho người lớp, các sản phẩm truyển thông có bản quyền Sản phẩm hợp pháp, hàng hóa dành cho người lớp, các sản phẩm truyển thông có bản quyền Phí vận chuyển Có Không Số lượng người dùng Trên 100 triệu Trên 100 triệu Phần mềm SaaS Ví dụ mở đầu Google Docs Google có thế mạnh về lĩnh vực này. Có thể thấy nhiều ứng dụng dạng phần mềm SaaS của Google như Google Docs, Google Apps, Gmail, … Với những ứng dụng này của Google, người sử dụng có thể sử dụng miễn phí. Khi nhu cầu phát triển lên thì người sử dụng có thể trả phí để Google đáp ứng nhu cầu đó. Ví dụ: Hiện tại Google có ứng dụng Google Apps for Education dành cho lĩnh vực đào tạo. Với phần mềm này, các tổ chức giáo dục trên thế giới có thể nhờ Google làm nhiều thứ: từ website, tin tức, email, văn bản. Đặc biệt là họ có thể sử dụng email với đuôi email là tên miền mình có dạng như: ten@tenmien.com. Chẳng hạn, bạn hiện giờ đang sở hữu tên miền: thptchonthanh.com.vn, sau khi đăng kí sử dụng dịch vụ Google Apps for Education với Google thì bạn hoàn toàn có thể tạo và sử dụng tài khoản email miễn phí dạng: tên@thptchonthanh.com.vn với số lượng email miễn phí tới 2000 account. Nếu trường bạn có nhiều hơn 2000 account thì bạn vẫn có thể tạo thêm email account với số lượng tùy ý. Tuy nhiên, lúc này Google đòi hỏi bạn phải đóng một khoản phí nhất định. Thế nhưng, khoản phí này thì nhỏ và không đáng kể với một tổ chức như một trường học ở trên. SalesFoce.com Thế nào là một phần mềm SaaS? Khái niệm phần mềm dịch vụ (Software as a Services) đã không còn xa lạ với thế giới. Ở VN thì khái niệm này cũng mới chỉ biết đến gần đây. Chúng ta cũng đã nghe nói nhiều đến SaaS, vậy thế nào là một phần mềm SaaS và phần mềm SaaS khác với những phần mềm truyền thống như thế nào? Khái niệm phần mềm SaaS rất đơn giản: thay vì phải cấp phép sử dụng vĩnh viễn cho một phần mềm thì giờ đây các nhà cung cấp phần mềm cho phép khách hàng sử dụng phần mềm theo cách đóng phí định kì. Tất cả những vấn đề khác như bảo mật, nâng cấp tính năng đều do phía nhà cung cấp phần mềm SaaS thực hiện, bạn sẽ được hưởng lợi từ những nâng cấp này mà không phải trả thêm một khoản phí nào. Theo định nghĩa của hãng nghiên cứu toàn cầu IDC thì SaaS là: "Phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp và cho phép người sử dụng truy cập từ xa". Về cơ bản các thuật ngữ SaaS và On-demand software được hiểu như nhau. Thông thường, một phần mềm SaaS thường có những đặc điểm như sau: Sử dụng phần mềm qua môi trường web thay vì sử dụng trên máy tính của khách hàng như trước đây. Phầm mềm được lưu trữ trên máy chủ của nhà cung cấp dịch vụ. Thay vì phải trả tiền một lần để sở hữu phần mềm vĩnh viễn thì khách hàng có thể trả phí định kì hàng tháng để sử dụng phần mềm. Các tính năng cải tiến được thực hiện bởi nhà cung cấp phần mềm và người sử dụng hoàn toàn không phải trả thêm phí cho những cải tiến này. Những thuận lợi của phần mềm SaaS Chi phí triển khai thấp Chi phí khởi tạo thấp. Tùy thuộc và tính năng yêu cầu và số lượng người dùng mà có cách tính phí khác nhau.Đây chính là lợi điểm dễ thấy nhất của ứng dụng SaaS. Thay vì bạn phải bỏ một núi tiền ra mua cả một hệ thống khổng lồ để chỉ sử dụng và tính năng của chúng thì giờ đây bạn có thể tiết kiệm chi phí kiểu đó. Không cần nhiều sự hỗ trợ kĩ thuật Thay vì bạn phải bỏ tiền để thuê nhân viên kĩ thuật duy trì hệ thống của mình thì bây giờ các nhà cung cấp ứng dụng SaaS đã làm thay bạn tất cả. Hầu như bạn không phải đụng chạm gì đến vấn đề kĩ thuật. Chính vì thế chi phí thuê nhân viên kĩ thuật đã giảm đáng kể. Nâng cấp chương trình mà không tốn thêm chi phí Thông thường những nhà cung cấp ứng dụng SaaS luôn tiến hành mở rộng tính năng ứng dụng của họ. Vì thế, khách hàng cũng được hưởng lợi từ việc này mà không phải trả thêm một đồng chi phí nào cả. Truy cập không giới hạn không gian và thời gian Bạn có thể truy cập ứng dụng SaaS bất cứ đâu, bất cứ nơi miễn là nơi đó có kết nói internet. Đây cũng là một lợi điểm không hề nhỏ của các ứng dụng SaaS. Chính khả năng này mang lại cho những ứng dụng SaaS có nhiều cơ hội trong tương lai. Mô hình phần mềm SaaS hoạt động như thế nào? Hình 2. Mô hình hoạt động của ứng dụng SaaS Dựa trên mô hình của SaaS, ta có thể thấy rõ ưu điểm của SaaS đối với các mô hình phần mềm truyền thống đó chính là việc SaaS có thể chạy trên nền web. Chính vì chạy trên nền web nên SaaS có nhiều lợi thế hơn so với các phần mềm truyền thống trước đây: Giảm bớt gánh nặng trong quá trình duy trì và tổ chức về mặt kĩ thuật hằng ngày Giảm thiểu chi phí triển khai ứng dụng cũng như những rắc rối phát sinh trong quá trình duy trì hệ thống phần mềm Chia sẻ thông tin tức thì ( real-time) giữa những doanh nghiệp trong cùng một cộng đồng Tăng lợi nhuận cho cả phía nhà cung cấp và phía người dùng sử dụng dịch vụ. Hiện nay có 2 mô hình sau đang phổ biến: Cung cấp phần mềm trọn gói qua mạng (SaaS): Nhà cung cấp dịch vụ sẽ xây dựng 1 phầm mềm hoàn chỉnh, có đầy đủ tất cả các chức năng như 1 phần mềm bình thường. Khách hàng muốn sử dụng thì chỉ việc đăng kí với nhà cung cấp là có thể sử dụng được ngay. Hình thức này rất phù hợp để triển khai các phần mềm có tính dùng chung cao như CRM , ERP các phần mềm về quản lý nhân sự tiền lương, các ứng dụng văn phòng. Với hình thức cung cấp phần mềm này thì không yêu cầu người dùng phải biết lập trình. Ví dụ điển hình cho hình thức này chính là Cung cấp nền tảng ứng dụng qua mạng (Platform as a Services): Nhà cung cấp dịch vụ sẽ xây dựng các webservice rồi cung cấp qua mạng cho các doanh nghiệp phát triển phần mềm, các lập trình viên sử dụng. Tùy theo nhu cầu mà người dùng có thể đóng phí tương ứng để được sử dụng 1 số web service nào đó. Thông thường các web service được cung cấp là những webservice thực hiện những xử lí tính toán phức tạp, hay những chức năng mà 1 doanh nghiệp bình thường phải tốn rất nhiều chi phí mới thực hiện được như thanh toán trực tuyến, kiểm tra tài khoản ngân hàng, lấy thông tin từ một tổ chức nào đó,… Với hình thức này chỉ có khách hàng nào có kiến thức về lập trình mới sử dụng được. Ví dụ cho trường hợp này là Hầu hết các doanh nghiệp hoạt động trong lĩnh vực SaaS thường kết hợp cả 2 hình thức này. Xu hướng hiện nay Xu hướng thế giới Một số con số thống kê: Saleforce.com, thành lập năm 1999, là một ví dụ điển hình về ứng dụng doanh nghiệp SaaS. Hãng này đang tận hưởng một trong những giai đoạn phát triển mạnh nhất với 390.000 thuê bao trong năm tài chính vừa qua. Công ty Employease (Mỹ), xuất hiện từ năm 1996, đã phân phối phần mềm HR thông qua trình duyệt cho hơn 1.000 doanh nghiệp khách hàng, hỗ trợ họ quản lý gần 700.000 nhân viên. Theo một điều tra gần đây của IDC, gần 1/3 số người tham gia khảo sát khẳng định họ đã sử dụng ít nhất một dịch vụ "theo yêu cầu" nào đó, trong khi 47,7% khác đang xem xét hoạt động này. Thị phần của SaaS trên thị trường ứng dụng doanh nghiệp hiện nay chỉ như một giọt nước trong bình: chiếm 1,5% tổng chi phí phần mềm ở Mỹ trong năm 2005 và IDC dự kiến sẽ tăng gấp đôi thành 3,8%, tức 10,7 tỷ USD, vào năm 2009. Xu hướng Việt Nam Khái niệm phần mềm dịch vụ tại VN còn rất xa lạ. Tuy đã có một vài tổ chức và doanh nghiệp lĩnh vực tin học triển khai nhưng mức độ thành công cũng như vai trò của loại phần mềm này gần như con số 0. Tuy nhiên, phần mềm SaaS vẫn cho thấy tiềm năng rất lớn ở VN. Vì đa số doanh nghiệp ở VN là vừa và nhỏ, vì thế, để triển khai những tiến bộ của khoa học kĩ thuật và hoạt động sản xuất kinh doanh là một vấn đề khó và tốn khá nhiều chi phí của doanh nghiệp. Hi vọng sẽ có xu hướng này như là một giải pháp tiết kiệm và hiệu quả cho các doanh nghiệp vừa và nhỏ. Khó khăn của mô hình phần mềm SaaS Đối với người dùng( doanh nghiệp) Phụ thuộc vào đường truyền internet. Độ ổn định của đường truyền đóng vai trò quan trọng khi khai thác phần mềm. Tất cả mọi thông tin của người dùng đều được lưu trữ trên Cơ sở dữ liệu của nhà cung cấp dịch vụ, do đó việc bảo đảm an toàn thông tin là một vấn đề lớn. Đối với nhà cung cấp dịch vụ Vì phải triển khai phần mềm trên môi trường Internet do đó có những hạn chế nhất định về mặt kĩ thuật như tốc độ truy cập sẽ chậm hơn phần mềm desktop, tỉ lệ mất mát dữ liệu khi truyền qua môi trường internet cũng là một mối lo. Vì thế vấn đề bảo mật thông tin cho những ứng dụng SaaS là hết sức cần thiết. Do phải xây dựng ứng dụng và cho nhiều người sử dụng cùng lúc nên vấn đề về hạ tầng cơ sở rất quan trọng. Nhà cung cấp dịch vụ phải luôn nâng cấp, đổi mới thiết bị thì mới có thể đáp ứng được nhu cầu của khách hàng. Một số kĩ thuật lập trình sử dụng URL Friendly trên ASP.NET URL friendly hay còn gọi là kĩ thuật Rewrite url là một phần dịch vụ của Webserver được dùng để thay đổi URL(đường dẫn trên trình duyệt) sang một dạng khác với nhiều mục đích khác nhau. Rewrite url mang lại những lợi ích như sau: Làm url của website trở nên thân thiện hơn với người dùng, giúp người dùng dễ nhớ đường dẫn website hơn. Giúp website dễ dàng được tìm thấy bởi các search engine Giúp bảo mật thông tin tốt hơn Hiện nay có rất nhiều trang web áp dụng kĩ thuật này, ví dụ: www.bongda.com.vn, www.vnexpress.net, www.nld.com.vn, www.bestbrandson.tv,... Có rất nhiều cách khác nhau để rewrite url của 1 website, trong phạm vị của luận văn này xin giới thiệu cách dùng Intelligencia.UrlRewriter.dll để rewrite url . Intelligencia.UrlRewriter.dll là open source của urlrewriter.net dùng cho việc chuyển đổi url trong ASP.NET Bước 1: Download Intelligencia.UrlRewriter.dll từ website urlrewriter.net và add reference vào website Bước 2: Thêm mới file Form.browser vào project Sau khi thêm sẽ xuất hiện file Form.browser nằm trong thư mục App_Browsers như hình sau: Nhập nội dung file Form.browser như sau: <adapter controlType="System.Web.UI.HtmlControls.HtmlForm" adapterType="FormRewriterControlAdapter" /> Bước 3: Thêm file FormRewriter.cs vào thư mục App_Code, nội dung file như sau: public class FormRewriterControlAdapter : System.Web.UI.Adapters.ControlAdapter { protected override void Render(System.Web.UI.HtmlTextWriter writer) { base.Render(new RewriteFormHtmlTextWriter(writer)); } } public class RewriteFormHtmlTextWriter : HtmlTextWriter { public RewriteFormHtmlTextWriter(HtmlTextWriter writer) : base(writer) { this.InnerWriter = writer.InnerWriter; } public RewriteFormHtmlTextWriter(System.IO.TextWriter writer) : base(writer) { base.InnerWriter = writer; } public override void WriteAttribute(string name, string value, bool fEncode) { if ((name == "action")) { HttpContext Context; Context = HttpContext.Current; if (Context.Items["ActionAlreadyWritten"] == null) { value = Context.Request.RawUrl; Context.Items["ActionAlreadyWritten"] = true; } } base.WriteAttribute(name, value, fEncode); } } Mục đích của file FormRewriter.cs là để khi postBack lại trang thì không thực hiện lại việc rewrite url nữa mà giữ nguyên url cũ. Bước 4: Cấu hình lại file web.config như sau: Tag và là để đăng kí Intelligencia.UrlRewriter.dll vào project Tag là nơi để định nghĩa các url và url sau khi được viết lại. Trong ví dụ trên nếu có 1 url như sau: ~/tynv/Default.aspx?pcat=5&cat=12 thì url thực sự sẽ là: ~/Customer/Default.aspx?user=tynv&pcat=5&cat=12, đây chính là url thực mà server sẽ xử lý. processing="stop" là từ khóa báo cho server biết khi đã phát hiện ra url thỏa điều kiện thì không xét tiếp các url bên dưới . Biểu thức ([a-zA-Z0-9]{4,12}) là một phát biểu có ý nghĩa như sau: là một chuỗi bao gồm các chữ cái hoặc chữ số có chiều dài nằm trong khoảng 4 đến 12. Đây là một dạng mẫu trong biểu thức chính quy ( Regular Expression) dùng để kiểm tra tính hợp lệ của 1 dữ liệu đầu vào nào đó. Tất cả các url trước khi rewrite và sau khi rewrite phải được định nghĩa trong tag Bước 5: khi áp dụng rewrite url thì tất cả các url trỏ đến file hình, css, javascript trong trang aspx được rewrite url sẽ bị mất, do đó để khắc phục tình trạng này ta phải chỉnh lại các đường dẫn này giãn ra một cấp. Ví dụ: Trong trường hợp bình thường có đường dẫn như sau: . Khi áp dụng rewrite url thì phải chỉnh lại thành: Mã hóa: SHA1, MD5 ASP.NET ASP.Net không phải là một ngôn ngữ lập trình cụ thể, có thể gọi đó là một cách thức lập trình web trên môi trường .NET. ASP.NET là sự kết hợp của HTML và một ngôn ngữ lập trình server cụ thể nào đó. Trên môi trường .NET hỗ trợ rất nhiều ngôn ngữ khác nhau, nhưng phổ biến nhất vẫn là C# và VB.NET. File ASP.NET có đuôi mở rộng là .aspx. Ứng với mỗi file .aspx sẽ có 1 file .CS( hoặc .vb,…). Code Behind Điểm khác biệt lớn nhất của ASP.NET so với ASP chính là thuật ngữ “Code Behind”. Trong các ngôn ngữ lập trình web khác như PHP, JSP, ASP thì mã HTML và mã code được viết chung trong cùng một file, điều đó gây khó khăn rất lớn cho người lập trình trong việc quản lý mã nguồn. Với ASP.NET thì trang mã HTML và mã xử lý tại server được tách riêng biệt ra thành 2 file khác nhau. File .aspx chính là file để design giao diện, bố trí các control trên trang web, còn trang .cs ( hoặc .vb,….) chính là nơi viết code xử lí tại server. Với cách tách riêng biệt như vậy giúp ích rất nhiều cho lập trình viên trong việc quản lý mã nguồn. Giúp lập trình viên thao tác trên file HTML mà không ảnh hưởng đến logic của trang. Làm việc với một số control thông dụng Ngôn ngữ server trên ASP.NET là C#, VB.NET. Đó là 2 ngôn ngữ lập trình hướng đối tượng phổ biến nhất hiện nay( cùng với ngôn ngữ Java). Với việc áp dụng lập trình hướng đối tượng bạn sẽ dễ dàng tái sử dụng mã nguồn trong project của mình. Nếu bạn đã quen với việc lập trình window Application trên môi trường .NET thì bạn chuyển qua lập trình ASP.NET sẽ dễ dàng hơn so với ASP hay PHP. Code xử lí sẽ không khác nhiều so với lập trình trên môi trường window Application. Hơn nữa ASP.NET hỗ trợ rất nhiều control cho người dùng, có thể nói là mọi thứ bạn cần đều có sẵn. User control : Là control do người dùng tự định nghĩa có đuôi mở rộng là .ascx. User control là kết hợp của những control có sẵn tạo thành 1 control mới Custom control: Là control kế thừa từ một control có sẵn và phát triển thêm một số chức năng mới nào đó theo ý của người lập trình. Để có thể tạo được 1 custom control người lập trình cần phải hiểu rõ lập trình hướng đối tượng và cách thức xây dựng sự kiện cho control đó ( khái niệm delegate) Validate Control: Là những control ASP.NET hỗ trợ để kiểm tra tính hợp lệ của dữ liệu tại client Webpart Webpart là công nghệ .NET hỗ trợ sẵn cho lập trình viên có thể tạo ra những trang web cho chép người dùng cuối cá nhân hóa giao diện của mình, tương tự như trang Master page Có phần đuôi mở rộng là .master. Mục đích của Master Page là thay thế cho kĩ thuật frame trên ngôn ngữ ASP, do đó trong ASP.NET khái niệm frame rất ít khi được sử dụng. Master page là nơi lập trình viên sẽ bố trí các control chung , có tính chất cố định , không thay đổi qua các trang khác nhau thông thường là header, footer, menu,… Các trang khác ( đuôi .aspx) lập trình viên phải chỉ rõ Master Page là trang nào, lúc đó trang .aspx này sẽ kế thừa tất cả giao diện và code xử lý của trang Master page này. Master Page giúp lập trình viên quản lý mã nguồn tốt hơn và nhất là sẽ dễ dàng thay đổi khi yêu cầu về giao diện thay đổi. Lúc này lập trình viên chỉ cần thay đổi trong trang Master Page, các trang khác kế thừa từ trang Master page này sẽ tự thay đổi theo ADO.NET 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 xử 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 từ database, sau đó ngắt kết nối với database rồi mới thự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 Trước ADO.NET, Microsoft đã có ADO là một bộ thư viện để xử lý các thao tác liên quan đến dữ liệu. ADO có tính linh hoạt, dễ sử dụng và được tích hợp trong các ngôn ngữ như Visual Basic , ASP 3.0. Có thể coi ADO.NET là một thế hệ tiếp theo của ADO. ADO.NET kế thừa tất cả những ưu điểm của ADO, đồng thời với ý tưởng thiết kế hoàn toàn mới ADO.NET có một diện mạo khác hẳn so với tiền thân của nó. Một vài đặc điểm nổi bật của ADO.NET mà ADO không có như sau: ADO.NET được thiết kế hoàn toàn dựa vào XML ADO.NET được thiết kế hoàn toàn hướng đối tượng. Các đối tượng chính trong ADO.NET Connection Đối tượng quản lý đóng /mở kết nối tới Database.Có 2 dạng Connection tuỳ 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 tuỳ theo nguồn dữ liệu là gì (OleDb hay SQL Server) đó là OleDbCommand và SqlCommand DataReader Đối tượng xử lý đọc dữ liệu, được thiết kế phù hợp cho các ứng dụng web. Chỉ Xử lý 1 dòng dữ liệu tại một thời điểm. Phù hợp với ứng dụng web vì xử lý nhanh, nhẹ không chiếm bộ nhớ. Cũng có 2 dạng tùy theo dữ liệu nguồn : OleDbDataReader và SqlDataReader. Dữ liệu của đối tượng được tạo ra khi đối tượng Command thực hiện câu lệnh ExecuteReader() 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ượng “ngắt kết nối” dataset không thể liên lạc trực tiếp với database nên nó cần một đối tượng trung gian lấy dữ liệu từ database cho nó. Và đó chính là DataAdapter. Vì DataAdpater khi 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 XML XML là viết tắt từ Extensible Markup Language (ngôn ngữ đánh dấu mở rộng). Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet XML là tập con của SGML - Standard Generalized Markup Language. Các tiêu chuẩn của XML qui định bởi W3C - World Wide Web Consortium. Tập tin XML là tập tin văn bản thuần túy. Do đó XML không phụ thuộc vào môi trường nào. XML là 1 ngôn ngữ đánh dấu giống như HTML, nhưng XML và HTML khác nhau về cách dùng và mục đích sử dụng. HTML là cho biết phải hiển thị thông tin lên web browser như thế nào, còn XML dùng để mô tả dữ liệu( cũng có thể xem XML là 1 dạng Cơ sở dữ liệu). XML không định nghĩa các thẻ, người dùng có trách nhiệm định nghĩa các thẻ dùng trong XML. Ngược lại, HTML không cho phép người sử dụng định nghĩa thẻ, mà phải tuân thủ một tập thẻ đã được định nghĩa trước. Một tài liệu XML well-formed là một tài liệu XML thích hợp cho parser chế biến. Tức là XML tuân thủ các luật lệ về Tag, Element, Attribute , value .v.v.. chứa bên trong để parser có thể nhận diện và phân biệt mọi thứ. Một tài liệu XML well-formed cần phải thỏa mãn các điều kiện sau: Phải có một nút gốc (root) duy nhất, gọi là Document Element, nó chứa tất cả các Elements khác trong tài liệu. Mỗi opening Tag phải có một closing Tag giống như nó. Tags trong XML thì case sensitive, tức là opening Tag và closing Tag phải được đánh vần y như nhau, chữ hoa hay chữ thường. Mỗi Child Element phải nằm trọn bên trong Element cha của nó. Attribute value trong XML phải được gói giữa một cặp ngoặc kép hay một cặp apostrophe Một tài liệu XML được coi là valid nếu nó well-form và cách bố trí sắp xếp các thẻ trong nó phải phù hợp với phần đặc tả DTD. DTD là viết tắt của từ Document Type Definetion. DTD chỉ rõ những loại thẻ đánh dấu nào được sử dụng trong tài liệu XML và sự sắp xếp hợp lệ của những thẻ này. Các nhà phát triển dùng DTD để chắc chắn rằng họ không tạo một cấu trúc XML không hợp lệ. DTD định nghĩa một cấu trúc tài liệu với một danh sách những element hợp lệ. DTD có thể khai báo bên trong tài liệu XML hoặc là khai báo thành một tập tin bên ngoài tài liệu XML. Ví dụ <!DOCTYPE note [ ]> Tove Jani Reminder Don't forget me this weekend! Trên đây là 1 tài liệu XML valid. Thứ tự và cách bố trí các thẻ tuân theo phần mô tả DTD. Nếu bạn thay đổi thứ tự các tab hoặc bỏ đi hoặc thêm vào tab không có trong DTD thì tài liệu này không được xem là valid. XML Declaration: là dòng đầu tiên của mỗi file XML. Dùng để cung cấp thông tin cho parser. Ví dụ: Quy ước: Bắt đầu bằng “”. Bắt buộc phải có thuộc tính version. Tùy chọn đối với 2 thuộc tính encoding, standalone. Nếu sử dụng cả 3 thuộc tính thì phải theo thứ tự như ở ví dụ trên. Phiên bản đặc tả của XML parser phải giống với phiên bản đặc tả của tài liệu XML Mô hình DOM trong XML DOM là viết tắt của từ Document Object Model. DOM được dùng để đọc và trình bày nội dung của file XML. DOM sẽ đọc nội dung của file XML và tổ chức thành 1 cây, DOM giúp truy xuất nhanh và trực tiếp đến 1 nút. Do DOM sẽ load toàn bộ nội dung file XML vào bộ nhớ nên sẽ rất tốn bộ nhớ nếu file XML lớn, nhưng bù lại tốc độ truy xuất sẽ nhanh hơn so với dung XML Reader. DOM xem tài liệu XML như 1 cây có cấu trúc. Element, Attribute, Text được xem là Node. Ví dụ: Nguyen Van Ty Khi chuyển qua mô hình DOM , sẽ được cây như sau: middle Name first last Nguyen Van Ty Node cao nhất gọi là root. Mỗi node ( trừ root ) đều có 1 node cha Một node sẽ có nhiều node con. Node lá là node không có node con Siblings là những node anh em cùng cấp với nhau( cùng node cha) Duyệt các node trong file XML Author Title Publisher PublishDate parentNode lastChild nextSibling previousSibling firstChild Book Lập trình Web services trên môi trường .NET Webservice Web service có thể được mô tả như một hàm, một phương thức được triển khai thông qua web và có thể được gọi tứ các ứng dụng thông thường hoặc một web service khác. Webservice tương tự như Dynamic Link Library(DLL) nhưng Webservice

Các file đính kèm theo tài liệu này:

  • docXây dựng hệ thống thương mại điện tử hướng dịch vụ.doc
Tài liệu liên quan