TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

25
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

description

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 - PowerPoint PPT Presentation

Transcript of TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

Page 1: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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

Page 2: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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

Page 3: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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ì đó.

Page 4: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

Đ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 cleint-server. 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 đó.

Khái niệm

PHẦN I. ĐIỆN TOÁN ĐÁM MÂY

CHƯƠNG II. CƠ SỞ LÝ THUYẾT

Page 5: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

Hình 1 : Mọi thứ đều tập trung vào đám mây

Hình 2 : Mô hình tổng quan của cloud computing

Page 6: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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.

Page 7: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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 đó.

Page 8: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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.

Page 9: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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.

Page 10: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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

Page 11: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

Ư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

Page 12: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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

Page 13: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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ácCài đặt Google plugin cho Eclipese.Tải bộ AppEngine-java-SDK-1.3.8.zip.

2. Các bước cài đặt

Page 14: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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.

Page 15: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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.

Page 16: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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.

Page 17: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

Ứng dụng được tạo và giao diện chính của nó

Page 18: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

2. Tạo Project :

Cấu trúc thư mục project

Guestbook

Src (mã nguồn)

Guestbook

META-INF

(file cấu hình)

Greeting.java

GuestbookServlet.java

PMF.java

SignGuestbookServlet.java

Jdoconfig.xml

Guestbook.jsp

war

WEB-INF

Web.xml

Appengine-web.xml

classes

lib

Compiled classes

JARs for Libraries

Page 19: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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

Page 20: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

Bắt đầu Upload

Gõ: D:\\appengine-java-sdk\bin\appcfg.cmd update D:\guestbook\war để upload như hình vẽ

Giải nén appengine-java-sdk-1.3.8.zip ra ổ D ta được D:\appengine-java-sdk, mở cmd ta gõ: D: // Chuyển về ổ D

Page 21: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

Điền mail và pass nếu chương trình hỏi, và upload thành công như hình dưới:

Page 22: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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

Page 23: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

Đố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.

Page 24: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN

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.

Page 25: TR ƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN