Cài đặt thử nghiệm ứngdụng

Một phần của tài liệu Phát triển ứng dụng LBS với công nghệ thực tại tăng cường trên nền tảng điện toán đám mây (Trang 36)

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

Hệ thống sử dụng cơ sở dữ liệu của Google, về mặt vật lý, các dữ liệu của Google đƣợc dùng trong công nghệ GAE là phân tán, đƣợc phân chia lƣu trữ tại các máy chủ nằm ở nhiều nơi trên thế giới, và các dữ liệu này không có mối quan hệ với nhau. Tuy nhiên, về mặt logic, các Entity dữ liệu có quan hệ đƣợc mô tả nhƣ trong hình 4.2. Category PK cId cName cDescription icon Place PK pId pName pDescription lat lon elevation pAddress catId catName FK1 cId

Hình 4.2. Cơ sở dữ liệu địa điểm

Trong đó, bảng Category chứa các danh mục địa điểm.

Còn bảng Place chứa thông tin chi tiết các điểm tiện ích.

Hình 4.4. Bảng Place trên GAE

4.3.2. Công cụ sử dụng

Hệ thống đƣợc phát triển trên nền tảng các công nghệ sau:

 Modul Server đƣợc xây dựng và phát triển trên nền tảng công nghệ Điện toán đám mây do Google cung cấp – Google App Engine, đƣợc viết bằng ngôn ngữ Java, HTML và Javascript.

 Modul Client là ứng dụng đƣợc phát triển cho các thiết bị di động cầm tay thông minh trên nền tảng hệ điều hành Android.

4.3.3. Thiết kế chƣơng trình

Trong quá trình thử nghiệm, chúng tôi đã tiến hành cài đặt modul server và module client nhƣ sau:

Modul serverđƣợc xây dựng và phát triển trên nền tảng công nghệ Điện toán đám mây do Google cung cấp – Google App Engine, đƣợc viết bằng ngôn ngữ Java, HTML và Javascript. Modul server cung cấp cho ngƣời quản trị những chức năng sau: - Thêm mới, xóa, sửa điểm tiện ích: thông tin về điểm tiện ích bao gồm tên điểm tiện ích, vị trí (kinh độ, vĩ độ, độ cao), mô tả, loại tiện ích (trƣờng học, cây xăng, điểm đặt máy ATM), địa chỉ.

Hình 4.5. Giao diện quản lý nhóm điểm tiện ích

Hình 4. 7. Giao diện thêm mới/sửa điểm tiện ích

- Hiển thị bản đồ với các điểm tiện ích đã tạo đƣợc gắn trên đó. Các tính năng cơ bản của bản đồ đƣợc tích hợp sẵn nhƣ phóng to thu nhỏ bản đồ, di chuyển bản đồ.

-

Modul client đƣợc phát triển trên hệ điều hành Android, để chạy ứng dụng, ngƣời dùng phải kích hoạt chức năng GPS của thiết bị. Modul này cung cấp những chức năng sau:

- Truyền dữ liệu vị trí hiện tại, hƣớng camera của thiết bị lên server khi bật ứng dụng, nhận dữ liệu các điểm tiện ích xung quanh vị trí hiện tại và trên đúng hƣớng quay của camera. Hệ thống truy vấn dữ liệu dựa trên 2 nguồn dữ liệu: Dữ liệu của Wikipedia và dữ liệu riêng của ứng dụng.

 Với nguồn CSDL của Wikipedia, việc truy vấn và nhận dữ liệu thông qua các web service đƣợc Google cung cấp miễn phí.

 Với nguồn CSDL ngƣời dùng, việc truy vấn dữ liệu phải qua các bƣớc xử lý trung gian để thực hiện truy vấn

Quá trình truy vấn dữ liệu từ nguồn CSDL của ngƣời dùng phải trải qua các bƣớc thực hiện sau:

 Chuyển đổi các đơn vị đo của tọa độ địa lý

 Tính khoảng cách giữa các điểm trên bản đồ (theo công thức Haverisine)

Công thức Haversine

a = sin²(Δφ/2) + cos(φ1).cos(φ2).sin²(Δλ/2) c = 2.atan2(√a, √(1−a))

d = R.c

Trong đó φ: vĩ độ. λ: kinh độ.

R: bán kính Trái Đất (Radius = 6,371km)

