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

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

doc67 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2626 | Lượt tải: 3download
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:

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