Dịch vụ giao tiếp web (URL Fetch)

Một phần của tài liệu Tìm hiểu và ứng dụng công nghệ Cloud computing với nền tảng Google app engine (Trang 63)

Do việc hạn chế mở cổng để truy cập tài nguyên từ các ứng dụng, hệ thống khác, App Engine cung cấp dịch vụ URL Fetch để giải quyết hạn chế này. Đây là một dịch vụ đƣợc chạy trên hạ tầng mạng của Google, dịch vụ này cho phép ứng dụng giao tiếp với các hệ thống khác sử dụng HTTP hoặc HTTPs. Thông qua dịch vụ URL Fetch, ứng dụng có thể đọc và phân tích các tài liệu XML, gọi dịch vụ mạng RESTful,…

5.1.3.5. Dịch vụ thư điện tử (Mail)

Dịch vụ Mail đƣợc sử dụng để gửi và nhận thƣ điện tử. Dịch vụ cho phép địa chỉ gửi là thƣ điện tử gmail của thành viên quản trị hoặc ngƣời sử dụng đăng nhập. Nếu thƣ điện tử không phải là gmail, địa chỉ đó phải đƣợc phân quyền quản trị mới gửi đƣợc thƣ điện tử. Tuy nhiên, dịch vụ lại cho phép nhận nhiều loại thƣ điện tử khác nhau từ gmail, yahoo, hotmail,… Đồng thời dịch vụ còn cho phép gửi và nhận thƣ điện tử có đính kèm thêm file.

5.1.3.6. Một số dịch vụ khác

Ngoài các dịch vụ đã nêu trên, App Engine còn cung cấp nhiều dịch vụ khác nhƣ: Dịch vụ thao tác ảnh (Image) cho phép thay đổi kích cỡ, xoay, lật, cắt và nâng cao chất lƣợng ảnh; Dịch vụ ngƣời sử dụng (Users) cho phép sử dụng tài khoản của Google để xác thực trong ứng dụng; Dịch vụ Blobstore, dịch vụ XMPP, … Đồng thời, App Engine ngày càng mở rộng và bổ sung thêm nhiều dịch vụ mới phù hợp với xu thế phát triển của ĐTĐM và nâng cao chất lƣợng dịch vụ đáp ứng các yêu cầu của khách hàng.

5.1.4. Công cụ quản lý ứng dụng

GAE hỗ trợ khách hàng quản lý ứng dụng của mình thông qua trình duyệt bằng cách cung cấp một giao diện web hỗ trợ cho khách hàng có thể quản lý dữ liệu bao gồm bổ sung, sửa và xóa dữ liệu. Đồng thời, nó cũng cho phép quản lý tài nguyên đám mây bao gồm việc giám sát tài nguyên đã sử dụng, cấu hình bổ sung hay thêm bớt tài nguyên cho phù hợp với quy mô ứng dụng.

5.2. Xây dựng và triển khai ứng dụng trên GAE

Để xây dựng và triển khai ứng dụng trên nền tảng GAE, ngƣời sử dụng có thể sử dụng trình soạn thảo Eclipse và cài đặt chƣơng trình cắm Google Plugin for Eclipse. Sau khi cài đặt trình cắm xong, trình soạn thảo sẽ có thêm chức năng tạo mới ứng dụng theo cấu trúc của một ứng dụng App Engine và chức năng triển khai ứng dụng lên nền tảng GAE.

5.2.1 Công cụ xây dựng ứng dụng

Để xây dựng ứng dụng này trên nền công nghệ GAE tôi đã sử dụng các công cụ sau:

Java SE Development Kit 6 update 18

Eclipse Indigo

Google Plugin for Eclipse 3.7

Google Web toolkit SDK 2.4.0

5.2.2 Cài đặt Plugin cho Eclipse

Khởi động Eclipse và chọn Help  Install new Software. Tại đây hệ thống yêu cầu ngƣời thực hiện phải nhập địa chỉ chƣa Plugin cho Eclipse để tiến hành cài đặt. Vì Plugin này đƣợc cung cấp miễn phí từ Google nên ta nhập vào Text box địa chỉ sau:

