Tải bản đầy đủ (.pdf) (72 trang)

Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service

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.91 MB, 72 trang )







KHOA CÔNG NGH THÔNG TIN
*************



 MAI


XÂY DI Ý
TOUR DU LCH CÁ NHÂN S DNG
LOCATION BASED SERVICE


KHÓA LUN TT NGHII HC
Chuyên 








 2015







KHOA CÔNG NGH THÔNG TIN
*************



 MAI


XÂY D
GI Ý TOUR DU LCH CÁ NHÂN
S DNG LOCATION BASED SERVICE


KHÓA LUN TT NGHII HC



ng dn khoa hc
PGS. TS. BÙI TH HNG





 2015





LI C

Để hoàn thành được khóa luận này, trước hết em xin gửi lời cảm ơn sâu
sắc nhất tới PGS.TS. Bùi Th Hng đã tận tình hướng dẫn, chỉ bảo, định
hướng, đóng góp những ý kiến quý báu cho em trong suốt quá trình thực
hiện.
Em xin chân thành cảm ơn các thầy, cô giáo trong khoa Công nghệ
Thông tin, trường Đại học Sư phạm Hà Nội 2 đã quan tâm giảng dạy và giúp
đỡ em trong suốt bốn năm học vừa qua cũng như trong thời gian em làm bài
khóa luận này. Là sinh viên khoa Công nghệ Thông tin, em rất tự hào về
khoa mình học, về thầy cô giáo của mình. Em xin kính chúc các thầy, các cô
luôn mạnh khỏe, hạnh phúc và thành công. Chúc khoa Công nghệ Thông tin
sẽ ngày một khang trang, vững mạnh, góp phần to lớn trong sự nghiệp đào
tạo chuyên nghiệp của trường Đại học Sư phạm Hà Nội 2.
Lần đầu nghiên cứu khoa học, chắc chắn đề tài của em không tránh khỏi
những thiếu sót, hạn chế. Vì vậy, em rất mong sự đóng góp ý kiến của các
thầy cô giáo và các bạn để đề tài của em được hoàn thiện.
Cuối cùng, em xin cảm ơn tới đại gia đình của em, đã luôn luôn động
viên, khích lệ tinh thần và tạo điều kiện tốt nhất cho em hoàn thành khóa
luận này.
Hà Nội, tháng 05 năm 2015
Sinh viên


Nguyn Th Mai



L

Tên em là: Nguyễn Thị Mai
Sinh viên: K37 – CNTT, trường Đại học Sư phạm Hà Nội 2.
Em xin cam đoan:
1. Đề tài “Gợi ý tour du lịch cá nhân sử dụng Location Based Services” là
kết quả tìm hiểu và nghiên cứu của riêng em, dưới sự hướng dẫn của
PGS.TS. Bùi Thế Hồng.
2. Khóa luận hoàn toàn không sao chép từ các tài liệu có sẵn đã được công
bố khác.
3. Kết quả không trùng với các tác giả khác.
Nếu sai em xin hoàn toàn chịu trách nhiệm.

Hà Nội, tháng 05 năm 2015
Sinh viên


Nguyn Th Mai



MC LC
M U 1
 LÍ THUYT 5
1.1. Google Map service 5
1.1.1. Giới thiệu về Google Map 5
1.1.2. Google Map API 6
1.1.2.1. Sử dụng Google Map API 6
1.1.2.2. Sử dụng Google Geocoding API 8

a. Mã hóa địa lý 8
b. Tìm kiếm địa chỉ bằng tọa độ vật lý. 12
1.2. Dịch vụ web 14
1.2.1. Tổng quan về dịch vụ web 15
1.2.2. Ưu nhược điểm của dịch vụ web 17
1.2.3. Kiến trúc của dịch vụ web 17
1.2.4. Các thành phần của dịch vụ web 20
1.2.5. An toàn cho dịch vụ web 21
1.2.6. Xây dựng một dịch vụ Web 23
U V LOCATION BASED SERVICES
VÀ NG DNG FOURSQUARE 25
2.1. Tìm hiểu về Location based Services 25
2.1.1. Định nghĩa 25
2.1.2. Phân biệt GIS và LBS 25
2.1.3. Kiến trúc của LBS 26
2.1.4. Phân loại LBS 28


