Tải bản đầy đủ (.pdf) (14 trang)

Nghiên cứu và triển khai ứng dụng trên nền tảng điện toán đám mây GAE của google

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (219.82 KB, 14 trang )

TRƯỜNG ĐẠII HỌC
H
TÀI NGUYÊN VÀ MÔI TRƯỜNG
NG HÀ N
NỘI
KHOA CÔNG NGHỆ
NGH THÔNG TIN

SINH VIÊN:
VIÊN VŨ HOÀNG YẾN

NGHIÊN CỨU
U VÀ TRI
TRIỂN KHAI ỨNG DỤNG TRÊN NỀ
ỀN TẢNG
ĐIỆN
N TOÁN ĐÁM MÂY GAE CỦA
A GOOGLE

Hà Nội – 2015


TRƯỜNG ĐẠII HỌC
H
TÀI NGUYÊN VÀ MÔI TRƯỜNG
NG HÀ NỘI
KHOA CÔNG NGHỆ
NGH THÔNG TIN

SINH VIÊN: VŨ
V HOÀNG YẾN



NGHIÊN CỨU
U VÀ TRI
TRIỂN KHAI ỨNG DỤNG TRÊN NỀ
ỀN TẢNG
ĐIỆN
N TOÁN ĐÁM MÂY GAE CỦA GOOGLE

Chuyên ngành: Công ngh
nghệ thông tin
Mã ngành:

NGƯỜI HƯỚNG DẪN: GVC.TS.HÀ M
MẠNH ĐÀO

Hà Nội – 2015


LỜI CAM ĐOAN

Em xin cam đoan rằng đồ án tốt nghiệp này do chính em thực hiện, không
sao chép từ công trình nghiên cứu nào khác, tài liệu sử dụng trong đồ án tốt nghiệp
này đều được ghi rõ nguồn gốc.
Sinh viên

Vũ Hoàng Yến


LỜI CẢM ƠN
Sau thời gian tìm hiểu đề tài “Nghiên cứu và triển khai ứng dụng trên

nền tảng điện toán đám mây GAE của Google”, em đã hoàn thành tiến độ
dự kiến. Để đạt được kết quả này, em đã nỗ lực thực hiện và đồng thời cũng
nhận được rất nhiều sự giúp đỡ, quan tâm của thầy cô, bạn bè và gia đình.
Em xin chân thành cảm ơn giảng viên hướng dẫn: thầy GVC.TS.Hà
Mạnh Đào – Trường Đại học Tài Nguyên và Môi Trường Hà Nội đã tận tình
giúp đỡ em hoàn thành đồ án tốt nghiệp này. Em xin chân thành cảm ơn các
thầy cô và ban lãnh đạo trường Đại học Tài Nguyên và Môi Trường Hà Nội đã
nhiệt tình giảng dạy và truyền đạt kiến thức quý báu và bổ ích trong suốt quá
trình em học tập tại trường.
Vì thời gian có hạn nên không thể tránh khỏi thiếu sót, em rất mong
được sự đóng góp ý kiến từ thầy cô và các bạn để có thể giúp hoàn thiện đề
tài. Em xin chân thành cảm ơn!
Sinh viên thực hiện Đồ án


MụC LụC
PHẦN MỞ ĐẦU ........................................................................................... 1
1. Tính cấp thiết của đề tài ................................................................................. 1
2. Tổng quan về đề tài nghiên cứu ..................................................................... 2
3. Mục đích nghiên cứu ..................................................................................... 3
4. Đối tượng nghiên cứu và phạm vi nghiên cứu ................................................ 3
5. Phương pháp nghiên cứu ............................................................................... 4
6. Những đóng góp của đồ án ............................................................................ 4
7. Kết cấu của đồ án .......................................................................................... 4

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ ĐIỆN TOÁN ĐÁM MÂY .......... 6
1.1.

Giới thiệu về điện toán đám mây ................................................................ 6


1.2.

Những đặc điểm nổi bật của điện toán đám mây ......................................... 7

1.3.

Mô hình hướng dịch vụ của điện toán đám mây ......................................... 8

1.4.

Cách thức hoạt động của điện toán đám mây ............................................ 10