http://www.dl.google.com/eclipse/plugin/3.7

Từ đó sẽ thấy những Plugin cần thiết cho việc xây dựng một ứng dụng Google App Engine với Eclipse.

Hình 5.7: Những Plugin cần thiết cài đặt thêm vào Eclipse

Sau đó hệ thống yêu cầu đọc chính sách bảo mật và nhấp chọn đồng ý rồi chọn Finish để tiến hành cài đặt.

Hình 5.8: Đồng ý chính sách sử dụng và cài đặt của Google

Sau khi quá trình cài đặt kết thúc hệ thống sẽ nhắc nhở ngƣời dùng cần thiết phải khởi động lại chƣơng trình để sự việc cài đặt đƣợc hoàn tất và có thể sử dụng trong lần khởi động tiếp theo. Quá trình cài đặt Plugin đã thành công.

5.2.3. Xây dựng ứng dụng trên GAE

Để tạo một ứng dụng mới, NSD chọn chức năng với biểu tƣợng tạo mới ứng dụng App Engine trên thanh công cụ của trình soạn thảo, sau đó nhập các thông tin cần thiết trong đó có tên ứng dụng, ứng dụng của em có tên vietnam-tour, kết quả là một ứng dụng đƣợc tạo mới có cấu trúc nhƣ sau:

Hình 5.9 Cấu trúc một ứng dụng App Engine

Trong một ứng dụng App Engine, một số tệp cấu hình đƣợc tạo ra mặc định để cấu hình cho ứng dụng, cụ thể:

Tệp appengine-web.xml khai báo các thông số: định danh, phiên bản của ứng dụng

Tệp jdoconfig. xml khai báo thƣ viện JDO để tƣơng tác với kho dữ liệu trung tâm của

Google.

Tệp web.xml xác định xem servlet nào đƣợc gọi khi web server nhận đƣợc yêu cầu. Ngoài ra, ứng dụng còn có thêm thƣ viện của bộ công cụ phát triển App Engine SDK, thƣ viện máy ảo Java. Đồng thời, NSD có thể tạo thêm các tệp Java, Javascript, HTML, CSS, JSP/Servlet,…

Từ đây chúng ta có thể tự do thoải mái lập trình cho ứng dụng của mình.

5.2.4. Triển khai ứng dụng

Sau khi đã xây dựng đƣợc ứng dụng App Engine, để triển khai ứng dụng đó lên nền tảng GAE của Google, NSD phải có một tài khoản thƣ điện tử Gmail và tài khoản đó phải đƣợc cấp quyền tạo ứng dụng trên GAE. Để cấp quyền cho tài khoản tạo đƣợc ứng dụng, NSD có thể đăng nhập vào địa chỉ https://appengine.google.com/ để gửi yêu cầu tới Google. Sau khi tài khoản đã có quyền, NSD có thể tạo định danh cho ứng dụng trên nền tảng GAE, với ứng dụng mô phỏng của em là vietnam-tour. Khi đã có

định danh cho ứng dụng trên GAE, NSD sẽ chọn chức năng triển khai ứng dụng trên thanh công cụ của trình soạn thảo Eclipse, nhập một số thông tin về định danh, tên ứng dụng, tài khoản của hộp thƣ điện tử gmail và mật khẩu của thƣ điện tử, ứng dụng sẽ đƣợc triển khai trên GAE. Ví dụ trang web của em đƣợc triển khai trên địa chỉ https://vietnam-tour.appspot.com/.

5.3. Ứng dụng website Quản lý du lịch 5.3.1 Giới thiệu ứng dụng 5.3.1 Giới thiệu ứng dụng

Với mục đích thực nghiệm cho những lý thuyết đã nghiên cứu đồng thời cũng nắm bắt theo nhu cầu phát triển website của các doanh nghiệp ngày càng tăng, em chọn ứng dụng website Quản lý du lịch để mô phỏng sự ứng dụng của ĐTĐM.

Hệ thống website áp dụng cho các công ty du lịch muốn quảng bá và tổ chức các tour du lịch. Hoạt động của website nhƣ sau:

Ngƣời quản trị truy cập vào hệ thống để cập nhật thông tin về các tour du lịch,

