Bảng mô tả free quota của một ứngdụng GAE miễn phí

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) 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 (Trang 45)

2.6.2. Phát triển ứng dụng App Engine trên nền tảng ngôn ngữ Java

Sử dụng nền tảng Java 6 để phát triển ứng dụng với JRE 6 và các thƣ viện đi kèm. Nhà phát triển có thể tiếp cận tất cả các dịch vụ App Engine thông qua sử dụng Java standard APIs. Đối với các Datastore của App Engine, Java SDK có tích hợp các chuẩn JDO (Java Data Object) và JPA (Java Persistence API) nhằm hỗ trợ việc sử dụng tài nguyên Datastore. Bên cạnh đó, các App Engine có thể sử dụng JavaMail API để gửi thƣ điện tử, thông điệp thông qua dịch vụ App Engine Mail.

Tóm lại, ngƣời phát triển sử dụng ngôn ngữ lập trình Java và các bộ thƣ viện APIs để phát triển các ứng dụng web cho JVM. Với việc sử dụng các JVM, ngƣời phát triển có thể sử dụng các ngôn ngữ khác để phát triển ứng dụng web nhƣ: JavaScript, Ruby, Scala.

2.7. Kết luận

Điện toán đám mây là một mô hình hoàn toàn mới, có nhiều ƣu điểm so với các mô hình truyền thống nhƣng đồng thời cũng đối mặt với những khó khăn thách thức mới. Điện toán đám mây đang phát triển rất mạnh mẽ và sôi nổi nhƣ một trào lƣu mới, các công ty cung cấp dịch vụ Cloud đầu tƣ nghiên cứu và phát triển để nâng cao chất lƣợng dịch vụ của mình.

Đặc điểm nổi bật của Điện toán đám mây chính là khả năng co giãn linh hoạt, sự tiện lợi và giảm tối đa chi phí cho ngƣời dùng. Các công nghệ giúp hiện thực Điện toán đám mây là web 2.0, ảo hóa (virtualization) và cung cấp mọi thứ dƣới dạng dịch vụ (everything as a service).

Tuy còn những e ngại về vấn đề bảo mật, tính tin cậy đối với nhà cung cấp dịch vụ nhƣng không thể phủ nhận những lợi ích to lớn mà Điện toán đám mây mang lại, đặc biệt là đối với những doanh nghiệp vừa và nhỏ. Hơn nữa trong tình trạng khủng hoảng kinh tế toàn cầu hiện nay, việc cắt giảm nhân lực, giảm chi phí là yêu cầu sống còn của nhiều doanh nghiệp. Trong hoàn cảnh đó, Điện toán đám mây có thể trở thành cứu cánh của các doanh nghiệp trong vấn đề giảm chi phí đầu tƣ cho hệ thống, cơ sở hạ tầng và giảm chi phí cho nhân lực IT. Theo nhiều chuyên gia và doanh nghiệp từng sử dụng dịch vụ Điện toán đám mây, dù công ty của bạn ở quy mô lớn hay nhỏ, bạn cũng nên thử dùng dịch vụ Điện toán đám mây, nếu không có thể doanh nghiệp của bạn sẽ bỏ lỡ một cơ hội kinh doanh trong tƣơng lai.

Hiện nay tại Việt Nam, việc sử dụng công nghệ Điện toán đám mây để phát triển các hệ thống dịch vụ là một chủ đề còn khá là mới mẻ. Đặc biệt là trong việc kết hợp các ƣu điểm của Điện toán đám mây trong việc xây dựng và cung cấp các dịch vụ dựa trên vị trí. Vì vậy, luận văn tiến hành nghiên cứu, xây dựng và phát triển ứng dụng dịch vụ dựa trên vị trí (LBS) trên nền tảng Điện toán đám mây, với bài toán đặt ra là

“Phát triển dịch vụ dựa trên vị trí trên nền tảng điện toán đám mây trong việc tìm kiếm các điểm đặt cột ATM xung quanh một vị trí trên bản đồ”.

CHƢƠNG III: PHÁT TRIỂN DỊCH VỤ LBS TRÊN NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY

Phát triển dịch vụ dựa trên vị trí trên nền tảng điện toán đám mây trong việc tìm kiếm các điểm đặt cột ATM xung quanh một vị trí trên bản đồ.

3.1. Đặt vấn đề

