Do An Tot Nghiep TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI NGHIÊN CỨU GOOGLE APP ENGINE ỨNG DỤNG XÂY DỰNG DỊCH VỤ QUẢN LÝ DANH BẠ CÁ NHÂN Sinh viên Hoàng Xuân[.]
TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI : NGHIÊN CỨU GOOGLE APP ENGINE ỨNG DỤNG XÂY DỰNG DỊCH VỤ QUẢN LÝ DANH BẠ CÁ NHÂN Sinh viên : Lớp : Cán hướng dẫn : Đà Nẵng-06/2011 Hoàng Xuân Khánh 06T4 TS Huỳnh Công Pháp MỤC LỤC TỔNG QUAN VỀ ĐỀ TÀI CHƯƠNG CƠ SỞ LÝ THUYẾT Giới thiệu điện toán đám mây: Google App Engine: 1.1.1 Google App Engine (GAE) gì? : 1.1.2 Môi trường phát triển ứng dụng : .4 1.1.3 Qui trình phát triển : 1.1.4 Những hạn ngạch giới hạn : 1.2 Google Web Toolkit : 1.2.1 Giới thiệu Google Web Toolkit : .8 1.2.2 Phát triển với Google Web Toolkit : 1.2.3 GWT RPC ( Remote Procedure Calls ) : 1.3 Framework Slim3 cho Google App Engine 10 CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH 2.1 Phát biểu tốn : 13 2.2 Phân tích biểu đồ ca sử dụng : 14 2.2.1 Ca sử dụng : 14 2.2.2 Đặc tả ca sử dụng : 17 2.3 Biểu đồ hoạt đông : 25 2.3.1 Hoạt động quản lý danh bạ : 25 2.3.2 Hoạt động quản lý bookmark : .26 2.3.3 Hoạt động quản lý Profile : 27 2.4 Phân tích biểu đồ lớp : .28 2.4.1 Mơ hình khái niệm : 28 2.4.2 Biểu đồ lớp : 29 2.5 Phân tích biểu đồ : 30 2.5.1 Tạo contact : 30 2.5.2 Chỉnh sửa contact : 30 2.6 Phân tích kiến trúc : 31 2.6.1 Package UI : 32 2.6.2 Packgae Service : 33 CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT QUẢ 3.1 Xây dựng chương trình : 35 3.1.1 Cài đặt phần mềm cần thiết để xây dựng ứng dụng : 35 3.1.2 Khởi tạo project : 37 3.1.3 Xây dựng ứng dụng demo : 42 3.1.4 Sơ đồ khối : .51 51 3.2 Kết chương trình : .56 KẾT LUẬN 64 [1] Kyle Roche and Jeff Douglas Beginning Java Google App Engine 65 [2] TS Nguyễn Thanh Bình Phân tích thiết kế hệ thống hướng đối tượng 65 Nghiên cứu Google App Engine: Xây dựng dịch vụ quản lý danh bạ cá nhân [3] PGS.TS Phan Huy Khánh Quản lý dự án phần mềm .65 [4] Jacque Arsac Nhập mơn lập trình Nguyên : Premières lecons de programmation Trung tâm hệ thống Thông tin ISC, Hà nội 1991, 241 tr 65 [5] Eugene Ciurana Developing with Google App Engine .65 [6] Google App Engine http://code.google.com/ 65 [7] Slim3 http://sites.google.com/site/slim3appengine/ 65 DANH MỤC HÌNH ẢNH HÌNH 1.1: MƠ HÌNH ĐIỆN TOÁN ĐÁM MÂY HÌNH 1.2 : GOOGLE APP ENGINE HÌNH 1.3 : CẤU TRÚC CỦA MỘT GWT RPC HÌNH 2.1 : BIỂU ĐỒ CA SỬ DỤNG TỔNG QUÁT HÌNH 2.2 : CA SỬ DỤNG QUẢN LÝ DANH BẠ HÌNH 2.3 : CA SỬ DỤNG QUẢN LÝ BOOKMARK HÌNH 2.4 : CA SỬ DỤNG QUẢN LÝ PROFILE HÌNH 2.5 : BIỂU ĐỒ HOẠT ĐỘNG QUẢN LÝ DANH BẠ HÌNH 2.6: BIỂU ĐỒ HOẠT ĐỘNG QUẢN LÝ BOOKMARK HÌNH 2.7 : BIỂU ĐỒ HOẠT ĐỘNG QUẢN LÝ PROFILE HÌNH 2.8 : MƠ HÌNH KHÁI NIỆM HÌNH 2.9 : BIỂU ĐỒ LỚP HÌNH 2.10 : BIỂU ĐỒ TUẦN TỰ TẠO MỚI MỘT DANH BẠ HÌNH 2.11 : BIỂU ĐỒ TUẦN TỰ CHỈNH SỬA DANH BẠ HÌNH 2.12 : BIỂU ĐỒ PHÂN TÍCH KIẾN TRÚC HÌNH 2.13 : BIỂU ĐỒ CHO PACKGAE UI HÌNH 2.14 : BIỂU ĐỒ CHO PACKAGE SERVICE HÌNH 3.1 : KIỂM TRA PHIÊN BẢN JDK HÌNH 3.2 : CÀI ĐẶT GOOGLE PLUGIN CHO ECLIPSE HÌNH 3.3 : CÀI ĐẶT GOOGLE PLUGIN, NHẤN OK ĐỂ TIẾP TỤC HÌNH 3.4 : CÀI ĐẶT GOOGLE PLUGIN, CHỌN CÁC THÀNH PHẦN CÀI ĐẶT HÌNH 3.5 : KHỞI TẠO SLIM3 PROJECT HÌNH 3.6 : ĐẶT TÊN PROJECT, PACKGAE VÀ CHỌN SỬ DỤNG GWT Nghiên cứu Google App Engine: Xây dựng dịch vụ quản lý danh bạ cá nhân HÌNH 3.7 : CẤU TRÚC CỦA PROJECT SLIM3 HÌNH 3.8 : CẤU HÌNH CHO ECLIPSE HÌNH 3.9 : CẤU HÌNH CHO ECLIPSE ( TIẾP THEO ) HÌNH 3.10 : CẤU HÌNH ECLIPSE ĐỂ TỰ ĐỘNG CẬP NHẬT HÌNH 3.11 : GIAO DIỆN CỦA ỨNG DỤNG HÌNH 3.12 : GIAO DIỆN QUẢN LÝ CỦA ỨNG DỤNG HÌNH 3.13 : SƠ ĐỒ KHỐI TẠO MỚI MỘT NHÓM DANH BẠ HÌNH 3.14 : SƠ ĐỒ KHỐI XĨA MỘT NHĨM DANH BẠ HÌNH 3.15 : SƠ ĐỒ KHỐI TẠO MỚI MỘT DANH BẠ HÌNH 3.16 : SƠ ĐỒ KHỐI CHỈNH SỬA MỘT DANH BẠ HÌNH 3.17 : SƠ ĐỒ KHỐI XÓA MỘT DANH BẠ HÌNH 3.18 : GIAO DIỆN YÊU CẦU LOGIN NẾU NGƯỜI DÙNG CHƯA ĐĂNG NHẬP HÌNH 3.19 : ĐĂNG NHẬP TÀI KHOẢN VỚI GOOGLE ACOUNT HÌNH 3.20 : TRANG CHỦ CỦA ỨNG DỤNG HÌNH 3.21 : GIAO DIỆN QUẢN LÝ DANH BẠ HÌNH 3.22 : CÁC MODULE QUẢN LÝ DANH BẠ HÌNH 3.23 : POPUP THÊM MỚI MỘT NHÓM HÌNH 3.24 : THÊM MỚI MỘT DANH BẠ HÌNH 3.25 : CHIA SẺ DANH BẠ HÌNH 3.26 : GỬI EMAIL ĐẾN DANH BẠ HÌNH 3.27 : CHỈNH SỬA DANH BẠ HÌNH 3.28 : GIAO DIỆN QUẢN LÝ BOOKMARK HÌNH 3.29 : THÊM MỚI MỘT BOOKMARK HÌNH 3.30 : GIAO DIỆN QUẢN LÝ PROFILE HÌNH 3.31 : CHỈNH SỦA PROFILE HÌNH 3.32 : UPLOAD HÌNH ẢNH ĐỂ THAY ĐỔI HÌNH ĐẠI DIỆN HÌNH 3.33 : POPUP TÌM KIẾM PROFILE CỦA BẠN BÈ THEO TÊN HÌNH 3.34 : POPUP TÌM KIẾM PROFILE CỦA BẠN BÈ THEO EMAIL Hình 3.23 : Popup thêm nhóm Error: Reference source not found Hình 3.24 : Thêm danh bạ Error: Reference source not found Hình 3.25 : Chia sẻ danh bạ Error: Reference source not found Hình 3.26 : Gửi email đến danh bạ .Error: Reference source not found Hình 3.27 : Chỉnh sửa danh bạ Error: Reference source not found Hình 3.28 : Giao diện quản lý bookmark Error: Reference source not found Hình 3.29 : Thêm bookmark Error: Reference source not found Hình 3.30 : Giao diện quản lý profile Error: Reference source not found Hình 3.31 : Chỉnh sủa profile Error: Reference source not found Hình 3.32 : Upload hình ảnh để thay đổi hình đại diện Error: Reference source not found Hình 3.33 : Popup tìm kiếm Profile bạn bè theo tên Error: Reference source not found Hình 3.34 : Popup tìm kiếm Profile bạn bè theo email .Error: Reference source not found LỜI NĨI ĐẦU Điện tốn đám mây (Cloud Computing) thuật ngữ nhắc đến nhiều giới công nghệ thời gian gần Theo chuyên gia lĩnh vực Công Nghệ Thông Tin, giải pháp công nghệ xu hướng tương lai mang lại nhiều lợi ích cho tổ chức quan phủ, đặc biệt với mơ hình doanh nghiệp Việt Nam Giải pháp điện tốn đám mây coi toán lý tưởng giải quyết, khắc phục điểm yếu hay vấn đề mà nhiều doanh nghiệp gặp phải thiếu lực Công Nghệ Thông Tin, chi phí đầu tư ban đầu hạn chế… Doanh nghiệp khơng cần phải có sở hạ tầng nội bộ, triển khai nhanh chóng mà khơng phụ thuộc nhiều vào ứng dụng máy, tiết giảm chi phí nâng cấp ứng dụng, lượng tài nguyên sử dụng lớn, không cần tới máy nhân cồng kềnh hay yêu cầu nhận kỹ thuật trình độ cao thấp, mơ hình trả th bao dễ dàng thay đổi qui mơ cần thiết Điện tốn đám mây trở nên phổ biến thời kỳ suy thoái kinh tế người dân doanh nghiệp tiết kiệm tiền bạc việc sử dụng ứng dụng mạng thay mua, cài đặt trì phần mềm máy tính họ Chính phổ biến tầm quan trọng điện tốn đám mây mà tơi thầy Huỳnh Cơng Pháp định thực đề tài theo hướng Qua đó, chúng tơi nghiên cứu tìm hiểu tảng Google App Engine ứng dụng để xây dựng dịch vụ giúp người dùng lưu trữ, quản lý chia sẻ danh bạ cá nhân, bookmark LỜI CAM ĐOAN Tôi xin cam đoan : Những nội dung luận văn thực hướng dẫn trực tiếp thầy TS Huỳnh Công Pháp Mọi tham khảo dùng luận văn trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu hồn toàn trách nhiệm Sinh viên, Hoàng Xuân Khánh NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN NHẬN XÉT CỦA CÁN BỘ DUYỆT TỔNG QUAN VỀ ĐỀ TÀI Bối cảnh lý thực đề tài : Ngày nay, điện toán đám mây dần trở thành xu hướng Mọi liệu người dùng lưu trữ Web Dù nơi đâu, sử dụng máy tính có kết nối mạng, người dùng truy cập đến liệu Google App Engine tảng giúp xây dựng ứng dụng điện toán đám mây Google Qua việc nghiên cứu tảng Google App Engine, em ứng dụng thực đề tài xây dựng dịch vụ giúp người dùng lưu trữ, quản lý chia sẻ danh bạ cá nhân, bookmark Phương pháp triển khai đề tài : Nghiên cứu Google App Engine (GAE) ngôn ngữ lập trình Java Nghiên cứu Google Web Toolkit (GWT) cho việc thiết kế giao diện, phát triển ứng dụng AJAX xây dựng RPC Service thao tác sở liệu Nghiên cứu Slim3 Framework cho việc xây dựng sở liệu giúp đẩy nhanh trình phát triển ứng dụng Kết cấu đồ án: Luận văn tổ chức gồm chương phần mở đầu, kết luận Chương Cơ sở lý thuyết Trình bày lý thuyết áp dụng để xây dựng ứng dụng Chương Phân tích thiết kế chương trình Trình bày việc thiết kế xây dựng chương trình Chương Xây dựng chương trình kết Trình bày trình xây dựng chương trình minh họa kết danh bạ 4/ Xem danh sách nhóm, chọn nhóm, chọn thành 5/ Cửa sổ Popup ra, hiển viên để chỉnh sửa thị thông tin 6/ Người dùng nhập thơng tin 7/ Kiểm tra thơng tin có hợp vào bấm cập nhật lệ hay không 8/ Nếu thông tin hợp lệ, thông báo chỉnh sửa thành công 2/ Đăng nhập không thành công, thông báo lỗi 6/ Chọn chức xóa danh bạ khỏi nhóm 7/ Xóa danh bạ khỏi nhóm Đặc tả ca sử dụng quản lý bookmark : Tương tự ca sử dụng quản lý danh bạ Đặc tả ca sử dụng quản lý profile : a Update profile : i Mô tả : Mỗi người sử dụng dịch vụ có trang Profile riêng, lưu trữ thơng tin cá nhân Người dùng vào trang quản lý Profile để cập nhật thông tin cá nhân ii Kịch : Hành đơng tác nhân Hành động hệ thống 1/ Người dùng đăng nhập vào 2/ Xác thực ID mật dịch vụ 3/ Chọn chức quản lý Profile 4/ Bấm vào nút Edit để bắt đầu chỉnh sửa 5/ Cửa sổ Popup ra, hiển thị thông tin Profile 6/ Người dùng thay đổi thông tin theo ý mình, 7/ Hệ thống kiểm tra nhấn nút cập nhật thơng tin có hợp lệ 8/ Nếu thông tin hợp lệ, hệ thống cập nhật lại Profile cho người dùng thông báo thành công 2/ Đăng nhập không thành công, thông báo lỗi b Share profile : i Mô tả : Người dùng đăng nhập vào hệ thống, chọn phần quản lý Profile Ngươi dùng chọn chức chia sẻ Profile Một cửa sổ Popup để người dùng nhập email người cần chia sẻ ii Kịch : Hành đông tác nhân Hành động hệ thống 1/ Người dùng đăng nhập vào 2/ Xác thực ID mật dịch vụ 3/ Chọn chức quản lý Profile 4/ Bấm vào nút Share để bắt 5/ Cửa sổ Popup để đầu chia sẻ Profile người dùng nhập vào email người cần chia sẻ 6/ Người dùng nhập vào email, 7/ Hệ thống kiểm tra bấm Share email có hợp lệ khơng 8/ Nếu email hợp lệ, hệ thống gửi email có chứa Profile người dùng thông báo thành công 2/ Đăng nhập không thành công, thông báo lỗi 8/ Email không hợp lệ, thông báo lỗi yêu cầu người dùng nhập lại c Add friend profile to contact : i Mô tả : Người dùng đăng nhập vào hệ thống, chọn phần quản lý Profile Ngươi dùng chọn chức tìm kiếm Profile Một cửa sổ Popup người dùng chọn tìm kiếm theo tên email Người dùng nhập vào tên (hoặc email) bạn bè, nhấn nút tìm kiếm Hệ thống hiển thị danh sách tìm Người dùng xem danh sách, lần người dùng chọn người danh sách, thông tin đầy đủ người hiển thị Người dùng chọn bạn bè bấm nút Add để thêm vào danh bạ ii Kịch : Hành đông tác nhân Hành động hệ thống 1/ Người dùng đăng nhập vào 2/ Xác thực ID mật dịch vụ 3/ Chọn chức quản lý Profile 4/ Bấm vào nút Search để bắt đầu tìm kiếm 5/ Cửa sổ Popup tìm kiếm 6/ Người chọn tìm kiếm theo tên email, nhập vào từ 7/ Hệ thống hiển thị danh khóa tìm kiếm sách kết 8/ Người dùng xem kết tìm kiếm 9/ Hệ thống hiển thị thông tin 10/ Bấm nút Add để thêm kết người chọn tìm kiếm vào danh bạ 11/ Thơng báo thành công 2/ Đăng nhập không thành công, thông báo lỗi 7/ Khơng có kết nào, thơng báo lỗi yêu cầu nhập lại từ khóa 2.3 Biểu đồ hoạt đông : 2.3.1 Hoạt động quản lý danh bạ : Hình 2.5 : Biểu đồ hoạt động quản lý danh bạ 2.3.2 Hoạt động quản lý bookmark : Hình 2.6: Biểu đồ hoạt động quản lý bookmark 2.3.3 Hoạt động quản lý Profile : Hình 2.7 : Biểu đồ hoạt động quản lý profile 2.4 Phân tích biểu đồ lớp : 2.4.1 Mơ hình khái niệm : Hình 2.8 : Mơ hình khái niệm 2.4.2 Biểu đồ lớp : Hình 2.9 : Biểu đồ lớp 2.5 Phân tích biểu đồ : 2.5.1 Tạo contact : Hình 2.10 : Biểu đồ tạo danh bạ 2.5.2 Chỉnh sửa contact : Hình 2.11 : Biểu đồ chỉnh sửa danh bạ 2.6 Phân tích kiến trúc : - Kiến trúc hệ thống chia thành ba thành phần Mỗi thành phần đóng gói package Package UI : Chứa lớp giao diện chương trình Ở cấu trúc lớp giao diện dựa thành phần Google Web Toolkit Google Package Service : Chứa lớp Service chương trình Đây nơi chuyển giao yêu cầu từ tầng UI, xử lí thao tác đối tượng tầng Datastore Package Datastore : chứa lớp sở liệu chương trình Hình 2.12 : Biểu đồ phân tích kiến trúc Tải FULL (74 trang): https://bit.ly/3ElUkJZ Dự phịng: fb.com/TaiHo123doc.net 2.6.1 Package UI : Hình 2.13 : Biểu đồ cho Packgae UI Tải FULL (74 trang): https://bit.ly/3ElUkJZ Dự phòng: fb.com/TaiHo123doc.net 2.6.2 Packgae Service : Hình 2.14 : Biểu đồ cho Package Service Chương XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT QUẢ 3.1 Xây dựng chương trình : 3.1.1 Cài đặt phần mềm cần thiết để xây dựng ứng dụng : - Cài đặt JDK, Slim3 hỗ trợ Java - Tải cài đặt Java SE Development Kit ( JDK ) - Để kiểm tra việc cài đặt JDK thành công hay không kiểm tra phiên JDK, ta vào Command Prompt gõ dịng lệnh : Hình 3.1 : Kiểm tra phiên JDK - Cài đặt Eclipse, Slim3 hỗ trợ cho Eclipse phiên 3.4, 3.5 phiên 3.6 Tải cài đặt Eclipse 32 bit tương ứng với JDK 32 bit, Eclipse 64 bit với JDK 64 bit - Nếu dùng Eclipse, cách dễ để phát triển, kiểm thử triển khai ứng dụng lên App Engine sử dụng Google Plugin cho Eclipse - Ta cài đặt Google Plugin Software Update Eclipse - Các bước cài đặt plugin Eclipse 3.6 ( Helios ) Bước : Chọn menu Help > Install New Software Bước : Trong ô Work with, điền vào : http://dl.google.com/eclipse/plugin/3.6 5473063 ... thao tác quản lý danh bạ cá nhân, bookmark quản lý profile thông tin cá nhân 2 Ca sử dụng quản lý danh bạ : Hình 2.2 : Ca sử dụng quản lý danh bạ Mô tả : - Tại giao diện quản lý danh bạ, người... upload ứng dụng bạn lên App Engine Khi bạn xây dựng phiên ứng dụng chạy App Engine, bạn tải ứng dụng lên phiên Phiên cũ tiếp tục phục vụ người dùng bạn chuyển lên phiên Bạn thử nghiệm phiên App Engine. .. tích thiết kế hệ thống hướng đối tượng 65 Nghiên cứu Google App Engine: Xây dựng dịch vụ quản lý danh bạ cá nhân [3] PGS.TS Phan Huy Khánh Quản lý dự án phần mềm .65 [4] Jacque Arsac Nhập môn