tin tức, thông tin về khách sạn, các loại dịch vụ và để quản lý việc đặt tour của khách hàng;

Khách hàng duyệt website xem thông tin về các tour du lịch, có thể đặt tour

với công ty hay liên hệ với các khách sạn mà họ muốn đến và cũng có thể chỉ xem tin tức. Để xem thông tin của tour mà khách hàng quan tâm, họ có thể sử dụng chức năng tìm kiếm thông tin.

5.3.2 Phân tích thiết kế hệ thống

5.3.2.1 Biểu đồ use case

Với mô tả nhƣ phần 5.3.1, ta xác định đƣợc hệ thống có các tác nhân: Khách

hàng, người quản trị và các use case: Đặt tour, Chọn khách sạn, Tìm kiếm thông tin,

Cập nhật thông tin, Đăng nhập, Quản lý đặt tour, trong đó use case Cập nhật thông tin include use case Tìm kiếm thông tin.

Hình 5.10. Biểu đồ use case tổng quát

Trong các use case của hệ thống có Cập nhật thông tin có thể phân rã thành các use case nhỏ hơn (phân rã tới mức lá). Biểu đồ phân rã này đƣợc biểu diễn trên hình 5.12

Hình 5.11. Biểu đồ phân rã use case Cập nhật thông tin

5.3.2.2 Biểu đồ lớp

Qua mô tả hoạt động của website ta có thể thấy đƣợc hệ thống gồm các đối tƣợng: Ngƣời quản trị, Khách hàng, Khách sạn, Tin tức, Tour, Loại dịch vụ, Đặt tour; các thuộc tính và phƣơng thức của từng lớp đƣợc mô tả nhƣ trong hinh 5.13

Hình 5.12. Biểu đồ lớp của ứng dụng

5.3.2.3 Biểu đồ hoạt động

Hoạt động là một quy trình đƣợc định nghĩa rõ ràng, có thể đƣợc thực hiện bởi

một hàm hoặc một nhóm đối tƣợng. Biểu đồ hoạt động xác định các hành động phải thực hiện trong phạm vi một phƣơng thức. Trong các lớp Tin tức, Loại dịch vụ, khách

sạn, tour đều có hàm Cập nhật thông tin, biểu đồ trong hình 5.14 mô tả chung phƣơng

thức Cập nhật thông tin trong các lớp này.

Hình 5.13. Biểu đồ hoạt động cho phương thức Cập nhật thông tin trong các lớp "Tin tức", "Khách sạn", "Tour", "Loại dịch vụ"

5.3.2.4 Biểu đồ trạng thái

Dựa trên các lớp đã tìm ra trong mô hình lớp, biểu đồ trạng thái sẽ đƣợc xây dựng cho mỗi lớp. Biểu đồ này sẽ cho biết các trạng thái có thể có của các đối tƣợng lớp đó và các điều kiện chuyển đổi giữa các trạng thái.

Hình 5.14. Biểu đồ trạng thái cho lớp Đặt tour

5.3.2.5 Biểu đồ tuần tự

Biểu đồ tuần tự là một dạng biểu đồ tƣơng tác biểu diễn mối quan hệ giữa các đối tƣợng, giữa các đối tƣợng và tác nhân theo thứ tự thời gian trong đó nhấn mạnh thứ tự thực hiện của các tƣơng tác.

Hoạt động Đặt tour thực hiện trong hệ thống có sự tham gia của các đối tƣợng: khách hàng, Form thông tin tour, Form Đặt tour, Điều khiển đặt tour, Dữ liệu đặt tour.

Hình 5.16. Biểu đồ tuần tự của use case Cập nhật thông tin

Hoạt động Cập nhật thông tin đƣợc thông suốt bởi các đối tƣợng: Ngƣời quản trị, Form đăng nhập, điều khiển đăng nhập, Form quản lý thông tin, điều khiển cập nhật thông tin, kho dữ liệu.

5.3.3 Lập trình ứng dụng

Ứng dụng đƣợc xây dựng bằng GAE API trên tảng điện toán đám mây, Servlet & JSP dựa trên mô hình MVC (Model, View, Controller).

