1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

72 492 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 1,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA CÔNG NGHỆ THÔNG TIN

*************

NGU ỄN THỊ MAI

XÂY DỰNG CHƯƠNG TRÌNH GỢI Ý TOUR DU LỊCH CÁ NHÂN SỬ DỤNG

LOCATION BASED SERVICE

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Chuyên ọ t

HÀ NỘI – 2015

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA CÔNG NGHỆ THÔNG TIN

*************

NGU ỄN THỊ MAI

XÂY DỰNG CHƯƠNG TRÌNH GỢI Ý TOUR DU LỊCH CÁ NHÂN

SỬ DỤNG LOCATION BASED SERVICE

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

C u ọ t

N ười ướng dẫn khoa học PGS TS BÙI THẾ HỒNG

HÀ NỘI – 2015

Trang 3

LỜI CẢM ƠN

Để 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

Trang 4

LỜI CAM ĐOAN

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

Trang 5

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1 CƠ SỞ 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

CHƯƠNG 2 TÌM HIỂ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

Trang 6

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

CHƯƠNG 3 Ứ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ẬN VÀ HƯỚNG PHÁT TRIỂN 62

TÀI LIỆU THAM KHẢO 63

Trang 7

DANH MỤC HÌNH ẢNH

Hình 2.2 Ứng dụng Foursquare khám phá thế giới xung

quanh bạn

35

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í

Trang 8

DANH MỤC BẢNG

Bảng 1.1 Quy định về các kí tự được sử dụng trong chuỗi

URL

7

Trang 9

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

Trang 10

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

Trang 11

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 Đối tƣợ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 đó

Trang 12

6 P ƣơ p p i ứ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 C ƣơ 1 Cơ sở 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 C ƣơ 2 Tì iể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 C ƣơ 3 Ứ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ể

Trang 13

CHƯƠNG 1 CƠ SỞ 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

Trang 14

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:

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:

http://maps.googleapis.com/maps/api/service/output?parameter

Trang 15

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

Trang 16

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

Trang 17

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

Tọa độ địa lý nhận được là:

"long_name" : "Trường THPT Xuân Hòa",

"short_name" : "Trường THPT Xuân Hòa",

"types" : [ "establishment" ]

},

{

Trang 18

"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" ]

Trang 19

}

],

"status" : "OK"

}

Trang 20

b Tìm kiếm địa chỉ bằng tọa độ vật lý

Với câu truy vấn như sau:

https://maps.googleapis.com/maps/api/geocode/json?address=%C4%91%E1

%BA%A1i%20h%E1%BB%8Dc%20s%C6%B0%20ph%E1%BA%A1m%202%20Xu%C3%A2n%20H%C3%B2a%20Ph%C3%BAc%20Y%C3%AAn%20V%C4%A9nh%20Ph%C3%BAc

Kết quả nhận được dạng JSON là:

"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",

Trang 22

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

Trang 23

đổ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 đó

Trang 24

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

Trang 25

- 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

- 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

Trang 26

service đã được miêu tả cụ thể trong WSDL Giao tác UDDI sử dụng SOAP

để nói chuyện với UDDI server, sau đó các ứng dụng SOAP yêu cầu một Web service Các thông điệp SOAP được gửi đi chính xác bởi HTTP và TCP/IP

Hình 1.2 Các giao thức của Web service

Các giao thức Web service là tập hợp các giao thức mạng máy tính được sử dụng để định nghĩa, xác định vị trí, thi hành và tạo nên Web service tương tác với những ứng dụng hay dịch vụ khác Các giao thức này có 4 thành phần chính:

- Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữa các ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và gần đây nhất là giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange Protocol-BEEP)

Trang 27

- Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để có thể hiểu được ở mức ứng dụng tương tác với người dùng Hiện tại, những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST

- Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một Web service cụ thể WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML Web service sẽ sử dụng ngôn ngữ này để truyền tham số và các loại dữ liệu cho các thao tác, các chức năng mà Web service cung cấp

- Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký,

từ đó giúp một Web service có thể dễ dàng khám phá ra những dịch vụ nào đã

có trên mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác Một Web service cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này

Hình 1.3 Các giao thức truyền thông và dịch vụ web

Trang 28

