Tải bản đầy đủ (.docx) (96 trang)

Kỹ thuật xây dựng và khai thác Web Services

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.41 MB, 96 trang )

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA KHOA HỌC Tự NHIÊN
BÔ MÔN TIN HOC ỨNG
DUNG • • •

LUÂN VĂN TỐT NGHIÊP ĐAI HOC
••••

KỸ THUẬT XÂY DỰNG VÀ KHAI THÁC
WEB SERVICES

Sinh viên thực hiện

Cán bộ hướng dẫn

Lư Minh Phúc

Ths.Võ Hải Đăng

MSSV:1101897

Cần Thơ, 2014


TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA KHOA HỌC Tự NHIÊN
BÔ MÔN TIN HOC ỨNG DUNG
•••

LUẬN VÃN TỐT NGHIỆP ĐẠI HỌC


KỸ THUẬT XÂY DỰNG VÀ KHAI THÁC WEB
SERVICES
Sinh viên thực hiện

Cán bộ hướng dẫn

Lư Minh Phúc

Ths. Võ Hải Đăng

MSSV: 1101897

Cán bộ phản biện
Ths. Nguyễn Minh Trung
Ks. Hoàng Minh Trí
Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học ứng
dụng Khoa Khoa họcTự nhiên, Trường Đại học cần Thơ vào ngày 20 tháng 5 năm
2014
Mã số đề tài:
Có thế tìm hiếu luận văn tại:
-Trung tâm Học liệu, Trường Đại học cần Thơ
-Website: />
CầnThơ, 2014


LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc tới Trường Đại học cần Thơ
cùng toàn thể thầy, cô giáo đã tạo điều kiện học tập và giảng dạy cho tôi suốt thời gian
học tập tại Trường Đại học cần Thơ. Kiến thức của các thầy, cô giáo giảng dạy là vô
cùng quý báo và là hành trang cần thiết cho tôi sau khi ra trường.

Tôi xin gửi lòi cảm ơn chân thành và biết ơn sâu sắc tới Thạc sĩ Võ Hải Đăng (Bộ
môn Tin Học ứng Dụng - Khoa Khoa Học Tự Nhiên - Trường Đại học cần Thơ) đã chỉ
bảo và hướng dẫn tận tình cho tôi trong suốt quá trình thực hiện luận văn này.
Tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc tới toàn thể giáo viên trong
Bộ môn Tin Học ứng Dụng - Khoa Khoa Học Tự Nhiên - Trường Đại học cần Thơ đã tận
tình giảng dạy những kiến thức quý báo và giúp đỡ cho tôi rất nhiều để có cơ sở thực
hiện luận văn này.
Tôi xin cảm ơn tới toàn thể các bạn trong lớp Tin Học ứng Dụng khóa 36 cùng
toàn thể bạn bè, gia đĩnh đã giúp đỡ, ủng hộ và khuyến khích tôi trong quá trình nghiên
cứu và thực hiện luận văn này.
Xin chân thành cảm ơn!

_

Cần Thơ, ngày 28 tháng 4 năm 2013
Sinh viên
Lư Minh Phúc


Luận Văn - Tin Học ửngDụng K.36

MUC LUC

••

Trang
LỜI CẢM ƠN...............................................................................................................1
MỤC LỤC.....................................................................................................................4
DANH MỤC HÌNH......................................................................................................7
DANH MỤC BẢNG...................................................................................................11

DANH MUC CÁC KÝ HIẼU, CHỮ VIẾT TẮT.......................................................12
TÓM TẮT...................................................................................................................13
TỪ KHÓA...................................................................................................................14
ABSTRACT................................................................................................................14
KEY WORDS.............................................................................................................15
MỞ ĐẦU.....................................................................................................................16
CHƯƠNG 1 TỔNG QUAN........................................................................................18
1.1 ĐẶT VẢNĐỀ......................................................................................................18
1.1.1 Hiện trạng.................................................................................................18
1.1.2 Mục tiêu...................................................................................................18
1.2 LỊCH SỬ GIẢI QUYẾT.....................................................................................19
1.3 PHẠM VI ĐỀ TÀI..............................................................................................19
1.4 PHƯƠNG PHÁP NGHIÊN CỨU.......................................................................19
1.4.1 về lý thuyết...............................................................................................19
1.4.2 về thực nghiệm.........................................................................................20
CHƯƠNG 2 Cơ SỞ LÝ THUYẾT.............................................................................21
2.1 KỸ THUẬT XÂY DựNG WEB SERVICES.....................................................21
GVIID : Ths. Võ Hải Đăng

