1. Trang chủ
  2. » Thể loại khác

XÂY DỰNG KHO DỮ LIỆU TRỰC TUYẾN ĐỊA ĐIỂM DU LỊCHTRÊN ĐIỆN THOẠI DI ĐỘNG

127 74 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 127
Dung lượng 7,82 MB

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

Nội dung

Nhằm phục vụ cho các đối tượng du lịch cá nhân, hành trình không theo các tour du lịch do các công ty lữ hành cung cấp và sự kết hợp công nghệ phát triển của điệnthoại thông minh thì việ

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI : XÂY DỰNG KHO DỮ LIỆU TRỰC TUYẾN ĐỊA ĐIỂM DU LỊCH

TRÊN ĐIỆN THOẠI DI ĐỘNG

Mã số : 07T2-051 Ngày bảo vệ : 13-14/06/2012

SINH VIÊN : LÊ PHƯƠNG TIẾN

ĐÀ NẴNG, 06/2012

Trang 2

Tôi xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng đã truyền đạt những kiến thức quý báu cho tôi trong những năm học vừa qua và nhất là đã tạo điều kiện thuận lợi cho tôi học tập, thực hiện đề tài tốt nghiệp này.

Đặc biệt, tôi xin chân thành cảm ơn Thầy giáo PGS.TS.Phan Huy Khánh đã trực tiếp, tận tình giúp đỡ và hướng dẫn tôi trong suốt thời gian thực hiện đề tài.

Để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình Ông Bà, Cha Mẹ và những người thân trong gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất về vật chất lẫn tinh thần trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.

Mặc dù đã cố gắng hoàn thành đồ án trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Tôi rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý Thầy Cô và các bạn.

Một lần nữa xin chân thành cám ơn!

Đà Nẵng, ngày 01 tháng 06 năm 2012 Sinh viên thực hiện

Lê Phương Tiến

Trang 3

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy PGS.TS.Phan Huy Khánh.

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên

Lê Phương Tiến

Trang 4

Trang 5

Trang 6

DANH MỤC HÌNH ẢNH 5

DANH MỤC BẢNG 7

MỞ ĐẦU 8

I GIỚI THIỆU ĐỀ TÀI 8

I.1 Bối cảnh đề tài 8

I.2 Mục đích 9

I.3 Ý nghĩa 9

II PHẠM VI ĐỀ TÀI 9

III TRIỂN KHAI ĐỀ TÀI 9

III.1 Các bước thực hiện 9

III.2 Mục tiêu cần đạt được 10

IV KẾT QUẢ DỰ KIẾN 10

CƠ SỞ LÝ THUYẾT 11

I NỀN TẢNG DI ĐỘNG 11

I.1 Giới thiệu các nền tảng di động 11

I.1.1 iOS 11

I.1.2 Android 12

I.1.3 Windows Phone 12

I.1.4 Symbian 13

I.1.5 BlackBerry 13

I.2 Hệ điều hành iOS 14

I.2.1 Giới thiệu 14

I.2.2 Kiến trúc 15

I.3 Ngôn ngữ lập trình Objective-C 17

I.3.1 Giới thiệu 17

I.3.2 Các thành phần 17

I.3.3 Các thế mạnh 18

I.3.4 Môi trường lập trình Xcode 19

II CÁC DỊCH VỤ 20

II.1 Công nghệ định vị toàn cầu GPS 20

II.1.1 Giới thiệu 20

II.1.2 Hoạt động 20

II.1.3 Khả năng định vị toàn cầu của các thiết bị iOS 21

II.2 Google Map và Google Map API 22

II.2.1 Google Map 22

II.2.2 Google Map API 22

III WEBSERVICE 24

III.1 Giới thiệu 24

III.2 Kiến trúc 25

III.3 Thành phần 26

III.3.1 XML – eXtensible Markup Language 26

Trang 7

IV SERVER 31

IV.1 Hệ quản trị cơ sở dữ liệu MySQL 31

IV.2 Ngôn ngữ lập trình PHP 31

IV.3 Web server Apache 32

PHÂN TÍCH THIẾT KẾ HỆ THỐNG 33

I PHÂN TÍCH YÊU CẦU 33

I.1 Mô tả bài toán 33

I.2 Phân tích hiện trạng du lịch Việt Nam 34

I.2.1 Tổng quan 34

I.2.2 Du lịch Ba lô 34

I.2.3 Tiềm năng du lịch Ba lô 35

I.2.4 Vấn đề nan giải 35

I.3 Phân tích yêu cầu bài toán 36

I.3.1 Người sử dụng 36

I.3.2 Kho dữ liệu 37

I.3.3 Công nghệ 39

I.4 Phân tích khả thi 40

I.4.1 Tính khả dụng 40

I.4.2 Chi phí phát triển 40

I.5 Xác định các chức năng chính của hệ thống 40

II PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 43

II.1 Yêu cầu hệ thống 43

II.1.1 Yêu cầu chức năng và đặc tả ca sử dụng 43

II.1.2 Yêu cầu phi chức năng 53

II.2 Tác nhân hệ thống 54

II.3 Biểu đồ ca sử dụng 55

II.3.1 Mức 0 55

II.3.2 Mức 1 56

II.4 Biểu đồ hoạt động 61

II.5 Biểu đồ tuần tự 65

II.6 Biểu đồ lớp 70

II.6.1 Biểu đồ lớp mức phân tích 70

II.6.2 Biểu đồ lớp 71

II.7 Biểu đồ triển khai 71

III XÂY DỰNG CƠ SỞ DỮ LIỆU 72

III.1 Bảng dữ liệu 72

III.1.1 Nhóm người dùng 72

III.1.2 Nhóm địa điểm 72

III.1.3 Nhóm phân loại và đánh giá 73

III.1.4 Nhóm hệ thống 74

III.2 Mô hình quan hệ dữ liệu 75

IV THIẾT KẾ GIAO DIỆN ỨNG DỤNG 76

IV.1 Người dùng 76

IV.2 Các danh sách địa điểm 76

IV.3 Các nhóm chức năng chính 77

IV.4 Địa điểm 78

Trang 8

IV.4.1 Xem thông tin địa điểm 78

IV.4.2 Đăng tải địa điểm 79

XÂY DỰNG HỆ THỐNG 80

I KẾ HOẠCH THỰC HIỆN 80

II XÂY DỰNG HỆ THỐNG 80

II.1 Nhu cầu người dùng 80

II.1.1 Đối tượng người dùng 80

II.1.2 Mục đích người dùng 80

II.1.3 Nhu cầu thực tiễn 81

II.2 Quản lý hệ thống 82

II.2.1 Về hệ thống Server 82

II.2.2 Về cơ sở dữ liệu hệ thống 82

II.3 Xây dựng kho dữ liệu 83

II.3.1 Xây dựng dữ liệu 83

II.3.2 Khai thác dữ liệu 83

II.3.3 Cập nhập dữ liệu 84

II.3.4 Tra cứu dữ liệu 84

III CẤU TRÚC VÀ MÔ HÌNH 85

III.1 Thiết kế cấu trúc 85

III.1.1 Cấu trúc dữ liệu 85

III.1.2 Cấu trúc hệ thống 86

III.2 Mô hình 86

III.2.1 Mô hình triển khai cho server 87

III.2.2 Mô hình triển khai cho client 88

IV TRIỂN KHAI HỆ THỐNG 89

IV.1 Hệ thống server 89

IV.1.1 Môi trường triển khai 89

IV.1.2 Cài đặt cơ sở dữ liệu 89

IV.1.3 Cài đặt Web Service 89

IV.1.4 Khai thác Web Service 90

IV.1.5 Phát triển Web Service 91

IV.2 Ứng dụng trên điện thoại di động iPhone 94

IV.2.1 Môi trường triển khai 94

IV.2.2 Cài đặt ứng dụng 94

IV.2.3 Giao diện ứng dụng 95

IV.2.4 Luồng màn hình ứng dụng 96

IV.2.5 Thao tác dữ liệu với Web Service 97

IV.2.6 Ứng dụng Google MAP API vào triển khai ứng dụng 100

IV.2.7 Các nhóm chức năng chính ứng dụng 102

ĐÁNH GIÁ TRIỂN KHAI 103

I KẾT QUẢ 103

I.1 Kết quả triển khai Web Service 103

I.2 Kết quả cho trang Web Admin 105

I.3 Kết quả triển khai ứng dụng trên điện thoại di động 106

II ĐÁNH GIÁ 114

II.1 Bảng đánh giá kết quả thực hiện 114

II.1.1 Ứng dụng trên điện thoại di động 114

Trang 9

II.2 Những điều đạt được 115

II.3 Những điều chưa đạt được 116

III HƯỚNG PHÁT TRIỂN 117

PHỤ LỤC 118

TÀI LIỆU THAM KHẢO 119

TÓM TẮT LUẬN VĂN TỐT NGHIỆP 120

Trang 10

DANH MỤC HÌNH ẢNH

Hình 1 : Kiến trúc iOS 15

Hình 2 : Ứng dụng GPS trên iOS 21

Hình 3 : Chồng giao thức của dịch vụ Web 25

Hình 4 : Mô hình hoạt động của Web service 30

Hình 5 : UseCase tổng quát - VietBalo 55

Hình 6 : UseCase Đăng ký, đăng nhập 56

Hình 7 : UseCase Quản lý thông tin cá nhân 56

Hình 8 : UseCase Địa điểm 57

Hình 9 : UseCase Tra cứu 58

Hình 10 : UseCase Phản hồi 58

Hình 11 : UseCase Thống kê 59

Hình 12 : UseCase Quản lý người dùng 59

Hình 13 : UseCase Quản lý địa điểm 60

Hình 14 : UseCase Quản lý phản hồi 60

Hình 15 : Biểu đồ hoạt động - Đăng ký 61

Hình 16: Biểu đồ hoạt động - Đăng nhập 61

Hình 17: Biểu đồ hoạt động - Xem thông tin người dùng 61

Hình 18: Biểu đồ hoạt động - Chỉnh sửa thông tin cá nhân 61

Hình 19: Biểu đồ hoạt động - Quên mật khẩu 61

Hình 20: Biểu đồ hoạt động - Xem địa điểm 62

Hình 21: Biểu đồ hoạt động - Cập nhập thông tin địa điểm 62

Hình 22: Biểu đồ hoạt động - Chỉnh sửa thông tin địa điểm 63

Hình 23: Biểu đồ hoạt động - Thêm địa điểm 63

Hình 24: Biểu đồ hoạt động - Tìm kiếm, tra cứu 63

Hình 25: Biểu đồ hoạt động - Phản hồi hệ thống 64

Hình 26: Biểu đồ hoạt động - Xem thống kê 64

Hình 27: Biểu đồ hoạt động - Quản lý thành viên 64

Hình 28: Biểu đồ hoạt động - Quản lý địa điểm 64

Hình 29: Biểu đồ hoạt động - Quản lý phản hồi 65

Hình 30 : Biểu đồ tuần tự - Đăng ký 65

Hình 31 : Biểu đồ tuần tự - Đăng nhập 66

Hình 32 : Biểu đồ tuần tự - Chỉnh sửa thông tin cá nhân 66

Hình 33 : Biểu đồ tuần tự - Xem thông tin địa điểm 67

Hình 34 : Biểu đồ tuần tự - Chỉnh sửa thông tin địa điểm 67

Hình 35 : Biểu đồ tuần tự - Cập nhập thông tin địa điểm 68

Hình 36 : Biểu đồ tuần tự - Tra cứu địa điểm 68

Hình 37 : Biểu đồ tuần tự - Tìm kiếm địa điểm 69

Hình 38 : Biểu đồ tuần tự - Đăng tải địa điểm 69

Hình 39 : Biểu đồ tuần tự - Phản hồi 70

Hình 40: Biểu đồ lớp mức phân tích 70

Hình 41: Biểu đồ lớp 71

Hình 42: Biểu đồ triển khai 71

Hình 43 : Mô hình quan hệ dữ liệu 75

Hình 44 : Kế hoạch thực hiện 80

Hình 45 : Sơ đồ xây dựng dữ liệu của hệ thống thông qua đối tượng 83

Hình 46 : Mô hình tra cứu dữ liệu 84

Hình 47 : Mô hình quan hệ dữ liệu 85

Hình 48 : Biểu đồ triển khai 86

Trang 11

Hình 50 : Mô hình MVC triển khai cho server 87

Hình 51 : Sơ đồ hoạt động của mô hình MVC cho server 87

Hình 52 : Mô hình 3 lớp triển khai cho client 88

Hình 53 : Kết quả chạy Web Service với 1 số phương thức cơ bản đầu tiên 90

Hình 54 : Sử dụng Web Service trên SOAP UI 90

Hình 55 : Cấu trúc mã nguồn phát triển Web Service trên môi trường NetBean 92

Hình 56 : Giao diện cơ bản của ứng dụng 95

Hình 57 : Các luồng màn hình chính của ứng dụng 96

Hình 58 : Sơ đồ kết nối giữa ứng dụng với Server 97

Hình 59 : Sơ đồ nhận dữ liệu từ Web Service của ứng dụng 98

Hình 60 : Sơ đồ đọc dữ liệu XML của ứng dụng 99

Hình 61 : Sử dụng Google MAP API để lấy vị trí trên bản đồ 101

Trang 12

DANH MỤC BẢNG

Bảng 1 : Bảng các chức năng đăng ký, đăng nhập 40

Bảng 2 : Bảng các chức năng quản lý thông tin cá nhân 40

Bảng 3 : Bảng các chức năng địa điểm 41

Bảng 4 : Bảng các chức năng tra cứu 41

Bảng 5 : Bảng các chức năng phản hồi 41

Bảng 6 : Bảng các chức năng thống kê 41

Bảng 7 : Bảng các chức năng quản lý hệ thống 42

Bảng 8 : Bảng Users 72

Bảng 9 : Bảng Regions 72

Bảng 10 : Bảng Places 73

Bảng 11 : Bảng Comments 73

Bảng 12 : Bảng Rates 73

Bảng 13 : Bảng Reports 73

Bảng 14 : Bảng SystemReports 74

Bảng 15 : Bảng Users_Places 74

Bảng 16 : Kết quả thực hiện - Người dùng 114

Bảng 17 : Kết quả thực hiện - Địa điểm 114

Bảng 18 : Kết quả thực hiện - Tra cứu, tìm kiếm các địa điểm 114

Bảng 19 : Kết quả thực hiện - Tra cứu các địa điểm xung quanh người dùng 115

Bảng 20 : Kết quả thực hiện - Hệ thống server 115

Trang 13

.I GIỚI THIỆU ĐỀ TÀI

.I.1 Bối cảnh đề tài

Ngày nay, khi cuộc sống vật chất đã được đảm bảo thì con người sẽ tìm tới cácdịch vụ nhằm nâng cao đời sống tinh thần và vật chất Sự phát triển của các ngànhcông nghiệp dịch vụ không khói được đẩy mạnh, trong đó du lịch dịch vụ là mộtngành mang lại nhiều tiềm năng trong công cuộc phát triển bền vững của một quốcgia

Nhu cầu du lịch của mọi người đã trở thành phổ biến Ngoài các tour du lịch docác công ty cung cấp thì ngày nay cũng đã xuất hiện nhiều các hình thái du lịch cánhân, mang tích chất tự do Đồi với nước ngoài thì loại hình này đã được phát triểnrất lâu, người du lịch bỏ ra chi phí thấp cho một chuyến du lịch và họ sẽ được trảinghiệm hoàn toàn theo cách riêng của mình Đối với nước ta, thì loại hình này đanggiai đoạn phát triển, việc nắm bắt loại hình này sẽ giúp cho các địa phương nâng caophát triển các ngành du lịch dịch vụ và mang lại nguồn lợi to lớn cũng như quảng báhình ảnh của đất nước