- View: Sử dụng JSP và HTML để hiển thị dữ liệu.

- Model: gồm các phƣơng thức để thực hiện các nghiệp vụ sử dụng API của GAE để tƣơng tác với cơ sở dữ liệu.

- Controller: Sử dụng Servlet để điều hƣớng, đón nhận và xử lí yêu cầu từ phía client. Lớp này chứa các hàm gọi các phƣơng thức từ lớp Model.

Hình 5.17 API sử dụng trong lớp TourModel

Hình 5.19. Lớp TourServlet

5.3.4 Cách sử dụng trang Web Quản lý du lịch

5.3.4.1 Truy cập trang web Quản lý du lịch

Truy cập web Quản lý du lịch theo địa chỉ http://vietnam- tour.appspot.com/index.jsp.

5.3.4.2 Quản trị Web

Để quản trị trang web truy cập theo địa chỉ: http://vietnam-

tour.appspot.com/manager/login.jsp

Hình 5.21.Trang đăng nhập quản trị

Các mục quản trị bao gồm: Loại dịch vụ, Tour, User, Đặt tour, Khách sạn, Tin tức.

- Ngƣời quản trị muốn cập nhật thông tin về các loại dịch vụ, chọn mục "Quản

trị loại dịch vụ". Các thao tác cập nhật thông tin bao gồm: Thêm mới, sửa và

xóa.

- Để quản trị phần nội dung các tour ngƣời quản trị chọn mục "Quản trị tour", Giả sử khi thêm mới một tour Hà Nội – Đà Lạt với thông tin nhƣ trong hình 5.23.

Hình 5.23. Trang Quản trị Tour

Kết quả khi vào trang chính, click vào “Tour trong nước” màn hình hiện lên nhƣ hình 5.24.

Hình 5.24. Trang Tour trong nước

- Để thêm bớt hay sửa thông tin ngƣời dùng ngƣời quản trị sẽ chọn mục "Quản

trị user".

Hình 5.25.Trang quản trị user

- Muốn xem thông tin đặt tour của khách để tổ chức sắp xếp các tour ngƣời dùng vào mục "Quản trị đặt tour".

Hình 5.26.Trang quản trị đặt tour

- Mục "Quản trị tin tức" cho phép cập nhật các mục tin tức cho trang web

Hình 5.27.Trang quản trị Tin tức

- Mục "Quản trị Khách sạn" cho phép cập nhật thông tin của các khách sạn trong và ngoài tour du lịch.

Hình 5.28.Trang quản trị Khách sạn

5.3.4.3 Đặt tour

Khi chọn đƣợc tour nhƣ ý, khách hàng có thể đặt trƣớc tour với công ty bằng cách click vào link "Đặt tour", màn hình cho phép khách hàng khai thông tin nhƣ hình 5.30.

Hình 5.30.Trang đặt tour

Sau khi click và "Đặt tour" trong màn hình nhƣ hình 5.30 thông tin của khách hàng cùng tour khách hàng đã đặt sẽ đƣợc lƣu trong cơ sở dữ liệu, từ đó ngƣời quản trị có thể xem đƣợc để đáp ứng yêu cầu của khách hàng.

5.3.4.4. Tìm kiếm thông tin

Để tìm kiếm thông tin về các tour du lịch, khách hàng gõ từ khóa vào ô tìm kiếm nhƣ trong hình 5.31, sau khi click nút OK sẽ thu đƣợc kết quả bên dƣới.

Kết luận chương 5

GAE cho chúng ta một cái nhìn rõ nét về ĐTĐM, về một mô hình sử dụng nền tảng của nhà cung cấp, ở đó công nghệ ảo hóa tài nguyên phần cứng, phần mềm lẫn hệ thống mạng, tài nguyên đƣợc cấp phát động đảm bảo tính đơn giản, khả năng mở rộng linh hoạt và độ tin cậy cao đƣợc đặt lên hàng đầu. Với GAE, khách hàng có thể xây dựng và triển khai các ứng dụng web lên cơ sở hạ tầng của gã khổng lồ Google – một trong các hãng có uy tín nhất trên thế giới.

KẾT LUẬN

Nhƣ vậy, luận văn đi từ vấn đề tổng quan của ĐTĐM để ngƣời đọc có thể nhìn rõ nét về mô hình chung của ĐTĐM qua đó có những quan điểm riêng của mình về ĐTĐM nói chung và các công nghệ cũng nhƣ dịch vụ của các hãng phát triển công nghệ này. Quá trình tìm hiểu và phân tích về công nghệ và dịch vụ của ĐTĐM cho ta thấy đƣợc những ƣu điểm, nhƣợc điểm của mô hình dịch vụ này.

Với hầu hết ngƣời sử dụng các dịch vụ trên hệ thống Internet việc đƣợc quan tâm hàng đầu có lẽ không gì hơn đó là vấn đề an ninh của hệ thống dịch vụ đó, trên cơ sở tìm hiểu và tổng hợp tôi đã nêu ra những mặt đƣợc và mặt còn hạn chế của dịch vụ ĐTĐM. Nhƣ vậy, quá trình tìm hiểu về an ninh trên hệ thống đám mây của các nhà cung câp dịch vụ đƣợc tôi đƣa vào chỉ với một chƣơng để những ngƣời muốn tìm hiểu có thể nhanh chóng nắm bắt đƣợc thông tin và đƣa ra hƣớng sử dụng dịch vụ ĐTĐM phù hợp.

Việc liệt kê cũng nhƣ nêu lên các dịch vụ của các nhà cung cấp dịch vụ ĐTĐM hàng đầu nhằm đƣa thông tin tới ngƣời đọc một cái nhìn tổng quát nhất về một vài mô hình dịch vụ ĐTĐM điển hình, những mô hình của các nhà cung cấp dịch vụ hàng đầu nhƣ là hãng Microsoft, Google, Amazon, IMB. Việc liệt kê đầy đủ các dịch vụ của mỗi hãng lớn đang phát triển công nghệ ĐTĐM trên Môi trƣờng Internet để ngƣời đọc có thể so sánh các dịch vụ đó với nhau và tự đánh giá kết quả so sánh của mình.

Hiện thực hóa quá trình tìm hiểu các dịch vụ của ĐTĐM trên cơ sở lý thuyết bằng việc thử nghiệm cài đặt ứng dụng trên nền tảng của Google để chúng ta nắm bắt đƣợc việc ứng dụng công nghệ ĐTĐM và cách thức thực hiện, triển khai một ứng dụng cụ thể của công nghệ ĐTĐM./.

TÀI LIỆU THAM KHẢO Tiếng Việt

1. Nguyễn Anh Tài, Nguyễn Phƣơng Duy, Phạm Thanh Phƣơng, Báo cáo đề tài Cloud Computing, Đại Học Bách Khoa Tp.HCM.

2. Nguyễn Đức Thiện (2011), Điện toán đám mây và ứng dụng, Đại học Sƣ phạm – Đại học Quốc gia.

3. Lê Hùng (2009), Hành trình đến với ĐTĐM riêng.

Tiếng Anh

4. Anthony T.Velte, Toby J.velte, PH.D. Robert ElsenPeter, “Cloud computing A

Practical Approach”.

5. Borko Furht (2010), Hanbook of Cloud Computing, Springer.

6. Dan Sanderson (2010), Programming Google App Engine,O’Reilly Media. 7. Google, https://developers.google.com/appengine/, Google App Engine.

8. Google, Google App Engine Exercise.

9. Google, https://developers.google.com/appengine/docs/java/gettingstarted/, Java. 10.George Reese (2009), Cloud Application Architectures,O’Reilly Media.

11.John W. Rittinghouse, James F. Ransome (2010) CloudComputing: Implementation Managerment and Security, Taylor and Francis Group.

12.Michael Miller, “Cloud computing Web-base Application that change the way

you work and collaborate online”.

13.IBM (07-2009), “The Benefits of Cloud Computing”.

14.IBM (11-2009), "Point of View: Security and Cloud Computing", Cloud

Một phần của tài liệu Tìm hiểu và ứng dụng công nghệ Cloud computing với nền tảng Google app engine (Trang 63)

Tải bản đầy đủ (PDF)

(85 trang)