Chú ý Các góc trong công thức được sử dụng với đơn vị radian

- Hiển thị điểm tiện ích cùng các thông tin về điểm tiện ích trên màn hình thiết bị.

- Chỉ dẫn đƣờng đến điểm tiện ích nhất định.

4.4. Đánh giá quá trình phát triển ứng dụng

Việc phát triển ứng dụng thực tại tăng cƣờng cho LBS trên nền tảng điện toán đám mây đã giúp tác giả có đƣợc những kinh nghiệm về hoạt động của một hệ thống LBS trên một nền tảng công nghệ mới: công nghệ thực tại tăng cƣờng và công nghệ điện toán đám mây.

Các đặc điểm nổi bật và vƣợt trội đƣợc thể hiện một cách rõ ràng:

 So với các ứng dụng tìm điểm tiện ích thông thƣờng, việc áp dụng công nghệ thực tại tăng cƣờng giúp ngƣời dùng dễ dàng tìm đƣợc địa điểm mong muốn theo một phƣơng pháp trực quan, sinh động hơn.

 Một trong các ƣu điểm nổi bật khác của hệ thống là khả năng co giãn linh hoạt và dữ liệu địa điểm luôn đƣợc chủ động cập nhật thƣờng xuyên.

 Với việc không mất chi phí khởi tạo, chỉ mất chi phí tối thiểu trong việc duy trì hoạt động của hệ thống, đồng thời, quá trình truyền thông tin giữa modul Client (các thiết bị di động) và modul Server đƣợc thực hiện trên các mạng viễn thông thông thƣờng và Internet thì ƣu điểm về chi phí sử dụng của hệ thống là một ƣu điểm đáng đƣợc quan tâm khi cân nhắc sử dụng dịch vụ.

Bên cạnh các ƣu điểm, hệ thống vẫn tồn tại những nhƣợc điểm cần đƣợc khắc phục:

 Khó khăn trong việc đánh giá hiệu năng thực sự của hệ thống khi sử dụng vì về cơ bản, điện toán đám mây sử dụng công nghệ ảo hóa và hiện nay, chƣa có một công cụ độc lập đáng tin cậy để đánh giá hiệu năng các ứng dụng chạy trên đám mây.

 Việc truyền tin giữa các modul của hệ thống giám sát thông qua các dịch vụ truyền thông thông thƣờng bên cạnh ƣu điểm có giá thành rẻ thì tồn tại một nhƣợc điểm lớn là vấn đề bảo mật thông tin trên đƣờng truyền. Thông tin khi truyền qua mạng viễn thông sẽ dễ dàng bị kẻ gian “bắt” và “thay đổi”

 Hiện tƣợng thắt cổ chai xảy ra khi có nhiều truy cập đến hệ thống cùng thời điểm. Hiện tƣợng này thƣờng xảy ra khi nhà cung cấp chỉ sử dụng gói dịch vụ miễn phí của Google App Engine.

KẾT LUẬN

Trong quá trình thực hiện luận văn, học viên đã đạt đƣợc những kết quả sau:

 Nghiên cứu tổng quan lý thuyết về dịch vụ dựa trên vị trí LBS

 Nghiên cứu tổng quan về công nghệ thực tại tăng cƣờng (Augmented Reality)

 Nghiên cứu tổng quan về công nghệ điện toán đám mây (Cloud Computing) và công nghệ điện toán đám mây của Google – Google App Engine

 Xây dựng ứng dụng thực tại tăng cƣờng trên các thiết bị cầm tay thông minh chạy hệ điều hành Android

 Xây dựng ứng dụng LBS dạng đơn giản cung cấp dịch vụ truy vấn các điểm tiện ích với công nghệ thực tại tăng cƣờngvới dịch vụ máy chủ và cơ sở dữ liệu của Google App Engine

Các công trình khoa học đã công bố liên quan:

 Báo cáo Hội thảo Quốc gia về Công nghệ thông tin, “Phát triển dịch vụ dựa

trên vị trí (LBS) trên nền tảng điện toán đám mây”, ngày 03/12/2012 tại Viện

Công nghệ Thông tin – Viện Hàn Lâm Khoa học và Công nghệ Việt Nam. Hƣớng phát triển tiếp theo của luận văn:

 Nghiên cứu sâu hơn về công nghệ thực tại tăng cƣờng nhằm tinh chỉnh, nâng cao chất lƣợng mô phỏng kết quả tìm đƣợc. Cụ thể là:

o Mô phỏng chất lƣợng các layer hiển thị trên màn hình camera tùy theo khoảng cách xa gần với công cụ AR Toolkit.

o Xây dựng thêm tính năng chỉ đƣờng đến điểm tiện ích với bản đồ 2,5D.

 Luận văn có thể phát triển theo hƣớng cung cấp một hệ thống dịch vụ LBS hoàn chỉnh trên nền Google App Engine nhằm mục đích ứng dụng vào thực tế phục vụ hoạt động du lịch. Dữ liệu đƣợc bổ sung đầy đủ theo các nguồn Wikipedia, Google Map, đồng thời nguồn dữ liệu tự xây dựng với cơ sở dữ liệu tích hợp trên Google App Engine cũng cần xác thực. Ngoài ra các nguồn dữ liệu địa điểm khác từ các mạng xã hội cũng cần đƣợc xem xét truy vấn (Facebook, Twitter, …)

 Cài đặt thêm các thuật toán tìm kiếm nhằm tối ƣu các truy vấn, cung cấp các câu truy vấn nâng cao.

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1]. Đặng Văn Đức (2001), Hệ thống thông tin địa lý, NXB Khoa học và kỹ thuật, Hà Nội.

[2]. Đặng Văn Đức, Nguyễn Tiến Phƣơng, Đỗ Tuấn Anh, Nguyễn Sơn, Trần MạnhTrƣờng (2008), Một số kỹ thuật áp dụng trong việc phát triển mô hình dịch vụ trên cơ sở vị trí địa lý, Báo cáo khoa học tại Hội nghị khoa học ICT.rda08, Hà Nội.

Tiếng Anh

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

[4] Balqies Sadoun, Omar Al-Bayari (2007), “Location based services using geographical information systems”

[5]Cloud Security Alliance (12/2009), “Security Guidance for Critical Areas of Focus

in Cloud Computing V2.1”.

[6] Ian Foster, Yong Zhao, Ioan Raicu, Shiyong Lu (2008), “Cloud Computing and Grid Computing 360-Degree Compared”, Grid Computing Environments Workshop.

[7] J. I. Hong and J. A. Landay (2004), “An architecture for privacy-sensitive ubiquitous computing”. In MOBISYS.

[8]Bin Jiang, Xiaobai Yao (2012), “Location-based Services and GIS perspective”. [9] Rajkumar Buyya, Chee Shin Yeo, and Srikumar Venugopal (2008), “Market- Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities”, International Conference on High Performance Computing.

[10] Jinesh Varia, Architecting for the Cloud: Best Practices, Amazon, May 2010.

Website

[11] http://www.gartner.com/newsroom/id/1035013

PHỤ LỤC

Phụ lục 1: Khởi tạo môi trƣờng phát triển ứng dụng Google App Engine trên Eclipse

1. Cài đặt Eclipse

Google Plugin đƣợc tích hợp vào Eclipse từ phiên bản Eclipse 3.3 trở lên.

2. Cài đặt Google Plugin cho Eclipse

Để cài đặt Google Plugin, thực hiện các bƣớc sau:

 Vào Help menu ->Install New Software....

 Trong hộp thoại Work with, gõ:

https://dl.google.com/eclipse/plugin/4.3

Trong đó 4.3 là phiên bản Eclipse đang dùng (Eclipse Kepler)

 Chọn nút Add... , chọn OK

 Chọn thẻ “Google Plugin for Eclipse" và thẻ "SDKs" -> Chọn thẻ “Google Plugin for Eclipse 4.3" "Google App Engine Java SDK".

 Khi cài đặt thành công, Eclipse sẽ yêu cầu cần phải khởi động lại chƣơng trình.

3. Khởi tạo một Project sử dụng Google App Engine

 Mở menu File -> New -> Web Application Project. Sau đó, click vào nút trong Eclipse toolbar và chọn "New Web Application Project".

 Nhập các thông tin của Project vào các ô tƣơng ứng.

 Nếu không sử dụng Google Web Toolkit, không chọn “Use Google Web Toolkit". Chắc chắn rằng ô "Use Google App Engine" đã đƣợc chọn.

 Click Finish để tạo Project.