Đồng thời, sự phát triển của khoa học công nghệ ngày càng nhanh chóng Điệnthoại di động không còn đơn thuần là thiết bị liên lạc, mà trở thành một công cụ giảitrí đa phương tiện và một vật không thể thiếu của mọi người Đối với người du lịchthì một chiếc điện thoại sẽ hỗ trợ họ rất nhiều trong chuyến du lịch, nhất là nhừngngười du lịch tự do ( không theo các tour du lịch ) Điện thoại giúp họ tìm đường, xácđịnh vị trí, ghi lại những hình ảnh đẹp, chia sẻ cho bạn bè, người thân và còn nhiềulợi ích khác mang lại cho người dùng

Nhằm phục vụ cho các đối tượng du lịch cá nhân, hành trình không theo các tour

du lịch do các công ty lữ hành cung cấp và sự kết hợp công nghệ phát triển của điệnthoại thông minh thì việc phát triển một kho dữ liệu các địa điểm du lịch và một ứngdụng kèm theo trên điện thoại di động sẽ là công cụ cần thiết trong hành trang củangười du lịch

Chính vì vậy, ý tưởng của tôi đưa ra là xây dựng kho dữ liệu trực tuyến các địa

điểm du lịch trên điện thoại di động với tên gọi là "Việt Balô".

Trang 14

.I.2 Mục đích

Luận văn tốt nghiệp trên ý tưởng đề tài với hai mục đích chính :

 Xây dựng kho dữ liệu trực tuyến các địa điểm du lịch

 Xây dựng ứng dụng trên điện thoại di động iPhone, nhằm sử dụng, khaithác, xây dựng kho dữ liệu

.I.3 Ý nghĩa

"Việt Balô" là một kho dữ liệu các địa điểm du lịch được thiết kế để sử dụng trên

các thiết bị di động Nhằm cung cấp các địa điểm hay được nhiều người du lịch đi tới,bình luận cũng nhưng đánh giá về các địa điểm

Người du lịch có thể tìm kiếm các địa điểm du lịch mà không cần theo sự cung cấpcác công ty du lịch lữ hành Ngoài ra, họ có thể chia sẻ các địa điểm đã đi qua, chia sẻkết nối bạn bè Các công ty hoặc các địa phương có thể tham khảo và đề ra nhiều tour

du lịch với các địa điểm du lịch tiềm năng được kho dữ liệu cung cấp

Các nhà phát triển, lập trình viên có thể sử dụng các phương thức được cung cấpcủa kho dữ liệu để phát triển ứng dụng kho dữ liệu trên nhiều nền tảng khác nhau,nhằm đưa kho dữ liệu phát triển và đến với nhiều người dùng hơn

Quan trọng hơn, "Việt Balô" đem lại lợi ích cho đại đa số người dùng, với mỗi

người dùng đều là người khai thác và người phát triển kho dữ liệu

.III TRIỂN KHAI ĐỀ TÀI

.III.1 Các bước thực hiện

 Phân tích các yêu cầu sử dụng của đề tài

 Phân tích thiết kế hệ thống

 Xây dựng cơ sở dữ liệu

 Xây dựng hệ thống webservice

Trang 15

 Xây dựng ứng dụng trên điện thoại di động iPhone.

 Triển khai hoạt động cho kho dữ liệu và ứng dụng, đồng thời tiến hànhkiểm thử đảm bảo chất lượng

 Viết báo cáo tổng kết đề tài và đề ra hướng phát triển

.III.2 Mục tiêu cần đạt được

Dự kiến "Việt Balô" hoàn toàn có khả năng triển khai thực tiễn Các mục tiêu cần

đạt được:

 Xây dựng thành công hệ thống kho dữ liệu ở Server với Web Service cungcấp việc giao tiếp giữa điện thoại với kho dữ liệu

 Xây dựng thành công ứng dựng trên điện thoại di động iPhone

 Triển khai thành công hệ thống chạy trên môi trường thực tiễn, cụ thể là:internet cho server và trên điện thoại di động iPhone cho ứng dụng

.IV KẾT QUẢ DỰ KIẾN

Với mục đích đề ra thì kết quả cần đạt được trong đề tài luận văn tốt nghiệp này:

 Tìm hiểu nền tảng di động iOS

 Phân tích yêu cầu người dùng và thiết kế hệ thống

 Xây dựng và triển khai hệ thống trong thực tế

Trang 16

.I NỀN TẢNG DI ĐỘNG

.I.1 Giới thiệu các nền tảng di động

Ngày này, thị trường di động đang pháttriển mạnh mẽ chưa từng thấy với vô vàngcác nhãn hiệu, kiểu dáng, tính năng Đãbiến chiếc điện thoại thành một thiết bị giảitrí đa phương tiện không thể thiếu Với lợithế nhỏ gọn, được mọi người sử dụng đemtheo mọi lúc mọi nơi, nhưng cũng vì nhỏgọn như vậy cũng là một bất lợi về xử lý vàtốc độ Để đảm bảo một chiếc điện thoạithông minh hoạt động tốt thì nó cần có một

hệ điều hành quản lý thiết bị

Đi kèm với sự phát triển phần cứng trên thiết bị động thì cuộc chiến của các nhàphát triển các hệ điều hành trên điện thoại di động cũng diễn ra hết sức khốc liệt.Hiện nay, các nền tảng di động lớn được biết đến như sau

Nền tảng di động iOS với điện thoại di động thông minh iPhone, với thiết kế đẹp,thời trang, cảm ứng mượt mà, màn hình đẹp và sắc nét cùng với tài năng của "thánh"

Steve Jobs đã khiến cho iPhone trở thành hiện tượng trên mọi thị trường, đặc biệt là

ở Mỹ Doanh số bán ra của iPhone tăng dần qua các năm, và dần dần thống lĩnh thịtrường của nhiều nước iPhone dù mỗi năm chỉ ra một phiên bản mới nhưng sức nóng

đủ lan tỏa khắp làng di động, do đó, iOS vẫn chưa bao giờ "già"

iOS là hệ điều hành "đóng" hoạt động trên iPhone, iPad, iPod iOS đã quyết định

rất nhiều đối với sự thành công của Apple, với giao diện bóng bẩy, đẹp mắt, và dễ sửdụng Tất cả chỉ là chạm và vuốt để thực thi Cùng với chính sách hợp lý để thu hútcác lập trình viên viết ứng dụng, kho ứng dụng Appstore ngày càng lớn khiến chongười dùng càng thêm thích thú, mọi nhu cầu của từng người đều có thể được đápứng Cũng như việc Apple cũng tung ra cập nhật, vá các lỗi liên tục khi phát hiện,khiến cho iOS ngày càng trở nên "thông minh" hơn, an toàn hơn

Nhưng nếu gọi iOS là thống trị năm 2012 thì điều đó cũng là chưa thể Vì iOS chỉđược cài giới hạn trên thiết bị của Apple gồm những thiết bị như iPhone, iPad, iPod Thị phần của thiết bị Apple trên thế giới nói chung là không lớn, số liệu các bạn thấy

Trang 17

.I.1.2 Android

Mặc dù sinh sau đẻ muộn, nhưng Android đang có những bước tiến thần tốc, trongthời gian ngắn đã đạt được nhiều điều khiến mọi hệ điều hành di động mơ ước:khoảng 700.000 điện thoại Android được kích hoạt mỗi ngày

Khi mà iOS ngày càng bành trướng mà Symbian lại không đủ sức để cạnh tranh.Các lập trình viên, các nhà sản xuất điện thoại chú ý đến Android Hệ điều hành diđộng mở được Google phát triển dựa trên nền tảng Linux

Android ngày càng lớn mạnh về số lượng và chất lượng bởi sự linh hoạt từ nền

