TRƯỜNG ĐẠI HKHOA SINH VIÊN CÔNG NGH I HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ N KHOA CÔNG NGHỆ THÔNG TIN SINH VIÊN: NGUYỄN ĐỨC TÂM CÔNG NGHỆ ĐÁM MÂY VÀ ỨNG DỤNG WEB NG HÀ NỘI... TRƯỜNG ĐẠI H
Trang 1TRƯỜNG ĐẠI H
KHOA
SINH VIÊN
CÔNG NGH
I HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ N
KHOA CÔNG NGHỆ THÔNG TIN
SINH VIÊN: NGUYỄN ĐỨC TÂM
CÔNG NGHỆ ĐÁM MÂY VÀ ỨNG DỤNG WEB
NG HÀ NỘI
Trang 2TRƯỜNG ĐẠI H
KHOA
SINH VIÊN: NGUY
CÔNG NGH
Chuyên ngành:
Mã ngành: D480201
NGƯỜI HƯ
I HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ N
KHOA CÔNG NGHỆ THÔNG TIN
INH VIÊN: NGUYỄN ĐỨC TÂM
CÔNG NGHỆ ĐÁM MÂY VÀ ỨNG DỤNG WEB
Chuyên ngành: Công nghệ thông tin
Mã ngành: D480201
I HƯỚNG DẪN: THẠC SĨ ĐỖ THỊ THU NGA
Hà Nội- 2015
NG HÀ NỘI
THU NGA
Trang 3LỜI CAM ĐOAN
Em xin cam đoan toàn bộ nội dung khóa luận tốt nghiệp do em tự tìm hiểu, nghiên cứu trên Internet, sách và các tài liệu trong và ngoài nước có liên quan Không sao chép hay sử dụng bài làm của bất kì ai khác, mọi tài liệu đều được trích dẫn cụ thể
Em xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình trước quý thầy
cô, khoa và nhà trường
Hà Nội, ngày 9 tháng 6 năm 2015
Người cam đoan Nguyễn Đức Tâm
Trang 4
2
MỤC LỤC
LỜI CAM ĐOAN 1
MỤC LỤC 2
DANH MỤC CÁC BẢNG BIỂU 4
DANH MỤC CÁC HÌNH VẼ 5
MỞ ĐẦU 7
Chương 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 9
1.1 Điện toán đám mây 9
1.1.1 Khái niệm 9
1.1.2 Kiến trúc 10
1.1.2.1 Kiến trúc của ứng dụng điện toán đám mây 11
1.1.2.2 Kiến trúc máy chủ 11
1.1.2.3 Map Reduce 13
1.1.2.4 Hadoop 19
1.1.3 Sự khác biệt giữa điện toán đám mây và điện toán truyền thống 19
1.2 Đặc điểm của điện toán đám mây 20
1.2.1 Ưu điểm 20
1.2.2 Nhược điểm 21
1.2.3 Bảo mật điện toán đám mây 22
1.2.3.1 Giới thiệu 22
1.2.3.2 Một số cơ chế bảo mật đám mây 23
1.2.3.3 Bảo mật và tính riêng tư 24
1.3 Thành phần và cách thức hoạt động 25
1.3.1 Thành phần 25
1.3.2 Cách thức hoạt động 26
1.4 Mô hình điện toán đám mây 27
1.4.1 Mô hình lớp dịch vụ 27
1.4.2 Mô hình hạ tầng đám mây 28
1.5 Nhà cung cấp điện toán đám mây 31
Trang 51.6 Thực trạng và xu hướng điện toán đám mây tại Viêt Nam 34
Chương 2: GOOGLE APP ENGINE 37
2.1 Giới thiệu 37
2.2 Hướng dẫn đăng kí và triển khai 38
Chương 3: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG WEB ĐĂNG TIN THUÊ NHÀ TRÊN NỀN TẢNG GOOGLE APP ENGINE 46
3.1 Mô tả bài toán 46
3.2 Phân tích thiết kế hệ thống và cơ sở dữ liệu 48
3.2.1 Biểu đồ usecase 48
3.2.2 Phân rã usecase 49
3.2.3 Biểu đồ tuần tự 53
3.2.4 Biểu đồ phân cấp chức năng 56
3.2.5 Thiết kế cơ sở dữ liệu 56
3.3 Triển khai ứng dụng và đặc tả giao diện 60
3.3.1 Triển khai ứng dụng 60
3.3.2 Đặc tả giao diện 64
KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 69
Trang 64
DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1 Danh sách các Actor 48
Bảng 3.2 Danh sách các Usecase 48
Bảng 3.3 Thông tin về người quản trị 56
Bảng 3.4 article - thông tin về bài viết tin tức 57
Bảng 3.5 categories_area - thông tin về các mức diện tích (m2) 57
Bảng 3.6 categories_classify - thông tin về phân loại nhà 57
Bảng 3.7 categories_district - thông tin về quận huyện 57
Bảng 3.8 categories_price - thông tin các mức khung giá cho thuê 57
Bảng 3.9 categories_province - thông tin về tỉnh/thành phố 58
Bảng 3.10 categories_type - thông tin về kiểu tin đăng nhà 58
Bảng 3.11 option - chứa thông tin về số lượt xem website 58
Bảng 3.12 product - chứa thông tin về các bài đăng tin 58
Bảng 3.13 user - thông tin người dùng đăng tin ở trang chủ 59
Bảng 3.14 Sơ đồ liên kết thực thể 59
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Điện toán đám mây 9
Hình 1.2 Kiến trúc đám mây 10
Hình 1.3 Xen Hypervisor 12
Hình 1.4 Tổng quát về luồng thực thi trên Map Reduce 15
Hình 1.5 Biểu đồ so sánh tốc độ thực thi chương trình viết dựa trên Map Reduce 18 Hình 1.6 Thành phần điện toán đám mây 25
Hình 1.7 Mô hình lớp dịch vụ 27
Hình 1.8 Mô hình hạ tầng đám mây 28
Hình 1.9 Private Cloud 29
Hình 2.1 Đăng nhập App Engine 38
Hình 2.2 Tạo ứng dụng App Engine 39
Hình 2.3 Tạo ứng dụng thành công 39
Hình 2.4 Trạng thái hoạt động của ứng dụng 40
Hình 2.5 Giao diện Google App Engine Launcher 41
Hình 2.6 Nội dung file index.php 42
Hình 2.7 Nội dung tập tin cấu hình app.yaml 42
Hình 2.8 Triển khai ứng dụng 43
Hình 2.9 Yêu cầu chứng thực 44
Hình 2.10 Cửa sổ khi triển khai thành công 44
Hình 2.11 Ứng dụng web đã được đưa lên với tên miền phụ appspot.com 45
Hình 3.1 Biểu đồ usecase tổng quát 49
Hình 3.2 Phân rã chức năng User 49
Hình 3.3 Phân rã chức năng Admin 50
Hình 3.4 Phân rã usecase quản lý bài đăng 50
Hình 3.5 Phân rã usecase quản lý tin tức 51
Hình 3.6 Phân rã usecase quản lý người dùng 51
Hình 3.7 Phân rã usecase tìm kiếm 52
Trang 86
Hình 3.9 Biểu đồ tuần tự chức năng đăng nhập 53
Hình 3.10 Biểu đồ tuần tự chức năng thêm bài đăng 54
Hình 3.11 Biểu đồ tuần tự chức năng sửa bài đăng 54
Hình 3.12 Biểu đồ tuần tự chức năng xóa bài đăng 55
Hình 3.13 Biểu đồ tuần tự chức năng tìm kiếm 55
Hình 3.14 Biểu đồ phân cấp chức năng 56
Hình 3.15 Ứng dụng testnhatro đã được tạo 60
Hình 3.16 Cấu trúc thư mục testnhatro 60
Hình 3.17 Nội dung file app.yaml 61
Hình 3.18 Tiến hành đưa ứng dụng lên Google App Engine 61
Hình 3.19 Ứng dụng đã được triển khai thành công 63
Hình 3.20 Giao diện trang chủ 64
Hình 3.21 Giao diện trang đăng kí 64
Hình 3.22 Giao diện trang đăng nhập 65
Hình 3.23 Giao diện tìm kiếm nâng cao 65
Hình 3.24 Giao diện trang tổng hợp tin tức 65
Hình 3.25 Giao diện trang chi tiết tin tức 66
Hình 3.26 Các tin đã đăng của user 66
Hình 3.27 Giao diện user đăng tin 67
Hình 3.28 Giao diện user sửa tin 67
Trang 9MỞ ĐẦU
Hiện tại, để phát triển kinh doanh, các doanh nghiệp thường có website riêng
để giới thiệu cũng như quảng bá, cung cấp các dịch vụ cho khách hàng Các trang web sẽ được đặt trên một máy chủ nào đó, các công ty luôn gặp khó khăn trong việc tính toán, xây dựng chi phí cơ sở hạ tầng ban đầu, hơn thế công ty phải tự cài đặt, quản lý và bảo trì Các doanh nghiệp luôn phải đối diện những vấn đề như hỏng hóc
về phần cứng hoặc lỗi phần mềm hay nhu cầu khách hàng tăng cao dẫn đến việc quá tải ảnh hưởng đến việc kinh doanh của doanh nghiệp cũng như phát sinh thêm các chi phí bên ngoài Điện toán đám mây chính là giải pháp giúp các doanh nghiệp tháo gỡ những vấn đề trên
Điện toán đám mây là một hướng đi mới về cơ sở hạ tầng, nơi các tài nguyên
sẽ được nằm tại các máy chủ ảo hay còn gọi là đám mây Đám mây là một hình tượng chỉ tới các máy chủ ảo cung cấp các nguồn tài nguyên cho khách hàng Thay
vì các doanh nghiệp phải tính toán chi phí cơ sở hạ tầng, bản quyền phần mềm,
Họ chỉ cần tập trung vào công việc của mình vì đã có người khác lo về cơ sở hạ tầng và công nghệ cho họ.Việc triển khai, mở rộng, bảo trì trở nên đơn giản, hơn nữa bạn có thể truy cập dữ liệu từ bất kì đâu hay bất cứ thiết bị nào chỉ cần có kết nối Internet
Nhiều nhà cung cấp dịch vụ điện toán đám mây đã xuất hiện, Amazon là công ty tiên phong cho dịch vụ này, tiếp theo sự ra đời của Google, Yahoo, IBM, Microsoft, Facebook, Oracle, Sun và nhiều công ty khác
Điện toán đám mây được sử dụng trong nhiều lĩnh vực khác nhau như web hosting, mô hình tài chính, các phương pháp duyệt và tìm kiếm web
Khóa luận này sẽ giới thiệu những khái niệm cơ bản của điện toán đám mây, Google App Engine cũng như áp dụng nó để xây dựng một SaaS (Software as a Service)
Nội dung khóa luận được chia thành ba chương chính với những nội dung cụ
Trang 108
Chương 1: Tổng quan về điện toán đám mây
Chương 2: Google App Engine
Chương 3: Xây dựng và triển khai ứng dụng web đăng tin thuê nhà trên nền tảng Google App Engine
Sinh viên thực hiện Nguyễn Đức Tâm