Trang


Luận Văn - Tin Học ửng Dụng K.36

2.1.1 Khái niệm Web Services.........................................................................21
2.1.2 Mô hình hoạt động của Web Services.....................................................25
2.1.3 Hoạt động của Web Services...................................................................26
2.1.4 Đặc điểm của Web Services....................................................................26
2.1.5 Kiến trúc giao thức của Web Services....................................................29
2.1.6 Các thành phần của Web Services..........................................................31

2.1.7 Bảo mật Web Services............................................................................60
2.1.8 Xây dựng Web Services..........................................................................64
2.1.9 Ví dụ về xây dựng một Web Services đon giản bằng php......................68
2.2 KỸ THUẬT KHAI THÁC WEB SERVICES...................................................78
CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỬU.....................................83
3.1 ĐẶC TẢ HỆ THỐNG........................................................................................83
3.1.1 Mô tả hoạt động hệ thống........................................................................83
3.1.2 Phương pháp thu thập thông tin..............................................................86
3.2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG...............................................................87
3.2.1 Mô hình quan niệm (MCD).....................................................................87
3.2.2 Mô hình thực thể ER...............................................................................95
3.2.3 Mô hình vật lý PDM...............................................................................97
3.2.4 Giải thích các bảng dữ liệu.....................................................................110
3.2.5 Lược đồ cơ sở dữ liệu quan hệ................................................................117
3.2.6 Ràng buộc khóa ngoại.............................................................................118
3.2.7 Sơ đồ chức năng nghiệp vụ (BFD).........................................................118
3.2.8 Mô tả các ràng buộc toàn vẹn................................................................119
GVIID : Ths. Võ Hải Đăng

Trang


Luận Văn - Tin Học ửng Dụng K.36

3.2.9 Trigger trong cơ sở dữ liệu....................................................................123
3.3 KẾT QUẢ ĐẠT Được....................................................................................126
3.3.1 Phần xây dựng Web Services.................................................................126
3.3.2 Phần khai thác Web Services..................................................................131
KẾT LUẬN VÀ ĐỀ NGHỊ........................................................................................166
THUẬN LỢI VÀ KHÓ KHĂN................................................................................167

Thuận lợi...................................................................................................................167
Khó khăn và hạn chế.........................................................................................167
Hạn chế và nguyên nhân...................................................................................168
HƯỚNG PHÁT TRIỂN....................................................................................168
TÀI LIỆU THAM KHẢO VÀ PHỤ LỤC................................................................169
PHỤ LỤC..........................................................................................................169
TÀI LIỆU THAM KHẢO.................................................................................173

GVIID : Ths. Võ Hải Đăng

Trang


DANH MUC HÌNH
Hình 2.1 Mô hình minh họa về hoạt động trao đổi thông tin giữa Web Services và các Client chạy trên các nền tảng khác nhau
.......................................................................................................................................23
Hình 2.2 Giao tiếp giữa ứng dụng với Web Services và giữa chúng với nhau..........23
Hình 2.3 Sơ đồ tương tác giữa User và Web Services...............................................24
Hình 2.4 Sự phối hợp hoạt động giữa các ứng dụng..................................................25
Hình 2.5 Mô tả kiến trúc chồng giao thức của Web Service......................................30
Hình 2.6 Mô hình hoạt động của XML Schema........................................................37
Hình 2.7 Các kiểu dữ liệu trong XML Schema..........................................................39
Hình 2.8 Lược đồ XML và UDDI..............................................................................52
Hình 2.9 Hình mô tả quá trình xác nhận một thông điệp...........................................63
Hình 2.10 Hình mô tả quá trình mã hóa một thông điệp............................................63


Hình 2.11 Qui trình xây dựng một Web Services.......................................................65
Hình 2.12 Mối liên hệ các thành phần có trong Web Services...................................67
Hình 2.13 Minh họa 1.................................................................................................69

