Xây dựng Web service và Web admin

Một phần của tài liệu Phát triển công cụ hỗ trợ thu thập dữ liệu địa điểm du lịch từ cộng đồng (Trang 63)

Xây dựng Web Service

3.4.2.1.

Web service đóng vai trò giao tiếp giữa điện thoại di động và hệ thống thông qua việc truyền tải dữ liệu trên môi trường internet. Kiểu dữ liệu được sử dụng là XML.

Cài đặt cơ sở dữ liệu

 Bước 1 : Tạo cơ sỡ dữ liệu trên MySQL của server.

 Bước 2 : Import file cơ sở dữ liệu vào MySQL của server, tùy chỉnh các thông tin kết nối cho phù hợp.

Cài đặt webservice thông qua các bước sau :

 Bước 1 : tiến hành thay đổi cấu hình cho phù hợp, cấu hình về cơ sở dữ liệu, cấu hình về Server trên Web Service.

 Bước 2 : tiến hành kết nối Web Service với NetBean, để thêm xóa hoặc sửa các phương thức của Web Service.

 Bước 3 : Sử dụng SOAP UI để chạy thử nghiệm Web Service với dữ liệu xml.

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 64

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

Sau khi cài đặt thành công Web Service thì sử dụng SOAP UI để tiến hành thử nghiệm giao tiếp với Web Service. Nếu sử dụng cho điện thoại di động thì tiến hành cài đặt Web Service trên ứng dụng.

Link sử dụng Web Service:

http://localhost/webservice/index.php?wsdl

Kết quả sử dụng cho SOAP UI với một số phương thức cơ bản đầu tiên

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 65

Web Service cung cấp nhiều phương thức để giao tiếp với kho dữ liệu, trong đó mỗi phương thức có thể có 1 hoặc nhiều các request để tiến hành giao tiếp. Cấu trúc mỗi request là tuân thủ theo kiêu dữ liệu xml.

Ví dụ: request cho đăng nhập hệ thống với tài khoản đăng nhập là "admin" với mật khẩu đã được mã hóa md5 (dài 32 ký tự).

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <signin soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SigninRequest xsi:type="web:SigninRequest" xmlns:web="http://localhost/webservice/">

<!--You may enter the following 2 items in any order--> <username xsi:type="xsd:string">admin</username> <password xsi:type="xsd:string">12345678901234567890123456789044</password> </SigninRequest> </signin> </soapenv:Body> </soapenv:Envelope>

Sau khi nhận request thì hệ thống của webservice tự động kiểm tra và tiến hành xử lý với kho dữ liệu, sau đó thì trả về 1 response.

Ví dụ: với đăng nhập trên thì thông tin trả là userID của người dùng là : 1

<SOAP-ENV:Envelope SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://localhost/webservice/"> <SOAP-ENV:Body> <ns1:signinResponse xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/"> <SigninResponse xsi:type="tns:SigninResponse"> <user_id xsi:type="xsd:int">1</user_id> </SigninResponse> </ns1:signinResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 66

Việc phát triển Web Service thông qua IDE Netbean để tiến hành lập trình với ngôn ngữ PHP trên Web Service.

Hình 3.11. Cấu trúc mã nguồn phát triển Web Service trên môi trƣờng NetBean

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 67

Phát triển Web Service sẽ thêm các phương thức thao tác với kho dữ liệu. Các phương thức chia thành các nhóm sau:

 Nhóm người dùng, yêu cầu bảo mật nên cần phải đăng ký tài khoản

 signin : đăng nhập tài khoản

 signup: đăng ký tài khoản

 upDateMyLocation : cập nhập vị trí người dùng

 changePass : cập nhập mật khẩu

 getUserProfile : lấy thông tin người dùng

 forgotPass : quên mật khẩu

 Nhóm địa điểm cá nhân, yêu cầu bảo mật

 createPlace : đăng tải địa điểm

 getPlace : lấy thông tin địa điểm

 editPlace : cập nhập thông tin địa điểm

 deletePlace : xóa địa điểm

 ratePlace : đánh giá điểm số cho địa điểm

 sendCommentPlace : gởi bình luận cho địa điểm

 sendReportPlace : gởi báo cáo vi phạm của địa điểm

 checkPlace : đánh dấu theo dõi địa điểm

 getListPlaceCheck : lấy danh sách các địa điểm đã đánh dấu

 getListPlaceUser : lấy danh sách các địa điểm của người dùng

 Nhóm địa điểm

 getListPlaceSystem : lấy danh sách các địa điểm hệ thống

 getListPlaceNew : lấy danh sách các địa điểm mới nhất

 getListPlaceComment : lấy danh sách các địa điểm bình luận nhiều nhất

 getListPlaceRate : lấy danh sách các địa điểm đánh giá cao nhất

 getListPlaceDistance : lấy danh sách các địa điểm xung quanh người dùng.

 getListPlaceRegion : lấy danh sách các địa điểm của một vùng

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 68

 Nhóm hệ thống

 sendSystemReprot : gởi phản hồi về hệ thống

 getPlaceListReportForTime : lấy báo cáo về các địa điểm trong khoản thời gian cụ thể

