CHƯƠNG I.GIỚI THIỆU8
1.Tổng quan. 8
2.Mục tiêu đặt ra. 9
2.1Về mặt lý thuyết:9
2.2Về 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.1Thuận lợi :10
4.2Khó khăn. 10
CHƯƠNG II.KIẾN THỨC NỀN TẢNG10
1.Thương mại điện tử ( EC )10
1.1Định nghĩa EC10
1.1.1E-Commerce. 10
1.1.2E- Business. 11
1.2Một số khái niệm EC11
1.2.1Mô hình EC11
1.2.2Thị trường điện tử (Electronic Market)11
1.2.3Sàn giao dịch. 11
1.2.4Thanh toán điện tử. 11
1.2.5Trao đổi dữ liệu điện tử tài chính. 11
1.2.6Tiền mặt Internet (Internet Cash)12
1.2.7Túi tiền điện tử (Electronic Purseb)12
1.2.8Giao 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.3Khung hoạt động. 13
1.4Các thành phần tham gia. 13
1.5Phân loại EC14
1.5.1Phân loại theo mô hình thương mại14
1.5.1.1Đưa ra giá của bạn cần. 14
1.5.1.2Tìm giá tốt nhất14
1.5.1.3Môi giới15
1.5.1.4Chi nhánh tiếp thị15
1.5.1.5Phân loại mua sắm15
1.5.1.6Hệ thống đề nghị điện tử. 15
1.5.1.7Bán đấu giá trực tuyến. 15
1.5.1.8Sản xuất theo yêu cầu khách hàng và cá nhân hóa. 15
1.5.2Phân loại theo bản chất của giao dịch. 16
1.5.2.1B2B (business-to-business)16
1.5.2.2B2C (business-to-consumer)16
1.5.2.3B2E (business-to-employee)16
1.5.2.4C2B (consumer-to-business)16
1.5.2.5C2C (consumer-to-consumer)16
1.5.2.6E-Government16
1.5.2.7E-Learning. 17
1.5.2.8M-Commerce (Mobile Commerce)17
1.6Hệ thống EC17
1.7Thuận lợi của EC17
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ội18
1.8Hạn chế của EC19
1.8.1Về mặt công nghệ. 19
1.8.2Các hạn chế khác. 19
1.9Một số vấn đề cần lưu ý. 19
1.9.1Bảo mật trong EC19
1.9.1.1Một số vấn đề bảo mật19
1.9.1.2Qui trình bảo mật21
1.9.1.3Một số loại tấn công. 21
1.9.1.4Chống lại tấn công. 21
1.9.2Xử lý tự động. 21
1.9.3Thanh toán điện tử. 22
1.9.3.1Paypal22
1.9.3.2OnePay. 22
1.9.3.3PayNet22
1.9.3.4Google Checkout23
1.9.3.5So sánh giữa Google Checkout và Paypal23
2.Phần mềm SaaS. 25
2.1Ví dụ mở đầu. 25
2.1.1Google Docs. 25
2.1.2SalesFoce.com26
2.2Thế nào là một phần mềm SaaS?. 26
2.3Những thuận lợi của phần mềm SaaS. 27
2.3.1Chi phí triển khai thấp. 27
2.3.2Không cần nhiều sự hỗ trợ kĩ thuật27
2.3.3Nâng cấp chương trình mà không tốn thêm chi phí27
2.3.4Truy cập không giới hạn không gian và thời gian. 27
2.4Mô hình phần mềm SaaS hoạt động như thế nào?. 27
2.5Xu hướng hiện nay. 29
2.5.1Xu hướng thế giới29
2.5.2Xu hướng Việt Nam29
2.6Khó 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.7Một số kĩ thuật lập trình sử dụng. 30
2.7.1URL Friendly trên ASP.NET. 30
2.7.2Mã hóa: SHA1, MD5. 34
2.7.3ASP.NET. 34
2.7.3.1Code Behind. 34
2.7.3.2Làm việc với một số control thông dụng. 35
2.7.3.3Webpart35
2.7.3.4Master page. 35
2.7.4ADO.NET. 36
2.7.5Các đối tượng chính trong ADO.NET. 36
2.7.5.1Connection. 36
2.7.5.2Command. 36
2.7.5.3DataReader37
2.7.5.4DataAdapter37
2.7.6XML. 37
2.7.6.1Mô hình DOM trong XML. 39
2.7.6.2Duyệt các node trong file XML. 41
2.7.7Lập trình Web services trên môi trường .NET. 41
2.7.8Nhữ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.1Mô tả hệ thống. 42
1.1.1Về người dùng hệ thống:42
1.1.2Về chức năng hệ thống. 43
1.1.2.1Yêu cầu chức năng:43
1.1.2.2Yêu cầu phi chức năng:43
1.2Mô hình hệ thống. 43
1.3Flowchart cho đối tượng SaaSAdmin. 44
1.4Flowchart cho đối tượng SaaSCustomer45
1.5Flowchart cho đối tượng ClientCustomer46
1.6Use - case cho đối tượng SaaSAdmin. 47
1.7Use – case cho đối tượng SaaSCustomer47
1.8User – case cho đối tượng ClientCustomer48
2.Hệ thống SaasSystem48
3.Hệ thống ứng dụng mẫu – phiên bản của SaaSSystem48
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ỆM57
1.Xây dựng Hệ thống cung cấp ứng dụng trọn gói SaaSSystem57
2.Ứng dụng mẫu - sử dụng SaaSSystem57
2.1Chức năng Hiển thị sản phẩm57
2.2Chức năng Thêm sản phẩm vào giỏ hàng. 57
2.3Chức năng Xem chi tiết sản phẩm57
2.4Chứ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.1Về mặt lý thuyết57
1.2Về 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ẢO58
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ỤC59
1.Phụ lục A. Kĩ thuật Dynamic DNS – biến máy tính sử dụng ADSL thành server59
1.1Dynamic DNS là gì?. 59
1.2Tại sao phải sử dụng Dynamic DNS?. 59
1.3Là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.2Có rất nhiều cách để sử dụng Dynamic DNS. 60
1.3.2.1Mua một IP tĩnh. 60
1.3.2.2Sử dụng dịch vụ trỏ IP động của Mắt Bão. 60
2.Phụ lục B. Web Services. 60
2.1Lý thuyết về Web service. 60
2.2Web services trong mô hình 3 lớp. 60
3.Phụ lục C. Sử dụng AJAX trên ASP.NET. 64
3.1Cách 1: Sử dụng AJAX truyền thống. 64
3.2Cách 2: Sử dụng bộ Toolkit có hỗ trợ AJAX64
3.3Kỹ thuật logging và cách sử dụng log4net trong ASP.NET. 64
3.3.1Logging là gì?. 64
3.3.2Log4net64
3.3.2.1Giới thiệu log4net64
3.3.2.2Cách sử dụng log4net trong ASP.NET. 64
67 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2749 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Khóa luậ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
n đã thành công trong việc cung cấp phần mềm dạng này. Ví dụ, Google Docs của hãng Google, Google Apps cũng của Google, Online Office của Microsoft, Microsoft Dynamics CRM của Microsoft, www.salesforce.com của SalesForce, inc
Vì thế, nhóm chọn hướng tiếp cận bài toán với nền tảng là mô hình SaaS là phù hợp với xu thế thế giới và Việt Nam trong tương lai gần.
Thuận lợi và khó khăn
Thuận lợi :
Cắt giảm chi phí triển khai hệ thống
Tiết kiệm chi phí thuê nhân viên kĩ thuật bảo trì hệ thống
An toàn và ổn định hơn
Chia sẻ thông tin với những doanh nghiệp khác nhằm tạo ra một cộng dồng doanh nghiệp
Khó khăn
Yêu cầu về cơ sở hạ tầng cao à khó đáp ứng trong tình hình hiện nay của Việt Nam
Đối mặt với những vấn đề “muôn thủa” của phần mềm trên internet: bảo mật thông tin
Thói quen người dùng
KIẾN THỨC NỀN TẢNG
Thương mại điện tử ( EC )
Định nghĩa EC
E-Commerce
Là khái niệm chỉ quá trình mua, bán, hay trao đổi các sản phẩm, dịch vụ, thông tin qua mạng máy tính, đặc biệt mạng Internet.
Hầu hết các ứng dụng EC được thực hiện thông qua môi trường mạng internet. Tuy nhiên, quá trình mua bán này có thể thông qua mạng WAN, LAN hay thậm chí là máy tính đơn. Khi đó, việc mua bán hàng hóa giữa một máy bán hành và một thẻ thông minh có thể coi là một EC.
E- Business
Hoạt động thương mại sử dụng các phương tiện và công nghệ xử lý thông tin số hóa
Mua, bán, trao đổi hàng hóa/dịch vụ/ thông tin
Dịch vụ khách hàng (customer service)
Hợp tác thiết kế và sản xuất với đối tác (collaborative)
Đào tạo từ xa (e-learning)
Giao dịch điện tử nội bộ trong công ty (intrabusiness)
Một số khái niệm EC
Mô hình EC
Là phương thức kinh doanh của công ty để phát sinh lợi nhuận cho công ty. Mô hình EC giải thích một công ty đóng vai trò như thế nào trong một dây chuyền. Một đặc điểm của EC là có thể tạo ra các mô hình thương mại mới.
Thị trường điện tử (Electronic Market)
Người bán và người mua gặp nhau trực tuyến để trao đổi hàng hóa, dịch vụ, thông tin và tiền tệ.
Sàn giao dịch
Là một loại đặc biệt của thị trường điện tử. Giá cả trong thị trường có thể qui định và giá cả có thể thay đổi sao cho phù hợp giữa cung và cầu.
Thanh toán điện tử
Thanh toán điện tử (Electronic payment) là việc thanh toán tiền thông qua thông điệp điện tử (Electronic Message) thay cho việc giao dịch dùng tiền mặt. Ví dụ: trả lương bằng chuyển khoản, trả tiền mua hàng bằng thẻ mua hàng, thẻ tín dụng, … thực chất đều là dạng thanh toán điện tử.
Trao đổi dữ liệu điện tử tài chính
Financial Electronic Data Interchange – gọi tắt là FEDI - chuyên phục vụ cho việc thanh toán điện tử giữa các công ty giao dịch điện tử với nhau.
Tiền mặt Internet (Internet Cash)
Là tiền mặt được mua từ một nơi phát hành (ngân hàng hoặc một tổ chức tín dụng nào đó), sau đó được chuyển đổi tự do sang các đồng tiền khác thông quan Internet, áp dụng cho phạm vi một nước cũng như giữa các quốc gia với nhau. Tất cả đều được thực hiện bằng kỹ thuật số hóa. Vì thế tiền mặt này còn có tên gọi là “tiền mặt số hóa” (digital cash). Loại tiền này có công nghệ đặc thù đảm bảo được mọi yêu cầu của người bán và người mua theo luật quốc tế. Tiền mặt Internet được người mua hàng mua bằng đồng nội tệ, rồi dùng mạng Internet để chuyển cho người bán hàng. Thanh toán bằng tiền Internet đang trên đà phát triển nhanh, nó có ưu điểm nổi bật sau:
Có thể dùng thanh toán những món hàng có giá trị nhỏ, thạm chí ngay cả tiền mua báo (vì phí giao địch mua hàng và chuyển tiền rất thấp không đáng kể)
Không đòi hỏi phải có ngay một qui chế được thỏa thuận từ trước, có thể tiến hành giữa 2 người hoặc 2 công ty bất kỳ. Các thanh toán là vô danh.
Tiền mặt nhận được đảm bảo là tiền thật, tránh được tiền giả
Túi tiền điện tử (Electronic Purseb)
Còn gọi là “ví tiền điện tử” – là nơi để gởi tiền mặt Internet, chủ yếu thể hiện dưới dạng thẻ thông minh (Smart Card). Tiền được trả cho bất kỳ ai đọc được thẻ đó. Kỹ thuật của “túi tiền điện tử” tương tự như kĩ thuật áp dụng cho “tiền mặt Internet”. Thẻ thông minh nhìn bề ngoài như thẻ tín dụng, chỉ khác là mặt sau của thẻ, thay vì dải từ thì là một chíp máy tính điện tử có bộ nhớ để lưu trữ tiền đã được số hóa. Tiền này chỉ được chi trả khi có thư yêu cầu được xác nhận là “ đúng”.
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)
Bao gồm các hình thức sau:
Thanh toán giữa ngân hàng với khách hàng qua điện thoại, tại các điểm bán lẻ, các kiot, giao dịch cá nhân tại các gia đình, giao dịch tại trụ sở khách hàng, giao dịch qua Internet, chuyển tiền điện tử, thẻ tín dụng, thông tin hỏi đáp, …
Thanh toán giữa ngân hàng với các đại lý thanh toán (nhà hàng, siêu thị, …)
Thanh toán nội bộ một hệ thống ngân hàng khác
Thanh toán giữa hệ thống ngân hàng này với hệ thống ngân hàng khác
Khung hoạt động
Hình 1Khung hoạt động của ứng dụng EC
Các thành phần tham gia
Hình vẽ sau mô tả các thành phần tham gia trong EC:
Hình 2 Các thành phần tham gia hệ thống EC
Phân loại EC
Phân loại theo mô hình thương mại
Đưa ra giá của bạn cần
Mô hình kinh doanh này cho phép người mua đưa ra giá mà người đó đồng ý chi trả cho một mặt hàng hay dịch vụ nào đó. Ví dụ điển hình cho mô hình hoạt động này là website www.priceline.com. Website này tiếp nhận các yêu cầu của khách hàng và so sánh chúng với nhưng dịch vụ mà các nhà cung cấp có được với giá phù hợp với yêu cầu đó. Người dùng có thể dùng priceline.com để xác định hàng hóa.
Tìm giá tốt nhất
Trong mô hình này thì khách hàng cần xác định rõ nhu cầu của mình. Sau đó, công ty sẽ xác định giá thấp nhất của dịch vụ và mặt hàng cần. Trang hotwire.com sử dụng mô hình này: khách hàng ghi lại thông tin họ cần, hotwire.com sẽ đối chiếu các thông tin này với thông tin trong cơ sở dữ liệu xác định giá thấp nhất và gởi cho khách hàng. Khách hàng có 30 phút để quyết định chấp nhận hoặc hủy bỏ yêu cầu.
Môi giới
Trong mô hình này, nhà cung cấp dịch vụ sử dụng cách thức mời tự động đề đề nghị khách hàng mua hàng. Các giá bán được đưa ra và chỉnh sửa, xem xét một cách tự động. Khách hàng không cần nhập vào bất cứ thông tin gì. Trang www.getthere.com - chuyên cung cấp các dịch vụ và mặt hàng du lịch – là một ví dụ.
Chi nhánh tiếp thị
Đây là một tổ chức mà ở đó người tiếp thị (các doanh nghiệp, các tổ chức, hoặc các cá nhân) hợp tác với công ty để chuyển khách hàng đến website của công ty đó để mua mặt hàng hay dịch vụ. Chi nhánh tiếp thị được nhận từ 3-15% hoa hồng trên giá trị mặt hàng đặt mua. Ví dụ cho mô hình này là hay
Phân loại mua sắm
EC đã tạo ra thêm một khái niệm mới là tập hợp điện tử, nơi đó người tham gia thứ 3 tìm các cá nhân hay các công ty kinh doanh nhỏ và vừa, tập hợp lại các đơn hàng và qui ra thành tiền. Một vài nhà tập hợp là: , . Khi tham gia vào mô hình này, doanh nghiệp nhỏ và là các cá nhân bị giảm đi một số tiền.
Hệ thống đề nghị điện tử
Phần lớn người mua dù là cá nhân hay tập thể luôn luôn mua hàng hóa thông qua hệ thống đề nghị. Hiện nay, việc đề nghị có thể thực hiện trực tuyến giúp tiết kiệm thời gian và tiền bạc.
Bán đấu giá trực tuyến
Ngoài trang ebay.com – trang bán đấu giá lớn nhất thế giới – thì còn có hàng trăm website thực hiện bán đấu giá trực tuyến như amazon.com, yahoo.com
Sản xuất theo yêu cầu khách hàng và cá nhân hóa
Đây không phải là một mô hình mới trong EC. Điểm chú ý của mô hình này là khả năng chế tạo hàng hóa theo yêu cầu khách hàng nhưng chi phí không cao hơn so với hàng hóa sản xuất hàng loạt là mấy. Ví dụ công ty Dell đã hoạt động sản xuất theo mô hình này.
Phân loại theo bản chất của giao dịch
Hình 3Mối liên hệ giữa các loại hình kinh doanh trong EC
B2B (business-to-business)
Giao dịch giữa các công ty với nhau
B2C (business-to-consumer)
Giao dịch bán lẻ sản phẩm hoặc dịch vụ của công ty đến một cá nhân mua sắm nào đó
E-tailing
B2E (business-to-employee)
Công ty cung cấp dịch vụ, thông tin hay sản phẩm đến các nhân viên
Trường hợp con của intrabusiness
C2B (consumer-to-business)
Cá nhân dùng Internet để bán sản phẩm cho các công ty
Cá nhân tìm kiếm người bán để ra giá mua sản phẩm
C2C (consumer-to-consumer)
Cá nhân rao bán bán nhà riêng, xe hơi, … hoặc những kiến thức, hiểu biết chuyên môn cho các cá nhân khác
E-Government
Chính phủ mua/cung cấp hàng hóa, dịch vụ hay thông tin từ/đến các
Doanh nghiệp (G2B)
Cá nhân (G2C)
E-Learning
Huấn luyện và đào tạo từ xa của các tổ chức giáo dục hay trường học
M-Commerce (Mobile Commerce)
Các giao dịch hay hoạt động được thực hiện ở môi trường không dây
Hệ thống EC
Hình 4 Electronic Commerce 2006, Efaim Turban.
Thuận lợi của EC
Đối với doanh nghiệp
Mở rộng thị trường nội địa và quốc tế
Tăng sức cạnh tranh, làm bình đẳng quá trình cạnh tranh giữa những doanh nghiệp
Giảm chi phí lưu trữ, tìm kiếm, phân phối, xử lý thông tin (trên giấy)
Cải thiện qui trình và tổ chức
Mô hình kinh doanh mới đem lại nhiều lợi nhuận
Dây chuyền cung ứng
Mối quan hệ với khách hàng
Mở rộng thời gian giao dịch (24/7/365), không giới hạn không gian và thời gian
Các doanh nghiệp tương tác với nhau kịp thời
Đối với người dùng (đầu cuối)
Sự thuận tiện
Mọi lúc mọi nơi
Liên lạc, trao đổi thông tin liên lạc và kinh nghiệm với những nhà tiêu thụ khác
Nhanh chóng có được những thông tin cần thiết về sản phẩm
Có nhiều chọn lựa về giá cả
Chọn lựa và so sánh nhiều hàng hóa từ nhiều nhà cung cấp
Mua được các hàng hóa hay dịch vụ rất rẻ
Đối với xã hội
Giảm sự đi lại
Tăng tiêu chuẩn cuộc sống
Một số sản phẩm có thể đến được với những người ở vùng nông thôn và các nước nghèo
Những dịch vụ công như chăm sóc sức khỏe, giáo dục cộng đồng được phân bố rộng rãi với chi phí thấp
Hạn chế của EC
Về mặt công nghệ
Các chuẩn về chất lượng, bảo mật, độ tin cậy vẫn đang còn trong quá trình phát triển
Băng thông chưa đủ rộng, đặc biệt là m-commerce
Các công cụ phát triển phần mềm EC chưa ổn định
Khó tích hợp mạng Internet và phần mềm EC vào các hệ thống cũ
Cần có những web server đặc thù (tốn nhiều tiền)
Việc truy cập Internet còn khá mắc với 1 số khách hàng
Các hạn chế khác
Chi phí phát triển EC cao (in-house)
Luật và các chính sách chưa rõ ràng
Khó thuyết phục khách hàng về bảo mật thông tin cá nhân
Khách hàng chưa tin tưởng các giao dịch không có chứng từ, giao dịch không gặp gỡ trực tiếp
Khách hàng thích nhìn thấy sản phẩm trực tiếp
Lỗi, gian lận trong EC ngày một nhiều
Một số vấn đề cần lưu ý
Bảo mật trong EC
Một số vấn đề bảo mật
Khi tham gia vào thương mại điện tử nghĩa là hệ thống được kết nối vào mạng toàn cầu. Do đó, hệ thống có thể bị tấn công bất cứ khi nào nếu không có một cơ chế bảo mật chặt chẽ.
Ngoài ra thông tin được truyền trên Internet rất khó kiểm soát và dễ tấn công từ bên ngoài. Vì vậy, cần có giải pháp bảo mật để đảm bảo an toàn thông tin trong quá trình truyền dữ liệu.
Ngoài những vấn đề bảo mật cơ bản cho một ứng dụng web như chống Phising, spam email, … thì các ứng dụng EC còn phải quan tâm đến các vấn đề bảo mật sau:
Authentication – Chứng thực người dùng
Sự ủy quyền thông qua mật mã, thẻ thông minh, chữ ký
Authorization – Chứng thực quyền sử dụng
Auditing – Theo dõi hoạt động
Confidentiality (Privacy) – Giữ bí mật nội dung thông tin
Mã hóa thông tin trước khi truyền đi qua Internet
Integrity – Toàn vẹn thông tin
Availability – Khả năng sẳn sàng đáp ứng
Nonrepudiation – Không thể từ chối trách nhiệm
Sử dụng chữ ký điện tử
Qui trình bảo mật
Hình 5Qui trình bảo mật trên một hệ thống website
Một số loại tấn công
Không sử dụ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
Không phụ thuộc vào platform
Độc lập ngôn ngữ
Sử dụng XML để trao đổi dữ liệu
Đặc điểm của Webservice:
Web Services được truy xuất thông qua Web bằng cách dùng URL
Web Services liên lạc với thế giới bên ngoài dùng thông điệp XML gửi trực tiếp qua Web protocols
Web Services được đăng kí tại nơi chung, và được đặc tả tất cả các chức năng
Các khái niệm trong web service
Những kĩ thuật khác
PHÂN TÍCH – THIẾT KẾ
Tổng quan hệ thống
Mô tả hệ thống
Xây dựng một hệ thống TMĐT hướng dịch vụ - tạm gọi SaaSSystem, có những đặc tính như sau:
Về người dùng hệ thống:
Có 2 phân hệ người dùng:
Người dùng trên hệ thống cha (tạm gọi là SaaSUser)
Gồm 2 loại đối tượng người dùng như sau:
Quản trị hệ thống (SaaSAdmin): quản trị hệ thống SaaSSystem. Thực hiện thêm/xóa/sửa thông tin khách hàng, cấu hình hệ thống.
Khách hàng (SaaSCustomer): là người dùng đăng ký tài khoản trên hệ thống SaaSSystem. Khi người dùng đăng ký tài khoản thành công, thì người dùng sẽ có một website riêng của mình với đường dẫn như sau: Mỗi website riêng này sẽ có đầy đủ các tính năng cơ bản của một website TMĐT như: hệ thống danh mục sản phẩm, thông tin sản phẩm, giỏ hàng, đặt hàng, thanh toán, liên hệ, …
Sau khi đăng ký thành công, người dùng có thể thực hiện quản trị cho hệ thống của mình như: tạo danh mục sản phẩm, thêm/xóa/sửa sản phẩm cho một danh mục, xem đơn hàng, xem danh sách khách hàng, xem thống kê doanh số, cấu hình hệ thống, …
Người dùng trên hệ thống con
Quản trị hệ thống (chính là SaaSCustomer ở trên): khi người dùng đăng nhập với tài khoản của mình trên hệ thống cha thì sẽ được phép chỉnh sửa thông tin của mình, xem danh mục sản phẩm, danh sách đơn hàng và danh sách khách hàng của mình.
Khách hàng (ClientCustomer): đối tượng người dùng đầu cuối. Đây chính là khách hàng mua bán sản phẩm trên một hệ thống con. Với đối tượng khách hàng này, khi đăng ký tài khoản trên hệ thống webiste con, khách hàng có thể mua hàng, đặt hàng và chỉnh sửa thông tin tài khoản của mình.
Về chức năng hệ thống
Yêu cầu chức năng:
Quản lý người dùng
Quản lý đăng ký/đăng nhập
Quản lý danh mục
Quản lý sản phẩm
Quản lý hóa đơn
Quản lý thanh toán
Yêu cầu phi chức năng:
Hệ thống phải bảo đảm tốc độ truy cập nhanh, ổn định và truy cập đồng thời.
Hệ thống phải đảm bảo bảo mật thông tin lưu trữ của khách hàng và các bên liên quan
Hệ thống phải có tính thẩm mĩ, tính hiệu quả cao.
Mô hình hệ thống
Flowchart cho đối tượng SaaSAdmin
Flowchart cho đối tượng SaaSCustomer
Flowchart cho đối tượng ClientCustomer
Use - case cho đối tượng SaaSAdmin
Use – case cho đối tượng SaaSCustomer
User – case cho đối tượng ClientCustomer
Hệ thống SaasSystem
Hệ thống ứng dụng mẫu – phiên bản của SaaSSystem
TỔ CHỨC VÀ CÀI ĐẶT
Sơ đồ lớp
Lược đồ cơ sở dữ liệu
Danh sách các bảng cơ sở dữ liệu
STT
Tên bảng
Ý nghĩa
1
Category
Lưu trữ danh mục hàng hóa, sản phẩm, dịch vụ
2
Products
Lưu trữ thông tin sản phẩm
3
ProductsType
Lưu thông tin loại sản phẩm như sản phẩm khuyến mãi, sản phẩm mới, sản phẩm bình thường.
3
Account
Lưu trữ thông tin của một nguời dùng hệ thống: nguời dùng trên SaaSSystem hoặc SaaS Client
4
Order
Lưu trữ thông tin đặt hàng
5
OrderDetail
Lưu trữ chi tiết thông tin đặt hàng
6
Customer
Lưu trữ thông tin khách hàng
7
Payment
Lưu trữ thông tin các phương thức thanh tóan
8
BankCard
Lưu thông tin tài khỏan ngân hàng của khách hàng
CutomerUserBankCard
Lưu thông tin sử dụng thẻ ngân hàng của nguời dùng (khách hàng đầu cuối)
UserGroup
Lưu thông tin nhóm người dùng. Để đơn giản, hiện tại chương trình cố định 3 nhóm ngừời dùng: SaaSAdmin, SaaSCustomer, ClientCustomer.
User
Lưu thông tin chung về nguời dùng trên các hệ thống: SaaSSystem và các website của SaaSUser
GroupUserFunction
Cho biết nhóm nào đuợc quyền dùng chức năng gì
Function
Lưu thông tin chức năng của chương trình
Module
Thông tin các phân hệ hệ thống
Screen
Lưu thông tin về các màn hình. Một module có thể có nhiều màn hình làm việc
FunctionInScreen
Lưu thông tin tính năng trong một màn hình. VD: Trong màn hình sản phẩm có các tính năng sau: Cập nhật sản phẩm, Thêm mới sản phẩm, Xóa sản phẩm.
Template
Lưu thông tin về giao diện của người dùng (SaaSCustomer)
9
TypeRegister
Loại đăng ký bao gồm: demo, 3 tháng, 6 tháng, 1 năm.
10
11
12
Một số thay đổi:
IsDelete à IsDeleted
Thêm 2 trường vào bảng Product
Để thông tin Card vào bảng Customer có được ko?
Mô tả thuộc tính một số bảng cơ sở dữ liệu
Tên bảng: Category
Ý nghĩa: Lưu trữ thông tin danh mục sản phẩm
STT
Tên trường
Kiểu
Điều kiện
Diễn giải
1
Id
Số nguyên
>0
Mã danh mục.
2
Name
Chuỗi(100)
Khác rỗng
Tên danh mục
3
CategoryParentId
Số nguyên
>0
Mã danh mục cha
5
Level
Số nguyên
Y | N
Cấp bậc của danh mục
4
SaaSCustomerId
Số nguyên
>0
Mã tài khoản sở hữu
Tên bảng: Product
Ý nghĩa: Lưu trữ thông tin sản phẩm
STT
Tên trường
Kiểu
Điều kiện
Diễn giải
1
Id
Số nguyên
>0
Mã sản phẩm
2
Name
Chuỗi (100)
Khác rỗng
Tên sản phẩm
3
Code
Chuỗi (50)
Khác rỗng
Mã sản phẩm
4
CategoryId
Số nguyên
>0
Mã danh mục
5
Quantity
Số nguyên
>=0
Số lượng sản phẩm
6
CurrentQuantity
Số nguyên
>=0
Số lượng hiện tại
7
ThumbImage
Chuỗi (100)
Khác rỗng
Tên file hình nhỏ sản phẩm
8
LargeImage
Chuỗi (100)
Khác rỗng
Tên file hình lớn sản phẩm
9
ShortDescription
Chuỗi
Khác rỗng
Mô tả ngắn về sản phẩm
10
FullDescription
Chuỗi
Khác rỗng
Mô tả đầy đủ về sản phẩm
11
CreatedDate
Ngày giờ
>=Ngày hiện tại
Ngày tạo sản phẩm
12
UpdatedDate
Ngày giờ
>=Ngày hiện tại
Ngày cập nhật sản phẩm
13
Price
Số thực
>=0
Giá sản phẩm
14
ProductTypeId
Số nguyên
P: Khuyến mãi | G: quà tặng | N: mới
Loại sản phẩm: Khuyến mãi, mới, quà tặng
15
IsDeleted
Kí tự (5)
Y | N
Xóa sản phẩm hay không
16
Published
Kí tự (5)
Y | N
Cho hiển thị ra bên ngoài hay không
Tên bảng: ProductType
Ý nghĩa: Lưu trữ thông tin loại sản phẩm
STT
Tên trường
Kiểu
Điều kiện
Diễn giải
1
Id
Số nguyên
>0
Mã danh mục.
2
Name
Chuỗi (100)
Khác rỗng
Tên danh mục
3
Icon
Chuỗi (100)
Biểu tuợng cho loại sản phẩm
Tên bảng: Order
Ý nghĩa: Lưu trữ thông tin đặt hàng sản phẩm
STT
Tên trường
Kiểu
Điều kiện
Diễn giải
1
Id
AutoNumber
>0
Mã danh mục.
2
OrderDate
Ngày giờ
>=Ngày hiện tại
Ngày đặt hàng
3
Total
Số thực
>=0
Tổng tiền
4
PaymentId
Số nguyên
>0
Mã phương thức thanh toán
5
ClientCustomerId
Số nguyên
>0
Mã khách hàng (đầu cuối)
6
SaaSCustomerId
Số nguyên
>0
Mã khách hàng (SaaSSytem)
7
IsDeleted
Kí tự (5)
Y | N
Xóa hay không.
Tên bảng: OrderDetail
Ý nghĩa: Lưu trữ thông tin chi tiết đặt hàng.
STT
Tên trường
Kiểu
Điều kiện
Diễn giải
1
ProductId
Số nguyên
>0
Mã sản phẩm
2
OrderPrice
Số thực
>=0
Giá đặt
3
Quantity
Số nguyên
>=0
Số lượng đặt
4
OrderId
Số nguyên
>0
Mã đơn hàng
Tên bảng: Payment
Ý nghĩa: Lưu trữ các phương thức thanh toán
STT
Tên trường
Kiểu
Điều kiện
Diễn giải
1
Id
AutoNumber
>=0
Mã phương thức
2
Name
Chuỗi(100)
Khác rỗng
Tên phương thức
3
Description
Chuỗi
Mô tả phương thức
Tên bảng: User
Ý nghĩa: Lưu trữ thông tin người dùng chung
STT
Tên trường
Kiểu
Diễn giải
1
Id
Số nguyên
Mã khách hàng
2
Name
Chuỗi (100)
Tên khách hàng
3
UserName
Chuỗi (20)
Tên đăng nhập
4
Password
Chuỗi (32)
Mật khẩu
5
Email
Chuỗi (30)
Email
6
Address
Chuỗi (100)
Địa chỉ khách hàng
7
Phone
Chuỗi (30)
Số điện thoại
Birthday
Ngày giờ
Ngày sinh
8
RegisteredDate
Ngày giờ
Ngày đăng ký
9
GroupId
Số nguyên
Mã nhóm người dùng
10
IsActive
Chuỗi(1)
Đuợc kích hoạt hay không
11
Description
Chuỗi
Mô tả người dung
12
ExpiredDate
Ngày giờ
Ngày hết hạn
TemplateId
Số nguyên
Mã giao diện
RegisteredTypeId
Số nguyên
Mã loại đăng ký
SaaSUserId
Số nguyên
Mã người dùng (hệ thống SaaS)
IsDeleted
Chuỗi (1)
Xóa hay không
Tên bảng: TypeRegister
Ý nghĩa: Lưu trữ loại đăng ký
STT
Tên trường
Kiểu
Điều kiện
Diễn giải
1
Id
AutoNumber
>0
Mã loại đăng ký
2
Name
Chuỗi(100)
Khác rỗng
Tên của loại đăng ký. VD: 3 tháng, 6 tháng, …
3
NumDay
Số nguyên
>0
Số ngày. Mỗi loại đăng ký đều qui ra ngày.
Tên bảng: CustomerUseBankCard
Ý nghĩa: Cho biết khách hàng dùng thẻ gì.
STT
Tên trường
Kiểu
Điều kiện
Diễn giải
1
CustomerId
Số nguyên
>0
Mã khách hàng
2
BankCardId
Số nguyên
>0
Mã tài khỏan thẻ
Tên bảng: ClientSystemUsePayment
Ý nghĩa: Cho biết khách hàng dùng những phương thức thanh toán gì.
STT
Tên trường
Kiểu
Điều kiện
Diễn giải
1
SaaSCustomerId
Số nguyên
>0
Mã khách hàng (hệ thống SaaS)
2
PaymentId
Số nguyên
>0
Mã phương thức thành toán
KẾT QUẢ CÀI ĐẶT THỬ NGHIỆM
Xây dựng Hệ thống cung cấp ứng dụng trọn gói SaaSSystem
Ứng dụng mẫu - sử dụng SaaSSystem
Chức năng Hiển thị sản phẩm
Chức năng Thêm sản phẩm vào giỏ hàng
Chức năng Xem chi tiết sản phẩm
Chức năng Cập nhật giỏ hàng
NHẬN XÉT - ĐÁNH GIÁ
Kết quả đạt được
Về mặt lý thuyết
Về mặt ứng dụng
Các kinh nghiệm và kỹ năng thu được
Hạn chế luận văn
Hướng phát triển
TÀI LIỆU THAM KHẢO
Sách, Ebooks
Electronic Commerce A MANAGERIAL PERSPECTIVE – Efraim Turban – David King – Jae Lee – Merril Warkentm – H.Michael Chung, 2002
ASP.NET Web Developer's Guide – Mesbah Ahmed – Chris Garrett – Jeremy Faircloth – Chris Payne
Microsoft ADO.NET (Core Reference) – David Sceppa
C# Programmer's Cookbook - Allen Jones, Microsoft, 2004
Introduction to Design Patterns in C# - James W. Cooper
Luận văn, luận án
Tìm hiểu và xây dựng dịch vụ Thương mại Điện tử - SVTH: Dương Thị Hải Diệp – Phan Thị Xuân Thảo, GVHD: Ths. Lương Hán Cơ
Tìm hiểu công nghệ XML và xây dựng Hệ thống Quản lý dịch vụ khách hàng – SVTH: Nguyễn Thị Kim Phượng – Trương Thị Kiều Giang, GVHD: Ths.Nguyễn Trần Minh Thư
Nghiên cứu một số vấn đề bảo mật ứng dụng web trên Internet – SVTH: Nguyễn Duy Thăng – Nguyễn Minh Thu, GVHD: Ths. Mai Văn Cường
Nghiên cứu kiến trúc dịch vụ (Service-Oriented Architecture) và ứng dụng – SVTH: Hồ Bảo Thanh – Nguyễn Hoàng Long, GVHD: Ths.Trần Minh Triết
Bài báo
SaaS - cơ hội không chỉ dành cho các 'ông lớn' – VnExpress.net
SaaS - xu hướng ứng dụng CNTT mới trong quản trị logistics và chuỗi cung ứng - AMR Research
Websites, Blog chuyên gia
www.fit.hcmuns.edu.vn
www.safefoces.com
www.vnnetsoft.com
www.360vietnam.com
www.sqlsecurity.com
www.codeproject.com
PHỤ LỤC
Phụ lục A. Kĩ thuật Dynamic DNS – biến máy tính sử dụng ADSL thành server
Dynamic DNS là gì?
Tại sao phải sử dụng Dynamic DNS?
Có những lí do sau để sử dụng Dynamic DNS
Không muốn tốn chi phí để mua hosting hay server
Chỉ muốn thử nghiệm công việc hiện tại trong một thời gian mà không có ý định lâu dài
Muốn bảo mật thông tin
Làm thế nào để sử dụng Dynamic DNS?
Điều kiện để sử dụng Dynamic DNS:
Phải có kiến thức cơ bản về Dynamic DNS
Phải biết sử dụng IE
Phải biết cấu hình Window và modem cho phép sử dụng Dynamic DNS
Có rất nhiều cách để sử dụng Dynamic DNS
Mua một IP tĩnh
Sử dụng dịch vụ trỏ IP động của Mắt Bão
Phụ lục B. Web Services
Lý thuyết về Web service
Web services trong mô hình 3 lớp
Hình 9 Mô hình 3 lớp truyền thống
Hình 10 Mô hình 3 lớp kết hợp Web services
Hình 11 Một bước cải tiến trong mô hình kết hợp này
Hình 12 Tiếp tục cải tiến ...
Hình 13 "Ba tầng của ba tầng" - trong đó Web service đóng vài trò như một lớp Business
Phụ lục C. Sử dụng AJAX trên ASP.NET
Cách 1: Sử dụng AJAX truyền thống
Cách 2: Sử dụng bộ Toolkit có hỗ trợ AJAX
Kỹ thuật logging và cách sử dụng log4net trong ASP.NET
Logging là gì?
Logging là kỹ thuật bắt lỗi rất phổ biến hiện nay, nó giúp lập trình viên dễ dàng phát hiện nguyên nhân gây ra lỗi trong ứng dụng của mình. Logging đặt biệt rất quan trọng sau khi dự án đã được triển khai. Logging ghi nhận lại tất cả nguyên nhân gây lỗi của hệ thống vào 1 file text gọi là file log, lập trình viên căn cứ vào file log này sẽ dễ dàng tìm ra được nguyên nhân gây ra lỗi trong hệ thống.
Log4net
Giới thiệu log4net
Log4net là một công cụ giúp người lập trình ghi lại những thông tin trong lúc chạy ứng dụng. Nó chính là một phiên bản chuyển thể từ log4j và vẫn tiếp tục được phát triển kể từ năm 2001. Trong trường hợp ứng dụng của bạn có lỗi mà vẫn không tìm được nguyên nhân, log4net có thể là vị cứu tinh để giúp bạn xác định nơi gây lỗi. Ngoài ra, Log4net còn có thể thay đổi trạng thái log lúc chương trình chạy mà không cần ngừng chương trình. Bên cạnh đó, khi sử dụng log4net sẽ không ảnh hưởng đáng kể đến performance của ứng dụng, log4net còn được thiết kế với tính flexibility rất cao, chúng ta có thể mở rộng và thêm thắt những thứ mình muốn vào thư viện log4net, chẳng hạn như cách thức log, định dạng log
Cách sử dụng log4net trong ASP.NET
Down bản mới nhất từ website và add reference vào project
Thêm đoạn code sau vào cuối file AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)] //For log4net 1.2.10.0
Thêm đoạn code trên vào file assemblyInfo sẽ giúp log4net biết tìm những thông tin cấu hình của nó ở file Web.config.
Chỉnh lại web.config như sau:
-->
Với khai báo trên, khi chạy ứng dụng sẽ tạo file log có tên là ErrorLog.txt nằm trong thư mục Logs
Trong class nào cần sử dụng khai báo như sau:
private static log4net.ILog logger = log4net.LogManager.GetLogger("File");
Cần ghi lại log trong function nào thì ta sử dụng phương thức
Error. Ví dụ: logger.Error("Insert Order", ex);
Các file đính kèm theo tài liệu này:
- Xây dựng hệ thống thương mại điện tử hướng dịch vụ.doc