2.1.5. Một số hệ thống LBS 29
2.1.5.1. Dịch vụ cung cấp thông tin dựa trên vị trí 29
2.1.5.2. Dịch vụ tính cước theo vị trí 31
2.1.5.3. Dịch vụ hỗ trợ khẩn cấp 31
2.1.2.4. Dịch vụ giám sát 32
2.2. Tìm hiểu về Foursquare 32
2.2.1. Foursquare là gì? 32
2.2.2. Lịch sử ra đời và phát triển của Foursquare 33
2.2.3. Các ứng dụng của Foursquare 37
2.2.4. So sánh dịch vụ Foursquare và Google Place 37
2.2.5. Foursquare API trên Android 38
NG DNG GI Ý TOUR DU LCH CÁ NHÂN

S DNG LBS 40
3.1. Phát biểu bài toán 40
3.2. Du lịch với LBS và tiềm năng 42
3.3. Thiết kế hệ thống 43
3.3.1. Kiến trúc hệ thống 43
3.3.2. Mô hình gợi ý tour du lịch cá nhân 44
3.4. Thiết kế chương trình 46
3.4.1. Sơ đồ tác nhân 48
3.4.2. Sơ đồ lớp 49
3.4.3. Kịch bản và sơ đồ hoạt động 51
3.5. Kết quả thực nghiệm 55
KT LUNG PHÁT TRIN 62
TÀI LIU THAM KHO 63



DANH MỤC HÌNH ẢNH
Hình nh
Ni dung
Trang
Hình 1.1
Google Map
5
Hình 1.2
Các giao thức của Web service
18
Hình 1.3
Các giao thức truyền thông và dịch vụ web
19
Hình 2.1

Các thành phần của một LBS
28
Hình 2.2
Ứng dụng Foursquare khám phá thế giới xung
quanh bạn
35
Hình 2.3
Nhân tố game của Foursquare
36
Hình 3.1
Kiến trúc hệ thống chương trình gợi ý tour du
lịch cá nhân với dịch vụ dựa trên vị trí
43
Hình 3.2
Mô hình của ứng dụng
44
Hình 3.3
Sơ đồ Use case của hệ thống
48
Hình 3.4
Sơ đồ lớp thực thể
50
Hình 3.5
Sơ đồ hoạt động quá trình xem và sửa thông tin
cá nhân
52
Hình 3.6
Sơ đồ hoạt động tìm địa điểm gần
55
Hình 3.7

Màn hình ngoài với icon
56
Hình 3.8
Màn hình welcome
56
Hình 3.9
Màn hình đăng nhập
57
Hình 3.10
Mặc định tìm vị trí
57
Hình 3.11
Link tới google maps
58
Hình 3.12
Bấm vào settings
58
Hình 3.13
Bán kính tìm kiếm
59
Hình 3.14
Kết quả khi tăng BK tìm kiếm
59
Hình 3.15
Bấm bộ lọc chọn kiểu
60
Hình 3.16
Kết qủa khi chọn bộ lọc Food
60
Hình 3.17

Kết quả chọn 1 địa điểm
61
Hình 3.18
Tìm kiếm với địa điềm khác
61



DANH MỤC BẢNG
Bng
Ni dung
Trang
Bảng 1.1
Quy định về các kí tự được sử dụng trong chuỗi
URL
7
Bảng 3.1
Kịch bản xem và sửa thông tin cá nhân
52
Bảng 3.2
Kịch bản cho các gợi ý lựa chọn
54







1