1.5.

Các mô hình triển khai điện toán đám mây ............................................... 11

1.5.1.

Các đám mây công cộng (Public Cloud) ............................................ 12

1.5.2.

Các đám mây riêng (Private Cloud)................................................... 13

1.5.3.

Các đám mây lai (Hybrid Cloud) ....................................................... 14

1.5.4.


Các đám mây cộng đồng(Community Cloud) ..................................... 14

1.6.

Ưu điểm và nhược điểm của điện toán đám mây ...................................... 15

1.6.1.

Ưu điểm của điện toán đám mây ........................................................ 15

1.6.2.

Nhược điểm của điện toán đám mây .................................................. 16

CHƯƠNG 2: NỀN TẢNG ĐÁM MÂY GAE CỦA GOOGLE ................ 18
2.1.

Giới thiệu về Google App Engine............................................................. 18

2.2.

Kiến trúc hoạt động của Google App Engine ............................................ 19

2.3.

Các thành phần chính của GAE và chức năng của từng thành phần .......... 20

2.3.1

Môi trường thực thi (The Runtime Environment) ............................... 20


2.3.2

Các file server tĩnh (static file server) ................................................ 22

2.3.3

Kho dữ liệu (Datastore) ..................................................................... 23


2.4.

Màn hình quản trị (The Adminstrator Console) ........................................ 27

2.5.

Một số dịch vụ của Google App Engine ................................................... 28

2.5.1.

Url Fetch ........................................................................................... 28

2.5.2.

User ................................................................................................... 28

2.5.3.

Memcache.......................................................................................... 30


2.5.4.

Email ................................................................................................. 31

2.5.5.

Capabilities ....................................................................................... 31

2.5.6.

Datastore ........................................................................................... 31

2.5.7.

Blobstore ........................................................................................... 34

2.5.8.

XMPP ................................................................................................ 35

2.6.

Hạn chế của Google App Engine .............................................................. 35

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG HỎI ĐÁP ONLINE DỰA TRÊN
DỊCH VỤ XMPP CỦA GOOGLE APP ENGINE ................................... 37
3.1.

Phát biểu bài toán ..................................................................................... 37


3.2.

Phân tích và thiết kế hệ thống ................................................................... 38

CHƯƠNG 4: MÔ PHỎNG ........................................................................ 43
4.1.

Cài đặt hệ thống ....................................................................................... 43

4.2.

Kết quả chạy mô phỏng ............................................................................ 47

KẾT LUẬN ................................................................................................. 50
TÀI LIỆU THAM KHẢO.......................................................................... 51
PHỤ LỤC ................................................................................................... 52


DANH SÁCH CHỮ VIẾT TẮT
KÍ HIỆU

NỘI DUNG VIẾT TẮT

Ý NGHĨA

API

Application Programming Interfaces

Giao diện lập trình ứng dụng


AWS

Amazone Web Service

Dịch vụ Web Amazone

CNTT

Công Nghệ Thông Tin

Công Nghệ Thông Tin

CPU

Central Processing Unit

Bộ vi xử lý trung tâm

CSDL

Cơ sở dữ liệu

Cơ sở dữ liệu

Css

Cascading Style Sheets

Cascading Style Sheets


FTP

File Transfer Protocol

Giao thức truyền tệp

GAE

Google App Engine

Máy ứng dụng của Google

GAEJ

Google App Engine for Java

Máy ứng dụng của Google của
Java

GAEP

Google App Engine for Python

Máy ứng dụng Google của
Python

GB

Gigabyte


Gigabyte

GWT

Google Web Tootkit

Công cụ Web của Google

HTTP

Hyper Text Transfer Protocol

Giao thức truyền siêu văn bản

HTTPS

Hypertext Transfer Protocol Secure

Giao thức truyền siêu văn bản
an toàn

IaaS

Infrastructure as a Service

Hạ tầng như dịch vụ


IT


Information technology

Công nghệ thông tin

JDK

Java Development Kit

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

JVM

Java Virtual Machine

Máy ảo Java

MB

Megabyte

Megabyte

OS

Operating System

Hệ điều hành

PaaS


Platform as a Service

Nền tảng như dịch vụ

SaaS

Software as a Service

Phần mềm như dịch vụ

SDK

Software Development Kit

Công cụ phát triển phần mềm

URL

Uniform Resource Locator

Bộ định vị tài nguyên toàn cục

XMPP

Extensible Messaging and Presence

Giao thức nhắn tin mở rộng

Protocol



DANH MỤC CÁC HÌNH ẢNH
Hình 1.1: Mô hình tổng quan của điện toán đám mây .......................................... 7
Hình 1.2: Mô hình dịch vụ điện toán đám mây ..................................................... 8
Hình 1.3: Cách thức hoạt động của điện toán đám mây ..................................... 10
Hình 1.4: Các dạng mô hình triển khai điện toán đám mây ................................ 11
Hình 1.5: Mô hình Public Cloud ........................................................................ 12
Hình 1.6: Mô Hình Private Cloud ...................................................................... 13
Hình 1.7: Mô hình Hybrid cloud ........................................................................ 14
Hình 1.8: Mô hình Community cloud.................................................................. 15
Hinh 2.1: Kiến trúc hoạt động của GAE ............................................................. 19
Hình 2.2: Màn hình thiết lập cách ứng dụng chứng thực người dùng lúc khởi tạo
Application ID.................................................................................................... 29
Hình 2.3: Màn hình thiết lập cách ứng dụng chứng thực người dùng tại Admin
Console .............................................................................................................. 29
Hình 2.4: Màn hình thiết lập tuỳ chọn các lưu trữ của datastore ........................ 32
Hình 3.1: Lược đồ usecase tổng quát ................................................................. 38
Hình 3.2: Lược đồ usecase cập nhập .................................................................. 39
Hình 3.3: Lược đồ usecase chat ......................................................................... 40
Hình 3.4: Biểu đồ trạng thái chat giữa người sử dụng và hệ thống..................... 40
Hình 3.5: Biểu đồ hoạt động chức năng đăng nhập ............................................ 41
Hình 3.6: Biểu đồ tuần tự ................................................................................... 42
Hình 4.1: Màn hình đăng nhập hệ thống GAE .................................................... 43
Hình 4.2: Màn hình chào mừng lần đầu tiên tạo ứng dụng GAE. ....................... 44
Hình 4.3: Màn hình tạo project. ......................................................................... 44
Hình 4.4: Màn hình tạo ứng dụng mới................................................................ 45
Hình 4.5: Màn hình quản lý ứng dụng của GAE ................................................. 45
Hình 4.6: Màn hình liệt kê các ứng dụng trên GAE ............................................ 46
Hình 4.7: Người dùng add contact ...................... 47

Hình 4.8: Người dùng gửi tin nhắn đến .............. 48
Hình 4.9: tự động trả lời câu hỏi ........................ 49


PHẦN MỞ ĐẦU
1.

Tính cấp thiết của đề tài
Ngày nay công nghệ thông tin phát triển rất nhanh chóng, nắm giữ vai trò

quan trọng trong việc thúc đấy sự tăng trưởng kinh tế, với sự ra đời của rất nhiều
công nghệ mới, các dịch vụ CNTT đáp ứng nhu cầu của người dùng cũng như là các
doanh nghiệp,... Tuy nhiên, trong giai đoạn suy thoái kinh tế như hiện nay, thì việc
ứng dụng một công nghệ hay một dịch vụ CNTT đáp ứng việc quản lý tốt, hiệu quả
dữ liệu của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những
bài toán được ưu tiên hàng đầu cho doanh nghiệp. Để có thể quản lý được nguồn dữ
liệu đó, ban đầu các doanh nghiệp phải đầu tư, tính toán rất nhiều loại chi phí như
chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị viên, chi phí bảo trì,
sửa chữa,…Ngoài ra họ còn phải tính toán khả năng mở rộng, nâng cấp thiết bị;
phải kiểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng cao của dữ liệu. Để giải
quyết vấn đề trên thì chúng ta thấy được rằng nếu có một nơi tin cậy giúp các doanh
nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn quan tâm đến
cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh của họ
thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn. Khái niệm “điện
toán đám mây” đã ra đời trong hoàn cảnh đó và đang dần trở nên quen thuộc đối với
các doanh nghiệp, đặc biệt là đối với các doanh nghiệp vừa và nhỏ.
Điện toán đám mây (Cloud Computing), còn gọi là điện toán máy chủ ảo, là
mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng
internet (theo Wikipedia). Với một số lợi ích cơ bản như: sử dụng các tài nguyên
tính toán động, giảm chi phí, giảm độ phức tạp trong cơ cấu doanh nghiệp, kiến trúc