Hình 2.14 Minh họa 2.................................................................................................70
Hình 2.15 Web Services tính toán đon giản................................................................71
Hình 2.16 WSDL mô tả Web Services........................................................................72
Hình 2.17 Tạo dự án mói trong Soap UI.....................................................................73
Hình 2.18 Thông tin trong header của thông điệp Soap.............................................74
Hình 2.19 Nội dung XML của thông điệp Soap response..........................................74
Hình 2.20 Thực hiện phép cộng..................................................................................77
Hình 2.21 Thực hiện phép nhân..................................................................................77
Hình 2.22 Thực hiện phép chia...................................................................................77
Hình 2.23 Web Services ASP.NET tên DictService....................................................79
Hình 2.24 Kết quả tra cứu từ khóa program...............................................................82
Hình 3.1 Mô hình thực thể ER....................................................................................96
Hình 3.2 Mô hình vật lý PDM....................................................................................99
Hình 3.3 Sơ đồ chức năng cho toàn bộ hệ thống......................................................101
Hình 3.4 Sơ đồ chức năng với quyền quản trị (use case diagram)............................104
Hình 3.5 Sơ đồ chức năng với quyền phòng đào tạo (use case diagram).................106
Hình 3.6 Sơ đồ chức năng với quyền giảng viên (use case diagram).......................108
Hình 3.7 Sơ đồ chức năng với quyền sinh viên (use case diagram).........................109
Hình 3.8 Danh sách các dịch vụ trên Web Services..................................................128
Hình 3.9 Mô tả về Web Services trên bằng WSDL...................................................131


Hình 3.10 Trang đăng nhập hệ thống - login.html...................................................135
Hình 3.11 Trang chủ phía trên - index.html..............................................................136
Hình 3.12 Trang chủ phía dưới - index.html.............................................................137
Hình 3.13 Trang danh mục sinh viên........................................................................138
Hình 3.14 Trang danh mục giáo viên........................................................................139
Hình 3.15 Trang cập nhật phân nhóm thực hành......................................................140
Hình 3.16 Cập nhật phân công giảng viên................................................................141
Hình 3.17 Trang cập nhật xem lịch giảng dạy..........................................................142

Hình 3.18 Trang cập nhật điểm danh........................................................................143
Hình 3.19 Trang cập nhật xem lịch học....................................................................144
Hình 3.20 Trang xem điểm.......................................................................................145
Hình 3.21 Thống kê phòng trống..............................................................................146
Hình 3.22 Thống kê theo nhóm học phần.................................................................147
Hình 3.23 Thống kê theo từng nhóm học phần.........................................................148
Hình 3.24 Tiện ích xem tin tức..................................................................................149
Hình 3.25 Tiện ích thay đổi chủ đề...........................................................................150
Hĩnh 3.26 Xem thông tin người dùng.......................................................................151
Hình 3.27 Tiện ích Chat............................................................................................152
Hình 3.28 Thêm giảng viên.......................................................................................153
Hình 3.29 Kết quả thêm giảng viên thành công........................................................154
Hình 3.30 Tìm kiếm giảng viên................................................................................154
Hình 3.31 Xóa các giảng viên...................................................................................155
Hình 3.32 Xóa thành công các giảng viên................................................................156


Hình 3.33 Thêm danh sách giảng viên từ Excel......................................................156
Hĩnh 3.34 Đã thêm thành công ba giảng viên...........................................................157
Hình 3.35 Kéo thả tên giảng viên để thựchiện phân công........................................158
Hĩnh 3.36 Đã lưu lịch phân công..............................................................................159
Hình 3.37 Xóa phân công hiện có.............................................................................160
Hĩnh 3.38 Đang xóa phân công.................................................................................161
Hĩnh 3.39 Đã xóa thành công phân công..................................................................161
Hĩnh 3.40 Form đăng nhập hệ thống.........................................................................162
Hình 3.41 Giao diện của Form chính........................................................................163
Hình 3.42 Thêm sinh viên thành công......................................................................163
Hình 3.43 Xác nhận xóa sinh viên............................................................................164
Hình 3.44 Xóa thành công sinh viên.........................................................................165
Hình 3.45 Tìm kiếm sinh viên...................................................................................165



DANH MUC BẢNG


Bảng 2.1 Bảng so sánh Web Services với các ứng dụng Web thông thường.............28
Bảng 2.2 Các biểu thức trong Xpath........................................................................43
Bảng 2.3 Kết quả đạt được khi sử dụng Xpath.........................................................44
Bảng 3.4 Niên Khóa (NIEN_KHOA)......................................................................110
Bảng 3.5 Sinh Viên (SINH_VIEN)..........................................................................110
Bảng 3.6 Giảng Viên (GIANG_VIEN)....................................................................111
Bảng 3.7 Môn Học (MON_HOC)............................................................................111
Bảng 3.8 Phòng Học (PHONG_THUCHANH).......................................................112
Bảng 3.9 Bảng Nhóm Học Phần (NHOM_HOC_PHAN).......................................112
Bảng 3.10 Buổi Thực Hành (BUOI_THUC_HANH)..............................................113
Bảng 3.11 Danh Sách Đăng Ký Học Phần (DANHSACH_DANGKYHP).............113
Bảng 3.12 Danh Sách Học Thực Hành (DANHSACH_HOCTHUCHANH)..........114
Bảng 3.13 Phụ Trách Giảng Dạy (PHUTRACH_GIANGDAY).............................114
Bảng 3.14 Đăng Ký Dạy Bù (DANGKY_DAYBU)................................................115
Bảng 3.15 Bảng Điểm Danh (DIEM_DANH).........................................................116
Bảng 3.16 Bảng Nhóm Thực Hành (NHOMTHUC_HANH)..................................116


