3.2.2.4. Biểu đồ Luồng dữ liệu (DFD) của hệ thống
3.2.2.4.1. Biểu đồ Luồng dữ liệu chức năng Đăng nhập
Chức năng Đăng nhập
Admin CSDL Riêng
Yêu cầu Đăng nhập
Username và Password
Lấy thông tin Người dùng
Trả thông tin người dùng Đăng nhập
: Thiet Bi : Thiet Bi
Giao dien truy van Giao dien truy
van
Xu ly Truy van
Xu ly Truy van CSDL GoogleCSDL Google CSDL riengCSDL rieng
1: Yeu cau tim ATM 2: Yeu cau truyen cac thong tin dau vao
3: Chon thong tin truy van
5: Gui thong so truy van
6: Yeu cau truy van 7: Phan hoi ket qua
8: Yeu cau truy van 9: Phan hoi ket qua 10: Xu ly ket qua nhan duoc
11: Tra ket qua ATM tim duoc 12: Nhan ket qua
3.2.2.4.2. Biểu đồ Luồng dữ liệu chức năng Truy vấn điểm đặt ATM User CSDL Google CSDL riêng Truy Vấn vị trí ATM
Yêu cầu Tìm kiếm
Gửi yêu cầu tìm kiếm
Trả kết quả tìm kiếm
Gửi yêu cầu tìm kiếm
Trả kết quả tìm kiếm Trả kết quả đã được xử lý
Hình 3.11: Biểu đồ luồng dữ liệu chức năng Truy vấn điểm đặt ATM
Hệ thống truy vấn dữ liệu dựa trên 2 nguồn dữ liệu: Dữ liệu của Google và dữ liệu riêng của ứng dụng.
Với nguồn CSDL của Google, 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
3.2.2.5. Thiết kế cơ sở dữ liệu tblUser PK uId uName uLoginNam uPass FK1 gId uDes tblGroup PK gId gName gDes tblDevices PK dId FK1 uId tblATM PK ID Lat Lon NganHang DiaChi Des
Hình 3.12: Quan hệ giữa các bảng trong CSDL
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 3.12. Hệ thống sử dụng 4 nhóm đối tƣợng chính là: Thiết bị (Devices) Ngƣời dùng (Users) Nhóm ngƣời dùng (Groups) ATM
3.3. Giao diện chƣơng trình
3.5.1. Giao diện trên Server
Hình 3.13: Giao diện trên Web – Đăng nhập hệ thống
Hình 3.15: Giao diện trên Web – Chỉ đường đến điểm tìm được
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ệ đ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 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 cung cấp dịch vụ truy vấn các điểm đặt ATM trên nền tảng Google App Engine
Các công trình khoa học đã công bố liên quan:
Kỷ yếu Hội thảo Quốc gia về Công nghệ thông tin, “Một mô hình dịch vụ trên cơ sở vịtrí địa lý để theo dõi, giám sát đối tượng chuyển động”, năm 2009 tại Đồng Nai, tr.512-523
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 Đại học Khoa học và Công Nghệ Hà Nội.
Hƣớng phát triển tiếp theocủa luận văn:
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ụ cho các công ty vận tải.
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] Frank Ableson, Charlie Collins, Robi Sen, “Unlocking Android – A Developer’s Guide”, Dick Wall.
[4] 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.
[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] Balqies Sadoun, Omar Al-Bayari (2007), “Location based services using geographical information systems”
[10] Stefan Steiniger, Moritz Neun and Alistair Edwardes (2006), “Lecture Notes on LBS”, Foundations of Location Based Services, V. 1.0.
[11] Jinesh Varia, Architecting for the Cloud: Best Practices, Amazon, May 2010.
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.2
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.2" và "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/
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
Đá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).
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:
Tải Eclipse nếu chƣa có.
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 Nếu https không hoạt động, có thể tải thẳng ADT về máy theolink
http://dl.google.com/android/ADT-0.9.7.zip(bản mới nhất 0.9.7 ứng
vớiAndroid 2.2)
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
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.