tảng Google, phù hợp với cả smartphone tầm thấp lẫn giá cao Hàng loạt các nhà sảnxuất điện thoại di động sử dụng Android làm hệ điều hành chính cho các sản phẩmcủa mình Như HTC, Samsung, LG, Motorola, Sony Ericsson Từ điện thoại, chođến máy tính bảng của các hãng này đều dùng hệ điều hành Android Các nhà lậptrình viết ứng dụng ngày càng nhiều trên Android Market Kho ứng dụng đang cạnhtranh trực tiếp với AppStore của Apple Chính vì điều này mà đã khiến Android ngàycàng bành trướng trên thị trường khắp các châu lục, và đến năm sau, năm 2012,Android sẽ là hệ điều hành thống trị

Nhưng các bạn có thể thấy, dường như Android đang ở trên đỉnh cao của mình.Chính vì có quá nhiều thiết bị, mỗi thiết bị có cấu hình riêng, nhà sản xuất tùy biếnriêng và việc có quá nhiều ứng dụng, nhưng lại không theo một chuẩn cụ thể nào.Khiến Android ngày càng bị phân mảnh và rời rạc

Android được cập nhật quá thường xuyên, dẫn đến tình trạng trên thị trường cónhiều phiên bản cùng tồn tại, được phát hành song song với nhau Google đang dầnmuốn kiểm soát và hạn chế sự phân mảnh, nhưng đồng thời cũng làm mất dần tính

"mở" vốn là triết lý cơ bản của Android

Sau sự kiện Microsoft hợp tác cùng Nokia Nokia sẽ chạy hệ điều hành WindowsPhone trên các smartphone của mình song song với Symbian và MeeGo Với lợi thế

là nhà sản xuất điện thoại chiếm thị phần cao trên thế giới Windows Phone bắt đầu

khiến các hệ điều hành di động khác lo lắng

Windows Phone 7 không có gì giống Windows Mobile Hệ điều hành mới này có

một diện mạo hoàn mới, hợp thời, với giao diện Metro đầy mới lạ, gần giống như một

tờ tạp chí, và cực kỳ dễ sử dụng mặc dù cách xử lý mọi việc rất khác WindowsPhone 7 cũng đã tạo ra một sức hấp dẫn mới cho làng công nghệ Kho ứng dụngMarketplace tuy có khiêm tốn nhưng rất nhiều phần mềm hữu ích và được kiểm soátbởi Microsoft

Trang 18

.I.1.4 Symbian

Symbian, hệ điều hành di động được đánh giá là thân thiện, dễ sử dụng Symbian

rất mạnh đối với các dòng điện thoại sử dụng màn hình cứng, bàn phím T9 cơ bản Vàkho ứng dụng của Symbian trong 10 năm qua không phải là ít Những ứng dụng nàyđáp ứng không nhỏ trong công việc, đời sống hằng ngày của mọi người

Từ bản Symbian^3, giao diện đã thay đổi rất nhiều Nhưng chưa rõ rệt cho lắm.

Cho đến bản Symbian Anna, Symbian Belle toàn bộ đã khác: Biểu tượng trau chuốthơn, giao diện mượt mà hơn, loại bỏ nhiều thứ không cần thiết Mọi sự cố gắng củaSymbian khi thuộc về Nokia có vẻ như đang có sự tiến bộ rõ rệt Có điều năm 2012không phải là năm của Symbian khi chính Nokia cũng đang xuống dốc

Là dòng máy Smartphone cao cấp và nổi tiếng trên thế giới do hãng Research InMotion cung cấp Ngoài những tính năng thông thường, điểm tạo nên sự khác biệtcủa máy BlackBerry là kiểu thiết kế rất đặc trưng; pin tốt và hơn cả là dịch vụ PushMail nổi tiếng và thương hiệu BlackBerry được xây dựng rất thành công

BlackBery OS 6 được RIM công bố tại sự kiện Wireless Enterprise Symposium(diễn ra từ 27 đến 29/4 tại Mỹ) RIM chưa đưa ra chi tiết về hệ điều hành mới, ngoàimột đoạn video quảng cáo khá ấn tượng Theo những thông tin đầu tiên, nhiều cảitiến từ giao diện, màn hình Home mới, menu pop-up, khả năng chuyển dịch, trìnhduyệt web mới dựa trên nền tảng WebKit tương thích HTML5 Ngoài ra, BlackBerry

OS 6 hỗ trợ khả năng điều khiển trên màn hình cảm ứng đa điểm tốt hơn

Trang 19

.I.2 Hệ điều hành iOS

.I.2.1 Giới thiệu

iOS là hệ điều hành chạy trên các thiết bị di động được sản xuất bởi Apple nhưiPhone, iPod touch,iPad Hệ điều hành này quản lý hoạt động của cácthiết bị phầncứng và cung cấp tiện ích cũng như ứng dụng phục vụ cho hệ thống, ví dụ như: điệnthoại, tin nhắn SMS, email, trình duyệt web Safari…

Hệ điều hành này được tiết lộ tại Hội nghị và Triển lãm Macworld diễn ra vàotháng 1 năm 2007 và được phát hành vào tháng 9 năm đó Khi đó, hệ điều hành nàychưa có tên riêng, nên chỉ đơn giản được gọi là “iPhone chạy OS X” Vào ngày 17tháng 10 năm 2007, Apple thông báo một bộ phát triển phần mềm đang được xâydựng và họ dự định sẽ đưa nó đến "tay của các nhà phát triển vào tháng 2" Ngày 6tháng 3 năm 2008, Apple đã phát hành bản dùng thử đầu tiên, cùng với một cái tênmới cho hệ điều hành, đó là “iPhone OS”

Tháng 6 năm 2010, Apple đổi cái tên iPhone OS thành iOS Nhãn hiệu "IOS" đãđược Cisco dùng để đặt tên cho hệ điều hành của mình Để trách các vụ kiện cáo,Apple đã xin giấy phép sử dụng nhãn hiệu iOS từ Cisco

Trang 20

 Quản lý vòng đời ứng dụng

 Đa nhiệm

 Local notification

 Nhận diện các thao tác trên màn hình cảm ứng

 Map Kit: Cung cấp các giao diện lập trình và thư viện để xây dựng các ứngdụng dựa trên bản đồ, định tuyến, xác định địa điểm hiện tại của ngườidùng

 Message UI Framework: Cung cấp thư viện để soạn và gởi email

 iAd Framework: Cho phép lập trình viên nhúng các banner quảng cáo vàoứng dụng

Trang 21

 Push notification: Là dịch vụ chạy thường trực trên thiết bị, cho phép nhậnthông báo được gởi bằng Push notification service ngay cả khi ứng dụngkhông được chạy.

Trang 22

 Core Media

 System Configuration

.4 Tầng Core OS

Đây là lớp chứa các đặc trưng ở mức thấp (low-level features) Lập trình viên sẽ ít

sử dụng trực tiếp lớp này (trừ khi thao tác với các thiết bị phần cứng khác hoặc cácvấn đề bảo mật) mà sẽ sử dụng gián tiếp thông qua các lớp phía trên Lớp này baogồm các thành phần sau:

 Accelerate framework

 External Accessory framework

 Security framework

 System

.I.3 Ngôn ngữ lập trình Objective-C

.I.3.1 Giới thiệu

Ngôn ngữ lập trình Objective-C là một ngôn ngữlập trình hướng đối tượng được xây dựng chủ yếudựa trên nền tảng ANSI C Ngoài ra nó còn được

mở rộng từ Smalltalk, một trong những ngôn ngữlập trình hướng đối tượng đầu tiên Objective-Cđược thiết kế với mục đích đưa vào C các tính nănghướng đối tượng một các đơn giản và dễ hiểu nhất

Objective-C được thiết kế bởi Brad Cox khi ônglàm việc cho công ty Stepstone vào đầu những năm 1980 Objective-C được thiết kế

để phục vụ mục đích lập trình hướng đối tượng Nó hoạt động giống như là một tậphợp các thành phần mở rộng rất mạnh mẽ của ngôn ngữ C Objective-C kết hợp cácđặc điểm ưu tú nhất của C và ngôn ngữ SmallTalk Objective-C khá đơn giản để học

