Tích hợp đƣợc nhiều kênh thông tin từ các nguồn khác nhau lên cổng thông tin sử dụng các cơ chế tƣơng tác định chuẩn.
Thông qua chức năng tích hợp cung cấp các chức năng khác phục vụ hoạt động xây dựng cổng, tích hợp các thành phần thông tin trình bày trên các màn hình hiển thị thông tin, đồng thời quy định các khu vực thông tin sẽ hiển thị trên mẫu trang.
Định chuẩn cho chức năng tích hợp đối với môi trƣờng Java là Portlet, WSRP và định chuẩn chức năng tích hợp đối với môi trƣờng .NET là WebPart.
3.5.1.6. Chức năng tìm kiếm thông tin
Chức năng này cho phép tìm kiếm thông tin trong một phần hoặc toàn bộ cổng thông tin.
3.5.1.7. Quản trị người sử dụng
Quản trị ngƣời sử dụng cho phép ngƣời sử dụng đăng ký tài khoản hoặc quản trị cấp tài khoản cho ngƣời sử dụng, lƣu trữ các thông tin dƣới dạng hồ sơ ngƣời sử dụng, cấp quyền sử dụng theo vai trò và báo cáo hoạt động của từng ngƣời sử dụng.
3.5.1.8. Thu thập và xuất bản thông tin
Cổng thông tin điện tử chứa thông tin từ các nguồn khác nhau và thông tin này phải đƣợc cập nhật thƣờng xuyên, do vậy cổng thông tin cần cho phép thay đổi dễ dàng nội dung, đồng thời đƣợc tự động hóa mức cao nhất có thể bằng các công cụ cập nhật đến từng ngƣời dùng cũng nhƣ triển khai thực hiện tự động các dịch vụ thu thập thông tin từ xa.
Thu thập thông tin từ nhiều nguồn khác nhau, sau đó đƣợc chuẩn hóa và lƣu trữ vào CSDL để sử dụng lại cho các dịch vụ khác. Quá trình thu thập và bóc tách thông tin với các định dạng đã đƣợc qui chuẩn.
3.5.1.9. Sao lưu và phục hồi dữ liệu
Cung cấp công cụ cho ngƣời quản trị thực hiện sao lƣu định kỳ, sao lƣu đột xuất và cho phép phục hồi dữ liệu theo phiên bản đã đƣợc lƣu trữ khi cần thiết hoặc khi có sự cố xảy ra.
3.5.1.10. Nhật ký theo dõi
Lƣu các sự kiện (event log) diễn ra trong toàn bộ hệ thống để phục vụ theo dõi, giám sát và có phƣơng án nhanh nhất khi hệ thống gặp sự cố.
3.5.1.11. An toàn, bảo mật cổng thông tin
Đây là vấn đề sống còn đối với một cổng thông tin điện tử. Các cổng thông tin điện tử cần cung cấp một cơ chế xác thực và kiểm soát ngƣời sử dụng truy cập vào thông tin và các ứng dụng, ngoài ra cung cấp cơ chế lƣu trữ và trao đổi thông tin với các phƣơng pháp khác nhau chẳng hạn nhƣ mã hóa.
Thực hiện các cơ chế xác thực, cấp phép truy cập trên cổng thông tin, đồng thời hỗ trợ cơ chế trao đổi thông tin, dữ liệu đƣợc mã hóa đảm bảo an toàn cho hệ thống cổng thông tin trong quá trình khai thác, vận hành.
3.5.2. Cài đặt lên Google Apps
3.5.2.1. Đăng ký Google App Engine
Để có thể sử dụng các dịch vụ do GAE cung cấp, chúng ta cần đăng ký một tài khoản Google, hoặc chúng ta có thể sử dụng tài khoản Google ( hay Gmail, hoặc các ứng dụng khác…). Sau khi đã có tài khoản, vào trang http://appengine.google.com để đăng nhập.
Với lần đầu tiên đăng nhập vào hệ thống App Engine của Google, chúng ta sẽ đƣợc yêu cầu tạo ứng dụng đầu tiên.
Nhấn vào nút Create Application. Chuyển sang trang xác thực tài khoản. Chọn Quốc gia là Việt Nam.
Nhập số điện thoại chúng ta muốn xác thực. Lƣu ý: số điện thoại phải ghi rõ mã quốc gia.
Nhấn nút Send. Google sẽ gửi mã kích hoạt đến số điện thoại mà chúng ta đăng ký.
Điền đoạn mã mà chúng ta nhận đƣợc vào khung text, nhấn Send, hoàn tất việc xác thực.
Lƣu ý: bƣớc xác thực này chỉ đòi hỏi trong quá trình tạo ứng dụng đầu tiên, các ứng dụng tiếp theo sẽ bỏ qua bƣớc này.
Application Identifier: Nhƣ các chúng ta đã biết, GAE là một PaaS (Platform as a Service) – dịch vụ nền tảng, có nghĩa là chúng ta có thể phát triển và deploy ứng dụng của chúng ta lên hạ tầng của Google (trên các đám mây). Do đó các ứng dụng của chúng ta phải có tên để phân biệt với các ứng dụng khác trên đó. Mặc định, ứng dụng của chúng ta sẽ đƣợc truy cập bằng đƣờng dẫn: APP_ID.appspot.com. Với APP_ID là bất kì tên nào mà chúng ta muốn gắn cho ứng dụng và tên này không đƣợc trùng với tên ứng dụng đã có khác.
Application Title: tiêu đề trang web.
Điền Application Identifier, Application Title, nhấn nút Check Availability để kiểm tra tính hợp lệ của Application Identifier.
Nhấn Create Application để tạo.
3.5.2.2. Cài đặt môi trường lập trình GAE cho Java
Các thành phần cần thiết:
- Java Development Kit. - Eclipse.
- GAEJ Plug-in: vào trang
http://code.google.com/eclipse/docs/getting_started.html lấy link cài đặt plugin cho eclipse, lựa chọn đúng phiên bản eclipse của chúng ta.
Sau khi đã cài đặt và khởi động lại Eclipse IDE, chúng ta sẽ thấy 4 icons của GAE trên thanh toolbar: .
Tạo project GAE
Sau khi đăng ký Application Id và cài đặt GAEJ plug-in cho Eclipse. Chúng ta bắt tay vào viết ứng dụng theo các bƣớc sau:
- Bƣớc 2: Vào menu File New Other hoặc nhấn Ctrl-N để tạo project. Chọn Google Web Application project. Hoặc có thể nhấn vào icon Web Application Project trên thanh toolbar : . Nhấn Next
- Bƣớc 3: điền Project name là tên project chúng ta tạo, tên package của project, và bỏ chọn Use Google Web Toolkit, nhấn Finish để tạo project.
Cấu trúc project GAE
- src: chứa các file mã nguồn. File Caodannggheso3.java đƣợc khởi tạo mặc định cho chúng ta.
- war: các file trong thƣ mục này sẽ đƣợc deploy lên Servlet Container của App Engine. Trong thƣ mục war, có các thành phần sau:
- WEB-INF\lib: chứa các file JAR thƣ viện cần thiết.
- index.html: trang index.html đƣợc tạo mặc định, cũng là trang chủ khi chạy ứng dụng. Chúng ta có thể chỉnh sửa trang này.
- logging.properties: nếu đã quen với Java logging, chúng ta sẽ hiểu ý nghĩa của file này, là ghi log lại quá trình làm việc của ứng dụng.
- web-xml: đây là một file cấu hình ứng dụng web chuẩn. chúng ta có thể tìm thấy các entry định nghĩa Servlet ở đây.
- appengine-web.xml: đây là file cấu hình đặc trƣng của GAE. Và phần tử chính quan trọng trong file chính là Application ID của ứng dụng mà ta đã đăng ký trên Google và phiên bản của nó.
Chạy ứng dụng tại máy local
GAEJ chạy trên cổng 8888. Do đó hãy chắc rằng cổng này không đƣợc sử dụng bởi các tài nguyên khác.
Để chạy ứng dụng, chúng ta thực hiện các bƣớc sau:
Bƣớc 1: Nhấp chuột phải vào ứng dụng, chọn Run As Web application. Ứng dụng sẽ đƣợc biên dịch tại server local, và server sẽ đƣợc khởi động trên port 8888.
Bƣớc 2: mở trình duyệt web, truy cập địa chỉ http://localhost:8888. Hệ thống sẽ chuyển đến trang mặc định của ứng dụng, chính là index.html
Deploy ứng dụng lên đám mây của Google
Để triển khai ứng dụng lên trên đám mây, thực hiện các bƣớc sau:
Bƣớc 1: Mở file cấu hình appengine-web.xml, nhập Application Identifier mà ta đã đăng ký trên GAE và version ứng dụng:
Bƣớc 2: Nhấp phải vào project, chọn Google Deploy to App Engine, hoặc click vào icon Deploy App Engine Project trên thanh toolbar : .
Bƣớc 3: điền email và password của tài khoản Google.
Bƣớc 4: Nếu Application Identifier và version của ứng dụng chƣa đƣợc cấu hình trong file appengine-web.xml, hoặc bạn muốn thay đổi các thiết lập, trong cửa sổ deploy, chúng ta có thể cấu hình bằng cách nhấn vào liên kết App Engine project settings… Đây chính là Appication ID mà bạn đã đăng ký trên GAE. Version để mặc định hoặc chỉnh tùy ý.
Bƣớc 5: Nhấn Ok.
Bƣớc 6: Nhấn Deploy, ứng dụng sẽ đƣợc deploy lên hệ thống GAE với Application Identifier mà bạn đã đăng ký trƣớc đó.
Màn hình console xuất hiện các dòng thông báo, và kết thúc là thông điệp báo việc triển khai ứng dụng lên hệ thống đã thành công.
Chúng ta có thể deploy ứng dụng nhiều lần để update khi có thay đổi. Số lần thay đổi có giới hạn trong 1 ngày, nhƣng cho đến thời điểm này, thì con số đó khá lớn cho chúng ta thoải mái chỉnh sửa.
Chạy ứng dụng trực tuyến
Ứng dụng đã đƣợc triển khai thành công, chúng ta có thể truy cập vào đƣờng dẫn mặc định: http://APP_ID.appspot.com để vào ứng dụng.
KẾT LUẬN
Trong quá trình làm luận văn, tôi đã thu thập và nghiên cứu các tài liệu về điện toán đám mây nói chung và điện toán đám mây của Google nói riêng. Trong số các dịch vụ mà điện toán đám mây của Google cung cấp, tôi tập trung nghiên cứu Google App Engine. Các công nghệ này đều rất mới và cung cấp nhiều tiện ích. Để đánh giá công nghệ này, tôi đã sử dụng nó để xây dựng một cổng thông tin điện tử. Trong quá trình xây dựng ứng dụng thử nghiệm, tôi đã tìm hiểu một số hệ thống đã có và phân tích để đƣa ra giải pháp, thiết kế ứng dụng thử nghiệm.
Kết quả thu đƣợc sau quá trình làm luận văn là tài liệu tổng quan về điện toán đám mây, điện toán đám mây của Google và việc vận dụng công nghệ Google để xây dựng thử nghiệm ứng dụng. Kết quả chính là tôi đã tiếp cận đƣợc công nghệ mới và biết cách khai thác nó để hỗ trợ các hoạt động phát triển ứng dụng.
Trong thời gian tới, tôi muốn hoàn thiện những phần còn thiếu của hệ thống và phát triển thêm một số chức năng nhƣ cổng thông tin việc làm, đăng ký thực tập trực tuyến nhằm phục vụ cho công tác đào tạo tại trƣờng mà do giới hạn thời gian, khi làm luận văn tôi chƣa hoàn thành đƣợc.
TÀI LIỆU THAM KHẢO A. Tiếng Việt
[1] Bộ Thông tin & Truyền thông. Công văn số 269/BTTTT-ƯDCNTT ngày 06/02/2012.
[2] Đoàn Văn Ban (1997). Phân tích, thiết kế hệ thống và lập trình
hướng đối tượng. NXB Thống kê.
[3] Đoàn Văn Ban (2005). Lập trình hướng đối tượng với Java. NXB Khoa học và Kỹ thuật.
[4] Đoàn Văn Ban (2006). Lập Trình Java Nâng Cao. NXB Khoa học và Kỹ thuật.
[5] Hoàng Đức Hải, Nguyễn Phƣơng Lan (2005). Lập Trình Ứng Dụng
Web Với JSP/ Servlet. NXB Lao động Xã hội.
[6] Nguyễn Nhƣ Sơn (12/2009). Nghiên cứu mô hình điện toán đám mây và ứng dụng. Báo cáo khoa học, Viện Công nghệ thông tin, Viện Khoa học và công nghệ Việt Nam.
[7] Nguyễn Nhƣ Sơn (12/2010). Nghiên cứu mô hình điện toán đám
mây theo công nghệ mở và ứng dụng. Báo cáo khoa học, Viện Công nghệ
thông tin, Viện Khoa học và công nghệ Việt Nam.
B. Tiếng Anh
[8] Charles Severance (2009). Using Google App Engine. O’Reilly Media, Inc.
[9] Dan Sanderson (2010). Programming Google App Engine. O’Reilly Media, Inc.
[10] Eugene Ciurana (2009). Developing with Google App Engine. Springer-Verlag New York, Inc.
[11] Ian Foster, Yong Zhao, Ioan Raicu, Shiyong Lu (2008). Cloud
Computing and Grid Computing 360-Degree Compared. Grid Computing
Environments Workshop.
[12] Kyle Roche, Jeff Douglas (2009). Beginning Java Google App Engine. Apress Inc.
[13] John W. Rittinghouse, James F. Ransome (2010). Cloud Computing Implementation, Management, and Security. Taylor & Francis Group, LLC. C. Internet [14] http://code.google.com/appengine/docs/whatisgoogleappengine.html [15] http://code.google.com/appengine/docs/java/gettingstarted/ [16] http://en.wikipedia.org/wiki/Cloud_computing [17] http://www.sun.com/solutions/cloudcomputing/ [18] http://research.yahoo.com/Cloud_Computing