Luận Văn - Tin Học ửng Dụng K.36

DANH MUC CÁC KÝ HIÊU, CHỮ VIẾT TẮT
Chữ viết tắt

Nguyên nghĩa


HTTP

Viết tắt của Hypertext Transfer Protocol. Là giao thức
truyền tải siêu văn bản.

HTTPS

Viết tắt của Hypertext Transfer Protocol Secure. Nó là một
sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL
hay TLS cho phép trao đổi thông tin một cách bảo mật trên
Internet.

HTML

Viết tắt của Hypertext Markup Language

XML

Viết tắt của extensible Markup Language (Ngôn ngữ Đánh
dấu mở rộng). Là một ngôn ngữ có cấu trúc là các thẻ do
người dủng định nghĩa.

ws

Viết tắt của Web Services

WSDL

Viết tắt của Web Service Description Language. Dùng để
mô tả về Web Service


XPATH

Viết tắt của XML Path. Dùng để trích xuất dữ liệu trong tập
tin XML.

UDDI

Viết tắt của Universal Description, Discovery and
Integration. Dùng để mô tả, khám phá các dịch vụ của

GVHD : Ths. Võ Hải Đăng

Trang 12


Web Service.
Viết tắt của Simple Object Access Protocol. Là giao thức
SOAP
Luận Văn - Tin Học ửng Dụng K.36
truyền thông điệp đơn giản giữa client và web service.

TCP/IP

Viết tắt của Transmission Control Protocol/ Internet
Protocol. Là một giao thức dùng để truyền thông qua các
đường dây của mạng rộng và gữa các môi trường đa dạng.

W3C


Viết tắt của World Wide Web Consortium

TÓM TẮT
Công nghệ Web services cho phép các ứng dụng chạy trên các nền tảng, hệ điều
hành khác nhau, trên các thiết bị thông minh như điện thoại thông minh, máy tính bảng,
laptop có thể giao tiếp, trao đổi dữ liệu với nhau thông qua nó. Ngoài ra Web services
cũng đang được phát triển bỏi nhiều công ty lớn như Google, Yahoo, Amazon., và được
khai thác ứng dụng rộng rãi trong nhiều lĩnh của vực xã hội. Chính vì vậy công nghệ
Web services đang là một công nghệ thời thượng, hấp dẫn và mạnh mẽ, giúp tạo ra
những hệ thống hợp nhất với chi phí vả độ phức tạp thấp trong việc tích họp và phát triển
hệ thống.
Chính vì lý do này nên tôi chọn đề tài “Kỹ thuật xây dựng và khai thác Web
services” làm đề tài luận văn của tôi.
Nội dung chính của đề tài này là tập trung nghiên cứu để nắm bắt được kỹ thuật
xây dựng và khai thác Web services theo từng bước bằng ngôn ngữ PHP. Nhằm minh
họa cụ thể hơn về công nghệ Web services này, tôi đã xây dựng một Web services quản
lý phòng máy thực hành cho bộ môn Tin Học ứng Dụng và các client chạy trên các nền
Web và Desktop có thể giao tiếp với nhau thông qua Web services quản lý phòng máy
thực hành này.

GVIID : Ths. Võ Hải Đăng

Trang 13


Luận Văn - Tin Học ửngDụng K.36

Trong tưcmg lai tôi sẽ tiếp tục nghiên cứu, mở rộng đề tài này và cố gắng khắc
phục những vấn đề còn hạn chế ở hiện tại, cũng như triển khai công nghệ Web services
lên nhiều nền tảng hcm nữa .

TỪ KHÓA
Ngôn ngữ XML Thông
điệp Soap Mô hình Web
Services Khai thác Web
Services