và có đầy đủ các khả năng của một ngôn ngữ lập trình hướng đối tượng.Hiện tại,Objective-C trở nên phổ biến vì nó được Apple chọn làm ngôn ngữ lập trình cho hệthống Mac và iPhone

Hầu hết các ngôn ngữ lập trình hướng đối tượng đều cung cấp:

 Một thư viện các Objects

Trang 23

 Các công cụ phát triển cần thiết

 Hỗ trợ hướng đối tượng và các thư viện liên quan

Là ngôn ngữ hướng đối tượng nên Objective-C giải quyết các vấn đề lập trình dựatrên khái niệm các Object Nó bao gồm 3 phần:

 Là ngôn ngữ lập trình hướng đối tượng đơn giản nhưng mạnh mẽ

 Là ngôn ngữ được Apple sử dụng để phát triển các ứng dụng cho hệ thống máy Mac và iPhone

 Nó là thành phần mở rộng của chuẩn ANSI C vì vậy các chương trình viết bằng C của framework này sẽ không bị mất đi tính năng nào và người dùngđược hưởng các lợi thế của ngôn ngữ C.Với ngôn ngữ này, người dùng có thể lựa chọn cả lập trình hướng đối tượng và lập trình thủ tục khi cần thiết

 Nó đơn giản và dễ học bởi cú pháp của nó khá ngắn gọn nên nó giúp cho lập trình viên đạt được hiệu quả mong muốn mà không gặp nhiều khó khăn

Trang 24

 Nó là một ngôn ngữ mạnh bởi vì các quyết định có thể được đưa ra lúc biêndịch sẽ được trì hoãn cho tới khi chương trình chạy.

 Nó hỗ trợ ràng buộc động và mở tạo ra một cấu trúc đơn giản đối với giao diện tương tác người dùng

Nó cho phép phát triển các công cụ phát triển phức tạp Một giao diện cho hệthống run time tạo điều kiện cho việc tiếp cận các thông tin lúc run time giúp cho việcmonitor ứng dụng viết bằng Objective-C

.I.3.4 Môi trường lập trình Xcode

Xcode là môi trường phát triển tích hợp (IDE) chứa đầy đủ các công cụng cho cácnhà phát triển, các lập trình viên khi phát triển ứng dụng trên hệ điều hành MAC OS

và nền tảng di động iOS Được phát hành từ năm 2003 và tới nay đã trải qua bốnphiên bản với phiên bản cuối cùng là 4.3.2 được cung cấp miễn phí cho các nhà lậptrình thông qua AppStore

Các thành phần chính của Xcode:

 Apple LLVM Compiler : trình biên dịch của Xcode, được Apple phát triểnlên từ trình biên dịch GNU trong phiên bản Xcode 3.2 Được hoàn thiệntrong các phiên bản sau này, tốc độ cũng nhưng tính hiệu quả được tăngcường

 Instruments for Performance và Behavior Analysis : công cụ phân tích hiệusuất và hành vi Đây là bộ công cụ hỗ trợ cho các lập trình viên có thể quản

lý tài nguyên hệ điều hành hay bộ nhớ của ứng dụng khi vận hành

 iOS Simulator : là thiết bị đi động ảo được tích hợp để giúp cho các nhà lậptrình di động cài đặt và chạy thử trước khi đưa vào thiết bị thật Công cụ ảonày có đầy đủ tính năng như thiết bị thật và ngày càng được Apple pháttriển nhằm đem lại những gì tốt nhất cho các lập trình viên

Trang 25

.II CÁC DỊCH VỤ

.II.1 Công nghệ định vị toàn cầu GPS

.II.1.1 Giới thiệu

GPS (Global Positioning System):Hệ thống định vị toàn cầu - là hệ thống xác định

vị trí dựa trên vị trí của các vệ tinh nhân tạo Trong cùng một thời điểm, ở một vị trítrên mặt đất nếu xác định được khoảng cách đến ba vệ tinh (tối thiểu) thì sẽ tính đượctoạ độ của vị trí đó

GPS được thiết kế và quản lý bởi Bộ Quốc phòng Hoa Kỳ, nhưng chính phủ Hoa

Kỳ cho phép mọi người sử dụng nó miễn phí, bất kể quốc tịch từ năm 1980, GPS hoạtđộng trong mọi điều kiện thời tiết, mọi nơi trên Trái Đất, 24 giờ một ngày

GPS là hệ dẫn đường dựa trên một mạng lưới 24 quả vệ tinh được đặt trên quỹđạo không gian, hoạt động dựa trên các trạm phát tín hiệu vô tuyến điện Được biếtnhiều nhất là các hệ thống có tên gọi LORAN - hoạt động ở giải tần 90-100 kHz chủyếu dùng cho hàng hải, hay TACAN - dùng cho quân đội Mỹ và biến thể với độ chínhxác thấp VOR/DME - VHF dùng cho hàng không dân dụng

.II.1.2 Hoạt động

Các vệ tinh GPS bay vòng quanh Trái Đất hai lần trong một ngày theo một quỹđạo rất chính xác và phát tín hiệu có thông tin xuống Trái Đất Các máy thu GPSnhận thông tin này và bằng phép tính lượng giác tính được chính xác vị trí của ngườidùng Về bản chất máy thu GPS so sánh thời gian tín hiệu được phát đi từ vệ tinh vớithời gian nhận được chúng Sai lệch về thời gian cho biết máy thu GPS ở cách vệ tinhbao xa Rồi với nhiều quãng cách đo được tới nhiều vệ tinh máy thu có thể tính được

vị trí của người dùng và hiển thị lên bản đồ điện tử của máy

Máy thu GPS phải nhận được với tín hiệu của ít nhất ba quả vệ tinh để tính ra vịtrí hai chiều (kinh độ và vĩ độ) và để theo dõi được chuyển động Với bốn hay nhiềuhơn số quả vệ tinh trong tầm nhìn thì máy thu có thể tính được vị trí ba chiều (kinh

độ, vĩ độ và độ cao) Một khi vị trí người dùng đã tính được thì máy thu GPS có thểtính các thông tin khác như: tốc độ, hướng chuyển động, bám sát di chuyển, khoảnghành trình, quãng cách tới điểm đến, thời gian Mặt Trời mọc, lặn và nhiều thứ khácnữa

Trang 26

.II.1.3 Khả năng định vị toàn cầu của các thiết bị iOS

Hình 2 : Ứng dụng GPS trên iOS

 Các thiết bị iPhone, iPad có thể sử dụng nhiều cơ chế khác nhau cho việc thu thập thông tin về vị trí địa lí hiện tại của thiết bị Những cơ chế này baogồm: GPS, tam giác tháp di động, hoặc địa chỉ IP của kết nối Wi-Fi có sẵn (kém chính xác nhất) Các cơ chế này được sử dụng bởi các lập trình viên

để xây dựng các ứng dụng cần khai thác thông tin vị trị địa lí của thiết bị thông qua framework Core Location

 Dự liệu trả về từ máy chủ mỗi khi thiết bị cập nhật thông tin vị trí địa lí dưới dạng đối tượng CLLocation Đối tượng này có các thuộc tính như sau:

 Latitude/Longtitude: thông tin kinh độ, vĩ độ của thiết bị

 Altitude: Độ cao của vị trí của thiết bị

 Accuary: Độ chính xác của dữ liệu

 Các ứng dụng dựa trên địa điểm là một trong ba loại ứng dụng được cho phép tiếp tục thực thi ngay cả khi nó đang ở chế độ chạy nền Thiết bị vẫn

có thể cập nhật vị trí địa lí liên tục khi nó đang chạy ngầm Tuy nhiên, để đảm bảo thời lượng pin thì các nhà phát triển cần phải giảm việc cập nhật

vị trí khi ứng dụng đang ở chế độ nền

Trang 27

.II.2 Google Map và Google Map API