M U
1. Lý do ch tài
Vài thập kỷ qua, Công nghệ Thông tin đã có những bước phát triển
vượt bậc để đáp ứng nhu cầu của con người. Trong khi chỉ cách đây vài thập
kỷ việc mang một chiếc máy tính theo bên mình còn là chuyện không tưởng
khi một chiếc máy có khả năng xử lý chỉ vào ngàn phép tính một giây đã lớn
bằng cả căn phòng thì giờ đây bất kỳ ai cũng đã có thể hoàn thành công việc
của mình ngay trên đường đi chỉ với một chiếc điện thoại di động.
Và trong cuộc sống hiện đại ngày nay, các thiết bị di động có vai trò
quan trọng bậc nhất, cũng như điện máy và xe hơi, điện thoại thông minh
được rất nhiều người coi là một phần cuộc sống. Khi các thiết bị di động phát
triển, một hướng mới trong công nghệ đã được mở ra, cung cấp khả năng xử
lý dựa trên thông tin của môi trường xung quanh. Từ việc biết được người
dùng đang ở trong hoàn cảnh nào, thiết bị có thể đưa ra những phương án hỗ
trợ người dùng tốt nhất một cách tự động. Các thông tin về môi trường xung
quanh đó bao gồm vị trí của người dùng.
Khả năng định vị đã được bắt đầu có trong một số thiết bị chuyên dụng
từ cách đây vài thập kỉ. Tuy nhiên mãi đến gần đây mới bắt đầu được tích hợp
vào các thiết bị dành cho người dùng phổ thông, cung cấp nền tảng để các các
dịch vụ dựa trên vị trí (Location Based Service -LBS) có thể hoạt động. Nói
một cách ngắn gọn, dịch vụ dựa theo vị trí là một dịch vụ cung cấp nội dung
và khả năng tương tác với người dùng dựa trên vị trí hiện tại của người dùng.
Dựa vào thông tin trong môi trường bên ngoài thiết bị nên các dịch vụ
dựa vào vị trí được xếp vào loại dịch vụ khai thác thông tin từ môi trường
xung quanh (ambience intelligence), tuy nhiên các dịch vụ loại này còn sử
dụng nhiều công nghệ khác ngoài định vị, chẳng hạn như các công nghệ trên
nền web để cung cấp nội dung hay các công nghệ di động để tạo ra ứng dụng.

2


Do đó có thể nói các dịch vụ dựa theo vị trí là thành quả nổi bật nhất của sự
hội tụ công nghệ thông tin – truyền thông (telecommunication convergence).
Loại dịch vụ này tuy ra đời sau nhưng các dịch vụ dựa theo vị trí đã
nhanh chóng được kèm theo hầu hết các thiết bị di động có hỗ trợ; trong đó,
phổ biến nhất là dịch vụ bản đồ số và tìm đường đi.
Giờ việc định vị một thiết bị đã trở nên khá dễ dàng vì từ chỗ phụ thuộc
hoàn toàn vào vệ tinh quân sự, giờ đã được cải tiến nhờ sự kết hợp của nhiều
công nghệ khác nhau. Hiện nay, thế giới đã có nhiều đề tài nghiên cứu và cả
ứng dụng về việc kết hợp công nghệ để cung cấp dịch vụ dựa theo vị trí người
dùng. Tuy nhiên, sự phát triển của công nghệ cũng có mặt trái của nó: tạo ra
quá nhiều lựa chọn - các ứng dụng mới có thể sẽ gặp khó khăn trong việc
chọn lựa công nghệ cho mình.
Cùng với sự phát triển mạnh mẽ về kinh tế, nhu cầu của con người
ngày càng tăng. Hiện nay, dịch vụ dựa trên vị trí đã trở thành xu hướng phát
triển hàng đầu của các nhà sản xuất smart phone như SamSung (Android -
Tizen), LG (Android), Microsoft (Lumina), Apple (Iphone)… Việc sử dụng
Location Based Services trong du lịch đã được phát triển khá mạnh mẽ, điển
hình là một số ứng dụng như Square (dịch vụ địa điểm gần với vị trí người sử
dụng), facebook (mạng xã hội sử dụng địa điểm để đánh dấu), instagram (ghi
lại khoảnh khắc đẹp tại nơi chụp ảnh lên mạng xã hội)… Chính vì vậy, em
chọn đề tài Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng
Location Based Services làm đề tài khóa luận tốt nghiệp.
2. Mu
- Tìm hiểu về Google Map service, dịch vụ web, hệ thống LBS và ứng
dụng Foursquare.
- Xây dựng ứng dụng gợi ý tour du lịch sử dụng LBS.