Trong đó, tầng giao thức tương tác dịch vụ (Service Communication Protocol) với công nghệ chuẩn là SOAP SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch vụ, cho phép người dùng triệu gọi một dịch vụ từ xa thông qua một thông điệp XML Ngoài ra, để các dịch vụ

có tính an toàn, toàn vẹn và bảo mật thông tin, trong kiến trúc Web service, chúng ta có thêm các tầng Policy, Security, Transaction, Management

1.2.4 Các thành phần của dịch vụ web

 XML – eXtensible Markup Language

- Là chuẩn do W3C đưa ra cho cách thức mô tả chuẩn dữ liệu

- Là thẻ mở cho phép lập trình viên định nghĩa bất cứ kiểu dữ liệu nào

- Là chuẩn giúp nhiều ngôn ngữ, môi trường khác nhau giao tiếp được

với nhau

 WSDL - Web Service Description Language

- Được chia là 2 loại: tập tin định nghĩa và tập tin thực thi

- Được định nghĩa theo cú pháp tổng quát gồm: tên dịch vụ, giao thức và kiểu mã hóa khi gọi hàm dịch vụ web, loại thông tin thao tác, tham số, kiểu dữ liệu

 Universal Description, Discovery, and Integration (UDDI)

- Cho phép client truy tìm và nhận những thông tin được yêu cầu khi sử dụng dịch vụ Web

- Cấu trúc dịch vụ Web bao gồm:

 Trang trắng - White pages: chứa thông tin liên hệ và các định dạng chính yếu của dịch vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận dạng… Những thông tin này cho phép các đối tượng khác

Trang 29

 Trang xanh - Green pages: chứa thông tin kỹ thuật mô tả các hành vi

và các chức năng của dịch vụ Web

 Loại dịch vụ - tModel: chứa các thông tin về loại dịch vụ được sử

dụng

 SOAP-Simple Object Access Protocol

- Là một giao thức giao tiếp có cấu trúc giống XML

- Là cấu trúc xương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và hệ điều hành khác nhau

- Có 2 kiểu truyền thông là gọi thủ tục từ xa (Remote proceduce call) và hướng thông điệp (Message)

1.2.5 An toàn cho dịch vụ web

Web service liên kết và tương tác với các ứng dụng qua Internet, chính

vì vậy bảo mật là một vấn đề được quan tâm khi các công ty tiến tới kết hợp ứng dụng với một Web service Việc đảm bảo an toàn cho Web service là một vấn đề quan trọng, đặc biệt đối với những dịch vụ liên quan đến trao đổi tiền

tệ, thông tin từ thị trường chứng khoán hay dịch vụ bán hàng qua mạng (liên quan đến trả tiền bằng tài khoản và có yêu cầu thông tin cá nhân của người dùng)

Trước khi có WS-Security (bảo mật cho Web service) thì ý nghĩa thông thường của an toàn Web service là bảo mật kênh truyền dữ liệu Hiện nay, nó được thực hiện cho những SOAP/HTTP dựa trên cơ chế truyền thông điệp bằng cách sử dụng giao thức HTTPS Không chỉ là an toàn ở mức truyền thông điệp, HTTPS còn cung cấp sự an toàn tới toàn bộ gói dữ liệu HTTP

Mặc dù HTTPS không bao gồm tất cả các khía cạnh trong chuẩn an toàn chung cho Web service nhưng nó đã cung cấp một lớp bảo mật khá đầy

đủ với định danh, chứng thực, tính toàn vẹn thông điệp hay độ tin cậy

Trang 30

 Đảm bảo an toàn cho Web service:

Khái niệm về WS-Security: đây là một chuẩn an toàn bao trùm cho SOAP, nó được dùng khi muốn xây dựng những Web service toàn vẹn và tin cậy Toàn vẹn có nghĩa là khi có một giao dịch hay khi truyền thông tin, hệ thống và thông tin sẽ không bị chặn, giao dịch sẽ không bị mất cũng như không thể có người lấy cắp được dữ liệu trên đường truyền WS-security được thiết kế mang tính mở nhằm hướng tới những mô hình an toàn khác bao gồm PKI, Kerberos và SSL

Nó cũng đưa ra nhiều hỗ trợ cho các cơ chế an toàn khác, nhiều khuôn dạng chữ ký và công nghệ mã hóa, đảm bảo sự an toàn, toàn vẹn thông điệp