ABSTRACT
Web services technology enables the applications running under various
frameworks, operating systems which are integrated on smart devices such as smart
phones, tablets, laptops, to communicate and exchange data with each other. Besides
that, Web services are also developed by Google, Yahoo, Amazon .... and applied widely
in many fields of society. Therefore, Web services is an up-to-date, attractive and
powerful technology which helps to create the most appropriate systems with lower cost
and complication in integrating and developing the systems.
That is the reason of choosing this topic “Building and developing engineering of
Web services” to be my thesis.
This topic focuses on studying to gradually master the building and developing
engineering of Web service by PHP language. To illustrate Web services technology, I
built Web services of managing computer room used for practicing Applied
Informatics, web-based and desktop-based clients can communicate with each other
G VIID : Ths. Võ Hải Đăng

Trang 14


Luâit Van - Tin Hoc ting Dung K.36

through the Web services of managing computer room.
In the future, I will continue to study, extend this topic and remedy the current
limitations as well as developing Web services with multi framework.

KEY WORDS
Web Services Xpath
XML Schema WSDL
UDDI (Universal Description Discovery and Integration)

G VIID : Ths. Võ Hải Đăng

Trang 15


MỞ ĐẦU
Ngày nay, công nghệ thông tin phát triển mạnh mẽ đồng hành với nhu cầu trao
đổi thông tin và sử dụng dịch vụ ngày càng tăng , dẫn đến ngày càng có nhiều ứng dụng
ra đời nhằm đáp ứng nhu cầu trên. Trong đó ứng dụng web cho phép truy cập bất kỳ nơi
đâu, ứng dụng desktop được xây dựng trên các mạng nội bộ kết nối vói nhau bằng giao
thức riêng, phức tạp. Mỗi hệ thống được xây dựng bằng kỹ thuật riêng (công nghệ, ngôn
ngữ lập trình, hệ điều hành,...) nên khi chúng ta cần xây dựng và phát triển một ứng dụng
phân tán với số lượng người dùng lên đến hàng trăm, hàng nghìn người ở nhiều địa điểm
khác nhau, khó khăn đầu tiên mà chúng ta gặp phải là sự giao tiếp giữa các ứng dụng
trên các hệ thống khác nhau, Client và Server bị tường lửa (firewalls) và Proxy Server
ngăn chặn lại.
Đe giải quyết vấn đề trên có nhiều giải pháp khác nhau, trong đó Web service một
công nghệ đang được phát triển và có nhiều ứng dụng hiện nay , có thể giải quyết tốt vấn
đề trên. Web Service (Web Service) được coi là công nghệ mang đến một cuộc cách
mạng hóa trong cách thức hoạt động của các dịch vụ B2B ( Bussiness to Bussiness) và
B2C ( Bussiness to Customer ). Web Service dựa trên cung cấp các phương thức theo
chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa. Các phần
mềm được viết bởi các ngôn ngữ lập trình khác nhau và chạy trên những nền tảng khác
nhau có thể sử dụng Web service để chuyển đổi dữ liệu thông qua mạng Internet theo
cách giao tiếp tương tự bên trong của một máy tính.

Công nghệ xây dựng Web service không phải là một công nghệ mới, mà là sự kết
hợp những công nghệ đã có trước đó như XML, SOAP, WSDL, UDDI và các công nghệ
khác.
Vói sự phát triển là lớn mạnh của Internet, Web service thật sự là một công nghệ
đáng được quan tâm để giảm bớt chi phí và độ phức tạp trong việc tích họp và phát triển
hệ thống.


Luận Văn - Tin Học ửngDụng K.36

NỘI DUNG LUẬN VĂN
CHƯƠNG 1 TỔNG QUAN
1.1 ĐẶT VÁN ĐỀ
1.1.1 Hiện trạng
Qua tìm hiểu tôi được biết hiện tại các phòng máy tính thực hành trong bộ
môn Tin Học ứng Dụng thuộc Khoa Khoa Học Tự Nhiên trường Đại Học cần Thơ
đang sử dụng một chương trình được viết bằng Access chỉ chạy trên nền Desktop và
chỉ tương thích với hệ điều hành Windows. Nó được cài đặt ở các phòng máy thực
hành của bộ môn. Nên dẫn đến không ít khó khăn cho người sử dụng, khi họ muốn sử
dụng nó trên những nền tảng khác như trên Website hay từ những máy latop cá nhân,
smartphone, máy tính bảng đang chạy hệ điều hành không phải Windows như Ubuntu,
Linux, IOS, Android.. Ngoài ra do chương trình được cài đặt phân tán trên nhiều máy
nên nguy cơ gặp lỗi là rất cao và cũng gây không ít khó khăn cho việc bảo hành và
khắc phục khi có sự cố xảy ra. Đặc biệt hiện nay với sự phát triển mạnh mẽ của công
nghệ thông tin thì việc sở hữu những thiết bị thông minh như những chiếc smart
phone, máy tính bảng không còn quá khó. Vì vậy ứng dụng công nghệ Web services
vào hệ thống quản lý thực hành hiện nay không chỉ góp phần giải quyết các vấn đề
nêu trên mà còn làm cho hệ thống vận hành linh hoạt, ổn định và rất dễ dàng bảo trì
hay nâng cấp, sửa chữa. Để có thể ứng dụng được công nghệ này trước tiên chúng ta
cần phải hiểu cách xây dựng nên một Web services và khai thác nó như thế nào đế đạt

