BỘ 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
CAO THIỆN QUANG MSSV: 05110106
GIÁO VIÊN HƯỚNG DẪN:
Ths. LÊ VĂN VINH
TP. HỒ CHÍ MINH – 2009
LỜI CÁM ƠN 3
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ên
trong nhóm, đề tài “Áp dụng Web services trong việc xây dựng ứng dụng thương
mạ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ô, anh
chị, bạn bè trong Khoa Công Nghệ Thông Tin đã giúp đỡ và đóng góp ý kiến cho
chú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
MỤC LỤC 4
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ 5
A. PHẦN MỞ ĐẦU 9
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ệ.
B. PHẦN NỘI DUNG 10
PHẦN NỘI DUNG
B
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 11
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ấp
các nền tảng cơ bản, một kho mã nguồn thực sự hữu ích cho việc xây
dựng các ứng dụng từ xa. Đồng thời, sự phát triển của các hệ thống ngôn
ngữ lập trình ngày càng làm tăng tính đa dạng, phong phú và tính hữu ích
của các hệ thống này. Tuy nhiên, một vấn đề đặt ra là làm sao có thể tận
dụng được những nền tảng sẵn có này bởi mỗi ứng dụng sẽ có một định
dạ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ác
giao thức trao đổi khác nhau và được phát triển trên các nền tảng khác
nhau. 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 ứng
dụ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ột
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 (Object
Management Group) đưa ra. Điểm mạnh của CORBA là các ứng dụng
trên máy client và trên máy chủ có thể được viết bằng các ngôn ngữ lập
trì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
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ập
trì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 (software
component) giao tiếp với nhau trên môi trường phân tán. Một DCOM
server sẽ công bố các phương thức, các đối tượng cho các máy khách
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 13
bằ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 Procedure
Call (ORPC). DCOM chủ yếu được phát triển trên các hệ điều hành
Windows 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ây dựng các ứng dụng phân tán dựa trên công nghệ Java. Một đối tượng
viết bằ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ây
dự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ật
phâ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át
sinh ở đây là khả năng tương tác giữa các ứng dụng được xây dựng trên
cá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ởi
chúng sử dụng hai giao thức khác nhau. Vì vậy, web service ra đời là một
nề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ức
dù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 giao thức
dựa trên nền tảng XML, mô tả cách định dạng, đóng gói thông tin của
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 15
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ệp
SOAP (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ện
chuyể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:
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 16
Hình sau sẽ mô tả cách mà SOAP được sử dụng trong web
service[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
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 17
1.3.3. WSDL – Web Services Description Language
WSDL (Web Services Description Language)[1].[7].[8].[9]. là một
dạ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ệ
Standards). Nó được xây dựng nhằm mục đích cung cấp khả năng cho
phé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: Inquiry
API (dùng để tìm kiếm và truy xuất) và Publisher’s API (công bố các
web 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óm dị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ân
tán dựa vào SOAP, WSDL, và UDDI:
Các nhà cung cấp Web Service sẽ mô tả Web Sercive của mình trong
một tài liệu WSDL và công bố thông qua việc đăng ký UDDI sử dụng
Publisher’s API (dựa trên nền tảng SOAP)
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 20
Một service requester sử dụng UDDI Inquiry API để tìm kiếm các
service 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 được
tìm thấy.
Sau cùng SOAP request sẽ được gửi đến service provider, và
provider xử lý trả về.
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 ta
nhỏ 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ư
dữ liệu cao.
RESTful web services là một dạng dịch vụ web đơn giản được xây
dựng nhờ công nghệ REST bao gồm ba thành phần chính sau:
• Định danh tài nguyên cố định (URI – Uniform Resource
Identifier) cho dịch vụ web: cho biết địa chỉ cụ thể nơi cung cấp
dữ liệu trên mạng.
• 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
CHƯƠNG 1: CÔNG NGHỆ WEB SERVICES 22
Như vậy bản thân RESTful web services không định nghĩa thành
phần giao tiếp riêng như trong SOAP (WSDL) mà sử dụng thành phần
giao 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 RESTful
web services như Amazon, Paypal… RESTful web services có thể được
xem là một phần bổ sung cho SOAP web services trong trường hợp
người dung chỉ có nhu cầu chia sẽ dữ liệu là chủ yếu, ít dùng đến các
phươ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át
triể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ển
này hứa hẹn một tương lai sẽ có những sự cải tiến hay xuất hiện
các cách giao tiếp khác nhau trong mô hình dịch vụ web.
CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 23
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
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ết nhau 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ên giớ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ông thể thiếu được là người cung cấp dịch vụ mạng,
các cơ quan chứng thực.
CHƯƠNG 2:THƯƠNG MẠI ĐIỆN TỬ 25
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ính
phủ (G) giữ vai trò định hướng, điều tiết và quản lý. Theo tính chất của