.II.2.1 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épthấy bản đồ đường xá, đường đi cho xe đạp, cho người đi bộ (những đường đi ngắnhơn 6.2 dặm) và xe hơi, và những địa điểm kinh doanh trong khu vực cũng như khắpnơi trên thế giới Lúc đó chúng ta có thể nhấp và kéo bản đồ để xem ngay các khuvực lân cận Xem hình ảnh vệ tinh của vị trí mong muốn mà bạn có thể thu nhỏ,phóng to và quay

Với các thiết bị di động thì Google Map cung cấp một bộ hỗ trợ trên nhiều dòngđiện thoại và được phát triển trên nền tảng web Địa chỉ truy cập :

 Xem bản đồ giao thông, địa lý, thời tiết

 Tìm kiếm bằng giọng nói

 Tìm kiếm các địa điểm công cộng, như: nhà hàng, khách sạn, bệnh viện,chợ

 Cho phép người dùng đăng tải vị trí địa điểm của mình

.II.2.2 Google Map API

Là một dịch vụ được cung cấp miễn phí cho các lập trình viên để khai thác dữ liệusẵn có khổng lồ và nhiều tiện ích khác của Google Map Trên các thiết bị di động, ta

có thể sử dụng Google Maps API thông qua các Google Maps API webservices

 Thành phần chính của Google Map API

 Directions API : là công cụ tính toán khoảng cách giữa các đốitượng tĩnh trên bản đồ thông qua giao thức HTTP

Trang 28

 Distance Matrix API : là công cụ tính toán thời gian và khoảng cách

di chuyển giữa các điểm trên bản đồ, không mang tính chất chỉđường

 Elevation API : là công cụ tính toán độ cao của một điểm thông qua

vị trí được cung cấp là khinh tuyến và vĩ tuyến

 Geocoding API : là công cụ chuyển đổi trực tiếp từ một địa chỉ cụthể thành vị trí trên bản đồ và ngược lại Ví dụ : địa chỉ "1600Amphitheatre Parkway, Mountain View, CA" có tọa độ latitude =37.423021 và longitude = -122.083739

 Places API : là công cụ trả về thông tin đầy đủ của một địa điểm trênbản đồ được xác định thông qua vị trí trên bản đồ Sử dụng giaothức HTTP để gởi yêu cầu

 Hoạt động của webservice:

 Các yêu cầu HTTP thông thường được tạo ra theo khuôn mẫu:

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

Hoặc

https://maps.googleapis.com/maps/api/service/output?parameters

 Dữ liệu trả về từ hệ thống dưới dang JSON hoặc XML Sau khi nhận được

dữ liệu trả về, chúng ta phải phân tích cú pháp dữ liệu để có thông tin cầnthiết trong ứng dụng

 Trong các ứng dụng iPhone, chúng ta chủ yếu sử dụng kiểu dữ liệu XML

Thư viện để phân tích cú pháp XML trả vể được sử dụng trên iOS làXPath Với thư viện này, việc phân tích cú pháp trở nên dễ dàng hơn, và ta

có thể lấy được dữ liệu cần thiết nhanh chóng

Trang 29

.III WEBSERVICE

.III.1 Giới thiệu

Web Services là một cách chuẩn để tích hợp các ứng dụng trên nền web

(Web-based applications) Các ứng dụng có thể sử dụng các thành phần khác nhau để tạothành một dịch vụ, ví dụ như máy chủ chạy một trang web thương mại điện tử kết nốivới cổng thanh toán điện tử qua một API - Application Programming Interface ( tạobởi công nghệ NET thì web services chính là nền máy chủ (IIS - Internet InformationServices), và các thành phần thanh toán, các thành phần NET được coi là component(các thành phầm bên ngoài) Các thành phần này được gọi bởi phương thức SOAP(Khác phương thức POST, GET) nên không bị gặp phải firewall khi truy xuất cácthành phần bên ngoài máy chủ Và toàn bộ các thành phần đó gọi là một WebServices

Các Web Services cho phép các tổ chức thực hiện truyền thông dữ liệu mà khôngcần phải có kiến thức về hệ thống IT phía sau tường lửa Một số Web Services hiệnnay có sẵn miễn phí và càng ngày càng hướng dần vào các doanh nghiệp

Một ví dụ về Web Service sẵn có là dịch vụ được cung cấp bởi PayPal cho phépnhững người có tài khoản có thể thanh toán hoặc trả một phần hoặc thực hiện cácgiao dịch tìm kiếm, và lấy lại các thông tin của từng giao dịch cụ thể

Ngày này, web service được phát triển trên hầu hết các nên tảng web server hiệntại, như là :

 Apache với PHP

 Tomcat với JSP, Java

 IIS với Net, ASP

 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 Web service

Trang 30

 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 Web service, 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 Web service 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

.III.2 Kiến trúc

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 3 mô tả chồng giao thức của Web service, trong đóUDDI được sử dụng để đăng ký và khám phá Web 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 đichính xác bởi HTTP và TCP/IP

Hình 3 : Chồng giao thức của dịch vụ Web

Chồng 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ớinhững ứng dụng hay dịch vụ khác Chồng giao thức này có 4 thành phần chính:

Trang 31

 Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệpgiữ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 (BlocksExtensible Exchange Protocol- BEEP).

 Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạngXML để có thể hiểu được ở mức ứng dụng tương tác với người dùng Hiệntạ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 Webservice cụ thể WSDL thường được sử dụng cho mục đích này, nó là mộtngô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

và 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ươngtá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

.III.3 Thành phần

.III.3.1 XML – eXtensible Markup Language

Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử dụng

để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu B2B Vềhình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML nhưng HTMLđịnh nghĩa thành phần được hiển thị như thế nào thì XML lại định nghĩa những thànhphần đó chứa cái gì Với XML, các thẻ có thể được lập trình viên tự tạo ra trên mỗitrang web và được chọn là định dạng thông điệp chuẩn bởi tính phổ biến và hiệu quả

mã nguồn mở

Do Web service là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụng cáctính năng và đặc trưng của các thành phần đó để giao tiếp XML là công cụ chính đểgiải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một Web service, tất

cả dữ liệu sẽ được chuyển sang định dạng thẻ XML Khi đó, các thông tin mã hóa sẽhoàn toàn phù hợp với các thông tin theo chuẩn của SOAP hoặc XML-RPC và có thểtương tác với nhau trong một thể thống nhất

.III.3.2 WSDL – Web Service Description Language

WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML, baogồm các thông tin:

Trang 32

 Tên dịch vụ.

 Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của Web service

 Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của dịch vụ Web cộng với tên cho giao diện này)

Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện và phương thứckết nối) và phần thi hành mô tả thông tin truy xuất CSDL Cả hai phần này sẽ đượclưu trong 2 tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi hành dịch

vụ Giao diện của một Web service được miêu tả trong phần này đưa ra cách thức làmthế nào để giao tiếp qua Web service Tên, giao thức liên kết và định dạng thông điệpyêu cầu để tương tác với Web service được đưa vào thư mục của WSDL

WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấpWeb service qua Internet Một client khi kết nối tới Web service có thể đọc WSDL đểxác định những chức năng sẵn có trên server Sau đó, client có thể sử dụng SOAP đểlấy ra chức năng chính xác có trong WSDL

.III.3.3 Universal Description, Discovery, and Integration (UDDI)

Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thôngtin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ UDDI định nghĩamột số thành phần cho biết các thông tin này, cho phép các client truy tìm và nhậnnhững thông tin được yêu cầu khi sử dụng Web service

 Cấu trúc UDDI :

 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 Web service, 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 xác định được dịch vụ

 Trang vàng – Yellow pages: chứa thông tin mô tả Web service theo những loại khác nhau Những thông tin này cho phép các đối tượng thấy được Web service theo từng loại với nó

 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 Web service

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

Những thông tin về Web service được sử dụng và công bố lên mạng sử dụng giaothức này Nó sẽ kích hoạt các ứng dụng để tìm kiếm thông tin của Web service khácnhằm xác định xem dịch vụ nào sẽ cần đến nó