hiệu quả cao nhất.
1.1.2 Mục tiêu
Tập trung nghiên cứu để nắm bắt được các kiến thức từ cơ bản đến nâng cao
của công nghệ Web services. Sau đó là kỹ thuật xây dựng và khai thác Web services
theo từng bước bằng ngôn ngữ PHP. Cuối cùng là minh họa kiến thức trên thông qua
ứng dụng quản lý phòng máy thực hành của bộ môn Tin Học ứng Dụng theo mô hình
Web services .

GVIID : Ths. Võ Hải Đăng

Trang 17


Luận Văn - Tin Học ửng Dụng K.36

1.2 LỊCH Sử GIẢI QUYẾT
Đe tài “Kỹ thuật xây dựng và khai thác Web services” là một đề tài mới chưa
được ra nghiên cứu và thực hiện trong khuôn khổ trường Đại Học cần Thơ.

1.3 PHẠM VI ĐỀ TÀI
Đe tài được xác định với phạm vi là chủ yếu nghiên cứu cách xây dựng nên
một Web services bằng ngôn ngữ PHP. Sau đó biết cách khai thác những Web services
miễn phí trên mạng hay do chúng ta tự xây dựng. Cụ thể là tôi chỉ chọn một ứng dụng
nhỏ đó là quản lý phòng máy thực hành của bộ môn Tin Học ứng Dụng để minh họa
cho kỹ thuật xây dựng và khai thác Web services với một số chức năng cơ bản như
quản lý cập nhật danh sách sinh viên, giáo viên, quản lý điểm sinh viên, chia nhóm
thực hành, điểm danh sinh viên, xem lịch giảng dạy, lịch học thực hành..., không thực
hiện các chức năng như đăng ký học phần, chia nhóm thực hành tự động... ,cũng như
không chú trọng về việc thiết kế cơ sở dữ liệu của ứng dụng.
Đe tài được đặt ra trong các đơn vị khoa trực thuộc của trường Đại Học cần

Thơ. Nhưng kết quả của đề tài có thể áp dụng tùy biến cho bất kỳ một đơn vị tổ chức
nào.

1.4 PHƯƠNG PHẤP NGHIÊN cứu
Từ những yêu cầu đặt ra ở trên, tôi đã đưa ra hướng giải quyết cụ thể cho đề tài
như sau:
1.4.1 về lý thuyết
> Tìm hiếu lý thuyết về khái niệm, mô hình hoạt động của Web services đế hiểu
sâu hơn về Web services.
> Tìm hiểu lý thuyết về đặc điểm của Web services, kiến trúc bên trong của Web
services.
> Tìm hiểu lý thuyết về từng thành phần chính của Web Services như thông điệp
Soap, ngôn ngữ mô tả Web Services WSDL, UDDI...
> Tìm hiểu các phương pháp, kinh nghiệm bảo mật Web Services để nó trở nên an

GVIID : Ths. Võ Hải Đăng

Trang 18


Luận Văn - Tin Học ửng Dụng K.36

toàn hơn khi truyền tải dữ liệu qua mạng.

> Tìm hiểu lý thuyết về các ngôn ngữ lập trình liên quan, cách kết nối các Client
với Web Services.
> Tìm hiểu lý thuyết về quy trình, các giai đọan xây dựng Web Service.
> Tìm hiểu về cách khai thác những Web Services có sẵn trên mạng hay do chúng
ta tự xây dựng.
1.4.2 về thực nghiệm



Thu thập thông tin và yêu cầu từ các hệ thống đã có.



Phân tích những yêu cầu của đề tài đặt ra.



