TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CễNG NGHỆ THÔNG TIN VÀ TRUYỀN THễNG
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CễNG NGHỆ THÔNG TIN
DỊCH VỤ ĐÁM MÂY HỖ TRỢ HỌC
TIẾNG ANH TRỰC TUYẾN
Sinh viên thực hiện : Nguyễn Văn Hiệp
Lớp CNPM – K51
Giáo viên hướng dẫn : TS Vũ Thị Hương Giang
HÀ NỘI 06-2011
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 2/92
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên: Nguyễn Văn Hiệp
Điện thoại liên lạc: 0984215002Email Email:
Lớp: CNPM – K51 Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại: Bộ mụn Công nghệ phần mềm, Viện
CNTT&TT, Đại học Bách Khoa Hà Nội.
Thời gian làm ĐATN: Từ ngày 21/02/2011 đến 15/05/2011
2. Mục đích nội dung của ĐATN
Xây dựng và triển khai dịch vụ đám mây hỗ trợ học Tiếng Anh trực tuyến theo kiến
trúc hướng dịch vụ, trên nền tảng tính toán đám mây Google App Engine. Dịch vụ
bao gồm cỏc bờn:
- Bên cung cấp dịch vụ: Thành phần dịch vụ web, đặt trên Google App
Engine;
- Bên sử dụng dịch vụ: Thành phần ứng dụng khách hàng sử dụng dịch vụ,
gồm :
o Phần mềm hỗ trợ học Tiếng Anh cho điện thoại di động Android ;
o Website hỗ trợ học Tiếng Anh.
3. Các nhiệm vụ cụ thể của ĐATN
Kế thừa kết quả của giai đoạn thực tập tốt nghiệp, ĐATN thực hiện cỏc cụng việc
sau:
• Xây dựng website hỗ trợ học Tiếng Anh, trong đó tích hợp thành phần dịch
vụ web của dịch vụ 4ECloud.
• Hoàn thiện các chức năng của phần mềm hỗ trợ học Tiếng Anh cho điện
thoại di động Android. Xây dựng chức năng Học từ vựng theo mô hình bộ từ
vựng tiện ích flash card; theo hướng thân thiện, trực quan, phù hợp với nhiều
phân lớp người dùng.
• Thiết kế, xây dựng, triển khai các giải pháp bảo mật cho dịch vụ 4ECloud,
bao gồm kiểm soát quyền truy nhập và mã hóa thông tin;
• Xây dựng bộ dữ liệu cho dịch vụ đám mây.
• Tổng kết quá trình thực hiện đồ án, viết và nộp các báo cáo theo thời hạn
được Viện quy định.
4. Lời cam đoan của sinh viên:
Tôi – Nguyễn Văn Hiệp - cam kết ĐATN là công trình nghiên cứu của bản thõn tụi
dưới sự hướng dẫn của TS Vũ Thị Hương Giang.
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất
kỳ công trình nào khác.
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 3/92
Hà Nội, ngày tháng năm
Tác giả ĐATN
Nguyễn Văn Hiệp
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép
bảo vệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
TS Vũ Thị Hương Giang
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 4/92
TểM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Đề tài ĐATN này mang tên Dịch vụ đám mây hỗ trợ học Tiếng Anh trực tuyến (gọi tắt là
dịch vụ 4ECloud), với mục đớch xõy dựng một ứng dụng tin học hỗ trợ học Tiếng Anh,
cho phép người dùng truy nhập thuận tiện từ nhiều thiết bị như máy tính cá nhân hay điện
thoại di động. Trong đó, điểm nổi bật là mô hình học từ vựng phù hợp với những đối tượng
người dùng khác nhau.
Quá trình khảo sát và đánh giỏ công cụ chỉ ra rằng, giải pháp kết hợp kiến trúc hướng dịch
vụ (Service Oriented Architecture, SOA
[1]
) và tính toán đỏm mõy (Cloud Computing
[2]
) là
hoàn toàn phù hợp với yêu cầu của ứng dụng. Dịch vụ đám mây hỗ trợ học Tiếng Anh trực
tuyến được xây dựng theo kiến trúc hướng dịch vụ, trên nền tảng tính toán đám mây
Google App Engine
[10]
. Dịch vụ 4ECloud bao gồm bên cung cấp dịch vụ là thành phần dịch
vụ web (web service
[1]
) và bên sử dụng dịch vụ là thành phần ứng dụng khách hàng
(website và phần mềm học Tiếng Anh).
Thành phần dịch vụ web có một giao diện chuẩn (interface
[18]
) mô tả các chức năng cung
cấp cho ứng dụng phía khách hàng, kèm theo đó là tài liệu hướng dẫn và các ràng buộc
trong quá trình sử dụng dịch vụ. Đây là thành phần cốt lõi của dịch vụ 4ECloud, đáp ứng
cỏc yờu cầu lưu trữ và truy vấn dữ liệu, với kiểu dữ liệu gồm văn bản, file ảnh hoặc file âm
thanh. Thành phần ứng dụng khách hàng (website và phần mềm) thực hiện nghiệp vụ học
Tiếng Anh, thông qua lời gọi tới các chức năng được quy định trong giao diện chuẩn của
dịch vụ web. Các nhà phát triển có nhu cầu, hoàn toàn có thể sử dụng dịch vụ web này để
xây dựng ứng dụng học Tiếng Anh.
Phần mềm học Tiếng Anh được xây dựng dành cho điện thoại di động có cài đặt hệ điều
hành Android. Chức năng học từ vựng của phần mềm được thiết kế nhằm phù hợp với
nhiều đối tượng người dùng: sinh viên, trẻ em ở các lứa tuổi khác nhau Chính sự thuận
tiện, cho phép người dựng cú thể học mọi lúc, mọi nơi của mô hình học từ vựng trên điện
thoại di động, đã tạo nờn điểm nhấn cho dịch vụ 4ECloud, so với các sản phẩm tin học hỗ
trợ học Tiếng Anh khác.
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 5/92
ABSTRACT OF THESIS
The graduation thesis named Support learning English online cloud computing service. Its
goal is to construct a support learning English application, that allows users access easily
from many devices as personal computer or mobile phone. The special thing is the learning
vocabulary model appropriate with many user types.
After gathering and analyzing information about technologies, the solution that composes
Service Oriented Architecture (SOA) and Cloud Computing is choosen to response all
requirements of the application.
The support learning English online cloud computing service (or 4ECloud) is constructed
with SOA and based on Google App Engine Cloud Computing Service. The 4ECloud
service includes the web service component as service provider and the customer
application component used that web service as service requester (contains a website and a
software support learning English).
The web service component has a standard interface, that describes functions provided for
customer application, with guidance document and constrains in using service. The web
service is the core component of 4ECloud service, responsibility for requests about save
and query data, with data type as text, image or audio file. The customer application
component performs business rules of learning English by calling to functions, that have
been defined in the standard interface of the web service. The developers can use the web
service to construct other learning English applications.
The learning English software is constructed for mobile phones that installed Android
operating system. The learning vocabulary function of software is designed for many user
types as : student, kid at different ages Because of the comfortable in allowing users to
learn English everywhere and every time, 4ECloud service becomes a special software,
when comparing with other products.
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 6/92
MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 3
TểM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 5
ABSTRACT OF THESIS 6
MỤC LỤC 7
DANH SÁCH HÌNH VẼ 8
DANH SÁCH BẢNG 10
DANH SÁCH TỪ VIẾT TẮT VÀ THUẬT NGỮ 11
MỞ ĐẦU 12
PHẦN 1: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP 14
I. Đặt vấn đề 14
II. Định hướng giải pháp 15
III. Kết chương 28
PHẦN 2: XÂY DỰNG DỊCH VỤ ĐÁM MÂY HỖ TRỢ HỌC TIẾNG ANH
TRỰC TUYẾN 29
IV. Phân tích yêu cầu và thiết kế các thành phần của dịch vụ 4ECloud 29
V. Cài đặt các thành phần trong dịch vụ 4ECloud 50
VI. Kiểm thử và triển khai thử nghiệm dịch vụ 4ECloud 54
VII. Đánh giá quá trình xây dựng dịch vụ 4ECloud 63
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 68
PHỤ LỤC HƯỚNG DẪN SỬ DỤNG DỊCH VỤ ĐÁM MÂY HỖ TRỢ HỌC
TIẾNG ANH TRỰC TUYẾN 4ECLOUD 69
VIII. Giới thiệu chung 69
IX. Hướng dẫn sử dụng thành phần dịch vụ web 69
X. Hướng dẫn sử dụng phần mềm học Tiếng Anh cho di động Android 70
XI. Hướng dẫn sử dụng website học Tiếng Anh 82
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 7/92
DANH SÁCH HÌNH VẼ
Hình 1. Liên hệ giữa các tác nhân trong một hệ thống SOA 22
Hình 2. Các use case cho tác nhân User 30
Hình 3. Các use case cho tác nhân Admin 32
Hình 4. Các thành phần và cơ chế giao tiếp bên trong thành phần dịch vụ web 35
Hình 5. Mụ hỡnh liên kết giữa các class entity trong dịch vụ 37
Hình 6. Thiết kế giao diện bộ từ cho học sinh sinh viên 40
Hình 7. Thiết kế giao diện bộ từ cho trẻ 1-3 tuổi 40
Hình 8. Thiết kế giao diện bộ từ cho trẻ từ 4-5 tuổi 41
Hình 9. Thiết kế giao diện bộ từ cho trẻ từ 6 tuổi trở lên 41
Hình 10. Các thành phần và cơ chế giao tiếp của phần mềm cho di động Android. 43
Hình 11. Thiết kế giao diện chính của phần mềm 46
Hình 12. Thiết kế giao diện chức năng Học từ vựng cho học sinh sinh viờn 46
Hình 13. Thiết kế giao diện chức năng Học từ vựng cho trẻ em 46
Hình 14. Thiết kế giao diện chức năng Học ngữ pháp 46
Hình 15. Thiết kế giao diện chức năng Kiểm tra 46
Hình 16. Thiết kế giao diện chức năng Nhật ký 47
Hình 17. Các thành phần và cơ chế giao tiếp của Website học Tiếng Anh trực tuyến
47
Hình 18. Thiết kế giao diện trang chủ website học Tiếng Anh 49
Hình 19. Thiết kế giao diện chức năng Học ngữ pháp 49
Hình 20. Thiết kế giao diện chức năng Kiểm tra 49
Hình 21. Thiết kế giao diện chức năng Nhật ký 50
Hình 22. Mô hình triển khai dịch vụ 4ECloud 55
Hình 23. Giao diện chính phần mềm học Tiếng Anh 57
Hình 24. Giao diện chức năng Học từ vựng cho học sinh sinh viên 58
Hình 25. Giao diện chức năng Học từ vựng cho trẻ em 58
Hình 26. Giao diện chức năng Học ngữ pháp 58
Hình 27. Giao diện chức năng Kiểm tra 58
Hình 28. Giao diện chức năng Nhật ký 59
Hình 29. Giao diện trang chủ website học Tiếng Anh 60
Hình 30. Giao diện chức năng Học ngữ pháp 61
Hình 31. Giao diện chức năng Kiểm tra 62
Hình 32. Giao diện chức năng Nhật ký 63
Hình 33. Giao diện chính phần mềm học Tiếng Anh 71
Hình 34. Giao diện chọn chức năng Học từ vựng 72
Hình 35. Giao diện danh sách các bộ từ mới 73
Hình 36. Biểu tượng chức năng Học từ vựng cho học sinh sinh viên 73
Hình 37. Giao diện danh sách bộ từ vựng cho học sinh sinh viên 74
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 8/92
Hình 38. Giao diện lựa chọn kiểu hiển thị mặc định của bộ từ cho học sinh sinh viên
74
Hình 39. Giao diện hiển thị các từ trong bộ từ vựng cho học sinh sinh viên 75
Hình 40. Biểu tượng chức năng Học từ vựng cho trẻ em 76
Hình 41. Giao diện danh sách bộ từ vựng cho trẻ em 76
Hình 42. Giao diện chọn chức năng Học ngữ pháp 77
Hình 43. Giao diện danh sách bài học ngữ pháp 77
Hình 44. Giao diện chọn chủ để (loại bài học) 78
Hình 45. Giao diện hiển thị nội dung chi tiết bài học ngữ pháp 78
Hình 46. Giao diện chọn chức năng Kiểm tra 79
Hình 47. Giao diện chọn trình độ bài kiểm tra 79
Hình 48. Giao diện kết quả làm bài kiểm tra 80
Hình 49. Giao diện chọn chức năng Nhật ký 80
Hình 50. Giao diện danh sách kết quả các bài kiểm tra 81
Hình 51. Giao diện trang chủ website học Tiếng Anh 82
Hình 52. Giao diện nội dung chi tiết bài học ngữ pháp 83
Hình 53. Giao diện kiểm tra trắc nghiệm 84
Hình 54. Giao diện Đăng ký tài khoản mới 85
Hình 55. Giao diện chức năng Nhật ký 86
Hình 56. Giao diện đăng nhập với quyền Admin 87
Hình 57. Giao diện quản lý user 88
Hình 58. Giao diện quản lý loại bài học 88
Hình 59. Giao diện quản lý bài học 89
Hình 60. Giao diện quản lý nhóm từ 90
Hình 61. Giao diện quản lý từ 90
Hình 62. Giao diện quản lý bài kiểm tra 91
Hình 63. Giao diện quản lý câu hỏi 92
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 9/92
DANH SÁCH BẢNG
Bảng 1. Các thuộc tính của class Word 37
Bảng 2. Các thuộc tính của class WordGroup 37
Bảng 3. Các thuộc tính của class Lesson 38
Bảng 4. Các thuộc tính của class LessonType 38
Bảng 5. Các thuộc tính của class Question 38
Bảng 6. Các thuộc tính của class Test 38
Bảng 7. Các thuộc tính của class User 39
Bảng 8. Các thuộc tính của class TestResult 39
Bảng 9. Danh sách bảng trong cơ sở dữ liệu của phần mềm cho di động Android 43
Bảng 10. Bảng Word 44
Bảng 11. Bảng WordGroup 44
Bảng 12. Bảng Lesson 44
Bảng 13. Bảng LessonType 44
Bảng 14. Các hàm chính của dịch vụ web 52
Bảng 15. Các hàm chính của dịch vụ web 70
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 10/92
DANH SÁCH TỪ VIẾT TẮT VÀ THUẬT NGỮ
STT
Từ viết tắt
Thuật ngữ
Ý nghĩa
Ghi
chú
1
GAE Nền tảng tính toán đám mây Google App Engine
2
SOA Service Oriented Architecture, kiến trúc hướng dịch
vụ
3 Flash card Tấm thẻ hai mặt, ghi thông tin
4 SaaS Software as a Service, phần mềm dạng dịch vụ
5 PaaS Platform as a Service, nền tảng dạng dịch vụ
6 HaaS Hardware as a Service, phần cứng dạng dịch vụ
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 11/92
MỞ ĐẦU
Trong nền công nghiệp phần mềm hiện nay, kiến trúc hướng dịch vụ đang thể hiện
ưu thế vượt trội so với các kiến trỳc khỏc trong khả năng tái sử dụng cũng như độc
lập với nền tảng phát triển. Bên cạnh đú, khỏi niệm tính toán đám mây cũng thu hút
được nhiều quan tâm của cộng đồng công nghệ trong thời gian gần đừy. Các dịch
vụ tính toán đám mây không những cho phép các nhà phát triển ứng dụng xây dựng
hệ thống với khả năng mở rộng tùy ý, mà cũn giỳp giảm bớt gánh nặng của việc
quản trị và bảo trì hệ thống phần cứng. Nhiều hệ thống đang dần được dịch chuyển
hoặc xây dựng mới trên nền tảng tính toán đám mây. Với những cam kết của các
nhà cung cấp dịch vụ đám mây về việc đầu tư vào xây dựng dịch vụ, cùng với sự
đón nhận hào hứng của cộng đồng công nghệ, tính toán đám mây hứa hẹn một sự
phát triển mạnh mẽ trong tương lai.
Với những ưu thế đó, trong tương lai gần, kiến trúc hướng dịch vụ và tính toán đỏm
mõy chắc chắn sẽ đóng vai trò quan trọng trong việc phát triển các hệ thống phần
mềm. Nhận thấy xu hướng này, tôi quyết định chọn đề tài ĐATN theo hướng
nghiên cứu kiến trúc hướng dịch vụ và tính toán đám mây, từ đó xây dựng một hệ
thống dịch vụ cụ thể theo kiến trúc hướng dịch vụ trên nền tảng tính toán đám mây.
Bên cạnh đó, trong xu thế hội nhập ngày nay, Tiếng Anh đã trở thành nhân tố thiết
yếu đối với mọi người, bất kể vị trí công tác hay độ tuổi nào. Người có nhu cầu học
Tiếng Anh có thể lựa chọn rất nhiều phương pháp khác nhau để phục vụ việc học.
Một trong số đó là sử dụng các phần mềm tin học, với ưu điểm so với các phương
pháp khác là tạo dựng được một môi trường học tập trực quan, sinh động. Đề tài
ĐATN của tôi mang tên Dịch vụ đám mây hỗ trợ học Tiếng Anh trực tuyến, xuất
phát từ ý tưởng về một ứng dụng học Tiếng Anh trực tuyến; hỗ trợ người dùng học
tập linh hoạt và thuận tiện. Người dùng có thể truy nhập sử dụng ứng dụng từ các
thiết bị khác nhau. Ứng dụng hướng tới xây dựng mô hình học từ vựng dạng các bộ
từ tiện ích (flash card
[16]
) dành cho điện thoại di động, tạo điểm nhấn so với các sản
phẩm cùng loại khác.
Trong khuôn khổ ĐATN, tôi thực hiện nghiên cứu nền tảng lý thuyết và xây dựng
dịch vụ đám mây hỗ trợ học Tiếng Anh trực tuyến, theo kiến trúc hướng dịch vụ
trên nền tảng tính toán đám mây.
Đề tài được tụi nghiờn cứu và thực hiện dưới sự hướng dẫn của TS Vũ Thị Hương
Giang, tại bộ mụn Công nghệ phần mềm, Viện Công nghệ thông tin và truyền
thông, Đại học Bách Khoa Hà Nội.
Luận văn tốt nghiệp này tổng kết nội dung và quá trình thực hiện ĐATN, bao gồm
bốn phần chính:
- Mở đầu
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 12/92
o Giới thiệu ĐATN;
o Tóm tắt nội dung, môi trường thực hiện và bố cục đồ án.
- Phần 1: Đặt vấn đề và định hướng giải pháp
o Mô tả chi tiết bài toán xây dựng dịch vụ đám mây hỗ trợ học Tiếng Anh
trực tuyến;
o Mô tả giải pháp lựa chọn để xây dựng dịch vụ theo kiến trúc hướng dịch
vụ trên nền tảng tính toán đám mây;
o Trình bày chi tiết các nhiệm vụ cần thực hiện trong quá trình xây dựng
dịch vụ;
o Tóm tắt cơ sở lý thuyết và công cụ phục vụ cho việc xây dựng, triển khai
thử nghiệm dịch vụ;
- Phần 2: Xây dựng dịch vụ đám mây hỗ trợ học Tiếng Anh trực tuyến
o Trình bày kết quả phân tích, thiết kế cũng như kết quả thực hiện, cài đặt
và thử nghiệm dịch vụ đám mây hỗ trợ học Tiếng Anh trực tuyến;
o Đánh giá ưu, nhược điểm và khả năng ứng dụng của dịch vụ.
- Kết luận
o Đánh giá quá trình thực hiện và kết quả ĐATN, đề xuất hướng phát triển.
Ngoài ra, phần phụ lục của luận văn bao gồm nội dung hướng dẫn sử dụng dịch vụ
đám mây hỗ trợ học Tiếng Anh trực tuyến.
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 13/92
PHẦN 1: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP
I. Đặt vấn đề
.I.1. Xừy dựng dịch vụ đám mây hỗ trợ học Tiếng Anh trực tuyến
Đề tài luận văn tốt nghiệp này mang tên Dịch vụ đám mây hỗ trợ học Tiếng Anh
trực tuyến (gọi tắt là dịch vụ 4ECloud), xuất phát từ ý tưởng về một dịch vụ học
Tiếng Anh trực tuyến, hỗ trợ người dùng học tập linh hoạt và thuận tiện. Người
dựng cú thể truy nhập dịch vụ bằng nhiều thiết bị khác nhau : từ máy tính cá nhân
đến điện thoại di động, cũng như các thiết bị có kết nối Internet khác. Dịch vụ đảm
nhận việc đồng bộ thông tin của người dùng giữa các thiết bị, tạo điều kiện cho
người dựng cú thể thực hiện các chức năng như theo dõi bài học, làm bài kiểm tra,
xem nhật ký… tại bất cứ đâu có kết nối mạng.
Hai đối tượng người dựng chớnh mà dịch vụ nhắm tới đó là người dựng cú nhu cầu
học Tiếng Anh và người phát triển ứng dụng có nhu cầu sử dụng hoặc tích hợp dịch
vụ. Ngoài ra, dịch vụ cũng cung cấp các chức năng quản trị dành cho người quản trị
dịch vụ. Đặc biệt, đối với điện thoại di động, dịch vụ hướng đến xây dựng mô hình
học từ vựng Tiếng Anh bằng flash card
[16]
. Đây là phương pháp học phù hợp với
nhiều lớp người dùng : trẻ em, học sinh, sinh viên, người đi làm Đây cũng là tính
năng tạo nên điểm khác biệt so với những sản phẩm cùng loại hiện có trên thị
trường.
.I.2. Các vấn đề cần giải quyết
Bài toán xây dựng dịch vụ 4ECloud đặt ra một số vấn đề cần giải quyết như sau.
Thứ nhất, về chức năng, thiết kế của dịch vụ cần đề cao tính thực tiễn, khả năng ứng
dụng và triển khai thành công cao. Mục tiêu lớn nhất của dịch vụ là phải đáp ứng
được yêu cầu của người dùng ; thực sự mang lại sự hiệu quả cho việc học Tiếng
Anh của người học, cũng như sự thuận tiện trong việc xây dựng ứng dụng của nhà
phát triển ứng dụng. Yêu cầu này đòi hỏi giai đoạn khảo sát thực tế và phân tích yêu
cầu phải được thực hiện nghiêm túc.
Thứ hai, về kỹ thuật, là yêu cầu khả năng tái sử dụng và độc lập với nền tảng phát
triển. Các thành phần trong dịch vụ có thể được phát triển trờn các nền tảng khác
nhau, nhưng cần đảm bảo sự đồng bộ về thông tin, dữ liệu và các thao tác xử lý
nghiệp vụ. Đồng thời, giải pháp được chọn phải đề cao tớnh tỏi sử dụng, tiết kiệm
chi phí cho các thành phần phải phát triển riờng trờn mỗi nền tảng.
Thứ ba, về hiệu năng hệ thống, là yêu cầu đáp ứng số lượng người dùng lớn và bảo
mật. Dịch vụ nhắm tới một lượng đa dạng phân lớp người dùng, do đó thiết kế đưa
ra phải tính toán được mức chịu tải và khả năng mở rộng khi số lượng người dùng
tăng lên. Đồng thời, cũng cần thiết kế giải pháp bảo mật, nhằm ngăn chặn truy nhập
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 14/92
trái phép và bảo đảm an toàn cho thông tin trao đổi giữa các thành phần trong dịch
vụ. Với định hướng lâu dài, khi số lượng người dùng đủ lớn để tổ chức các chức
năng và bộ dữ liệu có thu phí, giải pháp bảo mật cần có khả năng nâng cấp đáp ứng
yêu cầu của dịch vụ.
II. Định hướng giải pháp
Các vấn đề đặt ra trong việc xây dựng dịch vụ 4ECloud dẫn tới một số nhận định
sau.
Trên thị trường hiện có rất nhiều công cụ và tiện ích tin học hỗ trợ việc học Tiếng
Anh. Về phần mềm có thể kể tên English Study
[3]
, VOA Special English
[3]
; về
website có thể nhắc đến esl-library.com
[3]
, tienganhhangngay.com
[3]
, luyennghe.vn.
Trong bối cảnh thị trường ứng dụng hỗ trợ học Tiếng Anh đa dạng như vậy, dịch vụ
4ECloud mong muốn cung cấp gì cho khách hàng của mình? Căn cứ mục tiêu đề ra,
dịch vụ 4ECloud có thể lựa chọn một số hướng đi. Một hướng đơn giản đầu tiên, đó
là học hỏi và xây dựng lại các chức năng theo mô hình tương tự như các ứng dụng
thành công nêu trên. Cách làm này không thể hiện được sự tìm tòi sáng tạo. Thêm
nữa, hầu hết các sản phẩm kể trên đều có thời gian phát triển lâu dài, có đội ngũ
chuyên gia hỗ trợ về nội dung, có nguồn dữ liệu đặc sắc phong phú. Vì vậy, nếu chỉ
đơn thuần bắt chước lại các chức năng, dịch vụ 4ECloud sẽ không có cơ hội cạnh
tranh, khó có thể vượt qua các sản phẩm khác để tiếp cận người dùng.
Một hướng đi khỏc đũi hỏi nhiều công sức, đó là đề xuất một mô hình hỗ trợ học
Tiếng Anh ưu việt hơn các mô hình hiện tại, sau đó tiến hành xây dựng dịch vụ theo
mô hình đã chọn. Hướng đi này nhấn mạnh vào mô hình của ứng dụng, tức là dịch
vụ 4ECloud có thể hỗ trợ người sử dụng học tập hiệu quả, theo một phương pháp
mới mà chưa ứng dụng nào thực hiện. Làm được điều này, cùng với việc kết hợp
thành công hai nền tảng công nghệ tiên tiến là kiến trúc hướng dịch vụ và tính toán
đám mây, sẽ giúp dịch vụ 4ECloud khẳng định đóng góp của mình trong việc xây
dựng được một mô hình ứng dụng học Tiếng Anh hiệu quả, giàu triển vọng phát
triển.
Trong khuôn khổ ĐATN, dịch vụ 4ECloud kết hợp hai hướng đi nêu trên. Một mặt
tập trung vào phát triển một mô hình mới cho ứng dụng học Tiếng Anh, tạo điểm
nhấn cho toàn bộ dịch vụ. Đó là mô hình học từ vựng trên điện thoại di động, dưới
dạng các bộ từ tiện ích (flash card
[16]
) đơn giản, gọn nhẹ; tạo điều kiện cho người
dựng cú thể học mọi lúc, mọi nơi. Mặt khác dịch vụ 4ECloud cũng tiến hành xây
dựng các chức năng cơ bản như học ngữ pháp và kiểm tra trắc nghiệm Tiếng Anh.
Với định hướng như vậy, khi xem xét các vấn đề cần giải quyết, dịch vụ 4ECloud
cần chú ý một số điểm quan trọng sau.
Về chức năng, để đáp ứng tính thực tiễn và khả năng ứng dụng cao đòi hỏi sự đầu
tư thích đáng cho việc khảo sỏt cỏc hệ thống hiện có. Căn cứ trên kết quả đánh giá
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 15/92
ưu điểm và tồn tại để thiết kế các chức năng cơ bản cũng như các chức năng mới,
nhằm tạo điểm nhấn cho dịch vụ.
Về kỹ thuật, hiện nay kiến trúc hướng dịch vụ (Service Oriented Architecture,
SOA
[1]
) đang thể hiện ưu thế vượt trội so với các kiến trỳc khỏc trong khả năng tái
sử dụng cũng như độc lập với nền tảng phát triển. Điểm nổi bật của kiến trúc hướng
dịch vụ là một dịch vụ có thể cung cấp cho nhiều khách hàng. Khi cú yờu cầu sử
dụng một dịch vụ, thay vì phải đầu tư cho việc xây dựng mới và bảo trì dịch vụ,
khỏch hàng có thể sử dụng dịch vụ của bên cung cấp. Hiện có nhiều phương pháp
kỹ thuật để xây dựng hệ thống theo kiến trúc hướng dịch vụ, trong đó phổ biến là kỹ
thuật sử dụng dịch vụ web (web service
[17]
). Dịch vụ web sử dụng các phương thức
giao tiếp đã được chuẩn hóa. Do đó ứng dụng phía khách hàng, dự phỏt triển trên
nền tảng nào, đều có thể sử dụng các dịch vụ được cung cấp.
Về hiệu năng, trong thời gian gần đây, khi nhắc tới một hệ thống có khả năng mở
rộng theo yêu cầu, người ta thường hướng đến tính toán đám mây (Cloud
Computing
[2]
). Tính toán đám mây hiện đang thu hút được nhiều quan tâm của cộng
đồng công nghệ; bởi các dịch vụ tính toán đám mây không những cho phép các nhà
phát triển ứng dụng xây dựng hệ thống với khả năng mở rộng tùy ý, mà cũn giỳp
giảm bớt gánh nặng của việc quản trị và bảo trì hệ thống phần cứng.
Từ các nhận định trờn cú thể thấy, một hệ thống xây dựng theo kiến trúc hướng
dịch vụ kết hợp với tính toán đám mây, là giải phỏp phự hợp cho các vấn đề mà
dịch vụ 4ECloud cần giải quyết. Trên cơ sở đú, tụi quyết định lựa chọn xây dựng
dịch vụ 4ECloud theo kiến trúc hướng dịch vụ trên nền tảng tính toán đám mây.
Các phần tiếp theo đi vào mô tả giải phỏp xõy dựng dịch vụ theo kiến trỳc đó chọn,
đồng thời trình bày chi tiết cỏc công việc cần thực hiện:
• Giải pháp đề xuất: mô tả chi tiết các thành phần trong kiến trúc dịch vụ, các
thành phần dịch vụ cần xây dựng;
• Công việc cần thực hiện trong khuôn khổ ĐATN;
• Cơ sở lý thuyết: khái quát về kiến trúc hướng dịch vụ, tính toán đám mây,
mô hình flash card; tập trung vào cỏc khớa cạnh phục vụ cho xây dựng dịch
vụ;
• Giới thiệu công cụ sử dụng trong xây dựng dịch vụ.
Nhằm nhấn mạnh vào kiến trúc dịch vụ, phần giải pháp đề xuất sẽ được ưu tiên
trình bày trước. Cỏc khỏi niệm liên quan trong phần này, như kiến trúc hướng dịch
vụ, dịch vụ web, nền tảng tính toán đám mây Google App Engine
[10]
và mô hình
flash card, sẽ được đề cập trong phần cơ sở lý thuyết sau đó.
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 16/92
.II.1. Giải pháp đề xuất
Giải pháp đề xuất cho dịch vụ 4ECloud đó là xây dựng theo kiến trúc hướng dịch
vụ trên nền tảng tính toán đám mây Google App Engine
[10]
(viết tắt là GAE). Phần
tiếp theo đi vào định hướng giải pháp chi tiết cho các vấn đề mà dịch vụ cần giải
quyết, từ mô hình dịch vụ, đến công nghệ sử dụng và các chức năng dịch vụ cung
cấp.
.II.1.1. Mô hình dịch vụ đám mây hỗ trợ học Tiếng Anh trực tuyến 4ECloud
Nội dung phần này bao gồm mô tả các bên trong dịch vụ, khỏi quỏt cỏc cụng nghệ
sử dụng cho từng thành phần và mô tả các cụm chức năng cho người dùng.
II.1.1.1. Các bên trong dịch vụ
Dịch vụ đám mây hỗ trợ học Tiếng Anh trực tuyến - 4ECloud được xây dựng theo
kiến trúc hướng dịch vụ trên nền tảng tính toán đám mây, bao gồm:
• Bên cung cấp dịch vụ: Thành phần dịch vụ web, triển khai trên nền tảng đám
mây Google App Engine
[10]
, là phần cốt lõi của dịch vụ 4ECloud; đáp ứng
cỏc yờu cầu nghiệp vụ về lưu trữ và truy vấn dữ liệu ; với kiểu dữ liệu gồm
văn bản, file ảnh hoặc file âm thanh ; sử dụng cơ sở dữ liệu của GAE. Thành
phần này bao gồm:
o Phần dịch vụ web cho chức năng học Tiếng Anh : thực hiện các thao
tác nghiệp vụ phục vụ cho các ứng dụng trong thành phần ứng dụng
khách hàng;
o Phần dịch vụ web cho chức năng quản trị: cung cấp các thao tác cho
phép quản trị dữ liệu của phần dịch vụ web cho chức năng học Tiếng
Anh.
• Bên sử dụng dịch vụ: Thành phần ứng dụng khách hàng bao gồm website và
phần mềm, dành cho người dùng trực tiếp sử dụng. Người dùng ở đây bao
gồm: User là người học Tiếng Anh và nhà phát triển ứng dụng, Admin là
người quản trị dịch vụ 4ECloud. Các chức năng nghiệp vụ trong ứng dụng
thực hiện thông qua các lời gọi tới thành phần dịch vụ web.
o Phần mềm học Tiếng Anh sử dụng dịch vụ, dành cho điện thoại di
động cài đặt hệ điều hành Android
[11]
. Dịch vụ 4ECloud lựa chọn hệ
điều hành Android, bởi tại thời điểm thực hiện đề tài, đây là hệ điều
hành phổ biến trong thị trường thiết bị di động.
o Website học Tiếng Anh tích hợp dịch vụ. Bên cạnh phần nghiệp vụ
phục vụ cho người dùng học Tiếng Anh, cũn cú phần quản trị dành
cho người quản trị quản lý dữ liệu và trạng thái của thành phần dịch
vụ web.
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 17/92
Có thể thấy, điểm nổi bật trong giải pháp cho mô hình dịch vụ 4ECloud ở trên, đó là
sự kết hợp giữa kiến trúc hướng dịch vụ và nền tảng tính toán đám mây Google App
Engine.
Về kiến trúc áp dụng cho 4ECloud, ưu thế của kiến trúc hướng dịch vụ được thể
hiện rõ rệt. Thành phần dịch vụ web là phần lõi, đảm nhận thực hiện cỏc yờu cầu
nghiệp vụ. Trong thành phần ứng dụng khách hàng, bất kể là ứng dụng nào, đều có
thể thực hiện các chức năng nghiệp vụ một cách đơn giản, thông qua các lời gọi tới
thành phần dịch vụ web. Điều này làm giảm mức độ phức tạp của những xử lý bên
trong mà mỗi ứng dụng khách hàng phải thực hiện. Và một ứng dụng mới, hoàn
toàn có thể sử dụng các dịch vụ web hiện có, giúp tiết kiệm tối đa chi phí phát triển.
Thêm vào đó, lời gọi dịch vụ web cũng như thông tin trao chuyển giữa ứng dụng và
dịch vụ web được thực hiện thông qua các giao thức chuẩn. Vì vậy, dù ứng dụng
khách hàng xây dựng trên nền tảng gỡ, thì đều có thể sử dụng thành phần dịch vụ
web mà không gặp bất cứ trở ngại nào. Đối với dịch vụ 4ECloud, các thành phần
được lựa chọn xây dựng trờn cỏc nền tảng khác nhau: thành phần dịch vụ web sử
dụng nền tảng tính toán đám mây Google App Engine, phần mềm học Tiếng Anh sử
dụng bộ công cụ cho hệ điều hành điện thoại di động Android, website học Tiếng
Anh sử dụng nền tảng ASP.NET
[19]
của Microsoft
[12]
. Giải pháp đề xuất lựa chọn
kiến trúc hướng dịch vụ, một phần cũng là nhằm minh chứng khả năng của kiến
trúc này trong việc giải quyết bài toán hóc búa về vấn đề giao tiếp giữa các nền tảng
khác nhau.
Ngoài ra, một trong những lợi điểm chủ yếu của mô hình trên, đó là cỏc yờu cầu
nghiệp vụ được xử lý tập trung tại thành phần dịch vụ web. Do vậy, khi có nhu cầu
nâng cấp, nhà quản trị dịch vụ đơn giản chỉ cần cập nhật phiên bản mới tại trung
tâm dịch vụ web. Các ứng dụng khách hàng lập tức được thừa hưởng kết quả của
quá trình nâng cấp mà không cần cài đặt hay chỉnh sửa gì trong bản thân ứng dụng.
Điều này giúp giải quyết các vấn đề trong cài đặt và nâng cấp của phần mềm tại chỗ
truyền thống. Các ứng dụng theo mô hình như dịch vụ 4ECloud, còn gọi là phần
mềm dạng dịch vụ (Software as a Service, SaaS
[1]
), là thể hiện cụ thể của việc áp
dụng kiến trúc hướng dịch vụ trong phần mềm.
Về việc sử dụng tính toán đám mây, lý do là căn cứ trên nhu cầu mở rộng trong
tương lai. Lợi thế của tính toán đám mây sẽ được thể hiện rõ khi dịch vụ 4ECloud
được đưa vào hoạt động thực tế, số lượng người dựng phỏt triển đến một mức độ
nhất định, đòi hỏi phải tăng cường khả năng đáp ứng. Trong mô hình của dịch vụ
4ECloud, tính toán đám mây đóng vai trò là nền tảng công nghệ để xây dựng và
triển khai dịch vụ theo kiến trúc hướng dịch vụ. Có thể thấy rằng, đối với những
ứng dụng quy mô nhỏ, việc sử dụng tính toán đám mây không thể hiện được nhiều
ý nghĩa so với các phương pháp truyền thống. Chỉ với những ứng dụng cỡ lớn, có
định hướng phát triển rõ ràng và nguồn vốn đầu tư dài hơi, kiểu như Google
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 18/92
Docs
[10]
, Google Calendar
[10]
, thì sức mạnh của tính toán đám mây mới có cơ hội
được phản ánh đầy đủ. Dù chưa có được những tiềm lực to lớn như vậy, nhưng dịch
vụ 4ECloud vẫn mạnh dạn sử dụng nền tảng tính toán đám mây Google App Engine
theo kiến trúc hướng dịch vụ; nhằm mục tiờu gúp phần định hình một mô hình ứng
dụng mới, khai thác sức mạnh tổng hợp của hai nền tảng công nghệ tiên tiến này.
II.1.1.2. Phương án tiếp cận xây dựng dịch vụ 4ECloud
• Phương án tiếp cận theo kiến trúc hướng dịch vụ:
o Xuất phát từ chức năng cần cung cấp cho người dùng và mô hình
tương tác của các thành phần trong dịch vụ 4ECloud, đi đến xây dựng
giao diện chuẩn cho thành phần dịch vụ web, từ đó tiến hành cài đặt
chi tiết các chức năng bên trong cho thành phần này.
o Các hành động từ thành phần ứng dụng khách hàng sẽ gọi tới các
chức năng tương ứng do thành phần dịch vụ web cung cấp.
• Phương án tiếp cận xây dựng ứng dụng trên nền tính toán đám mây:
o Sử dụng bộ công cụ phát triển ứng dụng đám mây Google App
Engine để xây dựng và triển khai thành phần dịch vụ web của dịch vụ
4ECloud; sau đó phát triển các ứng dụng trong thành phần ứng dụng
khách hàng, tích hợp và sử dụng dịch vụ web này.
.II.1.2. Công nghệ sử dụng
Công nghệ sử dụng xây dựng dịch vụ 4ECloud bao gồm :
• Công cụ xây dựng thành phần dịch vụ web
o Bộ công cụ xây dựng và triển khai ứng dụng trên nền tảng tính toán
đám mây Google App Engine;
o Kỹ thuật dịch vụ web.
• Công cụ xây dựng thành phần ứng dụng khách hàng, tích hợp và sử dụng
thành phần dịch vụ web
o Bộ công cụ lập trình cho điện thoại di động Android
[11]
;
o Mô hình Model-View-Controller (MVC
[19]
) cho lập trình website.
.II.1.3. Các chức năng dịch vụ cung cấp
Để có thể xác định các chức năng dịch vụ cần có, trước hết phải chỉ ra được các đối
tượng người dùng sẽ sử dụng dịch vụ, và phân loại theo các tiêu chí tùy theo ngữ
cảnh sử dụng dịch vụ.
II.1.3.1. Các lớp người dùng sử dụng dịch vụ 4ECloud
Căn cứ theo mục đích sử dụng, có thể phân loại người dùng sử dụng dịch vụ vào ba
lớp như sau:
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 19/92
• User: người dùng sử dụng website, phần mềm cho nhu cầu học Tiếng Anh;
• Admin: người quản trị dịch vụ, chịu trách nhiệm về nội dung lưu trữ trong
thành phần dịch vụ web;
• Developer: nhà phát triển, sử dụng thành phần dịch vụ web để xây dựng ứng
dụng.
II.1.3.2. Các chức năng nghiệp vụ
Phần này xác định các chức năng nghiệp vụ cơ bản mà dịch vụ 4ECloud cần xây
dựng để đáp ứng yêu cầu của từng lớp người dùng:
• Thành phần dịch vụ web là thành phần lõi của dịch vụ 4ECloud. Giao diện
chuẩn quy định các hàm chức năng của thành phần này được xác định dựa
trờn yờu cầu chức năng đối với thành phần ứng dụng khách hàng.
• Thành phần ứng dụng khách hàng bao gồm website và phần mềm cho di
động Android. Các chức năng nghiệp vụ thành phần này cần cung cấp:
o Học: Cho phép User thực hiện thao tác học Tiếng Anh, bao gồm:
Học từ vựng, dưới hình thức các bộ từ dạng flashcard; các bộ
từ phân loại theo đối tượng: sinh viên, trẻ em ở các lứa tuổi
khác nhau…
Học ngữ pháp Tiếng Anh theo các chủ đề;
o Kiểm tra: Cho phép User làm các bài kiểm tra Tiếng Anh dạng trắc
nghiệm, theo từng chủ đề hoặc tổng hợp.
o Nhật ký: Cho phép User theo dõi thông tin về quá trình học tập và
làm bài kiểm tra. Để có thể lưu trữ và theo dõi những thông tin này,
User cần đăng ký tài khoản trên website của dịch vụ 4ECloud.
• Bên cạnh đó, dịch vụ cũng cung cấp phần quản trị, cho phép Admin thực
hiện quản lý tài khoản người dùng, nội dung bài học và nội dung bài kiểm
tra.
• Thành phần dịch vụ web được cung cấp cho Developer, có thể sử dụng hoặc
tích hợp trong ứng dụng, theo hướng dẫn sử dụng chi tiết.
.II.2. Công việc cần thực hiện
Kế thừa kết quả của giai đoạn thực tập tốt nghiệp, phần dưới đây liệt kê chi tiết các
công việc cần thực hiện trong khuôn khổ ĐATN, nhằm xây dựng và triển khai dịch
vụ đám mây hỗ trợ học Tiếng Anh trực tuyến - 4ECloud:
• Công việc 1: Xây dựng website hỗ trợ học Tiếng Anh, trong đú tích hợp
thành phần dịch vụ web của dịch vụ 4ECloud.
• Công việc 2: Hoàn thiện các chức năng của phần mềm hỗ trợ học Tiếng Anh
cho điện thoại di động Android. Xây dựng chức năng Học từ vựng theo mô
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 20/92
hình bộ từ vựng tiện ích flash card, theo hướng thân thiện, trực quan, phù
hợp với nhiều phân lớp người dùng.
• Công việc 3: Thiết kế, xây dựng, triển khai các giải pháp bảo mật cho dịch
vụ 4ECloud, bao gồm kiểm soát quyền truy nhập và mã hóa thông tin;
• Công việc 4: Xây dựng bộ dữ liệu cho dịch vụ đám mây. Dữ liệu phải thực
tế, sát với yêu cầu của các chức năng dịch vụ cung cấp. Đồng thời, dữ liệu
cần đủ lớn để kiểm tra hiệu năng các thành phần của dịch vụ.
• Công việc 5: Tổng kết quá trình thực hiện đồ án, viết và nộp các báo cáo
theo thời hạn được Viện quy định.
.II.3. Cơ sở lý thuyết
Trong phần trước, giải pháp đề xuất cho dịch vụ 4ECloud đã nhắc đến một số khái
niệm và công nghệ tiên tiến, như kiến trúc hướng dịch vụ, dịch vụ web, nền tảng
tính toán đám mây Google App Engine
[10]
và mô hình flash card. Phần này tiếp tục
đi vào trình bày các nội dung liên quan, nhằm đưa ra cái nhìn chi tiết hơn về những
vấn đề nêu trên.
.II.3.1. Giới thiệu kiến trúc hướng dịch vụ (Service Oriented Architecture)
II.3.1.1. Khái niệm dịch vụ
Dịch vụ (service
[1]
) là khái niệm về một hệ thống có khả năng nhận và xử lý một
hoặc nhiều yêu cầu. Quá trình nhận yêu cầu và trả kết quả được thực hiện thông qua
các giao diện (interface
[1]
) đã được định nghĩa trước đó.
II.3.1.2. Kiến trúc hướng dịch vụ
Kiến trúc hướng dịch vụ (Service Oriented Architecture, SOA
[1]
) là khái niệm về hệ
thống trong đó mỗi ứng dụng được xem như một nguồn cung cấp dịch vụ. Trong
SOA, các dịch vụ giao tiếp với nhau sử dụng thông điệp (message
[1]
), dựa trờn cỏc
phương thức giao tiếp đã được chuẩn hóa (HTTP
[2]
, FTP
[2]
, SMTP
[2]
, ). Nhờ đặc
điểm này, hệ thống SOA trở nên độc lập với nền tảng, tức là các dịch vụ hoạt động
trờn cỏc nền tảng khác nhau vẫn có thể giao tiếp với nhau nhờ vào các giao diện
(interface) đã được chuẩn hóa.
II.3.1.3. Mô hình kiến trúc hướng dịch vụ
Hình 1 mô tả các tác nhân tham gia trong một hệ thống xây dựng theo SOA
• Bên cung cấp dịch vụ (Service Provider): Cung cấp các dịch vụ đáp ứng một
nhu cầu nào đó;
• Bên sử dụng dịch vụ (Service Requester): Ứng dụng phía khách hàng sử
dụng dịch vụ được cung cấp bởi Service Provider;
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 21/92
• Bờn môi giới dịch vụ (Service Broker): Nơi lưu trữ thông tin về dịch vụ của
các Service Provider khác nhau. Service Requester dựa trên những thông tin
này để tìm kiếm và lựa chọn Service Provider phù hợp.
Hình 1. Liên hệ giữa các tác nhân trong một hệ thống SOA
II.3.1.4. Một số kỹ thuật xây dựng ứng dụng theo SOA
Một số kỹ thuật có thể được sử dụng để xây dựng hệ thống theo kiến trúc SOA như:
Dịch vụ web (web service), CORBA
[1]
, DCOM
[1]
, J2EE
[1]
…Trong khuôn khổ
ĐATN, dịch vụ web được lựa chọn để xây dựng dịch vụ theo kiến trúc SOA.
.II.3.2. Giới thiệu tính toán đám mây (Cloud Computing)
II.3.2.1. Khái niệm
Mặc dù chưa có một định nghĩa chuẩn về tính toán đám mây (Cloud Computing
[2]
),
nhưng có thể hiểu tính toán đám mây là một hình ảnh ẩn dụ của mạng Internet. Sự
ra đời của mô hình tính toán đám mây xuất phát từ các vấn đề của phần mềm đóng
gói và việc quản trị phần cứng cho hệ thống có nhu cầu mở rộng:
• Vấn đề của phần mềm đóng gói: Đối với mạng nhiều máy tính, quá trình cài
đặt và nâng cấp phần mềm phải thực hiện lần lượt trên từng máy. Với tính
toán đám mây, khi sử dụng kiến trúc hướng dịch vụ, quá trình cập nhật phần
mềm chỉ cần thực hiện ở trung tâm cung cấp dịch vụ.
• Vấn đề phần cứng: Thay vì phải tự xây lắp và quản trị hệ thống với nhiều chi
phí, người dựng cú thể sử dụng dịch vụ này từ các nhà cung cấp.
II.3.2.2. Các dịch vụ cung cấp bởi tính toán đám mây
Theo thứ tự từ mức ứng dụng tới mức phần cứng vật lý, mô hình dịch vụ cung cấp
bởi tính toán đám mây gồm các thành phần chính:
a. Phần mềm dạng dịch vụ (Software as a Service, SaaS
[2]
): Là một mô hình
trong đó ứng dụng được triển khai dưới dạng dịch vụ và khách hàng có thể truy
nhập thông qua Internet. Bên cung cấp dịch vụ đảm nhận việc cập nhật và sửa
đổi, cũng như đảm bảo cho cơ sở hạ tầng của dịch vụ hoạt động ổn định.
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 22/92
b. Nền tảng dạng dịch vụ (Platform as a Service, PaaS
[2]
): PaaS là một mô hình
xây dựng và triển khai ứng dụng. Thông qua Internet, PaaS cung cấp tất cả tài
nguyên cần dùng để xây dựng ứng dụng và dịch vụ.
c. Phần cứng dạng dịch vụ (Hardware as a Service, HaaS
[2]
): HaaS là hình thức
cho thuê phần cứng, đôi khi được gọi là dịch vụ cơ sở hạ tầng (Infrastructure as
a Service, IaaS
[2]
). Cơ sở hạ tầng có thể dễ dàng mở rộng hoặc thu hẹp, tùy theo
nhu cầu của ứng dụng.
II.3.2.3. Các nhà cung cấp dịch vụ tính toán đám mây
Một số nhà cung cấp dịch vụ tớnh toán đám mây tiểu biểu có thể kể đến như:
• Amazon
[20]
: Là hãng đi tiên phong đưa dịch vụ đám mây ra thị trường. Một
số dịch vụ đám mây của hãng như: Elastic Compute Cloud EC2
[20]
, cho thuờ
máy chủ ảo và bộ xử lý; Simple Storage Service S3
[20]
, cho phép lưu trữ tới
5GB trong dịch vụ lưu trữ ảo của Amazon; …
• Google
[2]
: Khác với Amazon, trong dịch vụ đám mây Google App Engine
(GAE
[10]
), người dựng khụng thể thực hiện thao tác ghi một file lên đĩa cứng
của máy chủ. Để lưu trữ dữ liệu buộc phải dùng cơ sở dữ liệu của GAE.
GAE cung cấp công cụ hỗ trợ nhà phát triển xây dựng và triển khai ứng dụng
web trên dịch vụ đám mây GAE.
• Microsoft
[2]
: Giải pháp tính toán đám mây của Microsoft mang tên Windows
Azure
[12]
, là một hệ điều hành cho phép chạy ứng dụng Windows, sử dụng
trung tâm dữ liệu của Microsoft. Microsoft cũng cung cấp dịch vụ Azure
Service Platform
[12]
, cho phép nhà phát triển xây dựng và triển khai ứng dụng
trên nền tảng tính toán đám mây của Microsoft.
Trong ba nhà cung cấp trên, hiện tại chỉ có Google cho phép nhà phát triển đăng ký
tài khoản GAE miễn phí, để xây dựng và triển khai ứng dụng lên đám mây. Trong
điều kiện thời gian thực hiện ĐATN, tôi quyết định nghiên cứu để cài đặt và triển
khai thử nghiệm thành phần dịch vụ web của dịch vụ 4ECloud trên nền tảng đám
mây GAE.
.II.3.3. Mô hình flash card
Phần này trình bày khái niệm flash card và cỏc yờu cầu đối với chức năng học từ
vựng dạng flash card.
II.3.3.1. Khái niệm flash card
Flash card
[16]
là những tấm thẻ (card) chứa thông tin ở cả hai mặt. Thông tin có thể
là chữ, số; thường được sử dụng trong thảo luận hoặc tự học. Về nguyên tắc, flash
card được sử dụng rộng rãi như một cách thức để ghi nhớ, thông qua những nguyên
lý cơ bản của trí nhớ, về tần suất xuất hiện của sự vật theo thời gian hay cách mà sự
vật đó xuất hiện. Về hình thức, tấm card gồm hai mặt được ghi thông tin theo hình
thức câu hỏi và đáp án. Chớnh hỡnh thức này tạo nên hiệu quả khác biệt của flash
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 23/92
card so với các phương pháp ghi nhớ khác. Một cách đơn giản, có thể hình dung khi
người học đối diện với một từ flash card sẽ có cơ hội vận dụng trí nhớ nhiều hơn, so
với việc sử dụng từ điển, trong đó từ và nghĩa luôn đi kèm với nhau. Về ứng dụng,
flash card được dùng trong hầu hết các lĩnh vực như toán học, vật lý, lịch sử… Đặc
biệt đối với ngoại ngữ, flash card được sử dụng nhiều nhất để học từ vựng. Trong
dịch vụ 4ECloud, chức năng học từ vựng được tổ chức dưới dạng các bộ từ flash
card và được thiết kế thiết kế nhằm phù hợp với nhiều đối tượng người dùng.
II.3.3.2. Yêu cầu đối với chức năng học từ vựng dạng flash card
Phần mềm cho di động của dịch vụ 4ECloud hướng đến tin học húa cỏc bộ từ vựng
truyền thống. Nhờ đó, người dựng cú thể mang theo số lượng bộ từ không hạn chế
trong chiếc điện thoại di động của mình. Với chức năng phát âm từ, phần mềm sẽ
giúp người dùng học từ vựng dạng flash card hiệu quả và trực quan hơn rất nhiều,
so với bộ từ flash card trên giấy.
Mô hình flash card của phần mềm tập trung vào hai đối tượng sử dụng chính, là học
sinh sinh viên và trẻ em. Trong đó trẻ em được chia thành các lứa tuổi khác nhau.
Quá trình khảo sỏt đó chỉ ra nhu cầu của từng loại đối tượng kể trên đối với mô hình
flash card như sau:
• Học sinh sinh viên: sử dụng flash card chủ yếu cho mục đích học từ vựng,
giúp ghi nhớ từ và cụm từ, phục vụ ôn luyện cho các kỳ thi như TOEIC,
TOEFL. Các từ vựng loại này thuộc các thể loại đa dạng, nhiều từ thuộc
thuật ngữ chuyên ngành.
o Bố cục một từ flash card cần được tổ chức theo kiểu truyền thống,
gồm hai mặt, dạng câu hỏi và trả lời. Một mặt chứa từ, phiên âm; mặt
còn lại là từ loại, nghĩa, và các trường hợp sử dụng thường gặp đối
với từ đó…
o Yêu cầu đối với flash card loại này là thông tin cần cô đọng, nêu được
các trường hợp sử dụng nổi bật, thường gặp trong thực tế cũng như thi
cử.
• Trẻ em
o Trẻ em sử dụng flash card cho mục đích làm quen với cỏc khái niệm
về đồ vật, sự việc; với tinh thần học mà chơi, chơi mà học, không có
nhiều áp lực như việc học của đối tượng học sinh sinh viên. Cỏc phõn
loại cho mô hình flash card dưới đây căn cứ theo độ tuổi, phản ánh sự
phát triển tự nhiên trong khả năng nhận thức của trẻ.
o Đối với trẻ nhỏ chưa biết đọc (từ 1 đến 3 tuổi), chúng quan tâm nhiều
đến hình ảnh, âm thanh của sự vật. Lần đầu tiếp xúc với sự vật nào đó,
não bộ của trẻ tự động ghi nhớ hình ảnh của vật cùng với âm thanh
mà vật đó phát ra, hoặc do người lớn nói cho chúng. Về sau, khi gặp
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 24/92
lại hình ảnh hoặc âm thanh đú, nóo bộ thực hiện việc ánh xạ tương
ứng, giúp trẻ nhớ lại thành phần còn lại (âm thanh hoặc hình ảnh).
Như vậy, về nội dung, các bộ từ flash card dành cho trẻ ở độ tuổi này
cần tập trung vào chủ đề về con vật, đồ vật, sự vật; nhằm giúp trẻ làm
quen với chúng. Đồng thời, về hình thức, mỗi từ vựng cần có hình ảnh
minh họa và cách phát âm từ trong Tiếng Anh.
o Đối với trẻ đã biết đọc (từ 4 đến 5 tuổi), khả năng nhận biết từ ngữ
hình ảnh của chỳng đã tốt hơn, vốn từ Tiếng Việt đã tương đối lớn.
Do đó, đây là độ tuổi thích hợp nhất để tạo điều kiện cho trẻ bắt đầu
tiếp xúc với Tiếng Anh. Các bộ từ flash card dành cho trẻ ở độ tuổi
này, bên cạnh hình ảnh và cách phát âm, cần có thờm cỏc kớ tự biểu
diễn từ Tiếng Anh. Nội dung bộ từ loại này cũng nên tập trung vào
các loại đồ vật, con vật mà trẻ đã biết từ Tiếng Việt tương ứng. Khi đó
qua hình ảnh, trẻ sử dụng flash card sẽ rất dễ dàng ghi nhớ từ Tiếng
Anh.
o Đối với trẻ đã đi học (từ 6 tuổi trở lên), đó có khả năng đọc hiểu,
nhưng tâm lý vẫn thích sự vật nhiều hình ảnh, màu sắc. Do vậy, bộ từ
flash card cho trẻ ở độ tuổi này vẫn cần có hình ảnh, nhưng kèm theo
đó là những thông tin giải thích và ngữ cảnh sử dụng của từ. Nội dung
các bộ từ cần tập trung vào các chủ đề như diễn tả hành động, mô tả
tính chất hay trạng thái của sự vật. Về hình thức, mỗi từ có thể tổ chức
theo hai mặt tương tự bộ từ dành cho học sinh sinh viên, một mặt là
hình ảnh minh họa từ, một mặt là thông tin liên quan đến từ.
Tóm lại, phần cơ sở lý thuyết đã trình bày khái quát về kiến trúc hướng dịch vụ,
tính toán đám mây và khái niệm flash card. Trong đó tập trung vào những khía cạnh
được áp dụng cho dịch vụ 4ECloud. Phần tiếp theo trình bày về cỏc công cụ được
sử dụng để xây dựng dịch vụ.
.II.4. Giới thiệu các công cụ sử dụng xây dựng dịch vụ
Trong phần giải pháp đề xuất cho dịch vụ 4ECloud, có nhắc đến các công cụ được
sử dụng để xây dựng dịch vụ, như nền tảng tính toán đám mây Google App
Engine
[10]
, bộ công cụ lập trình cho điện thoại di động Android
[11]
và mô hình
Model-View-Controller (MVC)
[19]
cho lập trình website. Phần này đi vào giới thiệu
cỏc cụng cụ kể trên.
.II.4.1. Công cụ xây dựng thành phần dịch vụ web
Google App Engine (GAE
[10]
) được dùng để xây dựng và triển khai thành phần dịch
vụ web cho dịch vụ 4ECloud. Những nội dung trình bày về Google App Engine
dưới đây chủ yếu dựa trên tài liệu hướng dẫn phát triển ứng dụng từ trang chủ của
Google App Engine; đồng thời chỉ tập trung vào các thành phần được sử dụng trong
Sinh viên thực hiện: Nguyễn Văn Hiệp 20061208 Lớp CNPM K51 25/92