3


3. Nhim v nghiên cu
Nhiệm vụ của khóa luận là đi sâu vào việc nghiên cứu về hoạt động của hệ
thống LBS: từ định nghĩa LBS là gì, kiến trúc của LBS như thế nào, phân loại
LBS ra sao, cho đến các hệ thống LBS chính và làm rõ được cách sử dụng
cũng như các ưu điểm vượt trội của Foursquare. Bên cạnh đó, khóa luận tìm
hiểu về Google Map service và dịch vụ web, chức năng và hoạt động của
chúng. Từ đó, xây dựng và phát triển được ứng dụng thông minh, gần gũi,
thân thiện và hữu dụng nhất với người sử dụng.
Trên nền tảng các ứng dụng hiện có trong lĩnh vực phát triển của LBS, với
hệ điều hành Android (hệ điều hành phổ biến nhất hiện nay trên các điện thoại
thông minh), chương trình sử dụng ngôn ngữ lập trình Android để mô phỏng
và phát triển ứng dụng gợi ý tour du lịch cá nhân đảm bảo hai chức năng:
- Tìm kiếm địa điểm phù hợp nhất
- Chỉ đường.
4. ng và phm vi nghiên cu:
Hệ thống LBS, các dịch vụ và ứng dụng hỗ trợ có liên quan (Google Map,
các dịch vụ web, Foursquare, ) sử dụng trên thiết bị di động.
5. Gi thuyt khoa hc
Hệ thống LBS được tìm hiểu, nghiên cứu sẽ giúp hiểu rõ hơn về các dịch
vụ thông tin hay giải trí sử dụng trên các thiết bị di động có sử dụng thông tin
về vị trí hiện tại của thiết bị.
Chương trình được xây dựng nếu đưa vào thực tiễn sẽ trợ giúp đắc lực
cho người sử dụng trong việc tìm kiếm địa điểm du lịch phù hợp một cách
nhanh chóng nhất, không còn mất nhiều thời gian tìm kiếm hay phân tích, và
chỉ ra đường đi ngắn nhất, thuận lợi nhất để đến địa điểm đó.



4


6. u
a. Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây
dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các
vấn đề của đề tài.
b. Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù
hợp với yêu cầu thực tiễn. Nội dung xử lí nhanh đáp ứng nhu cầu ngày càng
cao của người dùng.
c. Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được
nghiên cứu và kết quả đạt được qua những phương pháp trên.
7. Cu trúc khóa lun
Ngoài phần lời cảm ơn, mở đầu, kết luận và hướng phát triển, tài liệu tham
khảo, khóa luận gồm những phần chính sau:
o  lí thuyt giới thiệu và chỉ ra tiềm năng của các công
nghệ liên quan tới định vị, cung cấp nội dung và thông tin địa lý. Tất
cả những công nghệ này hiện đã và đang được kết hợp với nhau để tạo
ra các dịch vụ mới.
o u v LBS và ng dng Foursquare các nghiên
cứu về hệ thống LBS và ứng dụng, giới thiệu tình hình phát triển của
các dịch vụ dựa theo vị trí, các ứng dụng đã thành công và rút ra bài
học; ứng dụng Foursquare với đặc điểm nổi bật được chọn làm ứng
dụng liên kết xây dựng chương trình.
o ng dng gi ý tour du lch cá nhân s dng LBS mô tả
quy trình phát triển một ứng dụng cụ thể.


