VIẾT MỘT ỨNG DỤNG DEMO DÙNG MỘT TRONG CÁC GÓI THƯ VIỆN SAU: Google App Engine của Google Window Azure của Microsoft Sun Cloud của Sun Mục lục: Chui ong Ï; VÌỚi ẨÏLÏỆIH...
Trang 1NGHIÊN CỨU CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY
VIẾT MỘT ỨNG DỤNG DEMO DÙNG MỘT TRONG CÁC
GÓI THƯ VIỆN SAU:
Google App Engine của Google Window Azure của Microsoft Sun Cloud của Sun
Mục lục:
Chui ong Ï; (VÌỚi ẨÏLÏỆIH - << << 5< < << < 9É 1.9656.060 04.000.000004.060084.080000080.08.06 04.08 0 2
Chương II: Cơ sở |ý thuryét ssecssssssesssssssesssessssssssesssesssesssesssesssesssesssesssesssecssessscsssesssessscesseesseesseesssees 2
Chương III: Hướng dẫn cài đặt -oe s<e< se e£Ss£©se£+eEEseEeeExeEEeeEeeEteErsereertertasreerkerrerrssree 4
Trang 2Chương I: Giới thiệu
Tóm tắt hệ thông:
Để giup moi | nguoi hình dung mô hình điện toán đám mây 1 như thế nào Nhóm
chúng tôi viết ứng dụng nhỏ dựa trên các gói thư viện có sẵn của google.Về hình
thức các bạn có thê hình dung ứng dụng này giống như là các blog ,facebook, diễn đàn qua đó thành lập các nhóm học tập để các bạn có thê trao đôi hay bình luân
về một vấn đề gì đó
Chương II: Cơ sở lý thuyết
1.Điện toán đám mây là gi:
Điện toán đám mây là môi trường tính toán dựa trên internet mà ở đó tắt cả phần
mêm, dữ liệu, tài nguyên được cung câp cho máy tính và các thiệt bị khác theo
nhu câu (tương tự như mạng điện) — Theo Wikipedia ,
Mô hình này đã và đang được các công ty ,doanh nghiệp hướng đên Sử dụng mô
hình này các doanh nghiệp chỉ cần trả phí cho những ứng dụng mà họ dung ,mà
không cần đầu tư nhiều vào sơ sở hạ tầng, cũng như quan tâm nhiều đến công
Trang 3Hình 1: Mọi thứ đều tập trung vào đám mây
2 Loi ich cloud computing:
¢ Tinh linh dOng: Ngudi ding c6 thê thoải mái lựa chọn các địch vụ phù hợp
với nhu cầu của mình, cũng như có thê bỏ bớt những thành phần mà mình không muốn (Thay vì phải bỏ ra hàng trăm USD cho 1 bộ Ms office, ta có thể
mua riêng lẻ từng phần hoặc chỉ trả 1 khoản phí rất nhỏ mỗi khi sử dụng 1 phần
nào đó của nó)
»« - Giảm bớt phí: Người dùng không chỉ giảm bớt chi phí ban quyền mà còn
giảm phần lớn chi phí cho việc mua và bảo dưỡng máy chủ Việc tập hợp ứng
dụng của nhiều tổ chức lại 1 chỗ sẽ giúp giảm chỉ phí đầu tư ban đầu, cũng như
tăng hiệu năng sử dụng các thiết bị này một cách tối đa
¢ Tao nên sự độc lập: Người dùng sẽ không còn bị bó hep voi | thiét bi hay 1 vi
tri cu thể nào nữa Với điện toán đám mây, phần mềm, đữ liệu có thê được truy
cập và sử dụng từ bắt kì đâu, trên bắt kì thiết bị nào mà không cần phải quan
tâm đến giới hạn phần cứng cũng như địa lý (Bạn có thể chơi Call of Duty 6
trên iPad hoặc iPhone mà không cần quan tâm đến cấu hình của nó)
» - Tăng cường độ tin cậy: Dữ liệu trong mô hình điện toán đám mây được lưu
trữ I cách phân tán tại nhiều cụm máy chủ tại nhiều vị trí khác nhau Điều này giúp tăng độ tin cậy, độ an toàn của dữ liệu mỗi khi có sự cố hoặc thảm họa xảy ra (Hãy tưởng tượng l ngày nào đó, server yêu quý của công ty tự nhiên bốc cháy với toàn bộ dữ liệu quý giá bên trong, bạn sẽ làm gi??)
« _ Báo mật: Việc tập trung đữ liệu từ nhiều nguôn khác nhau sẽ giúp các chuyên
gia bảo mật tăng cường khả năng bảo vệ dữ liệu của người dùng, cũng như
giảm thiểu rủi ro bị ăn cắp toàn bộ dữ liệu (Dữ liệu được đặt tại 6 máy chủ
khác nhau — trong trường hợp hacker tấn công, bạn cũng sẻ chi bi 16 1/6 Day
la 1 cach chia sẻ rủi ro giữa các tổ chức với nhau)
«Bảo trì dễ dàng: Mọi phần mềm đều nằm trên server, lúc này, người dùng sẽ
không cần lo lắng cập nhật hay sửa lỗi phần mềm nữa Và các lập trình viên cũng dễ dàng hơn trong việc cài đặt, nâng cấp ững dụng của mình
3 Ai dang wng dung Cloud computing:
Các ông lớn đã bắt đầu rục rịch trong cuộc chạy đua đến với điện toán đám mây
Những Google, Microsoft, Amazone, Sun đều đã và đang phát triên những nền
tảng điện toán đám mây của riêng mình Các nền tảng điện toán đám mây lớn có
thể kể đến bây giờ bao gồm:
¢ Google App Engine của Google: http://code.google.com/appengine/
« Windows Azure cua Microsoft:
http://www microsoft.com/windowsazure/windowsazure/
Trang 4
« Nền tảng điện toán đám mây ra đời đầu tiên: Amazone Webservice của
Amazon.com
¢ Sun Cloud cua Sun http://www.sun.com/solutions/cloudcomputing/
e Facebook
4 Google App Engine Ia gi:
“Google App Engine” (GAE) là một nền tảng hosting bao gồm web server, cơ sở dữ
liệu BigTable and kho lưu trữ file GFS GAE cho phép bạn viết ứng dụng web dựa
trên cơ sở hạ tầng của Google Nghĩa là bạn không cân quan tâm là trang web bạn
được lưu trữ như thế nào (kế ca database di kem), ma chi can quan tam dén viéc phat
triển ứng dụng theo các API do Google cung cấp
Với App Engine,Bạn chỉ cần tải lên các ứng dụng của bạn, và nó sẵn sàng dé phục vụ người dùng của bạn
Bạn có thể sử dụng tên miền riêng của mình (chẳng hạn
như http://www.example.com/ ) thông qua google apps Hoặc bạn có thê dùng sub-
domain mién phi của appspof.com
GAE cho phép được host miễn phí với dung lượng 500 MB lưu trữ và cho phép 10
GB băng thông lưu chuyển mỗi ngày hay tương đương 5 triệu pageview hàng
tháng, Vượt qua mức này bạn sẽ phải trả phí Dùng GAE, chúng ta khỏi phải thiết kế
database, viết SQL dé truy van data, map data v6 object Chung ta chi can design cac
class va GAE tu dong lo phan lam viéc voi database
Tóm lại, giờ đây bạn chỉ cần phải nghĩ ra và viết những ứng dụng tuyệt vời nhất rồi
kêu gọi cả thế giới vào đùng Tuy nhiên, mặt trái của việc xây dựng ứng dụng trên
GAE là bạn sẽ phụ thuộc hoàn toàn vào các công nghệ của Google và rất khó có thê
tách ra thành một ứng dụng độc lập Yahoo hay Microsoft sẽ chắng bao giờ mua một
ứng dụng xây dựng trên nền tảng của đối thủ Còn các nhà đầu tư cũng TẤT © ngại khi
tài sản của công ty bạn đặt hết vào tay người khác, dù cho đó là Google
Hiện AppEngine hỗ trợ 2 loại ngôn ngữ là: Python và Java Một số ngôn ngữ khác
như PHP cũng có thê chạy được nếu cài cùng với bộ chuyên từ PHP sang Java
Chương III: Hướng dẫn cài đặt
1.Yêu cầu:
- Eclipese hay jcreator
- Google plugin cho Eclipese
Trang 5
AppEngine-java-SDK-1.3.8.zip
2.Dang ki tai khoan Google App Engine:
Bước 1:Để triển khai các ứng dụng của bạn với các đám mây của Google, bạn
cần một tài khoản AppEngine Làm được một tài khoản bạn cần một tài khoản
email cua Google Open http://appengine.google.com/ va dang nhập với thông tin tài khoản gmail của bạn
Tải khoản G ,
Google app engine Chao mung bạn đến với Google App Engine
k ˆ Email: phanvinh.pro@gmail.com
a ý (AB thể mở rộng nhằm tăng cường sức mạnh cho các ứng dụng của chúng tôi Google App Engine cho phép nhà phát triển xây dựng ứng dụng web trên cùng hệ thống có 9 \g cường g dụng 9 Mã khẩt mu
Khéng yeu cau lap rap 'Không th truy cập tài khoản của ban?
Google App Engine Niếpc cận với môi trường phát triển hoàn toàn tích hợp Đăng nhập bằng môi tên người dùng khác
Dé dang mở rộng
Google App Engine gidp dé dang thiết kế ứng dụng có thể mỡ rộng, phát triển từ 1 đến hàng triệu người dùng mà không phải lo lắng về cơ sở hạ tâng Bạn chưa có Tài khoản Google?
Điều này hoàn toàn miễn phí
Mọi ứng dụng Google App Engine sé có đủ CPU, băng thông, và bộ nhớ để phục vụ khoăng 5 triệu lượt truy cập hang thang miễn phí Bạn có thể mua thêm tài nguyên vớimức giá canh tranh khi ban can đến và bạn sẽ chỉ phải trả cho những gì bạn dùng
Đây làphiên bản xem trước của Google App Engine Để bất đầu, hãy đãng nhập Google App Engine bằng Tải
khoăn Google của bạn, hoặc khám phá tài liêu cũa chúng tôi dé tai xudng SDK va tìm hiểu về những việc mà chúng tối dang làm
Nếu bạn muốn đăng nhập vào Google App Engine bằng tài khoăn Google Apps cũa mình, hấy sử dụng URL sau:
https://appengine google com/a/<YOURDOMAIN.COM>/
2010© Google - Trang chủ Google - Điều khoan Dich wu - Chinh séch Bao mat - Trợ giúp WW) MIEN THC CUA CLOU doc + Wi) TổngquanvêCbudC doc + ẨẪ] HKInamhoc 2010-201 xs + Ch tenth cating X
Trang 6phanvinh.gtvt@gmail.com | My Account | Help | Sign out
Welcome to Google App Engine
Before getting started, you want to learn more about developing and deploying applications
Leam more about Google App Engine by reading the Getting Started Guide, the FAQ, or the Developer's Guide
Create Application
‘© 2008 Google | Terms of Service | Privacy Policy | Blog | Discussion Forums:
@) HIENTHYC CUA COU doc + ÏÑ] Tổng quan vé Cloud C doc + §Ñ] Hqnam hoc 2010-201 xis
Bước 3:
Bạn cần phải xác minh tài khoản của bạn thông qua một số điện thoại hợp lệ.Sau khi
cung cập sô điện thoại của bạn, Google sẽ nhắn cho bạn một mã xác minh qua SMS
Trang 7
Verify Your Account by SMS
To create applications with Google App Engine, you need a verification code Select the country and carrier for your mobile phone and enter your mobile phone number The verification code will be sent to it via SMS Note you will only need to verify your account once
Country and Car
‘Other (Not Listed) +
If Your country and carrer are not onthe lst, Select Other (Not Listed) What carriers are supported?
Mobile Number
Include your country code and ful phone number eg +1 650 555 1212
Send |
© 2008 Google | Terms of Senice | Privacy Policy | Blog | Discussion Forums
@) HEN THYCCUACLOU doc + @) TéngquanvéCloudc doc + GH) Henamhoc 2010-201 xs + Đr&ntht8 cả tà xuống
Trang 8
€ C fi ve hitps://appengine google.com /permissions/smsverify 7phone_number=% 2884 1686881336 A> By &
Google app engine phanvinh.gtvt@gmail.com | My Account | Help | Sign out
An Authentication Code Has Been Sent to +841686881336
Within a few minutes, you shauld receive a text message on your phone that includes a verification code When you receive it, enter it below If you dont receive the text message, try sending it again, or see the App Engine FAQ
Enter Account Code
4646251 | Send
© 2008 Google | Terms of Service | Privacy Policy | Blog | Discussion Forums
@) HIỆNTHỰC CỦACLOU doc + |B) Téng quanvé Cloud¢ doc + GH) HKInamhoc 2010-201 xd5 + Đênttactvx0ốn#a X
Trang 9
Google app engine phan progegmail.com | My Account | Help ‘Sign out
Create an Application You have 7 applications remaining Application Identifier:
‘bao-vinh -appspot.com | Check Availability
‘You can map this application to your own domain later Learn more Application Title:
hello vinh|
Displayed when users acoese your appication
Authentication Options (Advanced): Learn more:
Google App Engine provides an API for authenticating your users, including Google Accounts, Google Apps , and Openill) it you choose to use this feature for some parts of your site,
‘youll need to specity now whet type of users can sign in to your application:
Open to all Google Accounts users (default)
I your application uses authentication, anyone with a validGoogle Account may sign in (This includes all Gmail Accounts but does “not include accounts on any Google Apps domains.)
Edit Create Application | Cancel |
© 2008 Google | Terms of Service | Privacy Policy | Blog | Discussion Forums:
@) HIỆNTHỰC CỦACLOU doc + |B) Téng quanvé Cloud¢ doc + GH) HKInamhoc 2010-201 xd5 + Gh iidathita catsinwina X
bao-vinh hello vinh 1
huu-thoi my application None Deployed le-thao Demo Comment ig
‘You have 7 applications remaining,
© 2008 Google | Terms of Service | Privacy Policy | Blog | Discussion Forums
(Ñ] HIỆNTHỰC CỦACLOU doc + W) TéngquanvéCloud¢ dec + Ẩ] HŒnamhoc2010201 ~ Điêh(êct yên X
Trang 10Administration Billing Status: Free - Settings Quotas reset every 24 hours Next reset: 17 hrs ©)
Application Settings Tu Usage
Petmnissions CPU Time 0% 0.00 of 6.50 CPU hours
— Outgoing Bandwidth 0% 0.00 of 1.00 GBytes l
‘Admin Logs Incoming Bandwidth 0% 0.00 of 1.00 GBytes Billing Total Stored Data 0% 0.00 of 1.00 GBytes
Billing Settings Recipients Emailed 0% 0 of 2,000
Billing History
Current Load © Errors ©)
lÑ] HIỆN THỰC CỦA CLOU doc > B) Teng quan về CloudC doc x., 8M] Hqnamhoc2010-201 xs ĐHãêthtêctš xuống X
3.Tạo một project:
Các ứng dụng App Engine Java sử dụng các chuẩn java servlet để tương tác với
môi trường máy chủ web Các file của một ứng dụng bao gồm: các file class đã được
biên dịch từ file java, các file JAR của bộ thư viện, các file tĩnh (css, ) và các file
xml cấu hình Tất cả được sắp xếp theo một cấu trúc thư mục và nằm trong thư mục
WAR
a.Cấu trúc thư mục project:
Một thư mục với tên Guestbook được tạo đề chứa dự án Bên trong là 2 thư mục,
một thư mục mang tên /src để chứa mã nguồn java và một thư mục /war để chứa các
file class được biên dịch từ file nguồn Java Thư mục war được xem là một ứng dụng
hoàn chỉnh dùng để up lên Google App
Tạo cây thưc mục như sau:
Trang 11
SignGuestbookServlet.java Jdoconfig.xml
Các ứng dụng App Engine Java sử dụng java servlet API để tương tác với máy
chủ web Một HTTP Servlet là một lớp ứng dụng có khả năng xử lý và phản hồi các
yêu cầu web Lớp này thừa kế lớp javax.servlet.GenericServlet hoặc lớp
Trang 12
Google App Engine cung cấp một số dịch vụ hữu ích dựa trên cơ sở hạ tầng Google,
có thể truy cập bởi các ứng dụng bằng cách sử dụng thư viện có trong SDK Một
trong những dịch vụ là dịch vụ người dùng, cho phép tích hợp các ứng dụng của bạn
với tài khoản người dùng Google Với dịch vụ người dùng, người dùng của bạn có
thể sử dụng Google các tài khoản mà họ đã có để đăng nhập vào ứng dụng của bạn
Trong đoạn code trên, class GuestbookServlet str dung Users API dé kiém tra xem người dùng đã đăng nhập với tài khoản Google Nếu chưa, thì người dùng sẽ được
chuyên đến màn hình đăng nhập tài khoản Google userService.createLoginURL( )
sẽ trả về URL của màn hình đăng nhập