Transcript Document

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
Báo cáo đề tài
NGHIÊN CỨU CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY.
VIẾT MỘT ỨNG DỤNG DEMO DÙNG GÓI THƯ VIỆN CÓ
SẴN CỦA GOOGLE
Thành viên : Lớp CN07B
1. Lê Văn Thao
2. Phan Vinh
3. Hoàng Thiên Châu
4. Nguyễn Hoài Hiền
5. Nguyễn Văn Đô
6. Dương Ngọc Định
NỘI DUNG TRÌNH BÀY
•
•
•
•
•
Gới thiệu đề tài
Cơ sở lý thuyết
Hướng dẫn cài đặt
Hiện thực chương trình
Kết luận – hướng phát triển
I. Giới thiệu
Để giúp mọi người hình dung mô hình điện toán đám mây như thế nào.
Nhóm chúng tôi xin giới thiệu sơ qua về công nghệ điện toán đám mây
và 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
PHẦN I. ĐIỆN TOÁN ĐÁM MÂY
Khái niệm
Điện toán đám mây (Cloud Computing, hay còn biết đến với tên gọi “Điện toán máy chủ ảo”)
là mô hình máy tính dựa trên nền tảng phát triển của Internet.
Điện toán đám mây là sự nâng cấp từ mô hình máy chủ mainframe sang mô hình cleintserver. Cụ thể, người dùng sẽ không còn phải có các kiến thức về chuyên mục để điều khiển
các công nghệ, máy móc và cơ sở hạ tầng, mà các chuyên gia trong “đám mây” của các
hãng cung cấp sẽ giúp thực hiện điều đó.
Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet và như một liên tưởng về độ
phức tạp của các cơ sở hạ tầng chứa trong nó. Ở mô hình điện toán này, mọi khả năng liên
quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người
sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà
không cần phải có các kiến thức, kinh nghiệm về công nghệ đó, cũng như không cần quan
tâm đến các cơ sở hạ tầng phục vụ công nghệ đó.
Tài nguyên, dữ liệu, phần mềm và các thông tin liên quan đều được chứa trên các server
(chính là các “đám mây”).
Nói một cách đơn giản nhất “ứng dụng điện toán đám mây” chính là những ứng dụng trực
tuyến trên Internet. Trình duyệt là nơi ứng dụng hiện hữu và vận hành còn dữ liệu được lưu
trữ và xử lý ở máy chủ của nhà cung cấp ứng dụng đó.
Hình 2 : Mô hình tổng quan của
cloud computing
Hình 1 : Mọi thứ đều tập trung vào
đám mây
Cấu trúc phân lớp của mô hình Điện toán đám mây
Về cơ bản, “điện toán đám mây” được chia ra thành 5 lớp riêng biệt, có tác động
qua lại lẫn nhau:
Client (Lớp Khách hàng ) : bao gồm phần cứng và phần
mềm, để dựa vào đó, khách hàng có thể truy cập và
sử dụng các ứng dụng/dịch vụ được cung cấp từ
điện toán đám mây.
Application (Lớp Ứng dụng): làm nhiệm vụ phân phối
phần mềm như một dịch vụ thông qua Internet
Platform (Lớp Nền tảng): Cung cấp nền tảng cho điện
toán và các giải pháp của dịch vụ, chi phối đến cấu
trúc hạ tầng của “đám mây” và là điểm tựa cho lớp
ứng dụng, cho phép các ứng dụng hoạt động trên
nền tảng đó.
Infrastructure (Lớp Cơ sở hạ tầng): Cung cấp hạ tầng
máy tính, tiêu biểu là môi trường nền ảo hóa.
Server (Lớp Server - Máy chủ): Bao gồm các sản phẩm
phần cứng và phần mềm máy tính, được thiết kế và
xây dựng đặc biệt để cung cấp các dịch vụ của đám
mây.
Cách thức hoạt động của Điện toán đám mây
Để hiểu cách thức hoạt động của “đám mây”, tưởng tượng rằng “đám mây” bao
gồm 2 lớp: Lớp Back-end và lớp Front-end.
Lớp Front-end là lớp người
dùng, cho phép người dùng sử
dụng và thực hiện thông qua
giao diện người dùng.
Lớp Back-end bao gồm các cấu
trúc phần cứng và phần mềm
để cung cấp giao diện cho lớp
Front-end và được người dùng
tác động thông qua giao diện
đó.
Mô
hình
dịch
vụ
điện
toán
đám
mây
Dịch vụ phần mềm
SaaS (Software as a
Service ) cung cấp các
ưng dụng hoàn chỉnh
như một dịch vụ theo
yêu cầu cho nhiều
khách hàng với chỉ một
phiên bản cài đặt.
Dịch vụ PaaS (Platform as a
Service ) cung cấp nền tảng
điện toán cho phép khách
hàng phát triển các phần
mềm, phục vụ nhu cầu tính
toán hoặc xây dựng thành
dịch vụ trên nền tảng Cloud
dó. App Engine của Google là
một dịch vụ PaaS điển hình
Dịch vụ hạ tầng
IaaS(Infrastructure as a
Service ) cung cấp dịch
vụ cơ bản bao gồm
năng lực tính toán,
không gian lưu trữ, kết
nối mạng tới khách
hàng.
Các kiểu điện toán đám mây
Public Cloud : Các đám mây công
cộng là các dịch vụ đám mây
được người bán cung cấp. Chúng
được lưu trữ đầy đủ và được nhà
cung cấp bởi đám mây quản lý.
Private Cloud : Các đám mây
riêng là các dịch vụ đám mây
được cung cấp trong doanh
nghiệp. Những đám mây này
được doanh nghiệp quản lý.
Hybrid Cloud : Các đám mây lai là
một sự kết hợp của các đám mây
công cộng và riêng. Những đám
mây này thường do doanh nghiệp
tạo ra và các trách nhiệm quản lý
sẽ được phân chia giữa doanh
nghiệp và nhà cung cấp đám mây
công cộng. Đám mây lai sử dụng
các dịch vụ có trong cả không
gian công cộng và riêng.
Các công ty cung cấp
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
1. Google App Engine của Google:
http://code.google.com/appengine/
2. Windows Azure của Microsoft :
http://www.microsoft.com/windowsazure/windowsazure/
3. Nền tảng điện toán đám mây ra đời đầu tiên: Amazone
Webservice của Amazon.com
4. Sun Cloud của Sun
http://www.sun.com/solutions/cloudcomputing/
5. Facebook
Ưu và nhược điểm của cloud computing
Ưu điểm :
• Nâng cao năng lực
• Hiệu năng cao hơn
• Chi phí thấp hơn
• Giảm thiểu rủi ro
• Mở rộng linh hoạt
• Không phải gánh chịu sự phức tạp về quản lý cơ sở hạ tầng
Nhược điểm
• Bảo mật
Sở hữu trí tuệ
Tính riêng tư
Độ tin cậy
• Khả năng không kiểm soát dữ liệu
• Độ trễ dữ liệu
• Tính sẵn sàng của dịch vụ, dữ liệu
• Các dịch vụ kèm theo
• Các quy định pháp luật cho các dịch vụ, giữa khách hàng và nhà cung cấp
PHẦN II. GOOGLE APP ENGINE
Giới thiệu :
Google App Engine (gọi tắt là AppEngine hoặc GAE ) là giải pháp cho vấn đề
điện toán đám mây. Ở đó, Google cung cấp sẵn một hệ thống máy chủ điện toán
đám mây, và người lập trình sẽ viết ứng dụng của mình lên đó. Ứng dụng này sẽ
chạy trên đám mây của Google.
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í.
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.
Các thành phần chính của AppEngine
Python Runtime
Java Runtime Environment
Datastore
Google Accounts
App Engine Services
CHƯƠNG III. HƯỚNG DẪN CÀI ĐẶT
1. Yêu cầu :
Eclipese hay chương trình viết java khác
Cài đặt Google plugin cho Eclipese.
Tải bộ AppEngine-java-SDK-1.3.8.zip.
2. Các bước cài đặt
Các bước cài đặt
1. Đăng kí tài khoản trên Google App Engine
Bước 1:
Truy cập vào http://appengine.google.com/ và đăng nhập với thông tin tài
khoản gmail của bạn.
Bước 2: chọn nút Create Application
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.
Bước 4: Nhập mã xác nhận của
google
Bước 5: Tiến hành tạo một
ứng dụng.Chúng ta được
phép tạo được 10 ứng dụng
cho một tài khoản gmail.
Ứng dụng được tạo và giao diện chính của nó
2. Tạo Project :
Cấu trúc thư mục project
Guestbook
Greeting.java
Src
(mã nguồn)
GuestbookServlet.java
PMF.java
Guestbook
SignGuestbookServlet.java
META-INF
Jdoconfig.xml
(file cấu hình)
war
Guestbook.jsp
WEB-INF
Web.xml
Appengine-web.xml
classes
lib
Compiled classes
JARs for Libraries
3. Triển khai ứng dụng
Để upload code và các file chương trình của bạn lên Google App Engine ta dùng một
tập lệnh có trong SKD có tên: appcfg.cmd
Cần chuẩn bị
• Đưa ID vào ứng dụng : Ta vào thưc mục war/WEB-INF/appengine-web.xml mở file
appengine-web.xml lên, đặt ID application vào giữa thẻ <application> </application> rồi
save lại như hình vẽ :
• Chuẩn bị công cụ upload : Download SDK tại địa chỉ:
http://googleappengine.googlecode.com/files/appengine-java-sdk-1.3.8.zip
Bắt đầu Upload
Giải nén appengine-javasdk-1.3.8.zip ra ổ D ta
được D:\appengine-javasdk, mở cmd ta gõ: D:
// Chuyển về ổ D
Gõ: D:\\appengine-javasdk\bin\appcfg.cmd update
D:\guestbook\war
để
upload như hình vẽ
Điền mail và pass nếu chương trình hỏi, và upload thành công như hình dưới:
CHƯƠNG IV. HIỆN THỰC CHƯƠNG TRÌNH
Yêu cầu phải có internet .Các bạn truy cập vào địa chỉ http://le-thao.appspot.com/
Hình trên là giao diện chính của ứng dụng .
Bạn có thể không đăng nhập cũng được nhưng người khác không biết bạn là
ai.Vì vậy yêu cầu bạn nên đăng nhập trước khi viết bình luận. Khi đăng nhập bạn
nhập tài khoản mail của mình + password của mail.
Cứ như vậy khi thành viên vào sau sẽ thấy nội dung người viết trước và có thể
viết những phản hồi
Đối với ứng dụng này bạn không cần phải quan tâm đến cơ sở dữ liệu lưu ở
đâu và truy vấn như thế nào. Bởi vì điều này đã có Google app engine làm .
Bạn có quyền xóa đi các bài bình luận.
CHƯƠNG V. KIỂM TRA VÀ ĐÁNH GIÁ
1. Đạt được :
Đã xây dựng được ứng dụng demo dựa trên gói thư viện của google.
ứng dụng nhỏ gọn ,dễ sử dụng.
2. Chưa đạt được:
Vì điện toán đám mây là một đề tài lớn, đã và đang được nhiều ông lớn như
google , intel ,microsoft…. nghiên cứu và phát triển cho nên trong thời gian
ngắn chúng em chỉ có thể đáp ứng được yêu cầu của thầy đề ra ,chứ chưa có
thể nào xây dựng một ứng dụng lớn cho công ty hay doanh nghiêp.
3. Hướng phát triển:
Điện toán đám mây là một đề tài khá hay và mới mẻ hy vọng rằng qua sự
hướng dẫn của thầy .Chúng em có thể tiếp tục phát triển lên làm đề tài tốt
nghiệp và ứng dụng thực tế hơn.