hướng dịch vụ… điện toán đám mây đang tạo cơ hội cho các doanh nghiệp hoạt
động hiệu quả, thông minh và tiết kiệm chi phí hơn.
Google là một trong những nhà cung cấp dịch vụ điện toán đám mây hiện nay
với nền tảng App Engine cho phép người dùng xây dựng và triển khai ứng dụng
web Java hay Python trên cơ sở hạ tầng của mình.
1


Nhằm đưa ra một cái nhìn tổng quan về nền tảng App Engine của Google, em
chọn đề tài “Nghiên cứu và triển khai ứng dụng trên nền tảng App Engine của
Google” làm đồ án tốt nghiệp của mình.

2.

Tổng quan về đề tài nghiên cứu
Hiện nay, việc ứng dụng công nghệ thông tin ở các doanh nghiệp Việt Nam đã

trở nên phổ biến, và điện toán đám mây đã bắt đầu có những tín hiệu lạc quan. Tuy
nhiên hầu hết các doanh nghiệp đang sử dụng các dịch vụ điện toán đám mây hiện
nay là các công ty công nghệ hàng đầu trong nước như: FPT, Quang Trung, … còn
đại đa số các doanh nghiệp vừa và nhỏ vẫn còn e dè với điện toán đám mây, vẫn
chưa hiểu rõ hết về mô hình này nên việc sử dụng các dịch vụ điện toán đám mây
vẫn còn hạn chế. Giải pháp cho vấn đề này là cung cấp cho người dùng một dịch vụ
đám mây miễn phí như App Engine của Google để người dùng có thể trải nghiệm
các tiện ích từ điện toán đám mây cũng như có thời gian nhiều hơn để tìm hiểu về
những rủi ro về tính an toàn dữ liệu, để từ đó họ có thể mạnh dạn hơn để sử dụng
các dịch vụ của điện toán đám mây.
Mặc dù không phải là công ty đi đầu trong lĩnh vực điện toán đám mây nhưng
Google đã khẳng định được mình là một đối thủ nặng kí trong lĩnh vực này với App
Engine. Google sẽ đi theo hướng cung cấp các trải nghiệm điện toán đám mây đơn

giản hơn so với các nhà cung cấp dịch vụ khác như Amazon, nhưng có mức kiểm
soát chặt chẽ và đầy đủ hơn. Để triển khai một hệ thống có khả năng đáp ứng các
yêu cầu cao với Amazon, người dùng cần phải có trình độ và hiểu biết khá cao về
hệ thống. Đôi khi việc cấu hình và viết các ứng dụng theo dõi, tự động mở rộng
(Automatic scalability) cho AWS (Amazon Web Services) lại mất nhiều thời gian
hơn chính việc viết ứng dụng. Với App Engine của Google người dùng sẽ không
phải lo lắng về những vấn đề đó nữa. GAE hỗ trợ hai ngôn ngữ lập trình Java và
Python. Bên cạnh đó Google cung cấp cho người dùng khá tốt với hiệu suất làm
việc và độ tin cậy cao nhưng giá thành rất ưu đãi như:

2