5


 LÍ THUYT
1.1. Google Map service
1.1.1. Giới thiệu về Google Map
Google Maps (thời gian trước còn gọi là Google Local) là một dịch vụ
ứng dụng và công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp
bởi Google và hỗ trợ nhiều dịch vụ dựa vào bản đồ như Google Ride Finder
và một số có thể dùng để nhúng vào các trang web của bên thứ ba thông qua
Google Maps API. Nó cho phép thấy bản đồ đường xá, đường đi cho xe đạp,
cho người đi bộ và xe hơi, những địa điểm kinh doanh trong khu vực cũng
như khắp nơi trên thế giới.

Hình 1.1. Google Map

6

Google Map là một trong những ứng dụng phổ biến nhất của Google
hiện nay, khi mà việc sử dụng bản đồ giấy đã trở lên lỗi thời thì dịch vụ tìm
kiếm bản đồ số, bản đồ vệ tinh, hệ thống GPS là hết sức cần thiết. Giờ đây có
thể dễ dàng truy cập vào Google Map dù ở bất cứ nơi đâu để tra cứu địa chỉ
hoặc sử dụng hệ thống GPS cũng rất phổ biến. Đặc biệt khả năng tích hợp
dịch vụ bản đồ Google Map là rất cần thiết và quan trọng.
1.1.2. Google Map API
Google Maps API Services là một tập các giao diện HTTP cung cấp
thông tin địa lý cho ứng dụng. Các dịch vụ của Google Map Services bao
gồm:
- Directions API
- Distance Matrix API
- Elevation API
- Geocoding API

- Places API
1.1.2.1. Sử dụng Google Map API
Google Maps API cung cấp các dịch vụ như là các giao diện phục vụ
cho việc yêu cầu dữ liệu địa lý và sử dụng dữ liệu đó trong ứng dụng của nhà
phát triển. Các dịch vụ này được thiết kế để sử dụng với một ứng dụng bản
đồ.
Các dịch vụ này sử dụng HTTP request, thiết lập các chuỗi URL
request để gửi yêu cầu cho web service. Thông thường, web service sẽ trả về
kết quả là tập tin JSON hoặc XML. Phân tích cú pháp kết quả trả về để sử
dụng.
URL request có dạng:



7

Trong đó:
 Service: loại dịch vụ
 Output: kiểu trả về ở dạng JSON hoặc XML
 Parameter: các tham số phù hợp
 Xây dng chui URL request hp l
Một chuỗi URL có thể chứa những ký tự đặt biệt. Ví dụ trong trình
duyệt web, chuỗi URL được nhập vào thanh địa chỉ chứa những ký tự đặt biệt
(ví dụ chứa tiếng Việt có dấu), trình duyệt phải tự chuyển sang kiểu mã hóa
khác trước khi gửi đi. Một số trình duyệt có thể nhận những chuỗi ký tự ở
dạng mã hóa UTF-8. Quá trình chuyển kiểu mã hóa ký tự đó gọi là URL-
encoding.
Cần phải dịch những ký tự đặt biệt bởi vì tất cả các URL cần phải phù
hợp với cú pháp đã được qui định ở W3 Uniform Resource Identifier. Có
nghĩa là URL chỉ chứa các ký tự thuộc một tập hợp các ký tự ASCII. Các

ký tự được sử dụng trong chuỗi URL được qui định trong bảng sau:
Bảng 1.1. Quy định về các kí tự được sử dụng trong chuỗi URL
Nhóm
Kí tự
Chữ và số
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F
G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6
7 8 9
Không sử dụng
-_.~
Dành riêng
! * ' ( ) ; : @ & = + $ , / ? % # [ ]



8