4. Chạy ứng dụng

 Để chạy ứng dụng trên web trong Eclipse debugger, chọn menu Run ->Debug As > Web Application. Eclipse sẽ dịch chƣơng trình và khởi chạy trong máy local:

The server is running at http://localhost:8888/

 Để dừng ứng dụng, chọn thẻ Debug, chọn nút Terminate :

5. Đƣa ứng dụng lên Google App Engine

 Trƣớc khi đƣa ứng dụng vào hệ hệ thống dịch vụ Google App Engine trên mạng, cần phải đăng ký một ID cho ứng dụng bằng cách sử dụng Admin Console. Sau khi đăng ký ID cho ứng dung, mở file appengine-web.xml và nhập ID của ứng dụng vào thẻ <application>...</application> .

 Để đƣa ứng dụng lên mạng, chọn nút Google trên Eclipse toolbar, chọn

"Deploy to App Engine.", nhập thông số cần thiết cho ứng dụng rồi chọn OK.

Phụ lục 2: Cài đặt Android với Eclipse

Hiện nay, các nhà phát triển thƣờng sử dụng Eclipse để xây dựng và phát triển các ứng dụng trên Android bởi ƣu điểm tích hợp đơn giản, hỗ trợ khả năng test, debug nhanh chóng. Quá trình cài đặt môi trƣờng phát triển Android trên Eclipse đƣợc tiến hành nhƣ sau:

1. Download Android SDK

Android SDK thực chất là tập hợp các công cụ và thƣ viện để phát triển các ứng dụng trên nền tảng hệ điều hành Android.

 Vào trang http://developer.android.com/sdk/index.htmlđể tải Android SDK Starter. Tùy thuộc vào hệ điều hành đang sử dụng để chọn phiên bản cho Mac, Linux hay Window. Ví dụ: chọn tải bản cho Window.

 Giải nén file zip vừa tải về, chạy SDK Setup.exe.

 Trong quá trình chạy có thể gặp thông báo lỗi Fetching https://dl-sl... Failed to fetch...-> đóng thông báo này lại.

 Tiếp theo cửa sổ Choose Packages to Install xuất hiện.

 Nếu cửa sổ này trống rỗng ->chọn Cancel -> Quay về cửa sổ Android SDK and AVD manager -> Chọn Setting, đánh dấu vào ô Force https://...- >Chọn Available Packages

 Đánh dấu các Packages muốn tải:

o Documents chính là phần Javadoc mô tả hoạt động của các phƣơng

thức và các lớp.

o Sample là các đoạn code mẫu.

o SDK Platform ứng với các phiên bản hệ điều hành (2.2 - API level 8,

2.1 - API level 7,...)

o Google API để phát triển các phần mềm liên quan đến dịch vụ của

Google.

o Có thể tải hết nếu muốn, còn muốn tối ƣu thì có thể đánh dấu nhƣ trong hình(lƣu ý USB drivers chỉ dành cho ngƣời sử dụng Windows và muốn phát triển ứngdụng test bằng điện thoại thật).

 Sau đó chọnInstall Selected->Install -> Cửa sổ Install hiện ra

2. Tích hợp Android SDK vào Eclipse

Sau khi cài đặt thành công Android SDK, bƣớc tiếp theo là tích hợp Android SDK vào môi trƣờng Eclipse:

 Khởi chạy Eclipse, vào Help ->Install new softwares.

 Chọn Add, gõ vào ô Name tên muốn lƣu và tại Location gõ vào địa chỉ để tải về ADT

o HTML Code:

https://dl-ssl.google.com/android/eclipse/

o hoặc HTML Code:

http://dl-ssl.google.com/android/eclipse/

o Chọn Archive và Browse tới file này (lƣu ý không giải nén)

o Chọn OK -> Check vào phần dƣới ô Name (sẽ hiện ra dòng

Developer Tools).

 Chọn Next -> Next -> Accept ->Next ... ->Finish

 Khởi động Eclipse -> Windows -> Preferences -> Android

 Nhấn nút Browse và chỉnh đƣờng dẫn tới thƣ mục của Android SDK đã tải lúc trƣớc.

Một phần của tài liệu Phát triển ứng dụng LBS với công nghệ thực tại tăng cường trên nền tảng điện toán đám mây (Trang 36)

Tải bản đầy đủ (PDF)

(47 trang)