và tính tin cậy của thông điệp Tuy nhiên, WS-security cũng chưa thể đảm bảo được tất cả yêu cầu về bảo mật và an toàn thông tin, nó chỉ là một trong những lớp của giải pháp an toàn cho Web service

Tính toàn vẹn tạo ra một chữ ký số hóa XML dựa trên nội dung của thông điệp Nếu dữ liệu bị thay đổi bất hợp pháp, nó sẽ không còn thích hợp với chữ ký số hóa XML đó Chữ ký này được tạo ra dựa trên khóa mà người gửi thông điệp tạo ra, do đó người nhận chỉ nhận thông điệp khi có chữ ký sử dụng và nội dung phù hợp Ngược lại sẽ có một thông báo lỗi Việc chứng thực được thực hiện giữa client và server là cách chứng thực rất cơ bản (sử dụng định danh người dùng và mật khẩu)

WS-security chỉ là một trong những lớp an toàn và bảo mật cho Web service, vì vậy cần một mô hình an toàn chung lớn hơn để có thể bao quát được các khía cạnh khác Các thành phần được thêm có thể là WS-Secure Conversation Describes,WS-Authentication Describes,WS-Policy Describes hay WS-Trust Describes Chúng sẽ thực hiện việc đảm bảo an toàn hơn cho

hệ thống khi trao đổi dữ liệu, mở và đóng các phiên làm việc cũng như quản

lý dữ liệu cần chứng thực và chính sách chứng thực

Trang 31

- Giai đoạn triển khai: công bố định nghĩa dịch vụ, xây dựng WSDL và triển khai mã thực thi của dịch vụ Web Triển khai dịch vụ Web tới một ứng dụng phía server, sau đó sẽ công bố dịch vụ Web trên mạng Internet để các client có thể nhìn thấy Sử dụng UDDI registry để công bố lên mạng

- Giai đoạn tiến hành: tìm kiếm và gọi thực thi dịch vụ Web bởi những người dùng muốn sử dụng dịch vụ

- Quản lý: Quản lý và quản trị dịch vụ, duy trì sự ổn định của dịch vụ, cập nhật thông tin mới, sửa lỗi khi nó xảy ra…

Để xây dựng một dịch vụ Web, cần hiểu được những việc phải làm và nên bắt đầu từ đâu Có 3 cách tiếp cận chủ yếu để xây dựng nên một dịch vụ Web, có thể từ một ứng dụng đã có (bottom-up); từ một định nghĩa dịch vụ, WSDL để phát sinh một ứng dụng mới (top-down) hoặc có thể từ một nhóm các dịch vụ Web hiện có, kết hợp lại với nhau để tạo nên các chức năng mới hoặc mở rộng thêm chức năng Những hướng tiếp cận này dựa trên những gì

mà chúng ta đã có, tùy thuộc vào yêu cầu của hệ thống, trong đó tối đa việc sử dụng lại các chức năng, các thành phần, môđun đã được xây dựng

Trang 32

Qui trình xây dựng một dịch vụ Web bao gồm các bước sau:

 Bước 1 Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ

sẽ cung cấp (sử dụng ngôn ngữ Java chẳng hạn)

 Bước 2 Tạo WSDL cho dịch vụ

 Bước 3 Xây dựng SOAP server

 Bước 4 Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy và truy xuất

 Bước 5 Client nhận file WSDL và từ đó xây dựng SOAP client để có thể kết nối với SOAP server

 Bước 6 Xây dựng ứng dụng phía client (chẳng hạn sử dụng Java) và sau đó gọi thực hiện dịch vụ thông qua việc kết nối tới SOAP server

Lựa chọn một ngôn ngữ, xây dựng các tiến trình nghiệp vụ và chúng ta bắt đầu tạo nên một dịch vụ Web như ý muốn Sau đó là cung cấp dịch vụ Web này trên Internet

Trang 33

CHƯƠNG 2 TÌM HIỂU VỀ LOCATION BASED SERVICES VÀ

ứng nhu cầu cá nhân hóa dịch vụ cho người dùng, kiểu như là: “I’m here,

take care of me.” hoặc là: “Where are you? Can I join?” Ví dụ như ta phát

hiện ra nhóm người bạn của mình đang ở một nhà hàng yêu thích và thế là cả nhóm cùng đi ăn trưa

Location Based services (LBSs) là các dịch vụ thông tin hoặc giải trí sử dụng trên các thiết bị di động truyền thông các mạng điện thoại và có sử dụng thông tin vị trí hiện tại của thiết bị

Một số LBS hiện nay có thể kể đến như: Google Map, Foursquare, Facebook Places…

2.1.2 Phân biệt GIS và LBS

GIS (Geographic Information Systems) và LBS có một số đặc điểm tương đồng đặc biệt Dễ thấy nhất là việc xử lí dữ liệu có tham chiếu đến vị trí

và các tính năng phân tích không gian (LBS – services), cung cấp cho câu trả lời cho những câu hỏi như:

- Tôi đang ở đâu?

- Có những đối tượng nào ở gần?

- Làm thế nào để đi đến đó?

Nhưng LBS và GIS có nguồn gốc và các nhóm người dùng khác nhau

như được mô tả với Virrantaus et al (2001) Họ phân tích rằng các hệ thống

thông tin địa lí đã được phát triển trong nhiều thập kỉ trên cơ sở các ứng dụng

Trang 34

địa lí chuyên nghiệp Trong khi đó LBS mới ra đời gần đây bởi sự tiến triển của dịch vụ di động công cộng

Hệ thống thông tin địa lí (Geographic Information System) là một hệ thống lưu giữ, phân tích, quản lí và trình bày dữ liệu liên quan đến vị trí và thông tin địa lí Theo cách hiểu hiện nay, GIS còn bao gồm các công cụ truy vấn thông tin, phân tích và kết hợp các thông tin rời rạc, bản đồ… GIS được ứng dụng trong khá nhiều ngành như bất động sản, y tế, an ninh quốc phòng hay quy hoạch đô thị

GIS đóng vai trò rất quan trọng trong các LBS, vì nếu thiếu cơ sở dữ liệu thông tin do GIS cung cấp, LBS không thể rút ra ý nghĩa từ thông tin vị trí thu được

2.1.3 Kiến trúc của LBS

Để một LBS hoạt động cần có sự phối hợp của các thành phần cơ bản như sau:

Mobile divices (user): Thiết bị di động được dùng để gửi đi yêu cầu và

nhận về kết quả đáp ứng, nó có thể là điện thoại di động, thiết bị trợ giúp

cá nhân (PDA), máy tính xách tay, các thiết bị dẫn đường đặt trên xe, các trạm cung cấp thông tin đặt tại các điểm công cộng

Communication networks: Mạng truyền thông đóng vai trò kết nối thiết

bị di động và nhà cung cấp dịch vụ trong trường hợp nhà cung cấp ứng dụng triển khai dịch vụ của họ trên Internet, mạng truyền thông được hiểu

là mạng thông tin di động và mạng Internet Trong quá trình hoạt động, yêu cầu được gửi từ người dùng qua mạng di động đến giao diện giữa mạng di động và mạng Internet, từ đó yêu cầu được chuyển tiếp đến nhà cung cấp dịch vụ

Positioning: Hệ thống định vị có nhiệm vụ cung cấp về vị trí của khách

hàng như một tham số đầu vào cho quá trình xử lí yêu cầu Cụ thể, nếu là

Trang 35

yêu cầu chỉ đường thì đương nhiên nhà cung cấp dịch vụ cần biết vị trí hiện tại của khách hàng Còn nếu khách hàng yêu cầu trợ giúp về mặt kĩ thuật, y tế, nhân lực… thì thông tin vị trí gửi kèm yêu cầu sẽ giúp nhà cung cấp dịch vụ tiếp cận khách hàng nhanh hơn Trong một số trường hợp khác thì vị trí của khách hàng được nhà cung cấp dùng làm căn cứ để tính cước cho dịch vụ của mình Trong thực tế, hệ thống định vị toàn cầu GPS

là lựa chọn số một khi lên phương án xây dựng hệ thống LBS Vì những

ưu điểm như diện tích phủ sóng bao phủ toàn bộ về mặt trái đất, độ chính xác cao, cho phép sử dụng tín hiệu miễn phí mà hiện tại đang xuất hiện xu hướng tích hợp chức năng định vị bằng GPS vào các thiết bị di động đặc biệt là điện thoại, PDA, máy tính xách tay…