Thiết kế cơ sở dữ liệu.



Chọn phương pháp trao đổi dữ liệu giữa Web Services và Client của nó.



Chọn ngôn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu Mysql để tiến hành
xây dựng Web Services quản lý phòng máy thực hành và khai thác nó trên nền
một trang Web HTML và một chương trĩnh Desktop viết bằng c#.



Tìm hiếu cách lập trình với các ngôn ngữ đã chọn.



Tiến hành viết code, quá trình phát triển Web Services hoàn toàn thủ công,
không dùng bất cứ một công cụ hỗ trợ nào.




Thực hiện thao tác kiểm thử.



Viết báo cáo và hướng dẫn sử dụng.

G VIID : Ths. Võ Hải Đăng

Trang 19


Luận Văn - Tin Học ửng Dụng K.36

CHƯƠNG 2 Cơ SỞ LÝ THUYẾT
2.1 KỸ THUẬT XÂY DỰNG WEB SERVICES
2.1.1 Khái niệm Web Services
Khái niệm 1
Theo khái niệm của W3C (World Wide Web Consortium), “Web services là
một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng
trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết
của nó được mô tả bằng XML” [2].
Khái niệm 2
“Web services is a software system designed to support interoperable machineto-machine interaction over a network” hay Web services là một hệ thong phần mềm
được thiết kế để hỗ trợ cho việc trao đổi thông tin từ máy-đến- máy tương tác với
nhau thông qua mạng máy tính" [1].
Khái niệm 3
”A Web services is a software function provided at a network address over the

web” hay Web services là một chức năng của phần mềm được cung cấp tại một địa chỉ
trên web” [2].
Có rất nhiều khái niệm khác nhau về Web services, về cơ bản chúng ta có thể
hiểu nó là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa
các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, được mô tả bằng
XML, Web services có thể xác định bằng địa chỉ URL, thực hiện các chức năng và
đưa ra các thông tin theo yêu cầu của người dùng. Các chức năng này có thể được yêu
cầu bởi các Client bằng cách sử dụng giao thức SOAP (Simple Object Access
Protocal) thông qua HTTP. Web services độc lập về ngôn ngữ và nền tảng bởi vì nó
tách biệt đặc tả ra khỏi cài đặt. Web services dựa trên cấu trúc phân tán trong đó
không có bất kì dịch vụ xử lý trung tâm nào và tất cả dạng truyền thông đều sử dụng
các giao thức chuẩn và có khả năng hoạt động "xuyên qua" tường lửa.

GVIID : Ths. Võ Hải Đăng

Trang 20


Luận Văn - Tin Học ửng Dụng K.36

Một trong những đặc tính quan trọng của mô hình tính toán dựa trên Web
services là ở đó cả các client và Web services đều không cần biết cài đặt của nhau.
Web services hứa hẹn mang đến khả năng tạo ra các môi trường phân tán trong đó bất
kì ứng dụng nào, hoặc bất kì thành phần ứng dụng nào cũng đều có thể kết hợp với
nhau dễ dàng với tính độc lập nền tảng và độc lập ngôn ngữ.
Điểm khác biệt chính của Web services vói các công nghệ phân tán trước đây
như Win32, J2EE,... là ở sự chuẩn hoá. Web services sử dụng XML, một ngôn ngữ
độc lập trong việc biếu diễn dữ liệu, làm ngôn ngữ trao đối thông tin. Bởi vậy khi
được kết hợp với nhau, khả năng tích hợp phần mềm và sử dụng lại của các hệ thống
theo mô hình Web services là rất tuyệt vời.

Không giống như mô hĩnh Client/Server truyền thống, chang hạn như hệ thống
Webserver/webpage, Web services không cung cấp cho người dùng một giao diện đồ
hoạ nào, Web services đơn thuần chỉ là việc chia sẻ các dữ liệu logic và xử lý các dữ
liệu đó thông qua một giao diện chương trĩnh ứng dụng được cài đặt xuyên suốt trên
mạng máy tính [2].

G VIID : Ths. Võ Hải Đăng

Trang 21


Luận Văn - Tin Học ửng Dụng K.36

Web 8rowser

Web Application — SOAP —

— HTML’

Interna! Web
Service

SOAP
SOAP
Windows Application |— 5Q^P —

External Web
Service

SOAP


\

External Web
Service

External Web
Service

Hình 2.1 Mô hình minh họa về hoạt động trao đỗi thông tin giữa Web
Services và các Client chạy trên các nền tảng khác nhau
Hình 2.2 Giao tiếp giữa ứng dụng với Web Services và giữa chúng với nhau