Trang 33

.III.3.4 SOAP – Simple Object Access Protocol

Chúng ta đã hiểu cơ bản Web service như thế nào nhưng vẫn còn một vấn đề kháquan trọng Đó là làm thế nào để truy xuất dịch vụ khi đã tìm thấy? Câu trả lời là cácWeb service có thể truy xuất bằng một giao thức là Simple Object Access Protocol –SOAP Nói cách khác chúng ta có thể truy xuất đến UDDI registry bằng các lệnh gọihoàn toàn theo định dạng của SOAP

SOAP là một giao thức giao tiếp có cấu trúc như XML Nó được xem là cấu trúcxươ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à các hệđiều hành khác nhau SOAP là giao thức thay đổi các thông điệp dựa trên XML quamạng máy tính, thông thường sử dụng giao thức HTTP

Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửinhững thông điệp trả lời tới client Cả SMTP và HTTP đều là những giao thức ở lớpứng dụng của SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn bởi ngàynay nó có thể làm việc rất tốt với cơ sở hạ tầng Internet

Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm cácphần tử sau:

 Phần tử gốc – envelop: phần tử bao trùm nội dung thông điệp, khai báo văn bản XML như là một thông điệp SOAP

 Phần tử đầu trang – header: chứa các thông tin tiêu đề cho trang, phần tử này không bắt buộc khai báo trong văn bản Header còn có thể mang những dữ liệuchứng thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các giao dịch khác

 Phần tử khai báo nội dung chính trong thông điệp – body, chứa các thông tin yêu cầu và thông tin được phản hồi

 Phần tử đưa ra các thông tin về lỗi -fault, cung cấp thông tin lỗi xảy ra trong qúa trình xử lý thông điệp

Một SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham chiếutới một thể hiện của dịch vụ, một hoặc nhiều tham số Có 3 kiểu thông báo sẽ đượcđưa ra khi truyền thông tin: request message(tham số gọi thực thi một thông điệp),respond message (các tham số trả về, được sử dụng khi yêu cầu được đáp ứng) vàcuối cùng là fault message (thông báo tình trạng lỗi)

Kiểu truyền thông: Có 2 kiểu truyền thông

 Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua mạng Kiểu này được khai thác bởi nhiều Web service

 Document: được biết đến như kiểu hướng thông điệp, nó cung cấp giao tiếp ở mức trừu tượng thấp, khó hiểu và yêu cầu lập trình viên mất công sức hơn

Trang 34

Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham số, lời gọi đếncác API khác nhau nên việc sử dụng chúng tùy thuộc vào thời gian và sự phù hợp vớiWeb service cần xây dựng.

Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống như trongcác ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date…) hay những kiềuphức tạp hơn như struct, array, vector… Định nghĩa cấu trúc dữ liệu SOAP được đặttrong namespace SOAP-ENC

Mã hóa: Giả sử service rquester và service provider được phát triển trong Java, khi

đó mã hóa SOAP là làm thế nào chuyển đổi từ cấu trúc dữ liệu Java sang SOAP XML

và ngược lại, bởi vì định dạng cho Web Service chính là XML Bất kỳ một môitrường thực thi SOAP nào cũng phải có một bảng chứa thông tin ánh xạ nhằm chuyểnđổi từ ngôn ngữ Java sang XML và từ XML sang Java – bảng đó được gọi làSOAPMappingRegistry Nếu một kiểu dữ liệu được sử dụng dưới một dạng mã hóathì sẽ có một ánh xạ tồn tại trong bộ đăng ký của môi trường thực thi SOAP đó

Trang 35

.III.4 Hoạt động

Hình 4 : Mô hình hoạt động của Web service

Trong mô hình hoạt động của mỗi Web service, thông thường sẽ có 3 thành phầntham gia

 Đầu tiên là các nhà cung cấp dịch vụ, tạm gọi là Provider Công việc là xây dựng và cài đặt đối tượng dịch vụ lên 1 web server và cung cấp bản mô tả dịch

vụ để hướng dẫn mọi người cách khai thác Ngôn ngữ sử dụng cho các bản mô

tả dịch vụ là SDL - Service Description Language, với cấu trúc cú pháp của XML

 Thành phần thứ 2: các nhà khai thác dịch vụ, tạm gọi là Consumer Công việc

là xem xét bản mô tả dịch vụ của nhà cung cấp, dựa vào đó để xây dựng lớp trung gian truy xuất đối tượng dịch vụ, và cuối cùng, thiết kế giao diện cho ứng dụng

 Thành phần thứ 3 trong chuỗi là những người dùng cuối, End - user Họ truy cập trang web của các nhà khai thác dịch vụ, và sử dụng, một cách gián tiếp, Web Service của Provider

Trang 36

.IV SERVER

.IV.1 Hệ quản trị cơ sở dữ liệu MySQL

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và đượccác nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ

sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trênnhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ

và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trêninternet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ

Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệđiều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, NovellNetWare, SGI Irix, Solaris, SunOS,

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ

sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làmnơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,

.IV.2 Ngôn ngữ lập trình PHP

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trìnhkịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết chomáy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và cóthể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc

độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩmtương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành mộtngôn ngữ lập trình web phổ biến nhất thế giới

Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng nhưthế nào:

Trang 37

Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua

đó máy chủ biết để xử lý và dịch mã cho đúng Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP

Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có

sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp

.IV.3 Web server Apache

Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máychủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự nhưUnix, Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóngmột vai trò quan trọng trong quá trình phát triển của mạng web thế giới (tiếng Anh:World Wide Web)

Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mở duynhất có khả năng cạnh tranh với chương trình máy chủ tương tự của NetscapeCommunications Corporation mà ngày nay được biết đến qua tên thương mại SunJava System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển và trở thànhmột phần mềm có sức cạnh tranh mạnh so với các chương trình máy chủ khác về mặthiệu suất và tính năng phong phú Từ tháng 4 nãm 1996, Apache trở thành mộtchương trình máy chủ HTTP thông dụng nhất Hơn nữa, Apache thường được dùng

để so sánh với các phần mềm khác có chức năng tương tự Tính đến tháng 1 năm

2007 thì Apache chiếm đến 60% thị trường các chương trình phân phối trang web.Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới sự bảotrợ của Apache Software Foundation Apache được phát hành với giấy phép ApacheLicense và là một phần mềm tự do và miễn phí

Môi trường tốt nhất để sử dụng Apache là Unix Apache trên Unix có 3 chế độhoạt động khác nhau : winnt, prefork và worker Apache prefork và worker cho phép

mở nhiều Child Process, với 1 thread/1 child process (prefork) hoặc many thread/1child process (worker) Do đó Apache cho phép xử lý mạnh hơn với prefork và càngmạnh hơn nữa với worker Tuy nhiên cái gì mạnh thì tốn tài nguyên, còn về ổn địnhthì prefork là ổn định nhất (đây là mpm thường dùng)

Với prefork và 1 server Unix tầm trung phải chia xẻ cho khoảng 500 người dùngnhiều dịch vụ khác cùng lúc, Apache có thể đạt tới mức xử lý 5000 request/1 second

Trang 38

.I PHÂN TÍCH YÊU CẦU

.I.1 Mô tả bài toán

 Đối tượng

 Cho các khách du lịch tự do ( không đi theo tour du lịch )

 Cho các công ty khai thác các tour du lịch

 Các nhà phát triển và lập trình viên

 Mục đích

 Ứng dụng cung cấp các địa điểm du lịch ở từng vùng cho người du lịch

 Ứng dụng cung cấp các địa điểm du lịch thông qua việc thống kê các địađiểm du lịch do người du lịch bình chọn và đánh giá, như : mới nhất, haynhất, nhiều người tới nhất hoặc cảnh báo về địa điểm xấu

 Ứng dụng cung cấp các địa điểm công cộng ( như bệnh viện, khách sạn,quán ăn ) giúp người du lịch có thể tìm đường và tham khảo

 Người du lịch có thể tìm kiếm các địa điểm du lịch ( do người khác đăng tảilên ) theo vị trí hiện tại của họ hoặc theo từng vùng Thông qua đó người