Việc chuỗi URL chỉ chứa các ký tự ASCII đã được qui định dẫn đến 2 tình
huống:
 Ký tự muốn đưa vào URL không nằm trong tập ký tự được cho phép
(ví dụ tiếng Việt có dấu) cần được mã hóa bằng các ký tự trên. Ký tự
khoảng cách thường được thay thế bằng ký tự “+”.
 Ký tự muốn sử dụng theo cách thông thường nằm trong nhóm ký tự
dành riêng (Ví dụ ký tự “?”). Nếu muốn sử dụng ký tự dành riêng phải
mã hóa. Ký tự được mã hóa bằng cách sử dụng ký tự “%” theo sau là
hai ký tự chứa giá trị hex đại diện cho ký tự hệ UTF-8.
Giới hạn của chuỗi URL là 2048 ký tự. Hầu hết các URL request ít khi đạt
đến ngưỡng này, tuy nhiên vẫn phải cẩn thận để tránh trường hợp web service
không trả lời vì chuỗi URL quá dài.
Kết quả trả về của Google Direction API khá dễ hiểu nhưng lại ít thân

thiện với người sử dụng. Khi gửi yêu cầu và nhận được kết quả, tốt nhất là
không hiển thị tất cả những gì nhận được mà chỉ cần trích xuất một số thông
tin phù hợp. Tóm lại là cần phải phân tích cú pháp kết quả nhận được và chỉ
trích xuất một số thông tin có ích.
Phân tích cú pháp kết quả nhận được phụ thuộc vào loại tập tin trả về là
XML hay JSON và có thể sử dụng nhiều kỹ thuật và ngôn ngữ lập trình khác
nhau.
1.1.2.2. Sử dụng Google Geocoding API
a. Mã hóa địa lý
Mã hóa địa lý là tiến trình chuyển địa chỉ sang tọa độ địa lý để đánh
dấu trên bản đồ. Google Geocoding API cung cấp một phương thức trực tiếp
để truy cập bộ mã hóa địa lý thông qua giao thức HTTP. Ngoài ra dịch vụ
Google Geocoding API còn cho phép giải mã từ tọa độ sang địa chỉ.

9

Ví dụ: Trường THPT Xuân Hòa, Xuân Hòa, Phúc Yên, Vĩnh Phúc có
tọa độ địa lý là: 21.2848359, 105.7221597
 Chuỗi request có định dạng

Trong đó:
 output là json hoặc xml tùy theo định dạng mà người sử dụng
mong muốn.
 parameter có thể là address, latlng, components, sensor.
Ví dụ. Ta có truy vấn sau
/>20H%C3%B2a,%20Ph%C3%BAc%20Y%C3%AAn,%20V%C4%A9nh%20
Ph%C3%BAc&sensor=false
Tọa độ địa lý nhận được là:
 Latutide: 21.2847368
 Longtutide: 105.722052

Nhận được chuỗi JSON trả về như sau:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Trường THPT Xuân Hòa",
"short_name" : "Trường THPT Xuân Hòa",
"types" : [ "establishment" ]
},
{

10

"long_name" : "Xuân Hoà",
"short_name" : "Xuân Hoà",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "Xuân Hoà",
"short_name" : "Xuân Hoà",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Vĩnh Phúc",
"short_name" : "Vĩnh Phúc",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Việt Nam",

"short_name" : "VN",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Trường THPT Xuân Hòa, Xuân Hoà, Phúc Yên,
Vĩnh Phúc, Việt Nam",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 21.2848359,
"lng" : 105.7221597
},
"southwest" : {

11

"lat" : 21.2845858,
"lng" : 105.7218914
}
},
"location" : {
"lat" : 21.2847368,
"lng" : 105.722052
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 21.2860598302915,
"lng" : 105.7233745302915
},