Nhƣ đã trình bày ở chƣơng 1, các dịch vụ LBS đƣợc xây dựng nhằm cung cấp các dịch vụ tiện ích hỗ trợ ngƣời dùng. Tuy nhiên, việc duy trì một hệ thống dịch vụ LBS hoàn chỉnh và đầy đủ đòi hỏi các nhà cung cấp dịch vụ, các công ty phải đầu tƣ một khoản chi phí lớn, và điều này đôi khi không đem lại các lợi ích kinh doanh mong muốn cho các nhà cung cấp dịch vụ, các công ty, đặc biệt là các nhà cung cấp, công ty có qui mô vừa và nhỏ.

Với việc ra đời của công nghệ điện toán đám mây, cùng với sự phát triển của mạng lƣới hạ tầng viễn thông, các ƣu điểm của công nghệ điện toán mây nhƣ khả năng đáp ứng cao (99,99% thời gian), khả năng co giãn (thay đổi cấu hình hệ thống), và chi phí thấp hơn việc duy trì một hệ thống dịch vụ tiện ích riêng biệt đã mở ra một hƣớng phát triển dịch vụ mới cho các nhà cung cấp dịch vụ LBS, các công ty muốn phát triển các ứng dụng LBS riêng đó là xây dựng dịch vụ dựa trên vị trí trên nền tảng điện toán đám mây.

Bài toán đặt ra là “Phát triển dịch vụ vị trí trên nền tảng điện toán đám mây trong việc tìm kiếm các điểm đặt cột ATM xung quanh một vị trí trên bản đồ”. Hệ thống dịch vụ LBS sẽ cung cấp khả năng truy vấn các điểm đặt cột ATM cho ngƣời dùng xung quanh vị trí hiện tại, với khả năng mở rộng các yêu cầu truy vấn nâng cao.

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

3.2.1. Phân tích hệ thống

Với yêu cầu của bài toán đặt ra là ““Phát triển dịch vụ vị trí trên nền tảng điện toán đám mây trong việc tìm kiếm các điểm đặt cột ATM xung quanh một vị trí trên bản đồ”, hệ thống phải đáp ứng đƣợc các yêu cầu sau:

- Việc tìm kiếm các điểm đặt cột ATM cho phép lựa chọn nguồn dữ liệu để trả kết quả (Google, CSDL riêng, hoặc cả hai)

- Việc sử dụng hệ thống đối với các thiết bị cầm tay di động là có định vị GPS và có kết nối mạng (GPRS, 3G hoặc Wifi); đối với sử dụng trình duyệt thì yêu cầu có kết nối mạng.

Đặc điểm nổi bật của hệ thống:

- So sánh với các hệ thống cung cấp chức năng tƣơng tự nhƣ Gmap hoặc diadiem.com, hệ thống có đặc điểm nổi bật là sử dụng điện toán đám mây nên chi phí đầu vào thấp (so với diadiem.com), có hệ thống CSDL riêng chi tiết và đƣợc cập nhật thƣờng xuyên hơn (so với Gmap).

- Để sử dụng đƣợc hệ thống không cần các thiết bị điện thoại thông minh thông thƣờng chạy hệ điều hành mã nguồn mở Android, có tích hợp định vị GPS

3.2.2. Thiết kế hệ thống

Với bài toán đặt ra đƣợc phân tích ở trên, hệ thống thiết kế chia làm 2 modul chính là Modul trên Server và Modul trên Client, trong đó:

 Modul Server:

- Cung cấp khả năng truy vấn thông tin vị trí các điểm đặt ATM trong hệ thống

- Lƣu trữ và quản lý thông tin địa lý các điểm đặt ATM

- Lƣu trữ và quản lý thông tin các thiết bị cầm tay đƣợc phép truy nhập vào hệ thống

- Cập nhật dữ liệu cho hệ thống

- Đƣợc đặt trên máy chủ của Google, đƣợc cài đặt và duy trì thông qua GAE

 Modul Client:

- Cung cấp khả năng truy vấn thông tin tiện ích từ vị trí thực tế của thiết bị

- Đƣợc cài đặt dƣới dạng các ứng dụng Android. Mô hình của hệ thống đƣợc mô tả nhƣ trong hình 3.1

Cloud Server CSDL Google CSDL riêng Client Hình 3.1: Sơ đồ hệ thống 3.2.2.1. 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.

3.2.2.2. Biểu đồ Ca sử dụng (Use Case) của hệ thống

3.2.2.3.1. Các tác nhân và các pha sử dụng

Hệ thống có 2 nhóm tác nhân chính là Nhà quản trị (Admin) và Ngƣời dùng cuối (Thiết bị). Trong đó:

- Quản trị dữ liệu ATM - Tìm kiếm thông tin - Hiển thị bản đồ - Quản lý trang tin

 Ngƣời dùng cuối (Thiết bị): là nhóm tác nhân chỉ đƣợc sử dụng các chức năng của hệ thống thông qua các thiết bị di động có GPS và Internet. Nhóm Ngƣời dùng cuối có các pha sử dụng nhƣ sau:

- Đăng nhập

- Cập nhật dữ liệu ATM - Truy vấn điểm đặt ATM

Biểu đồ Use case tổng quát của toàn hệ thống đƣợc mô tả nhƣ hình 3.2

Hình 3.2: Biểu đồ các pha sử dụng của hệ thống

Dang Nhap

Thiet Bi Quan tri du lieu nguoi su dung

Hien thi ban do

Truy van diem dat ATM Quan tri du lieu ATM

Admin

3.2.2.3.2. Biểu đồ Ca sử dụng Đăng nhập

Hình 3.3: Biểu đồ ca sử dụng Đăng nhập

Đăng nhập vào hệ thống nhằm đảm bảo khả năng bảo vệ nguồn dữ liệu riêng của hệ thống, ngăn chặn các tác nhân không đƣợc phép sử dụng hệ thống.

3.2.2.3.3. Biểu đồ Ca sử dụng Tìm kiếm thông tin

Dang Nhap

Dang nhap tu Trinh duyet

Dang nhap tu Thiet bi

Tim kiem thong tin

Tim Nguoi dung

Tim ATM

Tim Admin

Tim Nguoi Dung <extend>

<extend>

<include>

3.2.2.3.4. Biểu đồ Ca sử dụng Quản trị dữ liệu ATM

Hình 3.5: Biểu đồ ca sử dụng Quản trị dữ liệu ATM

Chức năng Quản trị dữ liệu ATM cung cấp các thao tác Thêm mới, Chỉnh sửa dữ liệu và Xóa dữ liệu các điểm ATM, chức năng Quản trị dữ liệu ATM nhằm mục đích quản trị nguồn dữ liệu riêng của hệ thống về các điểm ATM

3.2.2.3.5. Biểu đồ Ca sử dụng Hiển thị bản đồ

Quan tri du lieu ATM

Tao moi ATM

Xoa du lieu ATM Sua du lieu ATM

Tim kiem thong tin <extend>

<extend>

Hien thi ban do

Phong to

Thu nho

Di chuyen

Hien thi ket qua <extend>

<extend>

<extend>

Hình 3.6: Biểu đồ ca sử dụng Hiển thị bản đồ

Tƣơng tác với ngƣời dùng và kết quả đều thông qua hiển thị trên bản đồ số, hệ thống có các chức năng cơ bản của một bản đồ số là Phóng to, Thu nhỏ, Di chuyển bản đồ…

3.2.2.3.6. Biểu đồ Ca sử dụng Truy vấn điểm đặt ATM

Hình 3.7: Biểu đồ ca sử dụng Truy vấn điểm đặt ATM

Truy vấn điểm đặt ATM là chức năng chính của hệ thống, cung cấp khả năng truy vấn thông tin trên vị trí từ vị trí hiện tại của ngƣời dùng hoặc một vị trí bất kỳ mà ngƣời dùng muốn tìm (thao tác với Web Browser).

Truy van diem dat ATM

Hien thi ban do Truy van qua Thiet Bi

Truy van qua Trinh duyet <extend>

<extend>

Truy van CSDL Google

Truy van CSDL Rieng <include> <include> <include> <include> <include> Xu ly Du lieu <include> <include>

3.2.2.3. Biểu đồ Tuần tự các chức năng chính của hệ thống

3.2.2.4.1. Biểu đồ Tuần tự chức năng Đăng nhập

Hình 3.8: Biểu đồ tuần tự chức năng Đăng nhập

7: Tai khoan hop le : Admin

: Admin Giao dien Dang nhap Giao dien Dang

nhap Xu ly Dang nhap Xu ly Dang nhap CSDL CSDL

1: Yeu cau Dang Nhap 2: Yeu cau nhap thong tin 3: Nhap Username va Password

5: Yeu cau kiem tra

6: Kiem tra tai khoan

8: Dang nhap thanh cong 9: Dang nhap vao he thong

3.2.2.4.2. Biểu đồ Tuần tự chức năng Truy vấn điểm đặt ATM

Hình 3.9: Biểu đồ tuần tự chức năng Truy vấn điểm ATM 3.2.2.4. Biểu đồ Luồng dữ liệu (DFD) của hệ thống 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.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) 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 (Trang 45)

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

(69 trang)