Ngày nay với xu thế Công nghệ thông tin ngày càng hiện đại, cuộc sống ngày càng được số hóa. Nhờ có kỹ thuật số giúp con người tiết kiệm đáng kể các chi phí như: chi phí vận chuyển trung gian, chi phí giao dịch
Trang 1LỜI MỞ ĐẦU
Ngày nay với xu thế Công nghệ thông tin ngày càng hiện đại, cuộc sống ngàycàng được số hóa Nhờ có kỹ thuật số giúp con người tiết kiệm đáng kể các chi phínhư: chi phí vận chuyển trung gian, chi phí giao dịch,… Cùng với xu thế đó ThươngMại Điện Tử đang có xu hướng phát triển rất mạnh giúp con người có thể tìm kiếm tựđộng theo nhiều mục đích khác nhau Giờ đây, chỉ với một máy tính được kết nốiInternet con người có thể ngồi tại nhà để mua sắm mọi thứ theo ý muốn của mình Điềunày cho thấy tận dụng được rất nhiều lợi điểm do TMĐT đem lại là một thế mạnh đểphát triển nền kinh tế đất nước và cải thiện đời sống con người
Trong quá trình hội nhập nền kinh tế quốc tế, đòi hỏi các Doanh Nghiệp phảinâng cao trình độ quản lý, kinh doanh và ứng dụng Khoa Học Kỹ Thuật Vì vậy, pháttriển TMĐT là vấn đề cần quan tâm Trong khi TMĐT đang phát triển rất mạnh trongkhu vực cũng như trên thế giới thì ở Việt Nam hầu hết các Doanh Nghiệp vẫn quen vớinếp kinh doanh cũ, con người vẫn có thói quen ra cửa hàng để mua hàng và trả tiền
mặt Với ứng dụng “Xây dựng và triển khai giải pháp Chợ Điện Tử” mà nhóm
chúng em xây dựng hi vọng sẽ có thể giúp mọi người cũng như các DN có thể tiếp cậngần hơn với cơ chế thị trường của TMĐT cũng như cách thức mua bán hàng qua mạng.Bên cạnh đó, đề tài cũng không ngoài mục đích giúp mọi người có thể tiếp cậngần hơn và xác thực hơn với Công Nghệ Thông Tin (một khuynh hướng đang rất phổbiến và phát triển ở Việt Nam cũng như trên thế giới) Ngoài ra, đề tài còn đề cập đếncác vấn đề kỹ thuật và quy trình xây dựng một ứng dụng TMĐT như: Nền tảng củaASP.NET, Miscrosoft Visual Studio 2005, AJAX Có thể đây là một ứng dụng chưahoàn chỉnh nhưng chúng em có thể phát triển và hoàn thiện hơn trong tương lai để cóthể áp dụng và đem lại những kết quả thiết thực Rất mong nhận được sự đóng góp quýbáu của các thầy cô để chúng em có thêm kinh nghiệm
Chúng em xin chân thành cảm ơn!
Trang 2Sau đây là một vài nét sơ lược về: mục tiêu nghiên cứu, đối tượng và phạm vi đềtài, phương pháp nghiên cứu, đóng góp của đề tài vào thực tiễn cũng như nội dung tómtắt các chương của khóa luận.
1 Mục tiêu nghiên cứu
Mục tiêu mà nhóm chúng em hướng đến sau khi hoàn thành ứng dụng này là nắmbắt và hiểu rõ hơn các cơ chế cũng như hoạt động của Microsoft NET Framework,quy trình xây dựng một thư viện Control chuẩn, tiếp cận gần hơn với công nghệAJAX và các kiến thức về TMĐT về mặt lý thuyết, bên cạnh đó về mặt ứng dụng
sẽ là xây dựng được các Control, thực hiện được Website giao dịch điện tử
Về mặt ứng dụng
Xây dựng các Control cho ứng dụng
Xây dựng Website thực hiện các chức năng: Mua / bán hàng, đấu giá, rao vặt,…Quản lý thông tin khách hàng
Hệ thống phải được thiết kế và xây dựng theo một kiến trúc mở cho phép nâng cấphay triển khai các giải pháp tương tự
2 Đối tượng và phạm vi đề tài
Đối tượng đề tài
Các Doanh nhân, Doanh nghiệp và tất cả người dùng truy cập trang Web của Chợđiện tử để thực hiện việc mua, bán hàng hóa, trao đổi Sản phẩm, hoặc đăng ký tàikhoản tại Chợ điện tử để trở thành một thành viên của Chợ điện tử
Trang 3Các lập trình viên, hay những đối tượng quan tâm đến lĩnh vực công nghệ thông tin
có thể hiểu rõ hơn về nền tảng NET Framework, quy trình xây dựng các Control,công nghệ AJAX,
Phạm vi đề tài
Ứng dụng được xây dựng trên máy Local
3 Phương pháp nghiên cứu
Nắm bắt cơ chế của Custrom Control, quy trình xây dựng một Control cũng nhưcách thức xây dựng một file thư viện dll (Dynamic Link Library - Một thư việnliên kết động) Nắm bắt và biên dịch một Project thành thư viện dll Từ đó, hiểu rõhơn về cơ chế của NET Framework
Nghiên cứu cơ chế, kiến trúc code của Community Server Dựa trên nền tảng codenày để nắm được cách thức viết Control Kiến trúc code Chợ Điện Tử được xâydựng dựa trên kiến trúc nền của Community Server
Nghiên cứu cơ chế hoạt động của Chợ Điện Tử tại website: http://chodientu.vn vàcác hoạt động, quy trình của các trang Thương mại điện tử Từ đó xây dựng và triểnkhai giải pháp cho ứng dụng “Chợ Điện Tử”
4 Đóng góp của đề tài
Hướng người dùng tiếp cận gần và xác thực hơn với nền Thương Mại Điện Tử ởViệt Nam cũng như trên Thế giới Hiểu rõ quy trình mua, bán hàng qua mạng.Qua ứng dụng giúp người dùng, những lập trình viên hay chính xác hơn là nhữngngười quan tâm đến Công Nghệ Thông Tin, lĩnh vực Công nghệ phần mềm đượchiểu rõ hơn về cơ chế xây dựng của ASP.NET, cơ chế của Custom Control
5 Tóm tắt nội dung chính của các chương trong đề tài
Nội dung của khóa luận gồm 3 chương:
Chương 1: Sơ luợc Thương Mại Điện Tử
Ở Chương I, nhóm chúng em sẽ tập trung vào nghiên cứu cơ chế cũng như nền thị
Trang 4trường Thương mại điện tử ở Việt Nam cũng như trên thế giới Các mô hìnhTMĐT, những lợi ích, ưu – nhược điểm của Thương mại điện tử.
Chương 2: Một số công nghệ và kỹ thuật
Ở chương II sẽ tập trung vào các kỹ thuật, một số công nghệ được áp dụng trongkhóa luận: Microsoft Visual Studio 2005, Microsoft SQL Server 2000, AJAX,…cách thức xây dựng Web Custom Control trong ASP.NET, các file thư viện
DANH MỤC CÁC CHỮ VIẾT TẮT
APEC Diễn đàn Hợp tác kinh tế Châu Á – Thái Bình Dương (Asia
Pacific Economic Co- Operation)
ASEAN Hiệp hội các nước Đông Nam Á (Association of South-East Asian
Nations)
UNCITRAL Ủy ban Liên hợp quốc về Luật Thương mại quốc tế (United
Nations Conference on International Trade Law)
Trang 5HĐH Hệ điều hành
DNS Hệ thống tên miền (Domain Name System)
ICANN Tổ chức cá nhân phi lợi nhuận
AJAX Asynchronous Javascript and XML
HTML Ngôn ngữ đánh dấu siêu văn bản (HyperText Markup Language)
DHTML Ngôn ngữ đánh dấu siêu văn bản động (Dynamic HyperText
Markup Language)
ISP Nhà cung cấp dịch vụ Internet (Internet Service Provider)
SOAP Giao thức truy xuất đối tượng đơn giản (Simple Object Access
Protocol)
XML Ngôn ngữ đánh dấu mở rộng (Extensible Markup Language)
DLL Thư viện liên kết động (Dynamic Link Library)
B2B Giao dịch TMĐT giữa DN với DN (Business to Business)
B2C Giao dịch TMĐT giữa DN với người tiêu dùng (Business to
Customer)
Trang 6DANH MỤC CÁC BẢNGBảng 2.1 Các điểm khác nhau giữa Custom Control và User Control
Bàng 2.2 Các yếu tố trong AJAX
Bảng 3.1 Mô tả các Actor và Use Case
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1 E-Commerce và E-Business
Hình 1.2 Gartner và mô hình mối quan hệ tiếp thị
Hình 1.3 Cấu trúc Logic của một Websiteb
Hình 1.4 Cấu trúc vật lý của một Website
Hình 1.5 Kiến trúc Website 2 lớp và 3 lớp
Hình 1.6 Mô hình hoạt động B2C – Business to Customer
Hình 1.7 Mô hình hoạt động B2B - Business to Business
Hình 1.8 Xử lý thẻ tín dụng trong TMĐT
Hình 1.9 Các vấn đề bảo mật an toàn bảo mật của một Website TMĐT
Hình 2.1 Nền tảng của NET (.NET Platform)
Hình 2.2 Các thành phần của NET Frameworkb
Hình 2.3 Mô hình gởi – nhận yêu cầu
Hình 2.4 Mô hình mô tả các sử dụng Session
Hình 2.5 FreeTextBox Control
Hình 2.6 Vòng đời của Control
Hình 2.7 Datagrid được kế thừa từ Control Inaming Container
Hình 2.8 DataBind và CreateChildControls
Hình 2.9 Event Bubbling
Trang 7Hình 2.10 Phân tích IlistSource
Hình 2.11 Tạo một Project loại Web Control Library
Hình 2.12 Thông điệp nhận được sau khi biên dịch thành công được file dll Hình 2.13 Cách Add một file dll vào ứng dụng Web
Hình 2.14 Đưa Custom Control vào Toolbox
Hình 2.15 Mô hình mô tả các thành phần của SQL Server
Hình 2.16 (a) Mô hình “cổ điển” của một ứng dụng Web
Hình 2.16 (b) Mô hình sử dụng Ajax
Hình 2.17 Tương tác giữa Client và Server
Hình 2.18 Ứng dụng Web truyền thống (trái) và Ajax (phải)
Hình 2.19 Tương tác đồng bộ trong ứng dụng web truyền thống (trên) và
dị bộ trong ứng dụng AJAX (Adaptive Path)
Hình 2.20 Bốn thành phần chính của Ajax
Hình 2.21 Mô hình tương tác chuẩn trong một ứng dụng Ajax
Hình 3.1 Các tác nhân chính trong ứng dụng
Hình 3.2 Use case mô tả chức năng của Administrator
Hình 3.3 Use case mô tả chức năng của Users
Hình 3.3.1 (a) Use Case mô tả chức năng “Mua hàng”
Hình 3.3.1 (b) Mô tả chi tiết chức năng “Mua hàng”
Hình 3.3.2 (a) Use Case mô tả chức năng “Bán hàng”
Hình 3.3.3 (b) Mô tả chi tiết chức năng “Bán hàng”
Trang 8là Ủy ban Liên Hợp quốc về Luật Thương mại Quốc tế (UNCITRAL)
Information Technology (Công nghệ thông tin)
Commercial Transaction (Giao dịch điện tử)
Giao dịch điện tử gồm các giao dịch thương mại gồm các nhà kinh doanh, kháchhàng, chính phủ Thông thường các giao dịch này dựa trên các quan hệ thương mại nhưngcũng dựa trên quan hệ kỹ thuật E-commerce chủ yếu nhằm vào sự đáp ứng đơn đặt hàng
và dịch vụ khách hàng Các kỹ thuật Internet hỗ trợ phát triển sản phẩm
Hình 1.1 – E-Commerce và E-Business
Đặc điểm E – Commerce
Mọi lúc, mọi nơi Với một máy tính được kết nối Internet, người dùng ở bất kỳnơi đâu cũng có thể truy cập vào Website của các DN để mua hay bán hàng trực tuyến.Bên cạnh đó, người dùng còn có thể trao đổi các mặt hàng, rao bán các mặt hàng thôngqua Website Điều này giúp cho TMĐT mang tính toàn cầu và là một tiêu chuẩn mangtính phổ quát
Trang 9Ngoài ra, sự tương tác giữa DN với khách hàng, hay giữa DN với DN, giữa kháchhàng với khách hàng cũng chính là một lợi điểm rất to lớn của TMĐT giúp cho DN vàtất cả mọi người trên toàn cầu được gắn kết lại gần với nhau hơn Đồng thời, mật độthông tin cũng rất cao giúp giảm chi phí tìm kiếm rất nhiều Thông tin được biễu điển
đa dạng: video, audio, graphic, text…
Sự cá nhân hóa / Sự tùy biến Người dùng khi vào các Website TMĐT ngoài muahàng còn có thể bán hàng, đấu giá các mặt hàng, trao đổi các mặt hàng xây dựng gianhàng cá nhân
Mục tiêu của TMĐT
Một mục tiêu duy nhất của TMĐT đó chính là các kết quả mà Doanh nghiệp cầnđạt được khi ứng dụng TMĐT cho các hoạt động kinh doanh của DN đó
Các nhân tố chính thành công trong TMĐT
Cơ sở hạ tầng kỹ thuật Sự hợp nhất với các hệ thống hạ tầng sẵn có cũng như chiphí thiết lập hệ thống TMĐT
Các sản phẩm và dịch vụ cụ thể được mua bán
Nhóm dự án trên các mảng chức năng Một Website TMĐT của DN phải có cácnhóm phụ trách các mảng chức năng như: kỹ thuật, kinh doanh,… để quản lý Websiteđược hiệu quả hơn
Tính phổ biến của trang Web trong khách hàng Các dịch vụ chính trong website
có đáp ứng được nhu cầu của người tiêu dùng hay không
An toàn giao dịch và sự kiểm soát hệ thống TMĐT Khuyến mại và hệ thống traođổi thông tin nội bộ
Độ tin cậy giữa người bán và người mua
Trang 10Hình 1.2 – Gartner Group và Mô hình mối quan hệ tiếp thị
1.2 Thị truờng Thuơng Mại Điện Tử
Kinh doanh điện tử - Business Ecommerce: Là một định nghĩa khái quát hơn
của TMĐT Nó là quá trình mua, bán và phục vụ khách hàng, hợp tác giữa các đối táckinh doanh, hướng dẫn các phiên giao dịch điện tử bên trong một tổ chức
Tình hình TMĐT trên thế giới
TMĐT vẫn chủ yếu được ứng dụng ở các nước phát triển, trong đó Mỹ chiếm50% tổng doanh số TMĐT toàn cầu Sự phát triển của TMĐT gắn liền với sự phát triểnCNTT, dựa trên nền tảng CNTT Hai tổ chức APEC và ASEAN đã đạt thỏa thuận vềcác nguyên tắc chỉ đạo chung (ASEAN) và chương trình hành động (APEC) vềTMĐT
Tình hình TMĐT ở Việt Nam
Các hành động phát triển TMĐT ở VN còn chậm, chưa có lộ trình, kế hoạch tổngthể cho việc triển khai và ứng dụng TMĐT ở VN Người tiêu dùng VN vẫn quen tậpquán đến cửa hàng để chọn mua các mặt hàng và trả tiền mặt Rất hiếm DN chủ độngtạo Website riêng cho DN và do sự xúc tiến thúc đẩy của các nhà cung cấp dịch vụInternet (ISP)
Về cơ sở hạ tầng CNTT và nhân lực:
Hầu hết các DN khó tiếp cận được công nghệ mới Bên cạnh đó, DN còn lúng túngtrong việc tìm kiếm thông tin, quảng bá hoạt động kinh doanh trên Internet
Trang 11Thực trạng về cơ chế chính sách và cơ sở hạ tầng công nghệ quốc gia:
Cước truy cập Internet còn cao Điển hình là tại các khu vực vùng sâu, vùng xa,Internet còn ít phổ biển và cước Internet người dân truy cập còn rất cao Ngoài ra, Internetchưa đến được với các khu vực thiểu số làm cho người dân ở đây “mù” thông tin và khôngthể cập nhật các thông tin mới, vì vậy khái niệm TMĐT tương đối xa lạ với người dân ởcác khu vực này Đồng thời, tốc độ quá thấp so với các nước trong khu vực
Hệ thống thanh toán điện tử của các ngân hàng chưa phát triển đủ đáp ứng nhucầu của TMĐT
Các bước triển khai TMĐT ở Việt Nam:
Để thiết kế một Website được hiệu quả, đầu tiên phải xác định các mục tiêu kinhdoanh cho Website, trên cơ sở các mục tiêu kinh doanh đó xác định các chức năng cầnthiết của hệ thống cần phải có và xác định các yêu cầu thông tin cần phải có để thựchiện các chức năng đó Có thể theo trình tự các bước sau:
Mục đích Website, đối tượng người xem
Sơ bộ cách thức hoạt động của Website, các chức năng chính, các nội dung cần cóCấu trúc kỹ thuật của từng phần trong Website
Thu thập thông tin, hình ảnh, …cần thiết để đưa lên Website
Tham khảo một số Website tương tự để lấy ý tưởng, học hỏi, so sánh điểm mạnh,điểm yếu
Nhờ từ vấn để có thể thiết kế Website hiệu quả nhất
Sau khi xác định các chức năng của hệ thống, các nhà lập trình sẽ xác định cấutrúc logic và cấu trúc vật lý của website Khi xây dựng website, phải xác địnhkiến trúc Website
Kiến trúc hệ thống website bao gồm: Việc lựa chọn phần mềm, phần cứng vàphân bổ các nhiệm vụ trong hệ thống thông tin nhằm đạt được các chức năng của
hệ thống nêu trên Thông thường website có các kiểu kiến trúc sau:
Trang 12Kiến trúc hai lớp: Là kiến trúc sử dụng một web server để đáp ứng các yêu cầu
đọc các trang web và một server CSDL để cung cấp thông tin Web server và CSDLserver đều dùng trên một máy
Kiến trúc nhiều lớp: Gồm một web server liên kết với các lớp trung gian bao gồm
các server ứng dụng thực hiện một nhiệm vụ nào đó, mỗi server ứng dụng sử dụng mộthoặc nhiều máy chủ Các nhiệm vụ đó thường là backend
Hình 1.3 – Cấu trúc Logic của một Website
Hình 1.4 – Cấu trúc vật lý của một Website
Trang 13Hình 1.5 – Kiến trúc Website 2 lớp và 3 lớp
Các bước xây dựng 1 Website
Ðể tạo ra một Website có chất lượng đòi hỏi có sự nghiên cứu kỹ về Web, phảibiết mình sẽ làm gì và không nên làm gì để đưa tất cả các ý tưởng đó vào việc xâydựng một Website Ðể tạo ra một Website cần phải theo làm theo những bước sau đây:
Bước 1: Ðây là giai đoạn định hướng Cần nắm được những ý tưởng tổng quan,
mục đích cần đạt tới đối với website,đối tượng cần nhắm tới là ai, thông tin gì đã cótrong tay và sử dụng chúng như thế nào
Bước 2: Sau khi xác định được các điểm trên tiến hành tổ chức các phần mục và
các thông tin có trên site Tạo ra các nhánh, các tiêu đề và các tiêu đề phụ để có thể tìmkiếm thông tin hữu ích một cách dễ dàng để không lãng phí thời gian đối với các thôngtin mà ta không quan tâm Lựa chọn các từ khoá thích hợp để thuận tiện cho việc tìmkiếm và sử dụng các dịch vụ tìm kiếm
Bước 3: Lựa chọn các hình ảnh đưa lên site từ thư viện điện tử hoặc từ trên đĩa
CDROM Ðó có thể là những hình ảnh về sản phẩm, về văn phòng làm việc, cácchuyên gia chính của công ty
Trang 14Bước 4: Khi đã có bộ khung, bắt đầu chuẩn bị tạo ra website bằng việc sử dụng
ngôn ngữ siêu văn bản (HTML) Tiến hành chuyển đổi các văn bản text tới HTML mà
có thể làm bằng World, Netscape, Homesite và một vài gói thông tin được lựa chọnkhác Chúng ta đã có một vài chương trình phần mềm rất thuận tiện cho người sử dụng
mà có thể chuyển đổi một cách tự động từ dạng text thành ngôn ngữ HTML mà có thểkhông cần biết một chút gì về HTML Ví dụ như Frontpage
Bước 5: Lựa chọn nhà cung cấp dịch vụ Internet để đưa website lên Internet Bước 6: Thiết lập tên miền Ðăng ký tên website với các nhà tìm kiếm Quảng cáo
Website thông qua các phương pháp truyền thống như gửi thư, truyền thanh, truyềnhình cũng như có các biển hiệu quảng cáo
Hai điều quan trọng là thông qua các công cụ tìm kiếm tiện ích như: Google,… đểđảm bảo rằng website phải thật nổi bật và các thông tin phải được cập nhật hàng ngày
1Tên miền và đăng ký tên miền
Trên Internet sử dụng địa chỉ IP để vận chuyển dữ liệu Địa chỉ IP khó nhớ vì vậy
sử dụng khái niệm tên miền để dễ nhớ Tên miền sẽ được lưu trong cơ sở dữ liệu DNS
là hệ thống tên miền
DNS được duy trì và kiểm soát bởi Hiệp hội Internet về đăng ký tên và chữ số(ICANN) là một tổ chức cá nhân phi lợi nhuận mà tiền thân được thành lập với mụcđích hỗ trợ chính phủ Mỹ Tên miền được chia thành 2 cấp độ cao nhất: tên miền quốc
tế và tên miền quốc gia Tên miền quốc tế là những tên miền có phần đuôi là com, net,.org và sẽ có thêm tên miền biz và info Tên miền quốc gia có phần đuôi là ký hiệucủa mỗi quốc gia Ký hiệu này do ICANN tổ chức và quản lý Việt nam có phần đuôi
là VN, Australia có tên là AU, Pháp là FR, Hiện nay có hơn 200 tên miền quốc giakhác nhau Dưới mỗi tên miền quốc gia có tên miền cấp 2 và cấp 3 (ví dụ COM.VN,EDU.VN, )
Trang 15Nếu DN tự đăng ký, nên vào trang Web có địa chỉ http://www.internic.com hoặc
ký không, nếu không chỉ việc gửi tên miền đó tới InterNIC theo mẫu được hướng dẫnngay trên trang Web của InterNIC
Mô hình Thuơng Mại Điện Tử
Dựa theo quan hệ thương mại, có các mô hình TMĐT sau:
B2C - Mô hình TMĐT giữa DN với người tiêu dùng.
Đây là mô hình bán lẻ trực tiếp đến người tiêu dùng Có thể là từ: Nhà sản xuất,hay từ một cửa hàng thông qua kênh phân phối Hàng hóa bán lẻ trên mạng thường làhàng hóa, máy tính, đồ điện tử, dụng cụ thể thao, đồ dùng văn phòng,…
Hình 1.6 – Mô hình hoạt động B2C – Business to Consumer
Mô hình B2C sử dụng cho hình thức kinh doanh không có chứng từ Người tiêudùng vào Website của công ty chọn các mặt hàng cần mua, cung cấp thông tin kháchhàng trên Form định sẵn trên Website, chọn hình thức thanh toán chuyển tiền qua Bưuđiện, chuyển khoản hay thanh toán điện tử, cách thức vận chuyển hàng hóa, và coi như
Trang 16quá trình đặt hàng hoàn thành, chỉ chờ hàng đến Tại DN sẽ có chương trình xử lý tựđộng thông tin mua bán hàng, kiểm tra thông tin khách hàng về vấn đề thanh toán,
B2B - Mô hình TMĐT giữa các Doanh nghiệp với Doanh nghiệp.
Là việc thực hiện các giao dịch giữa các DN với nhau trên mạng Các bên giaodịch bao gồm: người trung gian trực tuyến, người mua và người bán Mô hình B2B ápdụng trong quá trình buôn bán giữa các tổ chức và các Site cung cấp bán sỉ và dùngcho hình thức kinh doanh có chứng từ giữa các công ty, các tổ chức,…
Trong mô hình này, vấn đề quan trọng nhất là trao đổi các thông tin thương mại
có cấu trúc và mua bán tự động giữa 2 hệ thống khác nhau Khi sử dụng mô hình nàycần phải kiểm chứng được khách hàng và bảo mật các thông tin mua bán thông qua cácchữ ký điện tử của công ty, tổ chức
Hình 1.7 – Mô hình hoạt dộng B2B- Business to Business
Các loại giao dịch B2B cơ bản:
Bên bán – Một bên bán nhiều bên mua: là mô hình dựa trên công nghệ web trong
đó một công ty bán cho nhiều công ty mua Có 3 phương pháp bán trực tiếp trong môhình này: Bán từ Catalog điện tử, bán qua quá trình đấu giá, bán theo hợp đồng cungứng dài hạn đã thỏa thuận trước
Bên mua – Một bên mua – nhiều bên bán.
Sàn giao dịch – Nhiều bên bán – nhiều bên mua
Trang 17TMĐT phối hợp- Các đôi tác phối hợp nhau ngay trong quá trình thiết kế chế tạo
G2C (Government-to-Citizen) là mô hình TMĐT giữa các cơ quan chính phủ
và công dân còn gọi là chính phủ điện tử
C2C (Consumer-to-Consumer) là mô hình TMĐT giữa các người tiêu dùng.
C2B(Consumer-to-Business) bao gồm các cá nhân, người dùng Internet bán
mặt hàng hay dịch vụ cho các tổ chức
(M-Commerce) là mô hình TMĐT thực hiện qua điện thoại di động.
1.3 Một số vấn đề trong Thuơng Mại Điện Tử:
Vấn đề thanh toán trong Thuơng Mại Đ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ệcgiao dịch dùng tiền mặt
Thẻ tín dụng
Hình 1.8 – Xử lý thẻ tín dụng trong TMĐT
Trang 18Trước khi nhận số thẻ tín dụng của người mua qua Internet cần có một chứngnhận người bán Nếu là hoạt động kinh doanh thì đơn giản là yêu cầu nhà băng cungcấp chứng nhận này Nếu chưa có bất cứ cái gì thì có thể thực hiện việc này nhanhchóng tại một nhà băng nào đó hoặc truy nhập vào một WEB site có các mẫu đăng kýtrực tuyến
Sử dụng thẻ tín dụng trực tuyến ngày hôm nay, tuy nhiên, giống như việc sử dụngchúng với một "operating standing by" Số thẻ và chi tiết của giao dịch được lưu lại và
xử lý, nhưng không có sự xuất hiện của người mua và khi có một vụ thanh toán bị lỡthì nó vẫn được lưu lại trên hệ thống Bởi lý do này các chi phí xử lý thẻ tín dụng trựctuyến nhiều ngang bằng với chi phí để xử lý một giao dịch chứ không ngang bằng vớimột mức phí như điện thoại và thường là vào khoảng 50 xen (Các giao dịch được xử
lý thông qua các trạm đầu cuối đã được hợp đồng chỉ mất khoảng từ 3 đến 5 xen)
Vấn đề bảo mật, sự an toàn trên mạng
Khi DN tham gia vào TMĐ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ứ lúc nào nếu không có hệ thộng bảo mật chặtchẽ Thông tin truyền qua Internet cũng dễ bị tấn công Vì vậy, thông tin khi gởi đi cầnphải được mã hóa và người nhận phải có cách giả mã để nhận thông tin
Hình 1.9 - Các vấn đề an toàn bảo mật của một Website TMĐT
Trang 19Một số giao thức bảo mật thông dụng
Cơ chế bảo mật SSL (Secure Socket Layer)
Điểm nổi bật của SSL là có thể ngay lập tức tạo một trang HTML với các biểumẫu để khách hàng cung cấp thông tin về họ trong lúc giao dịch, và đảm bảo rằng cácthông tin này được bảo mật và mã hóa khi thông tin gởi đi trên Internet
Sau khi các thông tin mà khách hàng nhập vào các biểu mẫu trên trang WEB hiển thị trên trình duyệt của họ được mã hoá với SSL nó được gửi đi trên Internet một cách
an toàn Trong thực tế khi người sử dụng truy nhập vào các trang WEB được hỗ trợ bởiSSL, họ sẽ thấy một biểu tượng như một chiếc khoá ở thanh công cụ bên dưới chương trình
Cơ chế bảo mật SET (Secure Electronic Transaction)
Được phát triển bởi một tập đoàn các công ty thẻ tín dụng lớn như Visa,MasterCard và American Express, cũng như các nhà băng, các công ty bán hàng trênmạng và các công ty thương mại khác SET có liên quan với SSL do nó cũng sử dụngcác khoá công cộng và khoá riêng
SET đặt các khoá riêng trong tay của cả người mua và người bán trong một giaodịch Nghĩa là một người sử dụng thông thường cần các khoá riêng của họ và cần phảiđăng ký các khoá này cũng giống như các máy chủ phải làm
Cách thức làm việc của hệ thống: Khi một giao dịch SET được xác nhận quyền sử
dụng, mã khoá riêng của người sử dụng sẽ thực hiện chức năng giống như một chữ ký
số, để chứng minh cho người bán về tính xác thực của yêu cầu giao dịch từ phía ngườimua và các mạng thanh toán công cộng Do người mua không thể thoát ra khỏi mộtgiao dịch SET, để khiếu nại về việc họ không mua hàng nên các giao dịch SET theo lýthuyết sẽ chạy qua các hệ thống thanh toán giống như ta mua hàng ở thiết bị đầu cuốitại các cửa hàng bách hoá thực
Trang 201.4 Lợi ích, giới hạn của TMĐT
Lợi ích của TMĐT
Thu thập được nhiều thông tin
TMĐT giúp người tham gia thu được nhiều thông tin về thị trường, đối tác, giảm
chi phí tiếp thị và giao dịch, rút ngắn thời gian sản xuất, tạo dựng và củng cố quan
hệ bạn hàng Các DN nắm bắt được thông tin về kinh tế thị trường, vì vậy có thểđưa ra các chiến lược sản xuất và kinh doanh thích hợp với xu thế phát triển củathị trường trong nước, khu vực và quốc tế Điều này đặc biệt có ý nghĩa đối vớicác DN vừa và nhỏ, hiện nay đang được nhiều nước quan tâm, được coi là mộttrong những động lực phát triển kinh tế
Giảm chi phí sản xuất
Về chi phí văn phòng (chi phí tìm kiếm chuyển giao tài liệu giảm nhiều lần, khâu
in ấn được bỏ hẳn) Điều quan trọng, về góc độ chiến lược, giúp các nhân viên cónăng lực giải phóng được nhiều công đoạn sự vụ có thể có thể tập trung vàonghiên cứu phát triển, sẽ đưa đến những lợi ích to lớn lâu dài
Giảm chi phí bán hàng, tiếp thị và giao dịch
TMĐT qua Internet/Web giúp người tiêu thụ và các DN giảm đáng kể thời gian
và chi phí giao dịch
Với các lợi ích trên, chu trình sản xuất (Cycle time) được rút ngắn, nhờ đó sảnphẩm mới xuất hiện nhanh và hoàn thiện hơn
Xây dựng quan hệ với đối tác
TMĐT tạo điều kiện cho việc thiết lập và củng cố quan hệ giữa các thành viêntham gia vào quá trình thương mại: thông qua mạng (Internet /Web) các thànhviên tham gia (người tiêu thụ, doanh nghiệp, các cơ quan Chính phủ, )có thể giaotiếp trực tuyến Nhờ vậy sự hợp tác và sự quản lý đều được tiến hành nhanhchóng một cách liên tục: các bạn hàng mới, các cơ hội kinh doanh mới được phát
Trang 21hiện nhanh chóng trên phạm vi toàn quốc, khu vực và thế giới, có nhiều cơ hội đểlựa chọn.
Tạo điều kiện sớm tiếp cận kinh tế trí thức
TMĐT kích thích sự phát triển của ngành CNTT tạo cơ sở cho phát triển kinh tế
tri thức Lợi ích này có một ý nghĩa lớn đối với các nước đang phát triển Khía
cạnh lợi ích này mang tính chiến lược công nghệ và tính chính sách phát triển cầncho các nước công nghiệp hóa
Giới hạn của TMĐT
Hạn chế về mặt kỹ thuật
Bảo mật hệ thống, tính đáng tin cậy, tiêu chuẩn, và các phương thức giao tiếp vẫncòn đang tiến triển Ở một số nơi, độ rộng dải tầng của thông tin liên lạc bằng cápkhông đủ Bên cạnh đó, các công cụ phát triển phần mềm vẫn còn đang tiến triển
và thay đổi nhanh chóng
Hạn chế không phải về mặt kỹ thuật
Bảo mật và sự riêng tư rất quan trọng trong mô hình DN đến người tiêu dùng(B2C) Trong vài trường hợp, khách hàng không tin tưởng vào người bán hàng
mà khách hàng không quen biết, không biết mặt, và những giao dịch không cógiấy tờ, tiền điện tử Vì những điều này, việc thuyết phục khách hàng chuyển từgiao dịch vật lý thông thường sang giao dịch điện tử rất khó khăn
Như đã đề cập ở trên, vấn đề truy cập Internet còn đắt và tiềm năng khách hàngcòn hạn chế
Trang 221.5 Một số vấn đề cần lưu ý khi tham gia vào TMĐT
Bảo mật
Khi tham gia TMĐ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ặtchẽ
Ngoài ra, thông tin được truyền trên Internet đi qua nhiều chặng nên khó kiểm soát và
dễ bị tấn công từ bên ngoài Vì vậy, thông tin truyền đi cần phải được mã hóa bởi bêngởi và bên nhận phải có cách giải mã để nhận thông tin
Xử lý tự động
Trong việc kinh doanh TMĐT, thời gian vô cùng quan trọng Do đó, những công việclặp đi lặp lại hằng ngày cần được xử lý tự động Nhờ vậy, sẽ tiết kiệm được thời gian
xử lý công việc, giảm được số lướng nhân viên, giảm được chi phí
Trong vấn đề xử lý tự động, cần phải phân chia công việc thành các giai đoạn xử lý saocho phù hợp, độ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ử
Vấn đề này nhìn chung là tối quan trọng Vì vậy, cần phải có thanh toán phù hợp, hiệuquả, khách hàng tin cậy Đồng thời phải bảo mật tối đa các thông tin thanh toán củakhá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ứcthanh toán giữa các cá nhân mua hàng trên Website siêu thị điện tử sẽ khác hình thứcthanh toán giữa các công ty với nhau
Trang 23Chương 2
MỘT SỐ CÔNG NGHỆ VÀ KỸ THUẬT
2.1 Microsoft NET
.NET là nền tảng của Microsoft cho các dịch vụ Web XML, là thế hệ phần mềm
kế tiếp kết nối thế giới thông tin, các thiết bị và tất cả mọi người trong một thể thốngnhật Nền tảng NET cho phép tạo ra và sử dụng các ứng dụng, các quá trình và cácWebsite dựa trên XML như những dịch vụ chia sẻ, kết nối thông tin và hoạt động cùngnhau, trên bất cứ nền tảng hay thiết bị thông minh nào, nhằm mục đích cung cấp nhữnggiải pháp theo yêu cầu cho các tổ chức và các cá nhân riêng biệt
Nền tảng NET của Microsoft đưa ra các công nghệ, các công cụ và sản phẩm đểtạo ra và chạy các dịch vụ Web
2.1.1 Các công cụ phát triển
Visual Studio NET và NET Framework là các công cụ để tạo ra các dịch vụ Web
XML .NET Framework là một tập hợp những giao diện lập trình và là tâm điểm củanền tảng NET của Microsoft .NET Framework cung cấp cơ sở hạ tầng để xây dựng
và chạy các dịch vụ Web
Hình 2.1 – Nền tảng của NET (.NET Platform)
Visual Studio NET
Trang 24Visual Studio NET cung cấp một môi trường phát triển mức cao để xây dựng cácứng dụng trên NET Framework Với bộ Visual Studio NET chúng ta có thể đơn giảnhóa việc tạo, triển khai và tiếp tục phát triển các ứng dụng, dịch vụ Web có sẵn mộtcách an toàn, bảo mật và khả năng biến đổi được.
Visual Studio NET là một bộ đa ngôn ngữ các công cụ lập trình: Visual Studio
C#.NET, Visual Basic, Visual C++, Visual J#.NET và các ngôn ngữ Script như:VBScript, JSCript Tất cả các ngôn ngữ này đều cho phép truy cập vào .NETFramework
Visual C#.NET là một ngôn ngữ lập trình đơn giản, hướng đối tượng
(Object-Oriented Programming) an toàn kiểu (type-safe) và có nguồn gốc từ các ngôn ngữ C,C++ Đây là một ngôn ngữ rất thân thiện với người lập trình C và C++
C# được Microsoft giới thiệu để xây dựng với Web và đòi hỏi quyền được cungcấp một môi trường đồng bộ với HTML, XML, SOAP Tóm lại, C# là một ngôn ngữlập trình hiện đại và là một môi trường phát triển đầy tiềm năng để tạo ra các dịch vụWeb XML, các ứng dụng dựa trên Microsoft NET và cho cả nền tảng MiscrosoftWindow cũng như tạo ra các ứng dụng Internet thế hệ kế tiếp một cách nhanh chóng vàhiệu quả
Visual Basic NET (VB.NET) cho phép tạo ra những ứng dụng đầy sức mạnh cho
nền tảng Microsoft Windows với thời gian ngắn nhất, kết hợp chặt chẽ việc truy cập dữliệu từ một phạm vi rộng của các kịch bản dữ liệu, tạo ra những thành phần(component) với mã nhỏ nhất và xây dựng các ứng dụng trên cơ sở Web khi sử dụngnhững kỹ năng hiện tại
VB.NET có nhiều đặc tính ngôn ngữ mới và được cải tiến như sự kế thừa(Inheritance), giao diện và overloading làm cho nó trở thành một ngôn ngữ lập trìnhhướng đối tượng đầy tiềm năng Ngoài ra, những người phát triển Visual Basic bây giờ
có thể tạo đa luồng (multithreaded) Các nhà phát triển cũng sẽ tìm thấy nhiều đặc tính
Trang 25mới và được cải tiến, ví dụ như các giao diện, những thành viên dùng chung, cácConstructor cùng với một số kiểu dữ liệu mới, xử lý ngoại lệ có cấu trúc và ủy quyền.
thấy Microsoft Visual C++ là công cụ C++ hiệu quả nhất để tạo ra những ứng dụng hiệunǎng cao cho Windows và cho World Wide Web Hầu như tất cả các phần mềm tốtnhất từ những trình duyệt Web đầu bảng cho đến các ứng dụng đều được xây dựngbằng hệ thống phát triển Microsoft Visual C++ Visual C++ NET mang đến một cấp độmới về hiệu nǎng so với Visual C++ mà không làm ảnh hưởng đến tính mềm dẻo, hiệusuất thực hiện cũng như điều khiển
Visual J# NET là một công cụ phát triển trên ngôn ngữ Java tích hợp dễ dàng, sự
chuyển giao các kỹ năng hiện tại để xây dựng các ứng dụng và các dịch vụ trên nềnMicrosoft NET Framework J# cho phép những người phát triển ngôn ngữ Java có thểchuyển tiếp vào thế giới của các dịch vụ Web XML và cải thiện đáng kể khả nǎng vậnhành các chương trình viết bằng ngôn ngữ Java với những phần mềm hiện tại được viếtbằng nhiều ngôn ngữ lập trình khác nhau
JScript NET là bộ thực hiện của Microsoft cho JavaScript Jscript.NET thêm rất
nhiều đặc tính mới vào Jscript, bao gồm cả việc hỗ trợ trực tiếp các kỹ thuật lập trìnhhướng đối tượng
Phiên bản trước đây của Microsoft Studio NET 2005 là Visual Studio NET
2003 và NET Compact Framework (trước đây có tên mã là Visual Studio “Everett”)
có tính ổn định, an toàn và hiệu năng cao Bộ công cụ lập trình này hỗ trợ nhóm ứngdụng dịch vụ Web mới nhất như: WS – Attachment, WS – Routing cùng WS –Security
Hiện tại, Miscrosost đã ra một phiên bản mới của Micrsoft Visual Studio 2005 làMicrsoft Visual Studio 2008
NET Framework
Trang 26.NET Framework là động cơ tạo các dịch vụ Web XML của Microsoft và là mộttập những giao diện lập trình và là tâm điểm của nền tảng NET Nó cung cấp cơ sở hạtầng để xây dựng và chạy các dịch vụ Web
.NET Framework bao gồm ba thành phần chính là: Common Language Runtime(Bộ thực thi ngôn ngữ chung), The Base Classes (Các lớp thư viện cơ sở) và ASP.NET(các ứng dụng Web) Thực chất còn bao gồm cả phần phát triển các ứng dụng choWindows có tên Windows Form
Hình 2.2 – Các thành phần của NET Framework (.NET Platform)
Bộ thực thi ngôn ngữ chung - Common Language Runtime (CLR)
CLR là trung tâm điểm của NET Framework Trong NET mọi ngôn ngữ lập trình đều được biên dịch ra Microsoft Internedia Language (IL) Do bắt buộc mọi ngôn ngữ đều phải dùng cùng các loại kiểu dữ liệu (gọi là Common Type System_CTS hay
hệ thống kiểu chung) nên CLR có thể kiểm soát mọi giao diện, gọi giữa các thành phần
và cho phép các ngôn ngữ có thể tích hợp với nhau một cách thông suốt
Khi chạy một ứng dụng NET, nó sẽ được biên dịch bằng một bộ biên dịch JIT
(Just-In-Time), thuật ngữ này nghĩa là chỉ phần mã cần xử lý mới được biên dịch
thành mã máy để chạy Điểm này giúp ứng dụng NET chạy nhanh hơn mã thông dịchcủa Java trong Java Virtual Machine (máy ảo Java)
Trang 27Ngoài các chức năng cung cấp và quản lý bộ nhớ, bảo mật, CLR còn xử lý côngviệc "gom rác" (garbage collection) Trước đây mỗi khi một DLL (thư viện liên kếtđộng) được nạp vào bộ nhớ, hệ thống sẽ ghi nhận có bao nhiêu tác vụ dùng nó để khitác vụ cuối cùng chấm dứt thì hệ thống giải phóng DLL này và trả lại phần bộ nhớ nódùng trước đây cho hệ thống để dùng vào việc khác Nếu chương trình cung cấp(allocate) bộ nhớ để sử dụng mà không nhớ giải phóng (dispose) thì đến một lúc nào đó
bộ nhớ sẽ bị "cạn" và chúng ta sẽ phải khởi động lại hệ điều hành Bây giờ, NET đã sửdụng một quá trình độc lập để xử lý việc “gom rác” Tác động phụ ở đây là khi ta đã
"dispose" một đối tượng rồi, ta vẫn không biết chắc chắn chừng nào nó mới thực sựbiến mất Vì bộ phận "gom rác" là một quá trình ưu tiên mức thấp, chỉ khi nào bộ nhớ
hệ thống gần "cạn" nó mới nâng cao độ ưu tiên lên
Các dịch vụ chung này đều được quản lý một cách tự động
Như vậy, bô thực thi ngôn ngữ chung CLR cho phép việc phát triển các ứng dụngmột cách dễ dàng hơn, cung cấp một môi trường thực thi an toàn và hiệu nǎng, hỗ trợ
đa ngôn ngữ và đơn giản hoá việc triển khai và quản lý các ứng dụng
Các lớp thư viện cơ sở (The Base Class)
Các lớp cơ sở cung cấp những đặc tính của runtime (thực hiện) và cung cấpnhững dịch vụ cấp cao khác mà những người lập trình đòi hỏi thông qua namespace.Namespace là một cách đặt tên để giúp sắp đặt các lớp (class) dùng trong chương trìnhmột cách thứ tự để dễ tìm kiếm chúng Tất cả các mã (code) trong NET, được viếtbằng VB.NET, C# hay một ngôn ngữ nào khác đều được chứa trong một namespace.Sau đây là một số namespace của ASP.NET thông dụng
System.Web có các dịch vụ mức thấp như: lưu trữ (caching), bảo mật, cấu hình
và những dịch vụ khác được chia sẻ giữa các dịch vụ Web và giao diện ngườidùng Web (UI)
System.Web.Services xử lý các dịch vụ Web như các giao thức và phát hiện
(discovery)
Trang 28System.Web.UI cung cấp hai lớp cho các điều khiển (control) là các điều khiển
HTML và các điều khiển Web Điều khiển HTML cho chúng ta ánh xạ trực tiếpvào các thẻ HTML như đầu vào (input) Cũng có những điều khiển Web cho phépchúng ta cấu trúc lại các điều khiển với những khuôn mẫu (Template), ví dụ nhưmột Grid Control (đối tượng điều khiển lưới)
Ngoài các Namespace của ASP.NET, NET Framework còn cung cấp một bộ thư việnlớp thiết kế giao diện cho các nhà phát triển các ứng dụng trên nền Windows
System.WinForm để xây dựng giao diện người dùng khách (Client) Các lớp này
cho phép thực hiện các giao diện người dùng Windows chuẩn trong các ứngdụng NET
System.Drawing để truy nhập vào các đặc tính mới GDI+ Lớp này hỗ trợ cho
thế hệ kế tiếp của Graphics Device Interface (GDI) là đồ họa hai chiều
Microsoft SQL Server 2000 bao gồm chức năng XML, hỗ trợ các chuẩn của
WorldWideWeb Consortium (W3C), khả năng thao tác dữ liệu XML khi sử dụngTransact SQL (T-SQL), sự phân tích trên nền Web một cách linh hoạt, mạnh vàtruy cập an toàn dữ liệu bằng Web có sử dụng HTTP
Microsoft Host Integration Server 2000 cung cấp biện pháp tốt nhất để quản trị
Internet, intranet và các công nghệ khách/chủ (client/server) trong khi giữ gìn(bảo toàn) những đầu tư cho các hệ thống tồn tại ban đầu
Trang 29Microsoft Exchange 2000 Enterprise Server xây dựng trên công nghệ cộng tác
và trao đối thông điệp và tǎng thêm độ tin cậy, khả nǎng biến đổi được và hiệunǎng kiến trúc lõi của nó Những đặc tính khác tǎng khả nǎng tích hợp Exchange
2000 với Microsoft Windows 2000, Microsoft Office 2000 và Internet
Microsoft Application Center 2000 cho phép tạo ra các giải pháp và cung cấp
một sự triển khai và công cụ quản lý cho các ứng dụng Web có tính sẵn sàng cao
Microsoft Internet Security và Acceleration Server 2000 cung cấp việc kết nối
Internet bảo mật, nhanh và khả nǎng quản lý An ninh trên Internet và máy phục
vụ gia tốc (Acceleration Server) tích hợp một tường lửa xí nghiệp nhiều lớp, cóthể mở rộng và một bộ đệm (cache) Web hiệu suất cao và có khả nǎng biến đổiđược Nó xây dựng trên sự bảo mật và thư mục của Windows 2000 cho an ninhtrên nền chính sách, gia tốc và quản lý trên mạng
Microsoft Commerce Server 2000 cung cấp một khung ứng dụng (application
framework), các cơ chế phản hồi tinh vi và những khả nǎng phân tích
Mobile Information Server 2001 cho phép sử dụng các ứng dụng thông qua các
thiết bị mobile như là cell-phone chẳng hạn
2.1.3 Các dịch vụ khối hợp nhất (Building Block Service)
Các dịch vụ khối hợp nhất là một tập hợp trung-tâm-người-dùng (user-centric)của các dịch vụ Web XML, nó chuyển điều khiển dữ liệu người dùng từ các ứng dụngđến những người sử dụng và cho phép người dùng kiểm soát nhiều hơn thông qua cácquy tắc xử lý dữ liệu và quyền ưu tiên do nó xác định, trong khi bảo đảm sự đồng ý củangười dùng là cơ sở cho mọi giao dịch Chúng chứa đựng Passport (cho việc nhận diệnngười dùng), và các dịch vụ cho việc phân tán thông điệp, cất giữ file, quản lý quyền
ưu tiên người dùng, quản lý lịch làm việc và các chức nǎng khác
Trang 30Microsoft đã đưa ra một vài dịch vụ hợp nhất mà điển hình là Microsoft
HailStorm Đây là một dịch vụ trung-tâm-dùng cung cấp cho những
người-dùng-cuối khả nǎng lưu trữ thông tin cá nhân như các cuộc hẹn, lịch hay các thông tin
về tài chính Khi đǎng ký dịch vụ này thông tin được chia sẻ với các ứng dụng kháctheo ý muốn của họ Tới đây, một phạm vi rộng lớn các cộng sự và các nhà phát triển
sẽ mở rộng đáng kể tập các dịch vụ khối hợp nhất này
Các dịch vụ Web XML là những khối hợp nhất cơ bản trong sự chuyển tiếp sang
tính toán phân tán trên Internet Những chuẩn mở và sự tập trung vào truyền thông vàhợp tác giữa mọi người và các ứng dụng đã tạo ra một môi trường, nơi các dịch vụWeb XML đang trở thành nền tảng cho sự hợp nhất các ứng dụng Các dịch vụ WebXML đưa ra chức nǎng hoạt động hữu ích tới những người dùng Web thông qua mộtgiao thức Web chuẩn là SOAP Các dịch vụ Web XML cung cấp một cách để mô tảnhững giao diện của chúng cho phép một người dùng xây dựng một ứng dụng khách(client) để có thể "nói chuyện" với chúng Sự mô tả này thông thường được cung cấptrong một tài liệu XML gọi là một tài liệu Web Services Description Language(WSDL) Những dịch vụ Web XML được đǎng ký để những người sử dụng có khảnǎng có thể tìm thấy họ một cách dễ dàng Những tài liệu này được hoàn thành vớiUniversal Discovery Description and Integration (UDDI)
2.1.4 Các Client hay thiết bị thông minh
.NET sử dụng phần mềm cho các thiết bị thông minh để cho phép các máy vi tính(PC), máy tính xách tay (laptop), máy trạm (workstation), điện thoại thông minh (smartphone), máy tính cầm tay (handheld computer), máy tính bảng (Tablet PC) và các thiết
bị thông minh khác để điều khiển và hoạt động trong NET
Một thiết bị thông minh thường có khả nǎng nhận biết :
Trang 31Về người dùng: thiết bị sử dụng sự nhận diện NET, hiện trạng và dữ liệu của
người dùng để đơn giản hoá quá trình sử dụng của người dùng cho phép biến đổinhững khai báo khi đáp lại sự hiển diện hoặc khi thiếu một thông tin nào đó
Trên mạng: phản ứng lại những sự ràng buộc về giải tần; cung cấp sự hỗ trợ cho
cả hai kiểu sử dụng các trình ứng dụng trực tuyến (online) và ngoại tuyến(offline), hiểu và đoán biết được những dịch vụ nào có thể dùng được (có sẵn)
Về thông tin: truy nhập, phân tích và xử lý dữ liệu tại bất cứ thời điểm, vị trí nào
Về các thiết bị khác: phát hiện ra và thông tin cho các máy vi tính (PC), các thiết
bị thông minh, các máy phục vụ (server) và Internet; biết phải cung cấp các dịch
vụ tới các thiết bị khác như thế nào; thông minh khi truy cập thông tin từ PC
Về phần mềm và các dịch vụ: giới thiệu các ứng dụng và dữ liệu được tối ưu cho
form factor; nhập vào các phương pháp và khả nǎng kết nối thích hợp cho tươngtác người dùng cuối; dùng các dịch vụ Web có sử dụng XML, SOAP, và UDDI,
có thể chương trình hoá và dễ mở rộng bởi các nhà phát triển
Một số phần mềm của Microsoft đang làm việc cho các thiết bị thông minh baogồm Microsoft Windows XP, Windows Me, Windows CE, Windows Embedded, NETFramework và NET Compact Framework
2.2 Lập trình Web và ASP.NET
2.2.1 Lập trình Web
Hình 2.3 - Mô hình gởi – nhận yêu cầu
Trang 32Khi người dùng duyệt Web và thực hiện các chức năng mà trang Web đó cungcấp Phía Client sẽ yêu cầu (Request) 1 trang Web Phía Web Server hồi đáp lại(Response) bằng cách gởi trang Web theo dạng HTML về cho trình duyệt
Có 2 kỹ thuật lập trình Web:
Client – Side code
Server – Side code
Kỹ thuật Client – Side code
Trang Web được trình duyệt tải về từ Web Server và mọi xử lý được thực hiệntrên máy Client
Ưu điểm: Web Server không cần xử lý nhiều.
Một số kỹ thuật lập trình Web Client – Side Code
DHTML
Script này được nhúng trong trang HTML (thường là Javascript)
Mỗi thành phần của HTML trở thành một đối tượng gắn liền với một sự kiệnchẳng hạn: OnClick
Script cung cấp code để phản hồi lại các sự kiện của trình duyệt
Thích hợp cho Website dùng trong mạng nội bộ
Kỹ thuật Server – Side code
Ứng dụng Web được xử lý trên Web Server (IIS)
Quá trình thực hiện gồm 2 giai đoạn:
Tạo trang Web có chứa cả Script Client – Side và Server – Side
Trang 33 Khi Client Browser yêu cầu thực hiện, server (run-time engine) sẽ thực hiệncác lệnh server side scripts và trả trang Web HTML về trình duyệt.
Ưu điểm: Ứng dụng được xây dựng theo mô hình 3 tầng nên có những lợi thế:
Dễ truy cập: Có thể dùng bất cứ trình duyệt nào ở phía Client hay bất kỳ thiết
bị nào để truy cập vào trang Web
Dễ quản lý: Không yêu cầu việc sắp xếp code trong ứng dụng và các lập trìnhviên cũng dễ dàng thay đổi code
Dễ mở rộng
Bảo mật: Code không bị lộ khi các tranng Web bị lỗi
Một số kỹ thuật lập trình Server – Side Code
ASP (Active Server Page)
PHP (Personal Home Page)
JSP (Java Server Page)
CGI (Common Gateway Interface)
ISAPI (Internet Server API)
2.2.2 ASP.NET
ASP.NET là một "khung" lập trình được xây dựng trên bộ thực thi ngôn ngữ
chung (CLR) và được sử dụng trên một máy chủ phục vụ để tạo ra các ứng dụng Webmạnh Web Forms của ASP.NET cho phép xây dựng các giao diện người dùng Webđộng (UI) một cách hiệu quả Các dịch vụ của ASP.NET cung cấp những khối hợpnhất (building blocks) cho việc xây dựng các ứng dụng trên nền Web phân tán Nhữngdịch vụ Web dựa trên các chuẩn Internet mở như HTTP và XML Bộ thực thi ngôn ngữchung CLR cung cấp sự hỗ trợ dựng sẵn để tạo và đưa ra những dịch vụ Web thôngqua việc sử dụng một khái niệm trừu tượng hoá lập trình phù hợp và thân thiện với cácnhà phát triển cho cả ASP Web Forms và Visual Basic Mô hình thu được vừa dễ biếnđổi, vừa dễ mở rộng Mô hình này dựa trên các chuẩn Internet mở (HTTP, XML,
Trang 34SOAP) để nó có thể được truy cập và thông dịch bởi bất cứ một client hay thiết bị hỗtrợ Internet nào
ASP.NET là một thế hệ mới của ASP (một kỹ thuật dễ viết và sửa đổi), là kỹthuật lập trình Web phía Server – Side Hỗ trợ cho việc xây dựng, triển khai và chạy
các ứng dụng Web File mở rộng là aspx Bên cạnh đó, ASP.NET cũng thích hợp với
nhiều trình duyệt: IE, Netscape,
Ngoài ra, ASP.NET còn hỗ trợ nhiều ngôn ngữ NET: C#, VB.NET, C++,…Các trang Web viết bằng ASP.NET thì code xử lý và HTML được tách ra khácvới các trang viết bằng ASP (Code xử lý và HTML được viết chung 1 File) Điều nàyđem lại ưu điểm:
Giúp các lập trình viên thao tác trên HTML mà không ảnh hưởng đến logincủa trang Web
Bảo vệ tốt Source Code
Quá trình xử lý yêu cầu: Khi Client gởi yêu cầu về phía Server, Server tiến hành
các bước sau:
Cấu hình (Configuration)
Khôi phục lại dữ liệu cho ViewState và trang Web
Tiến hành sự kiện Page_Load Chuẩn bị sẵn cho việc trình diễn trang
Xử lý sự kiện (Even Handling)
Xác định các sự kiện được kích hoạt khi yêu cầu gởi về từ Client để tiến hành xử
lý sự kiện
Biểu diễn (Rendering)
Gởi kết quả về cho trình duyệt dưới dạng trang HTML
Xóa trang (Clean up)
Giải phóng tài nguyên đã sử dụng như: đóng kết nối cơ sở dữ liệu,…
Thực hiện xử lý Page_Unload
Trang 35Một số đối tượng
Request là đối tượng cho phép Client gởi yêu cầu phía Server.
Request có một chức năng quan trọng là thu thập thông tin ở trình duyệt phíaClient dưới dạng chuỗi Ví dụ, www.chodientu.aspx?Id=Muahang (Client yêucầu trang chodientu.aspx với Id = Request (“Id”))
Response là đối tượng cho phép Server gởi thông tin về Client sau khi Client yêu
cầu Ví dụ, Response.Redirect (“TestPopupControl.aspx”) (Server gởi nội dungtrang TestPopupControl.aspx về cho phía Client)
Session dùng để lưu trữ dữ liệu Session được tổ chức thành một cặp: một từ khóa
và một giá trị Ví dụ, Session (“LoginUser”) = “Admin” -> Từ khóa là LoginUser
và giá trị là Admin
Mỗi Session được tạo ra khi một người dùng truy cập vào ứng dụng
Session được tạo ra và lưu trên bộ nhớ của Server
Session có 2 sự kiện (Event): Session_OnStart và Session_OnEnd được khai báotrong file global.asax Lập trình viên có thể nhúng code vào để điều khiển
Hình 2.4 – Mô hình mô tả cách sử dụng Session
2.3 Control trong ASP.NET
2.3.1 Control là gì?
Trang 36Control là một loại thư viện được liên kết đến ứng dụng và có khả năng cung cấptuỳ chọn cao giao tiếp giữa người dùng và control Control được viết hay duy trì nhưmột dạng File thực thi độc lập được gọi đến mỗi lần thực thi Các dạng file này là:DLLs, ASCXs, VBXs, OCXs,
Các kiểu Control
User Control: là kiểu đơn giản nhất, nó kế thừa lớp UserControl File thực thi của
loại Control có dạng: ASCXs
Custom Control: là loại Control tùy biến giao diện Tuỳ thuộc vào sự phát triển
của hệ thống, custom control được liên kết đến ứng dụng khi nó được viết hoặc duy trìnhư một dạng file thực thi độc lập được gọi đến mỗi lần thực thi Các dạng file này là:DLLs, VBXs, OCXs
Các Control được kế thừa (Inherited controls): nó hỗ trợ mạnh hơn và mềm dẻo
hơn Kiểu Control này kế thừa một Control mà gần giống với nó nhất, sau đó có thểoverride hoặc thêm các thuộc tính và phương thức trên lớp Custom Control Ví dụ, lớpCustom Control kế thừa lớp DataGrid và override phương thức DataBind() của nó
Các Control vẽ lại chính nó (Owner-drawn controls): nó kế thừa từ lớp Control
và thêm các tuỳ chọn về chức năng và giao diện
Bộ cung cấp mở rộng hơn (extender provider): có thể thêm các đặc trưng và mở
rộng giao diện người dùng
Lợi ích của cách viết Custom Control
Giúp tiết kiệm thời gian và công sức khi viết chương trình, custom control đượcviết 1 lần duy nhất nhưng lại được sử dụng rất nhiều lần trong chương trình hoặc cácứng dụng khác nhau Custom Control cho phép lập trình viên thoải mái trong cách viếtControl dùng cho mục đích riêng
Ví dụ, FreeTextBox (http://freetextbox.com/) là một dạng Custom Control chuyên
về thiết kế văn bản trên môi trường web được sử dụng cho nhiều website khác
Trang 37nhau FreeTextBox được hình dung như là một chương trình Microsoft Word vớigiao diện của Word 2003, đẹp, thẩm mĩ, tích hợp và đáp ứng nhiều nhu cầu chocác nhà phát triển ứng dụng Web.
Hình 2.5 - FreeTextBox Control
2.3.2 Vòng đời của một Control
Hình 2.6 - Vòng đời của Control
Trang 38Instantiate: Control được khởi tạo bởi trang hoặc control khác qua phương thức
tạo lập của nó
Initialize: trang và tất cả các control trong cây control gọi phương thức OnInit
của chúng theo mặc định (kích hoạt sự kiện Init) Những thuộc tính của control đặc tảtrong cú pháp trang được gán trước pha Initalize Có thể truy xuất tới những controlcon trong tập hợp Controls của nó, nhưng không truy xuất được tới control cha hoặccontrol ở nhánh cao hơn
Begin Tracking View State: trong pha này trang tự động gọi phương thức
TrackViewState – đảm bảo những thay đổi trên thuộc tính được lưu lại trên ViewState
Load View State: dùng khi PostBack, control khôi phục lại trạng thái của nó tại
bước xử lý cuối cùng trước khi request Có thể override phương thức LoadViewState
để thực hiện tuỳ chọn khôi phục trạng thái
Load Postback Data: dùng khi PostBack, nếu control tham gia vào xử lý dữ liệu
postback, bằng cách thực thi phương LoadPostData của giao tiếpIPostBackDataHandler Trong giai đoạn này control phải cập nhật trạng thái của nó từ
dữ liệu đưa về từ form
Load: Tại thời điểm này control có thể truy xuất an toàn tới các control khác
trong trang Có thể override hàm OnLoad Nếu chỉ thực thi code cho yêu cầu trang lầnđầu thì nên kiểm tra thuộc tính IsPostBack
Raise Changed Events: dùng khi PostBack, nếu control tham gia vào xử lý dữ
liệu postback bằng cách thực thi phương thức RaisePostDataChangedEvent của giaotiếp IpostBackDataHandler Trong giai đoạn này control gọi các sự kiện để gán nhữngthay đổi trạng thái của nó tới kết quả postback
Raise Postback Event: dùng khi PostBack, nếu control tham gia vào xử lý sự
kiện postback Trong pha này có thể thực hiện ánh xạ sự kiện ở client vào trong sự kiện
ở server bằng cách thực thi phương thức RaisePostBackEvent của giao tiếp
Trang 39IpostBackEventHandler.Ví dụ với Button, kích hoạt sự kiện Click trên server cho phépngười phát triển trang xử lý sự kiện postback trên client.
PreRender: đây là bước cuối cùng trước khi render
Save View State: Nền tảng của trang (page framework) tự động lưu ViewState.
Có thể override phương thức SaveViewState để tuỳ chọn việc lưu này Bất kỳ thay đổinào thực hiện sau pha này sẽ không được duy trì trên ViewState
Render: Control viết text đánh dấu (markup text) tới luồng ra bằng cách override
phương thức Render hoặc một trong những phương thức Render khác của WebControl
Unload: trang thực hiện việc dọn dẹp
Dispose: giải phóng tài nguyên mà control chiếm.
2.3.3 Cấu trúc của một Control điển hình: DataGrid
Cấu trúc chính
Kế thừa lớp Control và thực thi lớp INamingContainer để tránh xung đột id
Hình 2.7 - DataGird được kế thừa từ Control, INamingContainer
với các chức năng cơ bản phân trang, sắp xếp, cập nhật.
Thuộc tính ParseChildren: bằng true cho phép sử dụng thuộc tính template, false
để tránh control con nằm trong mà thay vào đó là các phần tử nhúng vào
Thuộc tính Designer kết hợp với RepeaterDesigner cho phép dữ liệu nguồn đượccung cấp trên giao diện thiết kế của VS.NET
Hai phương thức đóng vai trò trung tâm là CreateChildControls và DataBind
Trang 40Có các sự kiện như: ItemCommand, ItemCreated, ItemDataBound
ItemCommand có thể gom các sự kiện được kích hoạt bởi những control ở cấp
dưới theo kiểu nổi bọt
ItemCreated được kích hoạt mỗi lần RepeaterItem được tạo Nó cho phép thay
đổi lần cuối cho các template động trước khi được trả về client
ItemDataBound được gọi sau khi các ràng buộc dữ liệu đã thực hiện trên
template Sự kiện này chỉ dùng cho template ItemTemplate và Alternating vì cáctemplate khác không hỗ trợ ràng buộc dữ liệu