"southwest" : {
"lat" : 21.2833618697085,
"lng" : 105.7206765697085
}
}
},
"partial_match" : true,
"place_id" : "ChIJJW20P8X8NDERRGTlqJQ27Ek",
"types" : [ "establishment" ]
}
],
"status" : "OK"
}



12

b. Tìm kiếm địa chỉ bằng tọa độ vật lý.
Với câu truy vấn như sau:
/>%BA%A1i%20h%E1%BB%8Dc%20s%C6%B0%20ph%E1%BA%A1m%20
2%20Xu%C3%A2n%20H%C3%B2a%20Ph%C3%BAc%20Y%C3%AAn%2
0V%C4%A9nh%20Ph%C3%BAc
Kết quả nhận được dạng JSON là:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Đại học Sư phạm Hà Nội 2",

"short_name" : "Đại học Sư phạm Hà Nội 2",
"types" : [ "establishment" ]
},
{
"long_name" : "Nguyễn Văn Linh",
"short_name" : "Nguyễn Văn Linh",
"types" : [ "route" ]
},
{
"long_name" : "Xuân Hoà",
"short_name" : "Xuân Hoà",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "Phúc Yên",

13

"short_name" : "Phúc Yên",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Vĩnh Phúc",
"short_name" : "Vĩnh Phúc",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Việt Nam",
"short_name" : "VN",
"types" : [ "country", "political" ]

}
],
"formatted_address" : "Đại học Sư phạm Hà Nội 2, Nguyễn Văn
Linh, Xuân Hoà, Phúc Yên, Vĩnh Phúc, Việt Nam",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 21.2816666,
"lng" : 105.7286774
},
"southwest" : {
"lat" : 21.2800971,
"lng" : 105.7252978
}
},
"location" : {
"lat" : 21.2808818,

14

"lng" : 105.7269876
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 21.2822308302915,
"lng" : 105.7286774
},
"southwest" : {
"lat" : 21.2795328697085,

"lng" : 105.7252978
}
}
},
"partial_match" : true,
"place_id" : "ChIJH-hYKsX8NDERPJIRgPX-dx0",
"types" : [ "university", "establishment" ]
}
],
"status" : "OK"
}
1.2. Dch v web
Dịch vụ web (Web Service) được coi là một công nghệ mang đến cuộc
cách mạng trong cách thức hoạt động của các dịch vụ B2B (Business to
Business) và B2C (Business to Customer). Giá trị cơ bản của dịch vụ web dựa
trên việc 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 những 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 dịch vụ web để chuyển

15

đổi dữ liệu thông qua mạng Internet theo cách giao tiếp tương tự bên trong
một máy tính. Tuy nhiên, công nghệ xây dựng dịch vụ web không nhất thiết
phải là các công nghệ mới, nó có thể kết hợp với các công nghệ đã có như
XML, SOAP, WSDL, UDDI… Với sự phát triển và lớn mạnh của Internet,
dịch vụ web thật sự là một công nghệ đáng được quan tâm để giảm chi phí,
độ phức tạp trong tích hợp và phát triển hệ thống. Khóa luận sẽ tìm hiểu các
dịch vụ web từ mức khái niệm đến cách thức xây dựng.
1.2.1. Tổng quan về dịch vụ web

Dịch vụ web (tiếng Anh: web service) là sự kết hợp các máy tính cá
nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo
thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việc thông qua
các trình duyệt mạng.
Bản thân các dịch vụ này sẽ chạy trên các máy chủ trên
nền Internet chứ không phải là các máy tính cá nhân, do vậy có thể chuyển
các chức nǎng từ máy tính cá nhân lên Internet. Người sử dụng có thể làm
việc với các dịch vụ thông qua bất kỳ loại máy nào có hỗ trợ web service và
có truy cập Internet, kể cả các thiết bị cầm tay. Do đó các web service sẽ làm
Internet biến đổi thành một nơi làm việc chứ không phải là một phương tiện
để xem và tải nội dung.
Điều này cũng sẽ đưa các dữ liệu và các ứng dụng từ máy tính cá nhân
tới các máy phục vụ của một nhà cung cấp dịch vụ web. Các máy phục vụ này
cũng cần trở thành nguồn cung cấp cho người sử dụng cả về độ an toàn, độ
riêng tư và khả nǎng truy nhập.
Các máy phục vụ ứng dụng sẽ là một phần quan trọng của các web service
bởi vì thường thì các máy chủ này thực hiện các hoạt động ứng dụng phức tạp
dựa trên sự chuyển giao giữa người sử dụng và các chương trình kinh
doanh hay các cơ sở dữ liệu của một tổ chức nào đó.