Kết quả triển khai Web Service

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 69

Đường dẫn tới WSDL

Hình 3.13. Giao diện trả về WSDL

Xây dựng Web admin 3.4.2.2.

Webadmin được xây dựng bằng ngôn ngữ PHP chạy trên server apache. Truy cập Web Admin thông qua đường dẫn :http://localhost/admins

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 70

Hình 3.15. Kết quả cho quản lý User

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 71

Hình 3.17. Thêm một địa điểm

Hình 3.18. Quản lý hệ thống 3.4.3. Thiết kế và xây dựng ứng dụng trên IOS

Ứng dụng trên điện thoại di động iPhone là chương trình khai thác kho dữ liệu và chương trình này được hệ thống cung cấp nên có thêm các chức năng đăng tải để xây dựng kho dữ liệu.

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 72

- Ngôn ngữ lập trình : Objective-C

- Thiết bị : điện thoại di động iPhone, iPop Touch, iPad - Nền tảng hệ điều hành di động : iOS 6.0

- Hệ điều hành phát triển : MacOS 10.8.0 - Công cụ phát triển : Xcode 5.1

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

Trong đó :

 Luồng 1: SplashScreen, khởi chạy ứng dụng, khởi tạo các biến trong chương trình.

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 73

 Luồng 2 : UserScreen, liên quan tới tài khoản người dùng, dùng để đăng nhập, đăng ký, lấy mật khẩu của ứng dụng

 Luồng 3 : TabbarScreen, các nhóm chức năng chính của ứng dụng.

Hình 3.20. Giao diện chính của ứng dụng Các nhóm chức năng chính ứng dụng  Người dùng  Đăng ký  Đăng nhập  Quên mật khẩu  Địa điểm

 Tìm kiếm các địa điểm

 Tra cứu các địa điểm

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 74

 Xem thông tin địa điểm

 Bình luận, đánh giá địa điểm

 Hệ thống

 Gởi phản hồi về địa điểm

 Gởi phản hồi về hệ thống

 Sử dụng Google MAP

 Tìm kiếm các địa điểm công cộng

 Lấy vị trí địa điểm trên bản đồ

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 75

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 76

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 77

Hình 3.24. Chức năng tìm kiếm thống kê 3.5. Kết chƣơng

Chương này đã tiến hành xây dựng kiến trúc hệ thống, phân tích hệ thống thông tin ứng dụng cần xây dựng, xác định được các ưu điểm mang tính thực tiễn của hệ thống cần thực hiện từ đó xây dựng ứng dụng hỗ trợ thu thập dữ liệu địa điểm du lịch.

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 78

Chƣơng 4:

THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG 4.1. Thử nghiệm hệ thống

Kết quả triển khai Web Service

Trên trình duyệt tới Web Service : http://113.160.249.14/webservice/

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 79

Kết quả trang webadmin

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 80

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 81

4.2. Đánh giá hệ thống

Sau đây em xin trình bày phần đánh giá về hệ thống đã xây dựng.

 Đánh giá chung:

Với việc thử nghiệm trên môi trường máy nội bộ và môi trường thực trên internet cho thấy khả năng ứng dụng và phát triển của hệ thống là rất cao. Ứng dựng đã được xây dựng sẵn rất nhiều các địa điểm du lịch các tỉnh thành trên cả nước.

Việc lựa chọn các công nghệ này để phát triển kho dữ liệu đều dựa trên tính phổ biến và thông dụng hiện nay. Phần chính là server sẽ cung cấp các phương thức để truy xuất thông tin từ kho dữ liệu, phần ở điện thoại di động mang tính chất hiển thị trực quan.

Công nghệ sử dụng ở điện thoại di động được lựa chọn là nền tản di động iPhone, với bộ SDK iOS. Đây là một trong những nền tản công nghệ mạnh nhất trong lĩnh vực điện thoại thông minh (smartphone ), bên cạnh đó các thiết bị iOS đã được chuẩn hóa nên việc ảnh hướng lớn từ thay đổi công nghệ là rất nhỏ.

Vậy, khi công nghệ thay đổi thì với hệ thống ở server thì sẽ cung cấp các phương thức cần thiết đảm bảo việc viết ứng dụng trên các nên tảng công nghệ được diễn ra nhanh chóng. Và sự thay đổi về mặt công nghệ sẽ không ảnh hưởng nhiều tới kho dữ liệu.

 Việc khai thác xử lý ứng dụng thể hiện ở các mặt sau:

 Ưu điểm:

- Tốc độ truy cập nhanh.

- Một số chức năng yêu cầu đăng nhập chỉ có thể gọi được tại ứng dụng cho hệ thống cung cấp.

- Giao diện đơn giản, phù hợp với màn hình điện thoại (nhỏ).

- Tối ưu hóa các thao tác trên điện thoại.

- Đảm bảo tính ổn định

 Nhược điểm:

- Các thuộc tính của địa điểm chưa nhiều - Chưa tìm kiếm được các câu phức tạp.

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 82

KẾT LUẬN 1. Kết quả đạt đƣợc trong luận văn

Trong thời gian học tập và nghiên cứu làm luận văn, em đã nhận được nhiều sự giúp đỡ nhiệt tình của thầy cô cũng như các bạn sinh viên để hoàn thành đề tài, qua quá trình làm đồ án tốt nghiệp xây dựng ứng dụng thu thập địa điểm du lịch trên điện thoại đi động đã thu được các kết quả sau:

Hệ thống Server

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

- Xây dựng thành công hệ thống Web Service cung cấp cho ứng dụng. - Hệ thống hoạt động tốt sau khi triển khai trên thực tế.

Ứng dụng trên điện thoại di động

- Tìm hiểu cấu trúc và viết ứng dụng trên nền tảng di động iOS - Xây dựng thành công ứng dụng.

- Các chức năng kết nối Server hoạt động tốt.

- Cập nhập thành công vị trí người dùng thông qua GPS.

2. Các vấn đề tồn tại trong luận văn

Tuy đã đạt được những kết quả nhất định, nhưng hệ thống vẫn có những hạn chế.

- Nguồn dữ liệu ban đầu còn hạn chế.

- Hệ thống Server đang trong quá trình xây dựng. - Ứng dụng chỉ trên một nền tảng di động.

3. Hƣớng phát triển luận văn

Đề tài này cũng như là ý tưởng của em mong muốn xây dựng một hệ thống cung cấp các địa điểm du lịch trực tuyến của người Việt và hoàn thiện để đưa vào hoạt động ổn định trong tương lai sớm nhất. Để cho hệ thống trở thành một nơi cung cấp tin cậy và chính xác các địa điểm trên đất nước Việt Nam. Nó hoàn toàn có thể thay thế cho các nguồn dữ liệu lớn hơn mà hiện tại chúng ta vẫn còn phụ thuộc vào, như là : Google Map, foursquare,... Vì vậy, có cơ hội trong tương lai em muốn xây dựng hệ thống theo những hướng phát triển sau đây:

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 83

- Xây dựng nguồn dữ liệu ban đầu.

- Hoàn thiện ứng dụng trên điện thoại di động iPhone.

- Phát triển hệ thống WebService cho các nhà phát triển và hãng thứ 3. - Phát triển hệ thống trên các nền tảng di động lớn hiện nay, là :

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 84

DANH MỤC TÀI LIỆU THAM KHẢO

[1] Balqies Sadoun, Omar Al-Bayari (2007).Location based services using geographical information systems.

[2] Bill Dudney and Chris Adamson. iPhone SDK Development Building iPhone Applications

[3] Bin Jiang, Xiaobai Yao (2012).Location-based Services and GIS perspective.

[4] Dave Mark, Jack Nutting, Jeff LaMarche. Beginning iPhone 4 Development Exploring the iOS SDK.

[5] James Bucanek. Beginning Xcode

[6] J. I. Hong and J. A. Landay (2004).An architecture for privacysensitive ubiquitous computing”. In MOBISYS.

[7] Martijn Pannevis. I’m bored! Where is Everybody? Location Based Systems for Mobile Phones.

[8] Mobile Location Servies: The Definitive Guide by Andrew Jagoe.

[9] Stefan Steiniger, Moritz Neun and Alistair Edwardes (2006).Lecture Notes on LBS, Foundations of Location Based Services, V. 1.0.

Luận văn thạc sĩ

Học viên Huỳnh Nguyễn Thanh Phú Trang 85

PHỤ LỤC

Các công cụ phát triển

 Yêu cầu phần cứng

STT Tên Mô tả

1 Hệ điều hành máy tính Mac OS X hoặc cao hơn 2 Hệ điều hành di động iOS 4.1 hoặc cao hơn 3 Google Maps API Tài khoản sử dụng

Google Maps API 4 Apple Developer

account

Tài khoản nhà phát triển của Apple  Yêu cầu phần mềm STT Tên Mô tả 1 XCode 5.0 2 SOAP UI 4.0.1 3 Microsoft Visio 2010 4 iOS SDK iOS 4 SDK

5 Google Maps API - 6 MySql Database 5.5

7 PHP 5.3

Một phần của tài liệu Phát triển công cụ hỗ trợ thu thập dữ liệu địa điểm du lịch từ cộng đồng (Trang 63)