1. Trang chủ
  2. » Thể loại khác

BÁO CÁO ĐỒ ÁNNGHIÊ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

25 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 1,01 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ôn học : Lập Trình Mạng Thành viên của nhóm:..

Trang 1

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 ĐỒ ÁN

NGHIÊ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ôn học : Lập Trình Mạng

Thành viên của nhóm:

Trang 2

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 nghệ

Trang 3

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

2 Lợi ích cloud computing:

Tính linh động: Người dùng có thể thoải mái lựa chọn các dị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ầnnào đó của nó)

Giảm bớt phí: Người dùng không chỉ giảm bớt chi phí bản 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 chi 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

Tạo nên sự độc lập: Người dùng sẽ không còn bị bó hẹp với 1 thiết bị hay 1 vị

trí cụ thể nào nữa Với điện toán đám mây, phần mềm, dữ 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

Trang 4

Bảo mật: Việc tập trung dữ 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ẻ chỉ bị lộ 1/6 Đây

là 1 cách 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 đang ứng dụng 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:

4. Google App Engine là gì:

“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ể cả database đi kèm), mà chỉ cần quan tâm đến việc phát 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 để 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 domain miễn phí của appspot.com

sub-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ế

Trang 5

database, viết SQL để truy vấn data, map data vô object Chúng ta chỉ cần design các class và GAE tự động lo phần làm việc với 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 dù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 rất e 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

- AppEngine-java-SDK-1.3.8.zip

2.Đăng kí tài khoản 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 của Google Open http://appengine.google.com/ và đăng nhập với thông tin tài khoản gmail của bạn

Trang 6

Bước 2: Chọn nút Create Application

Trang 7

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 8

Bước 4:

Nhập mã xác nhận của google

Trang 9

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

Trang 10

Đây là giao diện chính của ứng dụng chúng ta tạo ra.

Trang 11

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 12

b.The servlet class:

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 13

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 sử dụng Users API để kiểm tra xemngườ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

public class GuestbookServlet extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse resp)

throws IOException {

UserService userService = UserServiceFactory.getUserService();

User user = userService.getCurrentUser();

Trang 14

Đoạn code này tạo đối tượng Greeting mới bằng việc gọi hàm Để lưu đối tượng vào kho dữ liệu, nó tạo ra PersistenceManager nhờ vào việc sử dụng

PersistenceManagerFactory Khi makePersistent được trả về, các đối tượng mới được lưu trong kho dữ liệu

d.PMF file:

Mỗi khi yêu cầu sử dụng, kho dữ liệu sẽ tạo ra một đối tượng mới của lớp

PersistenceManager thong qua thư class PersistenceManagerFactory

public class SignGuestbookServlet extends HttpServlet {

private static final Logger log =

Logger.getLogger(SignGuestbookServlet.class.getName());

public void doPost(HttpServletRequest req, HttpServletResponse resp)

throws IOException {

UserService userService = UserServiceFactory.getUserService();

User user = userService.getCurrentUser();

String content = req.getParameter("content");

Date date = new Date();

Greeting greeting = new Greeting(user, content, date);

Trang 15

Chương IV: Kiểm thử và nhận xét

public final class PMF {

private static final PersistenceManagerFactory pmfInstance =

private Date date;

public Greeting(User author, String content, Date date) {

Trang 16

Lớp này sẽ định nghĩa 3 thuộc tính: author, content và date Ba cái trường này

sẽ được chú thích @Persistence để thông báo cho DataNucleus lưu chúng như

3 đối tượng thuộc tính trong Goolge App

f.jdoconfig.xml file:

Trong thư mục war/WEB-INF/classes/META-INF/, ta tạo file jdoconfig.xml để cấu

Trang 17

<form action="/sign" method="post">

<div><textarea name="content" rows="3"

cols="60"></textarea></div>

<div><input type="submit" value="Post Greeting"

/></div>

Trang 18

-Test case 1: Nhập sai các thông tin SQL server connect.

Server thông báo, kết nối không thành công

h.web.xml file:

Khi máy chủ web nhận được yêu cầu, nó xác định servlet class để gọi bằng cách sửdụng một file cấu hình được gọi là "mô tả triển khai ứng dụng web." File này được đặt tên là web.xml , và nằm trong war/WEB-INF/ thư mục trong WAR WEB-INF/ vàweb.xml là một phần của đặc tả servlet

Trang 19

i.theappengine-web.xml :

App Engine cần một tập tin cấu hình bổ sung để tìm ra cách để triển khai và chạy ứngdụng File này được đặt tên appengine-web.xml , và nằm trong WEB-INF/ cùng với web.xml Nó bao gồm các ID đăng ký của các ứng dụng của bạn (Eclipse tạo ra điềunày với một ID trống để bạn điền vào sau), số phiên bản của ứng dụng của bạn, và

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE web-app PUBLIC

"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

Trang 20

Ta vào thưc mục war/WEB-INF/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ẽ

Trang 22

Đ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/

Trang 23

Hình trên là giao diện chính của ứng dụng Bạn có thể ko đă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

Trang 24

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.về hình thức các bạn thấy ứng dụng như một diễn đàn hay blog …

Chắc có lẽ các bạn cũng chưa hình dung điểm khác nhau của ứng dụng này đúng

ko Các bạn thiết kế websie hay viết các chương trình đòi hỏi phải tạo csdl và nơi lưu csdl Đối với ứng dụng này bạn không cần phải quan tâm đến csdl lưu ở đâu và truy vấn như thế nào Bởi vì điều này đã có Google app engine làm

Cụ thể nội dung các bạn bình luận được lưu trên Google app engine

Chương V: Kiểm tra và Đánh giá

Đạt được:

- Đã xây dựng được ứng dụng dựa trên gói thư viện của google

Trang 25

Chưa đạt được:

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

Hướng phát triển:

- Điện toán đám mây là một đề tài khá hay và mới mẻ huy 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

Ngày đăng: 20/04/2021, 21:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w