Service and application Provider: Nhà cung cấp ứng dụng và dịch vụ

nhận yêu cầu từ khách hàng, xác định vị trí của họ thông qua dữ liệu định

vị được gửi kèm yêu cầu, sau đó xử lí để cụng cấp sự trợ giúp hoặc thông tin tương ứng với vị trí và yêu cầu của khách hàng Các ứng dụng và dịch

vụ được nhà cung cung cấp triển khai thường là định vị dẫn đường, tra cứu thông tin địa lí, cứu hộ cứu nạn, quản lí điều hành phương tiện giao thông…

Trang 36

Hình 2.1 Các thành phần (component) của một LBS

2.1.4 Phân loại LBS

Có thể chia LBS làm hai loại cơ bản, nếu xét ở góc độ thông tin được

cung cấp có dựa trên tương tác với người dùng hay không, đó là Pull Services

và Push Services

Pull Services: cung cấp thông tin được yêu cầu trực tiếp từ người sử

dụng Tương tự như ta lên trình duyệt web và gõ vào địa chỉ trang web

mà ta cần, nhấn nút trên một thiết bị kết nối để gọi taxi hay dùng các

dịch vụ thông tin tìm kiếm máy ATM gần nhất xung quanh mình

Push Services: cung cấp thông tin không được yêu cầu trực tiếp từ

người sử dụng, thường được kích hoạt bằng một sự kiện nào đó chẳng

hạn khi người dùng đi vào một vùng địa lí đặc biệt nào đó hoặc đến

một địa điểm đã hoạch định trước Ví dụ, các dịch vụ tin tức sẽ tự động

thêm vào các đầu mục tin tức liên quan đến thành phố thực sự mà ta

Ngày đăng: 24/09/2015, 16:21

HÌNH ẢNH LIÊN QUAN

Bảng  Nội dung  Trang - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
ng Nội dung Trang (Trang 8)
Hình 1.1. Google Map - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 1.1. Google Map (Trang 13)
Hình 2.1. Các thành phần (component) của một LBS - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 2.1. Các thành phần (component) của một LBS (Trang 36)
Hình 2.2. Ứng dụng Foursquare khám phá thế giới xung quanh bạn - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 2.2. Ứng dụng Foursquare khám phá thế giới xung quanh bạn (Trang 43)
Hình 2.3. Nhân tố game của Foursquare - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 2.3. Nhân tố game của Foursquare (Trang 44)
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 - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
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 (Trang 51)
Hình 3.2.  Mô hình của ứng dụng - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 3.2. Mô hình của ứng dụng (Trang 52)
3.4.1. Sơ đồ tác nhân - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
3.4.1. Sơ đồ tác nhân (Trang 56)
Hình 3.4. Sơ đồ lớp thực thể - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 3.4. Sơ đồ lớp thực thể (Trang 58)
Hình 3.5.  Sơ đồ hoạt động quá trình xem và sửa thông tin cá nhân - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 3.5. Sơ đồ hoạt động quá trình xem và sửa thông tin cá nhân (Trang 60)
Hình 3.6. Sơ đồ hoạt động tìm địa điểm gần - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 3.6. Sơ đồ hoạt động tìm địa điểm gần (Trang 63)
Hình 3.7. Màn hình ngoài với icon  Hình 3.8. Màn hình welcome - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 3.7. Màn hình ngoài với icon Hình 3.8. Màn hình welcome (Trang 64)
Hình 3.9. Màn hình đăng nhập  Hình 3.10. Mặc định tìm vị trí - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 3.9. Màn hình đăng nhập Hình 3.10. Mặc định tìm vị trí (Trang 65)
Hình 3.13. Bán kính tìm kiếm  Hình 3.14. Kết quả - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 3.13. Bán kính tìm kiếm Hình 3.14. Kết quả (Trang 67)
Hình 3.17. Kết quả chọn 1 địa điểm  Hình 3.18. Tìm kiếm với địa điềm khác - Xây dựng chương trình gợi ý tour du lịch cá nhân sử dụng locatin based service
Hình 3.17. Kết quả chọn 1 địa điểm Hình 3.18. Tìm kiếm với địa điềm khác (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w