Sự tin cậy, hiệu suất và bảo mật của cơ sở hạ tầng Google, Google nổi tiếng
về hiệu suất làm việc và tính tin cậy cao. Với App Engine, chúng ta có được các thế
mạnh của Google như cơ chế bảo mật, quyền riêng tư và các chính sách bảo vệ cơ
sở dữ liệu. Các ứng dụng cung cấp sẵn của Google sẽ giúp ta dễ dàng quản lý các
ứng dụng của mình, dành thời gian tập trung phát triển các chức năng cho người
dùng. Nếu như trước đây vấn đề bảo mật vốn là rào cản lớn nhất khiến người dùng
Việt Nam vốn e dè với điện toán đám mây thì giờ đây với GAE đã khắc phục được
yếu điểm đó.
Giá thành ưu đãi, cở sở hạ tầng App Engine hoàn toàn miễn phí cho đến khi
chúng ta đạt đến ngưỡng về mức sử dụng – dung lượng lưu trữ 1GB , khoảng 5 triệu
lượt xem trong mỗi tháng. Và việc cấu hình hệ thống sẽ không đòi hỏi người dùng
phải có hiểu biết nhiều về hệ thống vì GAE là một hệ thống tích hợp với đầy đủ
công cụ cho một ứng dụng web hiện đại. Điều này có thể giúp các doanh nghiệp
vừa và nhỏ tiết kiệm được một khoảng chi phí không nhỏ.
Em nhận thấy đây là một đề tài hay, bổ ích và vô cùng thực tế, có thể cung cấp
cho em nhiều kiến thức về điện toán đám mây phục vụ cho công việc sau này.


3.

Mục đích nghiên cứu
− Hiểu được cơ sở lí thuyết về điện toán đám mây.
− Hiểu được một số vấn đề cơ bản của Google App Engine.
− Xây dựng một ứng dụng trên nền tảng App Engine của Google.

4.

Đối tượng nghiên cứu và phạm vi nghiên cứu

Đối tượng nghiên cứu gồm có:
− Cơ sở lý thuyết về điện toán đám mây.
− Nền tảng App Engine của Google.
Phạm vi nghiên cứu:

3


− Khái niệm, đặc điểm, mô hình hướng dịch vụ, cách thức hoạt động, mô hình
triển khai, ưu điểm, nhược điểm của điện toán đám mây.
− Khái niệm, kiến trúc hoạt động, các thành phần chính và chức năng các thành
phần, các dịch vụ, hạn chế của Google App Engine.
− Xây dựng một chương trình ứng dụng sử dụng dịch vụ XMPP của Google
App Engine và lưu trữ trên đám mây của Google.

5.

Phương pháp nghiên cứu
− Phương pháp nghiên cứu lý thuyết: tiến hành thu nhập các tài liệu, thông tin

liên quan đến đề tài.
− Tổng hợp và phân tích tích tài liệu để đưa ra cơ sở lý thuyết về điện toán đám
mây, nền tảng App Engine của Google.
− Tạo một chương trình ứng dụng sử dụng dịch vụ XMPP của Google App
Engine.

6.

Những đóng góp của đồ án
Đồ án hoàn thành sẽ có những đóng góp chủ yếu sau đây:
− Hệ thống hóa những vấn đề lý thuyết cơ bản về điện toán đám mây.
− Một số vấn đề cơ bản về nền tảng App Engine của Google.
− Cách triển khai một ứng dụng trên nền tảng App Engine của Google.

7.

Kết cấu của đồ án
Đồ án được chia thành 4 chương như sau:
Chương 1: Cơ sở lý thuyết về điện toán đám mây.
Chương này trình bày tổng quan về điện toán đám mây; những đặc
điểm nổi bật của điện toán đám mây; mô hình hướng dịch vụ của điện toán
4


đám mây; các mô hình triển khai điện toán đám mây; ưu điểm và nhược
điểm của điện toán đám mây.
Chương 2: Một số vấn đề cơ bản của Google App Engine.
Chương này giới thiệu về Google App Engine; kiến trúc hoạt động
của Google App Engine; các thành phần chính của GAE và chức năng của
từng thành phần; màn hình quản trị; một số dịch vụ của Google App Engine;

hạn chế của Google App Engine.
Chương 3: Xây dựng ứng dụng hỏi đáp online dựa trên dịch vụ XMPP
của Google App Engine .
Trong chương này giới thiệu về bài toán và đi sâu vào phân tích thiết
kế hệ thống.
Chương 4: Mô phỏng
Trong chương này đưa ra phương thức cài đặt hệ thống và giới thiệu một số
hình ảnh khi sử dụng hệ thống.

5



×