Công nghệ thông tin phát triển, và trong đó phải kể đến công nghệ web services. Web services sử dụng những chuẩn mở như XML, SOAP… Nó giúp cho việc cải tiến những ứng dụng có sẵn được dễ dàng và nhanh chóng, tận dụng những chức năng đã có sẵn mà không cần quan tâm đến sự tương thích của ngôn ngữ, những nền phát triển bất kỳ… Do đó, đề tài “Áp dụng web services trong xây dựng ứng dụng thương mại điện tử” nhằm giới thiệu đôi nét về cách thức triển khai một website thương mại điện tử và áp dụng web services cho một số chức năng của website. Từ đó, có thể xây dựng một website thương mại điện tử phù hợp với thị trường phát triển ở Việt Nam.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
KHÓA LUẬN TỐT NGHIỆP
-ÁP DỤNG WEB SERVICES TRONG XÂY DỰNG ỨNG DỤNG
THƯƠNG MẠI ĐIỆN TỬ
SINH VIÊN THỰC HIỆN:
NGUYỄN HỮU NGHĨA MSSV: 05110087
GIÁO VIÊN HƯỚNG DẪN:
Ths LÊ VĂN VINH
Trang 2TP HỒ CHÍ MINH – 2009
Trang 3LỜI CÁM ƠN i
LỜI CÁM ƠN
Sau hơn ba tháng tìm hiểu và thực hiện, với sự nỗ lực của các thành viêntrong nhóm, đề tài “Áp dụng Web services trong việc xây dựng ứng dụng thươngmại điện tử” đã hoàn thành tuy vẫn còn nhiều thiếu sót
Chúng em xin chân thành cảm ơn đến thầy Lê Văn Vinh đã nhiệt tình giúp
đỡ và hướng dẫn chúng em hoàn thành đề tài này
Chúng em cũng xin chân thành gửi lời cảm ơn đến tất cả những thầy cô, anhchị, bạn bè trong Khoa Công Nghệ Thông Tin đã giúp đỡ và đóng góp ý kiến chochúng em trong suốt quá trình thực hiện đề tài
Và chúng con xin chân thành cảm ơn gia đình đã luôn động viên, tạo mọiđiều kiện cho chúng con học tập hoàn thành tốt đề tài này
Chúng em xin chân thành cảm ơn!
Nhóm thực hiện đề tài
Trang 4MỤC LỤC ii
MỤC LỤC
LỜI CÁM ƠN i
MỤC LỤC ii
DANH MỤC CÁC HÌNH VẼ iv
DANH MỤC CÁC BẢNG vi
PHẦN MỞ ĐẦU 1
1 Tính cấp thiết của đề tài 2
2 Mục tiêu của đề tài 3
PHẦN NỘI DUNG 4
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 5
1.1 Tổng quan 5
1.2 Web services 6
1.3 Kiến trúc và các thành phần Web services 8
1.4 Công nghệ RESTful web services 15
CHƯƠNG 2: THƯƠNG MẠI ĐIỆN TỬ 17
2.1 Khái niệm 17
2.2 Đặc trưng 18
2.3 Phân loại 19
2.4 Các hình thức hoạt động 21
2.5 Lợi ích 24
2.6 Kết Luận 24
Trang 5MỤC LỤC iii
CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG 25
3.1 Đánh giá một số website thương mại điện tử tại Việt Nam và trên thế giới 25
3.2 Các yêu cầu nghiệp vụ của website 31
3.3 Kết luận 32
CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ 33
4.1 Phân tích yêu cầu 33
4.2 Thiết kế dữ liệu 37
4.3 Thiết kế giao diện 48
4.4 Thiết kế xử lý 60
4.5 Kết luận 73
CHƯƠNG 5: CÀI ĐẶT 74
5.1 Môi trường phát triển ứng dụng 74
5.2 Cách cài đặt ứng dụng 75
5.3 Kết luận 77
PHẦN KẾT LUẬN 78
1 Những kết quả đạt được 79
2 Đánh giá 80
3 Hướng phát triển của đề tài 81
TÀI LIỆU THAM KHẢO 82
Trang 6DANH MỤC CÁC HÌNH VẼ iv
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Cấu trúc của một thông điệp SOAP 10
Hình 1.2 Sử dụng SOAP trong Web services 10
Hình 1.3 WSDL 11
Hình 1.4 Các thành phần của WSDL 12
Hình 3.1 Website www.ebay.com 26
Hình 3.2 Website www.amazon.com 27
Hình 3.3 Website ebay.chodientu.vn 29
Hình 3.4 Website www.vinabook.com 30
Hình 4.1 Lược đồ use-case mô tả chức năng của website 33
Hình 4.2 Lược đồ use-case mô tả chức năng nhà quản trị 34
Hình 4.3 Lược đồ use-case mô tả chức năng người dùng 34
Hình 4.4 Mối liên hệ giữa các bảng 37
Hình 4.5 Trang chủ 48
Hình 4.6 Trang đăng ký 49
Hình 4.7 Trang đăng nhập 50
Hình 4.8 Trang loại sách Khoa Học 51
Hình 4.9 Trang chi tiết sản phẩm 52
Hình 4.10 Loại tiền tệ có thể chuyển đổi 52
Hình 4.11 Sản phẩm tương tự trên Amazon 53
Hình 4.12 Sản phẩm tương tự trên Ebay 54
Hình 4.13 Trang quản lý tài khoản user 55
Trang 7DANH MỤC CÁC HÌNH VẼ v
Hình 4.14 Trang giỏ hàng 56
Hình 4.15 Trang đặt hàng 57
Hình 4.16 Trang quản lý của Admin 58
Hình 4.17 Quản lý đơn đặt hàng 59
Hình 4.18 Kiến trúc xây dựng website 60
Hình 4.19 Lược đồ đăng ký tài khoản 62
Hình 4.20 Lược đồ đăng nhập 63
Hình 4.21 Lược đồ thay đổi thông tin tài khoản 64
Hình 4.22 Lược đồ thay đổi mật khẩu 65
Hình 4.23 Lược đồ tìm kiếm sản phẩm 66
Hình 4.24 Lược đồ tìm kiếm sản phẩm trên Ebay(Amazon) 67
Hình 4.25 Lược đồ xem thông tin sản phẩm 68
Hình 4.26 Lược đồ tìm sản phẩm tương tự 69
Hình 4.27 Lược đồ chuyển đổi ngoại tệ 70
Hình 4.28 Quy trình thanh toán thông qua PayPal 71
Hình 4.29 Lược đồ thanh toán 72
Trang 8DANH MỤC CÁC BẢNG vi
DANH MỤC CÁC BẢNG
Bảng 3-1 Các nghiệp vụ của Website 32Bảng 4-1 Các chức năng của Website 36Bảng 4-2 Mô tả các chức năng ứng với mô hình 3 lớp 61
Trang 9A PHẦN MỞ ĐẦU 1
PHẦN MỞ ĐẦU
A
Trang 10A PHẦN MỞ ĐẦU 2
1 Tính cấp thiết của đề tài
Ngày nay, theo xu hướng hội nhập của quốc tế, phạm vi kinh doanhkhông còn bó buộc ở trong một quốc gia cụ thể mà nó đã vươn rộng rakhắp thế giới Do đó, ở Việt Nam các nhà sản xuất, các doanh nghiệp…đang tìm kiếm một phương thức kinh doanh mới sao cho có thể giúp chongười tiêu dùng tiếp cận với sản phẩm của mình một cách nhanh nhất,sản phẩm có thể được quảng bá một cách rộng rãi, không chỉ là ở trongnước mà còn lan rộng ra khắp các nước khác Cùng với sự bùng nổ củacông nghệ thông tin, thương mại điện tử được xem như là lựa chọn phùhợp với xu thế chung của thế giới, lợi ích mà nó mang lại cho các doanhnghiệp là không nhỏ, giúp tiết kiệm thời gian cũng như tiền bạc, và lợinhuận mà nó mang lại là rất lớn
Công nghệ thông tin phát triển, và trong đó phải kể đến công nghệweb services Web services sử dụng những chuẩn mở như XML,SOAP… Nó giúp cho việc cải tiến những ứng dụng có sẵn được dễ dàng
và nhanh chóng, tận dụng những chức năng đã có sẵn mà không cầnquan tâm đến sự tương thích của ngôn ngữ, những nền phát triển bấtkỳ…
Do đó, đề tài “Áp dụng web services trong xây dựng ứng dụngthương mại điện tử” nhằm giới thiệu đôi nét về cách thức triển khai mộtwebsite thương mại điện tử và áp dụng web services cho một số chứcnăng của website Từ đó, có thể xây dựng một website thương mại điện
tử phù hợp với thị trường phát triển ở Việt Nam
Trang 11A PHẦN MỞ ĐẦU 3
2 Mục tiêu của đề tài
Mục tiêu của đề tài là:
o Tìm hiểu về web services
o Tìm hiểu về thương mại điện tử
o Xây dựng website thương mại điện tử
o Áp dụng web services cho website:
Phương thức thanh toán trực tuyến thông qua PayPal
So sánh sản phẩm
Chuyển đổi loại tiền tệ
Trang 12B PHẦN NỘI DUNG 4
PHẦN NỘI DUNG
B
Trang 13CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 5
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES
1.1 Tổng quan
Công nghệ thông tin và mạng lưới internet phát triển, đã cung cấpcác nền tảng cơ bản, một kho mã nguồn thực sự hữu ích cho việc xâydựng các ứng dụng từ xa Đồng thời, sự phát triển của các hệ thống ngônngữ lập trình ngày càng làm tăng tính đa dạng, phong phú và tính hữu íchcủa các hệ thống này Tuy nhiên, một vấn đề đặt ra là làm sao có thể tậndụng được những nền tảng sẵn có này bởi mỗi ứng dụng sẽ có một địnhdạng dữ liệu khác nhau, chạy trên một môi trường riêng biệt, sử dụng cácgiao thức trao đổi khác nhau và được phát triển trên các nền tảng khácnhau Vì vậy vấn đề trao đổi, giao tiếp giữa các ứng dụng vẫn là vấn đềlớn trong lĩnh vực phân tán trên mạng
Các website ngày nay thì hầu hết được viết lại từ đầu mà không thểchia sẻ các chức năng hoặc sử dụng các chức năng sẵn có từ các ứngdụng khác Vì vậy các ứng dụng có những chức năng tương tự nhau sẽmất nhiều thời gian và chi phí, tiêu tốn nhiều công sức để viết lại mộtchức năng đã được hoàn chỉnh từ một ứng dụng khác mà không hẳn sẽtốt hơn, hoàn thiện hơn
Vì vậy, yêu cầu của ngành công nghệ thông tin hiện nay được đặt ra
là làm cách nào để có thể sử dụng lại được các ứng dụng, các thành phần
đã được hoàn thiện trong hệ thống phân tán trên mạng Điều này sẽ giúpxây dựng nên các ứng dụng tương tác với nhau trên các nền tảng khácnhau, môi trường khác nhau, không bị giới hạn về ngôn ngữ lập trình, vàkhông mất quá nhiều chi phí thời gian cho việc xây dựng lại từ đầu
Trang 14CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 6
1.2 Web services
Một dịch vụ web (web services) là một hệ thống phần mềm được xâydựng để hỗ trợ khả năng tương tác giữa các máy tính trên mạng (theoWide Web Consortium)[7][8] Nó cung cấp một giao tiếp được mô tảtheo một định dạng chung thường gọi là ngôn ngữ mô tả dịch vụ web(Web Service Description Language – WSDL) Các hệ thống khác thựchiện tương tác với dịch vụ web thông qua giao thức SOAP (SimpleObject Access Protocol) Đây là giao thức giúp trao đổi thông tin sửdụng HTTP kết hợp với việc sử dụng đặc tả XML cùng với một số chuẩnkhác
Như vậy, mục đích chính của việc phát triển của dịch vụ web là chophép giao tiếp và trao đổi các chức năng, thông tin, dữ liệu giữa các ứngdụng một cách dễ dàng mà không cần quan tâm đến môi trường pháttriển, ngôn ngữ lập trình bởi tất cả đã được quy về một định dạng chung.Bản chất của web service là một tập hợp các đối tượng, các phương thứcđược thực thi và công bố trên mạng để có thể được triệu gọi từ xa thôngqua các ứng dụng khác
Để xem xét kỹ hơn về web service, chúng ta sẽ tìm hiểu sự ra đời vàvai trò của web service
1.2.1 Sự ra đời của web services
Web service là sự kế thừa từ các công nghệ phân tán trước đó nhưCORBA, DCOM và RMI
CORBA (Common Object Request Broker Architecture)[1][7][8][9]
là một giải pháp dựa trên các chuẩn mở do tổ chức OMG (ObjectManagement Group) đưa ra Điểm mạnh của CORBA là các ứng dụngtrên máy client và trên máy chủ có thể được viết bằng các ngôn ngữ lậptrình khác nhau nhờ sử dụng một ngôn ngữ định nghĩa giao tiếp(Interface Definition Language – IDL)[1] Tuy nhiên, việc xây dựng ứng
Trang 15CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 7
dụng phân tán sử dụng CORBA rất phức tạp và có rất ít ngôn ngữ lậptrình được CORBA hỗ trợ
DCOM (Distributed Component Object Model)[1][7][8] được đềxuất bởi Microsoft, giúp các thành phần phần mềm (softwarecomponent) giao tiếp với nhau trên môi trường phân tán Một DCOMserver sẽ công bố các phương thức, các đối tượng cho các máy kháchbằng cách hỗ trợ đa giao tiếp (multiple interfaces) Giao thức được sửdụng cho việc giao tiếp giữa các ứng dụng là Object Remote ProcedureCall (ORPC) DCOM chủ yếu được phát triển trên các hệ điều hànhWindows và chủ yếu được hỗ trợ phát triển bởi Microsoft[1]
RMI (Remote Method Invocation – RMI) [1][7][8][9]cho phép xâydựng các ứng dụng phân tán dựa trên công nghệ Java Một đối tượng viếtbằng Java có thể gọi đến một đối tượng từ xa mà nó tham chiếu đến.RMI sử dụng giao thức JRMP (Java Remote Method Protocol) Để xâydựng một ứng dụng phân tán sử dụng RMI đòi hỏi người lập trình phải
có kiến thức, kinh nghiệm về lập trình với ngôn ngữ Java và kỹ thuậtphân tán Mặc khác, hạn chế lớn nhất của RMI là chỉ hỗ trợ đối với cácứng dụng Java[1]
Bên cạnh những hạn chế của các công nghệ nói trên, một vấn đề phátsinh ở đây là khả năng tương tác giữa các ứng dụng được xây dựng trêncác công nghệ khác nhau Chúng ta không thể giao tiếp với một server sửdụng công nghệ DCOM từ một ứng dụng sử dụng công nghệ RMI bởichúng sử dụng hai giao thức khác nhau Vì vậy, web service ra đời làmột sự phát triển có vai trò quan trọng trong lĩnh vực phân tán trêninternet
Trang 16CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 8
1.2.2 Vai trò và đặc điểm của web services
Web service ra đời mở ra một hướng mới cho việc phát triển các ứngdụng trên internet Ngày nay, dịch vụ web được sử dụng trong nhiều lĩnhvực phát triển phần mềm khác nhau như các dịch vụ cung cấp giá cổphiếu, hỗ trợ thanh toán trực tuyến, chuyển đổi ngoại tệ, tìm kiếm thôngtin liên quan đến sản phẩm, đặc biệt là các dịch vụ web của các websitebán hàng trực tuyến như Amazon, eBay Web service đóng vai trò quantrọng trong việc phát triển các ứng dụng thương mại điện tử (e-commerce) Dùng dịch vụ web để kết hợp các các khả năng đơn lẻ chạytrên các hệ thống khác nhau thành một hệ thống tích hợp
1.3 Kiến trúc và các thành phần Web services
Công nghệ web service không phải là một công nghệ mới hoàn toàn,
mà nó ra đời dựa trên sự kết hợp các nền tảng công nghệ sẵn có trước đó
Nó là sự tích hợp các ứng dụng dựa trên web sử dụng các chuẩn mở nhưXML, SOAP, WSDL, UDDI Trong đó, XML được sử dụng để mô tả dữliệu, SOAP đóng vai trò giao thức truyền tải dữ liệu, WSDL mô tả chodịch vụ web và UDDI liệt kê danh sách các dịch vụ web đang hoạt động.1.3.1 XML – Extensible Markup Language
XML do W3C để ra và được phát triển từ SGML XML là một ngônngữ đánh dấu mở rộng với cấu trúc do người dùng định nghĩa Về hìnhthức, XML có cú pháp tương tự HTML, nhưng không tuân theo một đặc
tả quy ước như HTML Người sử dụng hay các chương trình có thể quyước định dạng các thẻ XML, ngoài ra không chứa bất cứ thông tin nàokhác về cách sử dụng hay hiển thị những thông tin ấy
Web service là sự kết hợp của nhiều thành phần khác nhau, và nó hỗtrợ tương tác giữa các hệ thống được cài đặt trên các môi trường khácnhau Do đó, cần sử dụng một dạng tài liệu có thể giúp giải quyết vấn đề
Trang 17CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 9
tương thích và XML hoàn toàn phù hợp với yêu cầu trên Nó đã trở thànhnền tảng cho việc xây dựng các web service XML có hai vai trò chính:
Trao đổi dữ liệu trong hệ thống sử dụng web service
Mô tả các giao thức sử dụng trong dịch vụ web
1.3.2 SOAP – Simple Object Access Protocol
SOAP (Simple Object Access Protocol)[1][7][8][9] là giao thứcdùng để truy xuất thông tin từ web service thông qua một dạng thôngđiệp chung SOAP được Microsoft đề xuất vào năm 1998 Hiện nay, nóthuộc quyền quản lý và cải tiến bởi tổ chức W3C SOAP là một giaothức dựa trên nền tảng XML, mô tả cách định dạng, đóng gói thông tincủa các thông điệp và trao đổi chúng thông qua mạng mà không phụthuộc vào bất kỳ ngôn ngữ hay môi trường thực thi nào
Đơn vị trao đổi thông tin cơ bản của giao thức SOAP là thông điệpSOAP (SOAP Message) Mỗi thông điệp SOAP sẽ được chỉ định bởi
một thẻ root <Envelope> chứa 2 thành phần là SOAP Header và SOAP
Body SOA Header chứa các thông tin cần thiết cho việc thực hiệnchuyển thông điệp hay cơ chế định danh, bảo mật SOAP Body chứa dữliệu ứng dụng
Cấu trúc của một thông điệp SOAP như hình sau:
Trang 18CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 10
Hình sau sẽ mô tả cách mà SOAP được sử dụng trong webservice[1]
Hình 1.1 Cấu trúc của một thông điệp SOAP
Hình 1.2 Sử dụng SOAP trong Web services
Trang 19CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 11
1.3.3 WSDL – Web Services Description Language
WSDL (Web Services Description Language)[1][7][8][9] là mộtdạng tài liệu dựa trên cú pháp XML để mô tả các dịch vụ web Lúc đầu
nó được Microsoft, IBM và Ariba để xuất, nhưng hiện nay được quản lýbởi tổ chức W3C Một tài liệu WSDL sẽ cung cấp tài liệu cho các hệthống phân tán như mô tả chức năng của một web service, cách thứctương tác, các thông điệp tương ứng cho các theo tác request hayresponse Sau đây là cấu trúc cơ bản của một tài liệu
Một tài liệu WSDL bao gồm 2 thành phần chính: Phần trừu tượng(abstract definitions)[1], và phần hiện thực (concrete definitions)[1].Phần trừu tượng bao gồm các thông tin được chứa các thẻ types,message, operation, và port types Phần hiện thực chứa thông tin trongcác thẻ bindings và ports Mỗi thành phần sẽ có một tham chiếu đến mộtthành phần khác được mô tả như hình sau:
Hình 1.3 WSDL
Trang 20CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 12
Mỗi thành phần có một chức năng riêng, cụ thể như sau:
types: chỉ định kiểu dữ liệu cho các thông điệp gửi và nhận
messages: là một thành phần trừu tượng mô tả cách thứcgiao tiếp giữa client và server
port types: mô tả ánh xạ giữa các thông điệp – được mô tảtrong phần tử messages – và các phương thức (operations)
binding: xác định giao thức nào được sử dụng khi giao tiếpvới dịch vụ web Định nghĩa kiểu binding (RPC/Document)
và giao thức vận chuyển binding cũng định nghĩa cácoperations
Port: chỉ định địa chỉ hoặc điểm kết nối đến web service, nóthường là một chuỗi URL đơn giản
Hình 1.4 Các thành phần của WSDL [1]
Trang 21CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 13
1.3.4 UDDI – Universal Description, Discovery, and Integration
UDDI (Universal Description, Discovery, and Integration) [1][7][8][9] được đề xuất bởi Microsoft, IBM và Ariba vào năm 2000 Ngày nay,UDDI thuộc quyền quản lý và phát triển bởi tổ chức OASIS(Organization for the Advancement of Structured InformationStandards) Nó được xây dựng nhằm mục đích cung cấp khả năng chophép công bố, tổng hợp và tìm kiếm các dịch vụ web
UDDI đưa ra một tập các hàm API được chia làm 2 phần: InquiryAPI (dùng để tìm kiếm và truy xuất) và Publisher’s API (công bố cácweb services)
Thông tin tổ chức trong UDDI được chia thành 3 phần:
White pages: Liệt kê thông tin của các nhà cung cấp dịch vụweb bao gồm địa chỉ, thông tin liên lạc, và định danh
Yellow pages: Phân loại dịch vụ theo tổ chức hay nhómdịch vụ hoặc địa điểm đặt các dịch vụ
Green pages: Cung cấp thông tin về các dịch vụ web được,
về cách thức truy xuất các web services đó
1.3.5 Kết luận
Thông qua các phần trên, chúng ta có một có cái nhìn toàn cảnh vềWeb Service, các kỹ thuật cốt lõi của việc áp dụng các ứng dụng phântán dựa vào SOAP, WSDL, và UDDI:
Trang 22CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 14
Các nhà cung cấp Web Service sẽ mô tả Web Sercive của mình trongmột tài liệu WSDL và công bố thông qua việc đăng ký UDDI sử dụngPublisher’s API (dựa trên nền tảng SOAP)
Một service requester sử dụng UDDI Inquiry API để tìm kiếm cácservice provider tương ứng với yêu cầu bên trong hệ thống đăng kýUDDI Nếu có một dịch vụ nào đó được tìm thấy, việc làm tiếp theo làdựa vào <tModel> để tham chiếu đến tài liệu WSDL tương ứng
Một SOAP request sẽ được tạo ra tương ưng với Web Service đượctìm thấy
Sau cùng SOAP request sẽ được gửi đến service provider, vàprovider xử lý trả về
Trang 23CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 15
1.4 Công nghệ RESTful web services
Như đã trình bày ở các phần trên, khi nhắc đến web services người tathường nghĩ đến các công nghệ nền tảng là SOAP, XML, WSDL vàUDDI Đó là các nền tảng cho công nghệ dịch vụ web sử dụng giao thứctruyền tải thông điệp SOAP và ngôn ngữ xây dựng giao tiếp dịch vụ làWSDL Nói cách khác chúng gắn liền với sự ra đời của khái niệm dịch
vụ web Tuy nhiên, thời gian gần đây, có một dạng web services mới đã
và đang được triển khai bởi một số tổ chức, đó là RESTful web services.RESTful web services là một công nghệ giúp xây dựng các dịch vụ dựahoàn toàn trên giao thức HTTP và không sử dụng ngôn ngữ mô tả giaotiếp WSDL được xuất phát từ công nghệ REST (đề xuất bởi RoyFielding năm 2000) Để hiểu rõ hơn về RESTful trước tiên chúng ta sẽtìm hiểu về REST
REST ( Representational State Transfer)[8] là một kiểu kiến trúc dựatrên các công nghệ và giao thức trên web như HTTP (Hypertext TransferProtocol) và XML Đặc điểm chính của REST là: khả năng tương tácgiữa các thành phần trên mạng, sử dụng môt giao diện chung, các thànhphần được phát triển độc lập, giảm độ trễ, đảm bảo tính bảo mật và khảnăng đóng gói
Bởi vì REST là một phương pháp lấy nội dung được cung cấp từ xadựa trên web và dữ liệu lấy về theo định dạng XML nên người dung chỉcần biết địa chỉ URL (Uniform Resource Locator) của trang web cungcấp nội dung là có thể lấy dữ liệu và sử dụng các công cụ chuyển đổi tàiliệu XML trả về theo nhu cầu Và muốn làm được như vậy đòi hỏi nhàcung cấp dịch vụ phải tạo ra một tài liệu XML chứa nội dung muốn cungcấp và đưa lên web
So với SOAP thì REST đơn giản hơn vì không đòi hỏi quá trìnhwrapping/binding từ XML sang các đối tượng dữ liệu hay ngược lại,cũng như không đòi hỏi tài liệu giao tiếp WSDL Vì thế sử dụng REST
Trang 24CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 16
sẽ không đòi hỏi các công cụ lập trình phức tạp Tuy nhiên, cũng chính
vì vậy mà REST chỉ phù hợp cho việc xây dựng các ứng dụng tương tácnhỏ và đơn giản Và SOAP sẽ là một lựa chọn hợp lý cho các hệ thốngđỏi hỏi mức độ tương tác linh hoạt, khả năng chia sẽ chức năng cũng như
Kiểu dữ liệu được truyền tải trên mạng: XML
Giao thức truyền tải: HTTP với các phương thức POST, GET,PUT và DELETE
Như vậy bản thân RESTful web services không định nghĩa thànhphần giao tiếp riêng như trong SOAP (WSDL) mà sử dụng thành phầngiao tiếp được cung cấp bởi HTTP
Hiện nay, nhiều tổ chức đã xây dựng các ứng dụng sử dụng RESTfulweb services như Amazon, Paypal… RESTful web services có thể đượcxem là một phần bổ sung cho SOAP web services trong trường hợpngười dung chỉ có nhu cầu chia sẽ dữ liệu là chủ yếu, ít dùng đến cácphương thức xử lý phức tạp
Như vậy, chúng ta có thể thấy rằng các công nghệ hỗ trợ pháttriển dịch vụ web ngày càng phát triển đa dạng, phong phú hơn
từ SOAP web services đến REST và RESTful Việc phát triểnnày hứa hẹn một tương lai sẽ có những sự cải tiến hay xuất hiệncác cách giao tiếp khác nhau trong mô hình dịch vụ web
Trang 25CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 17
CHƯƠNG 2: THƯƠNG MẠI ĐIỆN TỬ
2.1 Khái niệm
2.1.1 Theo nghĩa hẹp
Thương mại điện tử (E-Commerce hay E-Business) là hình thái hoạtđộng thương mại trong việc mua bán hàng hóa và dịch vụ bằng phươngtiện điện tử, nhất là qua internet và các mạng liên thông khác
Theo Tổ chức thương mại thế giới (WTO) : “Thương mại điện tửbao gồm việc sản xuất, quảng cáo, bán hàng và phân phối sản phẩm đượcmua bán và thanh toán trên mạng internet, nhưng được giao nhận mộtcách hữu hình, cả các sản phẩm giao nhận cũng như những thông tin sốhóa thông qua mạng internet”.[8]
2.1.2 Theo nghĩa rộng
Thương mại diện tử là các giao dịch tài chính và thương mại bằngphương tiện điện tử như: trao đổi dữ liệu điện tử, chuyển tiền điện tử vàcác hoạt động như gửi/rút tiền bằng thẻ tín dụng
Theo Luật mẫu về thương mại điện tử của Ủy ban Liên hợp quốc vềLuật Thương mại quốc tế (UNCITRAL): “Thuật ngữ thương mại-Commerce- cần được diễn giải theo nghĩa rộng để bao quát các vấn đềphát sinh từ mọi quan hệ mang tính chất thương mại dù có hay không cóhợp đồng Các quan hệ mang tính thương mại bao gồm các dịch vụ sauđây: bất cứ giao dịch nào về cung cấp hoặc trao đổi hàng hóa, dịch vụ;thỏa thuận phân phối; đại diện hoặc đại lý thương mại, ủy thác hoa hồng(factoring), cho thuê dài hạn (leasing); xây dựng các công trình, tư vấn,
kỹ thuật công trình (engineering); đầu tư, cấp vốn, ngân hàng, bảo hiểm;thỏa thuận khai thác hoặc tô nhượng, liên doanh và các hình thức khác vềhợp tác công nghiệp hoặc kinh doanh; chuyên chở hàng hóa hay hành
Trang 26CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 18
khách bằng đường biển, đường hàng không, đường sắt hoặc đường bộ”.[4]
Như vậy, có thể thấy rằng phạm vi của Thương mại điện tử rất rộng,bao quát hầu hết các lĩnh vực hoạt động kinh tế Trong đó, hoạt độngmua bán hàng hóa và dịch vụ chỉ là một phạm vi rất nhỏ trong Thươngmại điện tử
Ngày nay, người ta hiểu khái niệm Thương mại điện tử thông thường
là tất cả các phương pháp tiến hành kinh doanh và các quy trình quản trịthông qua các kênh điện tử, mà trong đó internet hay ít nhất là các kỹthuật và giao thức được sử dụng trong internet đóng một vai trò cơ bản,
và công nghệ thông tin được coi là điều kiện tiên quyết
2.2 Đặc trưng
So với các hoạt động thương mại truyền thống, Thương mại điện tử
có một số điểm khác biệt cơ bản sau:
a Các bên tiến hành giao dịch trong Thương mại điện tửkhông tiếp xúc trực tiếp với nhau và không đòi hỏi phải biếtnhau từ trước
b Các giao dịch thương mại truyền thống được thực hiện với
sự tồn tại của khái niệm biên giới quốc gia, còn Thương mạiđiện tử được thực hiện trong một thị trường không có biêngiới (thị trường thống nhất toàn cầu) Thương mại điện tửtác động trực tiếp tới môi trường cạnh tranh toàn cầu
c Trong hoạt đông giao dịch Thương mại điện tử đểu có sựtham gia của ít nhất ba chủ thể, trong đó có một bên khôngthể thiếu được là người cung cấp dịch vụ mạng, các cơ quanchứng thực
Trang 27CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 19
d Đối với thương mại truyền thống thì mạng lưới thông tin chỉ
là phương tiện để trao đổi dữ liệu, còn với Thương mại điện
tử thì mạng lưới thông tin chính là thị trường
2.3 Phân loại
Trong thương mại điện tử có ba chủ thể tham gia: Doanh nghiệp (B)giữ vai trò động lực phát triển thương mại điện tử, Người tiêu dùng (C)giữ vai trò quyết định sự thành công của thương mại điện tử và Chínhphủ (G) giữ vai trò định hướng, điều tiết và quản lý Theo tính chất củangười tham gia, thương mại điện tử bao gồm:
Trang 28CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 20
o G2B (Government to Business): Chính phủ với doanhnghiệp
o G2G (Government to Government): Chính phủ với Chínhphủ
Trong đó, B2B và B2C là hai loại hình giao dịch thương mại điện tửquan trọng nhất
B2B (Business to Business): là việc thực hiện các giao dịchgiữa các doanh nghiệp với nhau trên mạng Các bên tham giagiao dịch gồm: người trung gian trực tuyến, người mua vàngười bán Các loại giao dịch gồm: mua ngay theo yêu cầukhi giá cả thích hợp và mua theo hợp đồng dài hạn, dựa trênđàm phán cá nhân giữa người mua và người bán [4] Các loạigiao dịch cơ bàn:
o Bên bán: (một bên bán - nhiều bên mua) là mô hình dựatrên công nghệ web trong đó một công ty bán cho nhiềucông ty mua Có ba 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
o Bên mua: một bên mua – nhiều bên bán
o Sàn giao dịch: nhiều bên bán – nhiều bên mua
o Thương mại điện tử phối hợp: các đối tác phối hợp nhaungay trong quá trình thiết kế, chế tạo sản phẩm
B2C (Business to Consumer): đây là mô hình bán lẻ trực tiếpđến người tiêu dùng Trong thương mại điện tử, bán lẻ điện tử
có thể từ nhà sản xuất hoặc từ một cửa hàng thông qua kênhphân phối Mô hình kinh doanh bán lẻ có thể phân loại theoquy mô các loại hàng hóa, theo phạm vi địa lý (toàn cầu, khu
Trang 29CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 21
vực) hoặc theo kênh bán (bán trực tiếp hoặc qua kênh phânphối) [4] Một số hình thức của cửa hàng bán lẻ trên mạng:
o Brick-and-mortar: là loại cửa hàng bán lẻ kiểu truyềnthống, không sử dụng internet
o Click-and-mortar: là loại cửa hàng bán lẻ truyền thốngnhưng có kênh bán hàng qua mạng
o Cửa hàng ảo: là cửa hàng bán lẻ hoàn toàn trên mạng màkhông sử dụng kênh bán truyền thống
2.4 Các hình thức hoạt động
a Thư điện tử (email)
Các doanh nghiệp, cửa hàng kinh doanh… sử dụng thư điện tử đểgửi thư cho nhau hoặc gửi thư quảng bá sản phẩm một cách trựctuyến thông qua mạng, gọi là thư điện tử (electronic mail, viết tắt làe-mail) Thông tin trong thư điện tử không phải tuân theo một cấutrúc định trước nào
b Thanh toán điện tử
Thanh toán điện tử (electronic payment) là việc thanh toántiền thông qua thư điện tử (electronic message) như trả lươngbằng cách chuyển tiền trực tiếp vào tài khoản, trả tiền muahàng bằng thẻ tín dụng…Ngày nay, với sự phát triển củaTMDT, thanh toán điện tử đã mở rộng sang các lĩnh vực mới:
Trao đổi dữ liệu điện tử tài chính (Financial ElectronicData Interchange, gọi tắt là FEDI): chuyên phục vụ cho việcthanh toán điện tử giữa các công ty giao dịch với nhau bằngđiện tử
Tiền lẻ điện tử (Internet Cash): là tiền mặt được mua từ nơiphá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 qua
Trang 30CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 22
internet, áp dụng trong cả phạm vi một nước cũng như giữa cácquốc gia
Ví điện tử (Electronic Purse): là nơi để tiền mặt Internet,chủ yếu là thẻ thông minh (smart card), còn gọi là thẻ giữ tiền(stored value card), tiền được trả cho bất kỳ ai đọc được thẻ đó
Giao dịch điện tử của ngân hàng (Digital Banking)
c Trao đổi dữ liệu điện tử
Trao đổi dữ liệu điện tử (Electronic Data Interchange, viếttắt là EDI) là việc trao đổi các dữ liệu dưới dạng “có cấu trúc”(structured form) từ máy tính điện tử này sang máy tính điện tửkhác, giữa các công ty hoặc đơn vị đã thỏa thuận buôn bán vớinhau
Ngày nay EDI chủ yếu được thực hiện thông qua mạngInternet Để phục vụ cho buôn bán giữa các doanh nghiệpthuận lợi hơn với chi phí truyền thông không quá tốn kém,người ta đã xây dựng một kiểu mạng mới gọi là “mạng riêngảo” (Virtual Private Network), là mạng riêng dạng Intranet củamột doanh nghiệp nhưng được thiết lập dựa trên chuẩn trangWeb và truyền thông qua mạng Internet
Công việc trao đổi EDI trong TMĐT thường gồm các nộidung sau:
o Giao dịch kết nối
o Đặt hàng
o Giao dịch gửi hàng
o Thanh toán
d Truyền dung liệu (Content)
Dung liệu (Content) là nội dung của hàng hóa số, giá trị của nókhông phải trong vật mang tin mà nằm trong bản thân nội dung của nó
Trang 31CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 23
Hàng hóa số có thể giao qua mạng, như: tin tức, nhạc, phim, các chươngtrình truyền hình, các chương trình phần mềm, vé xem phim, vé máybay…
e Mua bán hàng hóa hữu hình
Đến nay, danh sách các hàng hóa bán lẻ qua mạng đã mở rộng, từhoa, quần áo đến ô tô và xuất hiện một loại hoạt động gọi là “mua hàngđiện tử” (electronic shoping) hay “mua hàng trên mạng”; ở một số nước,internet bắt đầu trở thành công cụ để cạnh tranh bán lẻ hàng hữu hình(Retail of tangible goods) Tận dụng tính năng đa phương tiện(multimedia) của môi trường Web, người bán hàng xây dựng trên mạngcác “cửa hàng ảo” (virtual shop), gọi là ảo bởi vì, cửa hàng có thật nhưng
ta chỉ xem toàn bộ quang cảnh cửa hàng và các hàng hóa chứa trong đótrên từng màn hình
Trang 32CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 24
2.5 Lợi ích
Sau đây là một số lợi ích mà thương mại điện tử mang lại:
Thu thập được nhiều thông tin: giúp doanh nghiệp thu thậpthông tin phong phú về kinh tế thị trường, nhờ đó có thể xâydựng chiến lược sản xuất và kinh doanh thích hợp với xu thếphát triển của thị trường trong nước và quốc tế
Giảm chi phí sản xuất: trước hết là chi phí văn phòng, chi phítìm kiếm chuyển giao tài liệu và chi phí in
Giảm chi phí bán hàng, tiếp thị và giao dịch: bằng phươngtiện internet/web một nhân viên bán hàng có thể giao dịchđược với rất nhiều khách hàng, giúp giảm chi phí và thời giangiao dịch
Xây dựng quan hệ với đối tác: tạo điều kiện cho việc thiết lập
và củng cố mối quan hệ giữa các thành viên tham gia vào quátrình thương mại như người tiêu thụ, doanh nghiệp, cơ quanChính Phủ… Mọi người có thể giao tiếp trực tiếp và liên tụcvới nhau, có cảm giác như không có khoảng cách về địa lý vàthời gian nữa
Tạo điều kiện sớm tiếp cận với kinh tế tri thức: trước hết,thương mại điện tử sẽ kích thích sự phát triển của công nghệthông tin, tạo cơ sở cho phát triển kinh tế tri thức
2.6 Kết Luận
Chương này giới thiệu một số lý thuyết về thương mại điện tử nhưkhái niệm, đặc trưng, phân loại, các hình thức hoạt động và lợi ích
Trang 33CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG 25
CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG
3.1 Đánh giá một số website thương mại điện tử tại Việt Nam
và trên thế giới
Để có cái nhìn tổng quát về thương mại điện tử, chúng tôi đã khảosát một số website thương mại điện tử nổi tiếng ở Việt Nam và trên thếgiới
Thế giới:
Thương mại điện tử ở nước ngoài nhất là các nước phát triển đã có từlâu và hiện nay đã phát triển vượt bậc Do điều kiện cơ sở vật chất thuậnlợi, hầu hết mọi người dân đều sử dụng internet và việc gửi tiền ở ngânhàng là rất phổ biến, nên thương mại điện tử được xem như là sự lựachọn hàng đầu của mọi người Thêm vào đó, thương mại điện tử manglại nhiều lợi ích thiết thực cho người sử dụng như tiết kiệm thời gian, tiếtkiệm tiền bạc và có các phương thức thanh toán rất dễ dàng, thuận lợi vànhanh chóng Từ đó, sự tin tưởng của người dùng vào việc lựa chọnthương mại điện tử ngày càng tăng và ngày càng thu hút mọi người thamgia Do đó, lợi nhuận mà thương mại điện tử mang lại cho các nước pháttriển là không nhỏ
Một số website thương mại điện tử nổi tiếng ở nước ngoài:
[1] http://www.ebay.com
Trang web này không chỉ cho phép người dùng mua sản phẩmtrực tiếp mà còn cho họ đưa sản phẩm lên để bán cho các kháchhàng khác Ebay cho phép khách hàng lựa chọn phương thức thanhtoán sao cho tiện lợi với mình nhất Một số phương thức thanh toán
mà Ebay hỗ trợ là: thanh toán thông qua PayPal, ProPay, Paymate,Moneybookers và Credit Card hoặc Debit Card Trong đó, phươngthức thanh toán chủ yếu dùng hầu hết cho người bán và người mua
Trang 34CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG 26
đó là thanh toán qua PayPal Khách hàng có thể thanh toán ở bất kỳnơi nào trên thế giới
[2] http://www.amazon.com
Trang web Amazon có một điểm mới là cho phép khách hàng
có thể bán sản phẩm của mình trên chính trang web thương mạiđiện tử của khách hàng (WebStore with Amazon) Amazon cũng hỗtrợ nhiều phương thức thanh toán cho khách hàng, sao cho có thểmang lại sự tiện lợi nhất Một số phương thức thanh toán màAmazon hỗ trợ là: thanh toán trực tiếp từ tài khoản ngân hàng củakhách hàng, Amazon.com Store Card, Gift Cards, Credit Card vàCheck Card như Visa, MasterCard/EuroCard, Discover Network,American Express, JCB, Amazon Credit Account
Hình 3.1 Website www.ebay.com
Trang 35CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG 27
Việt Nam:
Nhìn chung thương mại điện tử vẫn còn trong giai đoạn thử thách và
có tiềm năng phát triển rất lớn Ở Việt Nam, thương mại điện tử dườngnhư vẫn còn mới đối với mọi người Hiện nay, thương mại điện tử đangdần dần khẳng định vị thế và lợi ích của mình, thu hút ngày càng nhiềukhách hàng tham gia mua hàng trực tuyến Nhưng do tâm lý người dânchưa quen với việc có một tài khoản ở ngân hàng, cũng như chỉ một sốngân hàng có sự hỗ trợ thanh toán trực tuyến, nên việc giao dịch thươngmại điện tử thông qua ngân hàng vẫn còn hạn chế Các website thươngmại điện tử có những phương thức thanh toán riêng cho mình, nhằm hỗtrợ tối đa cho các khách hàng, và giúp các khách hàng có thể thực hiệnphương thức thanh toán đơn giản, tiện dụng và nhanh nhất
Hình 3.2 Website www.amazon.com
Trang 36CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG 28
Một số website thương mại điện tử tiêu biểu:
[1] http://ebay.chodientu.vn
Ở website này, khách hàng có thể lựa chọn các khu vực được
hỗ trợ, đó là khu vực khách hàng có thể mua sản phẩm, khu vựckhách hàng có thể bán sản phẩm của mình và cuối cùng là khu vựcmua đặc biệt, khi mà sản phẩm khách hàng cần mua không có trênwebsite Ngoài ra, khách hàng còn có thể lựa chọn mua hàng bằnghình thức đấu giá hoặc mua ngay Trang web này có hai phươngthức thanh toán được hỗ trợ cho khách hàng, đó là thông qua:
Tài khoản tại Ngân lượng (http://www.nganluong.vn)
Tài khoản tại một số ngân hàng có hỗ trợ thanh toán trựctuyến như Ngân hàng Đông Á, Ngân hàng Đầu tư và pháttriển Việt Nam, Ngân hàng Ngoại thương Việt Nam…
Trang 37CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG 29
[2] http://www.vinabook.com
Ở website này, chỉ có thể hỗ trợ khách hàng mua sản phẩm màkhông thể bán sản phẩm mình có thông qua trang web cho cáckhách hàng khác Bù lại, trang web có hỗ trợ nhiều phương thứcthanh toán, có thể thanh toán trong nước cũng như thanh toán quốc
tế, giúp khách hàng có thể lựa chọn phương thức thanh toán phùhợp với mình nhất
Thanh toán trong nước
o Thanh toán trực tiếp khi nhận hàng
o Chuyển tiền qua bưu điện
o Thanh toán bằng thẻ ATM
Hình 3.3 Website ebay.chodientu.vn
Trang 38CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG 30
o Thanh toán bằng ví điện tử Payoo
o Thanh toán bằng Vinapay: ví điện tử Vcash
o Thẻ trả trước Vinabook
Thanh toán quốc tế
o Chuyển tiền Western Union
o Thanh toán bằng Credit Card
o Chuyển khoản ngân hàng
Hình 3.4 Website www.vinabook.com
Trang 39CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG 31
3.2 Các yêu cầu nghiệp vụ của website
Xây dựng ứng dụng sử dụng công nghệ web service với các yêu cầusau:
Xây dựng website bán sách qua mạng
Tìm kiếm và so sánh sách của website với các sản phẩmtương tự trên các website khác (amazon, ebay, …)
Thực hiện thanh toán trực tuyến ngay trên website
Từ các yêu cầu trên, web site phải đảm bảo các nghiệp vụ chủ yếusau:
1 Đăng ký tài khoản Cho phép khách hàng đăng
ký tài thành viên, tiện chonhững khách hàng thườngxuyên mua sản phẩm trênwebsite
2 Tìm kiếm sản phẩm có trongwebsite sản phẩm mình cần trên websiteNgười dùng có thể tìm kiếm
3 Tìm kiếm sản phẩm ởwebsite khác người dùng tìm sản phẩm trênChức năng này cho phép
các website khác Amazon,Ebay… Để người dùng có thểtham khảo, mua hàng từ cácwebsite đó
4 Xem thông tin sản phẩm Liệt kê một số thông tin liên
quan đến sản phẩm
5 Thanh toán trực tuyến Cho phép người dùng thanh
toán trực tuyến thông qua dịch
vụ thanh toán cùa Paypal
6 Tạo giỏ hàng Người dùng sẽ tạo cho mình
một giỏ hàng để lưu trữ sảnphẩm mình cần mua
7 Cập nhật, thêm, xóa sảnphẩm trong giỏ hàng xóa sản phẩm cần mua từ giỏCho phép người dùng thêm,
Trang 40CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG 32
10 Chuyển đổi tiền tệ Chuyển đổi qua lại giá của
sản phẩm giữa các loại tiền tệthông dụng
11 Quản lý user Admin quản lý tài khoản
người dùng
12 Quản lý tài khoản Người dùng có thể thay đổi
một số thông tin đã đăng ký
13 Thêm, xóa, sửa sản phẩmcủa website websiteCập nhật sản phẩm của
14 Quản lý các đơn đặt hàng Xem chi tiết, xác nhận, hoặc