du lịch có thể đánh giá và bình luận địa điểm này

 Người du lịch có thể đăng tải thông tin về địa điểm mà mình yêu thích hoặc

đã đi qua để cho những người khác có thể tìm đến

 Người du lịch chính là người dùng và xây dựng kho dữ liệu

 Cơ sỡ dữ liệu ( gồm 2 nguồn )

 Google Map : cung cấp các địa điểm công cộng ( như bệnh viện, nhà hàng,khách sạn ) để người du lịch tìm đường và tham khảo Mang tính chất dữliệu cứng

 Do người dùng cung cấp Mang tính chất dữ liệu mở

 Triển khai

 Điện thoại di động ( cụ thể là iPhone ) : cài đặt ứng dụng Nhằm giúp người

du lịch có thể tìm kiếm và hiển thị các địa điểm du lịch

 Server : thu thập các địa điểm do người du lịch đăng tải, phân tích và chọnlọc các địa điểm theo các tiêu chí nhất định Cung cấp các địa điểm du lịchcho người dùng ứng dụng

Trang 39

.I.2 Phân tích hiện trạng du lịch Việt Nam

Việt Nam có đủ các yếu tố để phát triển ngành du lịch trở thành ngành kinh tế mũinhọn Với tiềm năng du lịch đa dạng và phong phú, đất nước này đang là điểm đếnnổi tiếng của thế giới Năm 2008, Việt Nam đã đón 4,218 triệu lượt khách quốc tế,con số này năm 2009 là 3,8 triệu lượt, giảm 11% so với năm trước Tổng cục Du lịchViệt Nam dự báo con số lượt khách du lịch quốc tế đến Việt Nam năm 2010 là 4,5-4,6triệu lượt, số lượt khách du lịch nội địa là 28 triệu lượt năm 2010, tăng 12% so vớinăm 2009

Doanh thu ngành du lịch Việt Nam năm 2009 đạt từ 68.000 đến 70.000 tỷ đồng.Theo dự báo của Tổng cục du lịch Việt Nam, năm 2015 ngành du lịch Việt Nam sẽthu hút 7-8 triệu lượt khách quốc tế, 32-35 triệu khách nội địa, con số tương ứng năm

2020 là 11-12 triệu khách quốc tế; 45-48 triệu khách nội địa Doanh thu từ du lịch sẽđạt 18-19 tỷ USD năm 2020

Tuy nhiên, ngành du lịch Việt Nam từ nhiều năm nay, cũng đang bị báo động vềnạn "chặt chém", bắt nạt du khách, hạ tầng cơ sở yếu kém và chất lượng dịch vụ kém,tạo ấn tượng xấu với du khách

.I.2.2 Du lịch Ba lô

Du lịch "bụi" (hay còn gọi là du lịch ba-lô, tiếng Anh: Backpacking Tourism) là

loại hình du lịch thường được các cá nhân hay một nhóm nhỏ áp dụng Hình thức nàyphù hợp cho việc khám phá thiên nhiên và trải nghiệm cuộc sống thường ngày củadân địa phương Hoàn toàn khác với hình thức đi tour, du khách sẽ bị bó buộc trong

một không gian và phải bị giới hạn thời gian lịch trình của chuyến tour "Ta Ba-Lô" là

một khái niệm khá quen thuộc trong giới trẻ năng động ngày nay

 Sử dụng các phương tiện công cộng làm phương tiện di chuyển chính cho chuyến hành trình

 Lưu trú tại các hostel, các phương tiện lưu trú giá rẻ

 Hình ảnh của khách du lịch bụi gắn liền với ba lô, sách hướng dẫn du lịch

 Thời gian đi du lịch lâu hơn so với các loại hình du lịch khác

 Lịch trình chuyến đi mang tính độc lập và linh động Khi được hỏi về lịch trìnhcủa chuyến đi, một số du khách nói rằng “The plan is there is no plan” (kế hoạch là không có kế hoạch nào cả) Mục tiêu khi đi du lịch là được trải

nghiệm, tìm hiểu phong cách sống và được gặp gỡ người dân nước bản địa

 Tham gia nhiều vào các hoạt động khám phá, giải trí

Trang 40

Du lịch “bụi” sẽ tiết kiệm khá nhiều chi phí bỏ ra và thu gom về cho du khách khánhiều trải nghiệm thú vị Đó là lý do tại sao các bạn trẻ ngày nay lại thích loại hình dulịch này và khái niệm du lịch “bụi” ngày càng trở nên phổ biến hơn.

Tại Việt Nam, trong những năm gần đây các thuật ngữ như: du lịch bụi, du lịch ba

lô hay ta ba lô được giới trẻ sử dụng rất nhiều Du lịch bụi đã và đang trở thành mộttrào lưu thu hút rất nhiều bạn trẻ tham gia, nhiều trang blog, diễn đàn cũng vì thếđược ra đời như

.I.2.3 Tiềm năng du lịch Ba lô

Về di tích : Việt Nam có hơn 40.000 di tích, thắng cảnh trong đó có hơn 3000 di

tích được xếp hạng di tích quốc gia và hơn 5000 di tích được xếp hạng cấp tỉnh ViệtNam có 117 bảo tàng trong đó các bộ, ngành quản lý 38, các địa phương quản lý 79

Về thắng cảnh : Việt Nam được UNESCO công nhận 8 khu dự trữ sinh quyển thế

giới, 30 vườn quốc gia, 21 khu du lịch quốc gia Việt Nam đứng thứ 27 trong số 156quốc gia có biển trên thế giới với 125 bãi tắm biển, hầu hết là các bãi tắm đẹp ViệtNam là 1/12 quốc gia có vịnh đẹp nhất thế giới là vịnh Hạ Long và vịnh Nha Trang

Về văn hóa : Việt Nam có 54 dân tộc anh em, mỗi dân tộc đều có những nét đặc

trưng về văn hoá, phong tục tập quán và lối sống riêng Ngành du lịch và các địaphương đã nỗ lực xây dựng được một số điểm du lịch độc đáo

.I.2.4 Vấn đề nan giải

Du lịch Việt Nam đang đối mặt với nhiều vấn đề yếu kém như ô nhiễm môi trườngtại các điểm du lịch, nhiều di tích không được bảo quản đúng mức, gây hư hỏngnghiêm trọng hay bị sửa lại khác xa mẫu cổ và luôn thu phí vào cửa, tình trạng chèokéo, bắt chẹt khách, tăng giá phòng tùy tiện, chất lượng hạ tầng cơ sở và giao thôngthấp, dịch vụ kém, trong khi đó công tác quản lý chưa đạt hiệu quả

Lãnh đạo ngành du lịch hứa hẹn, năm 2010, ngành sẽ đột phá cải thiện nhà vệsinh, sẽ phát động chiến dịch ở đâu có du lịch ở đó có nhà vệ sinh đạt tiêu chuẩn Năm 2012, lần nữa, những tin tức tiêu cực và kinh nghiệm xấu về du lịch ViệtNam được đăng tải trên nhiều báo chí, phản ánh 'Nạn lừa đảo du khách rất đáng báo

động', chất lượng dịch vụ kém và du khách đua nhau tố các chiêu 'chặt chém, chưa có

đấu hiệu thay đổi Thêm nữa, nạn ô nhiễm môi trường lại tăng lên, theo kết quả của

báo cáo thường niên năm 2012 mang tên The Environmental Performance Index

(EPI) của hai trung tâm nghiên cứu môi trường thuộc Đại học Yale và Columbia của

Mỹ thực hiện, về ảnh hưởng của chất lượng không khí, Việt Nam đứng thứ 123 trongbảng xếp hạng 132 quốc gia khảo sát, được xem là có không khí bẩn thứ 10 thế giới

Ngày đăng: 08/08/2020, 08:52

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