G VIID : Ths. Võ Hải Đăng

Trang 22


Luận Văn - Tin Học ửng Dụng K.36

Hình 2.3 Sơ đồ tương tác giữa User và Web Services
Ngoài khả năng ưu việt trên, Web services có thể phối hợp hoạt động giữa các ứng
dụng rất tốt.
Ví dụ minh họa về sự phối họp hoạt động giữa các ứng dụng theo mô hình Web
Services
Các nhà hàng, khách sạn cung cấp các Web services cho phép đặt phòng, đặt
tiệc. Đường sắt Việt Nam cung cấp các Web services cho phép đặt vé tàu. Việt Nam
Airline cung cấp các Web services cho phép đặt vé cho các chuyến bay.
Các cơ quan, công ty, hay khách du lịch có nhu cầu tổ chức, tham gia các
chuyến du lịch có thể truy cập vào website của các công ty dịch vụ lữ hành đăng ký

tham gia các "tour" do họ tổ chức.
Công ty du lịch sẽ sử dụng Web services được cung cấp đó để tiến hành đặt vé
tàu lửa, máy bay và đặt phòng cho chuyến du lịch theo yêu cầu của khách hàng.


Hình 2.4 Sự phối họp hoạt động giữa các ứng dụng
2.1.2 Mô hình hoạt động của Web Services
"server"

"naming Service"

(UDDI)

"client"

Trong đó:
Server providers: Nhà cung cấp dịch vụ, đưa các thông tin quảng bá dịch vụ của mình.
Server brokers (môi giới): Cho phép các nhà cung cấp dịch vụ quảng bá dịch vụ (đăng ký thông tin dịch vụ).
Service requestor: Người sử dụng dịch vụ, tìm kiếm dịch vụ và gỏi yêu cầu đến các dịch vụ cần.


Luận Văn - Tin Học ửngDụngK.36

2.1.3 Hoạt động của Web Services
Qua mô hình hoạt động của Web services được minh họa ở trên, tôi có thể tóm tắt
các hoạt động chính của một Web services như sau:
> Đầu tiên Service providers có một dịch vụ, nó sẽ phát hành giao diện và mô tả
dịch vụ đó. Dịch vụ này được đăng ký vói thực thể Service brokers bằng cách
gửi mô tả dịch vụ tới đó. Mô tả dịch vụ này chứa tất cả các thông tin cần thiết để
một Service requestor có thể tìm thấy và sử dụng dịch vụ, bao gồm kiểu dữ liệu,

giao diện mô tả các hàm chức năng, địa chỉ của dịch vụ trong mạng, thông tin
cần thiết để thiết lập kết nối. Các bên sử dụng dịch vụ có thể tìm kiếm dịch vụ
mình cần trên Service brokers - được mô tả sử dụng UDDI (Universal
Description, Discovery and Integration).
> Chúng ta có thể hiểu đcm giản như sau: Service provider là người nhào bột.
Service broker mang bột đó làm thành bánh và trưng bày ở cửa hiệu.
Service requestor đến cửa hiệu, thưởng thức bánh và thường là không cần biết ai
đã nhào bột.
2.1.4 Đặc điểm của Web Services
Từ những kiến thức được trình bày bên trên tôi đã nhận thấy Web Services có
những đặc điểm như sau:
> Web services cho phép client và server tưcmg tác được với nhau ngay cả trong
những môi trường khác nhau. Đó là vĩ Web services sử dụng XML, một chuấn
mở đã được công nhận và có thế được hiếu bởi bất kỳ ngôn ngữ lập trình nào.
> Giao diện của Web services được xuất bản thông qua tài liệu WSDL. Khái niệm
cấu trúc thông điệp trao đổi và cấu trúc dữ liệu sử dụng trong thông điệp đó.
> Web services không đòi hỏi phía client phải cài đặt bất cứ một thành phần mới
nào. Còn ở phía server, để triển khai Web services thì chỉ cần có Servlet engine,
Apache hoặc .NET Runtime,... Khi đã được triển khai thì client có thể sử dụng
ngay các dịch vụ. Điều này khác với các công nghệ khác như DCOM hay RMI,
khi mà client phải cài đặt Client stub để có thể truy cập dịch vụ.
> Web services dựa trên các chuẩn mở: XML, SOAP, WSDL, UDDI.
G VIID : Ths. Võ Hải Đăng

Trang 25


×