16

Theo định nghĩa của W3C (World Wide Web Consortium), dịch vụ Web
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. Dịch vụ Web là tài
nguyên phần mềm 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 người dùng yêu cầu. Một dịch vụ Web được tạo nên
bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ
dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng

thời có thể yêu cầu thông tin từ dịch vụ Web khác. Nó bao gồm các mô đun
độc lập cho hoạt động của khách hàng, doanh nghiệp và bản thân nó được
thực thi trên server.
Trước hết, có thể nói rằng ứng dụng cơ bản của Web service là tích hợp
các hệ thống và là một trong những hoạt động chính khi phát triển hệ thống.
Trong hệ thống này, các ứng dụng cần được tích hợp với cơ sở dữ liệu
(CSDL) và các ứng dụng khác, người sử dụng sẽ giao tiếp với CSDL để tiến
hành phân tích và lấy dữ liệu. Trong thời gian gần đây, việc phát triển mạnh
mẽ của thương mại điện tử và B2B cũng đòi hỏi các hệ thống phải có khả
năng tích hợp với CSDL của các đối tác kinh doanh (nghĩa là tương tác với hệ
thống bên ngoài – bên cạnh tương tác với các thành phần bên trong của hệ
thống trong doanh nghiệp).
Dịch vụ Web có các đặc điểm như sau:
- Dịch vụ web cho phép client và server tương tác với nhau ngay cả trong
các môi trường khác nhau.
- Dịch vụ web có thể chưa nhiều mô-đun và được công bố lên Internet.
- Là kết hợp của việc phát triển theo hướng từng thành phần với những
lĩnh vực cụ thể và cơ sở hạ tầng Web.
- Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-
server.

17

- Dịch vụ Web đang ngày càng phát triển và mở rộng, dịch vụ Web xuất
hiện ở nhiều lĩnh vực cuộc sống như: thuê phòng, đặt vé máy bay, bán
hàng qua mạng, thông tin thuê xe….
1.2.2. Ưu nhược điểm của dịch vụ web
 Ưu điểm:
- Dịch vụ Web cung cấp khả năng hoạt động rộng lớn với các ứng dụng
phần mềm khác nhau chạy trên những nền tảng khác nhau.

- Sử dụng các giao thức và chuẩn mở. Giao thức và định dạng dữ liệu dựa
trên văn bản (text), giúp các lập trình viên dễ dàng hiểu được.
- Nâng cao khả năng tái sử dụng.
- Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép
các tiến trình/chức năng nghiệp vụ đóng gói trong giao diện dịch vụ
Web.
- Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần
trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán.
- Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá
thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ
thống của các doanh nghiệp khác.
 Nhược điểm
- Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Dịch vụ
Web, giao diện không thay đổi, có thể lỗi nếu một máy khách không
được nâng cấp, thiếu các giao thức cho việc vận hành.
- Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt.
- Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật.
1.2.3. Kiến trúc của dịch vụ web
Web service gồm có 3 chuẩn chính: SOAP (Simple Object Access
Protocol), WSDL (Web Service Description Language) và UDDI (Universal
Description, Discovery, and Integration). Hình 1.2 mô tả các giao thức của
Web service, trong đó UDDI được sử dụng để đăng ký và khám phá Web

×