ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
*
NGUYỄN PHƢƠNG DŨNG KIẾN TRÚC HƢỚNG DỊCH VỤ VÀ ỨNG DỤNG
ĐIỆN TOÁN ĐÁM MÂY TRONG VIỆC QUẢN LÝ
BÁO ĐIỆN TỬ
LUẬN VĂN THẠC SĨ
HÀ NỘI 2014
LỜI CẢM ƠN
Trƣớc tiên tôi xin đƣợc bày tỏ sự trân trọng và lòng biết ơn đối với PGS.TS.
Nguyễn Văn Vỵ, Giảng viên Khoa Công nghệ thông tin - Trƣờng Đại học Công nghệ
- ĐHQGHN. Trong thời gian học tập và làm luận văn tốt nghiệp, thầy đã dành nhiều
thời gian quý báu, tận tình chỉ bảo và hƣớng dẫn tôi trong việc nghiên cứu, thực hiện
luận văn.
Tôi xin đƣợc cảm ơn các GS, TS, các thầy cô giáo đã giảng dạy tôi trong quá
trình học tập và làm luận văn. Các thầy cô đã giúp tôi hiểu sâu sắc và thấu đáo hơn
lĩnh vực mà mình nghiên cứu để có thể vận dụng các kiến thức đó một cách hiệu quả
nhất vào trong công tác của mình.
Xin cảm ơn các bạn bè, đồng nghiệp và nhất là các thành viên trong gia đình đã
tạo mọi điều kiện tốt nhất, giúp đỡ, động viên, ủng hộ và cổ vũ tôi trong suốt quá trình
học tập và nghiên cứu để hoàn thành tốt bản luận văn tốt nghiệp này.
Tác giả
Nguyễn Phƣơng Dũng
2
1.5 Các vấn đề còn tồn tại 18
1.6 Giải pháp 19
1.7 Công nghệ, công cụ và phƣơng pháp thực hiện 20
1.7.1 Công nghệ, công cụ thực hiện 20
1.7.2 Phƣơng pháp thực hiện 22
CHƢƠNG II – PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 24
2.1 Đặc tả hệ thống 24
2.1.1 Các chức năng nghiệp vụ của hệ thống 24
2.1.2 Các đối tƣợng nghiệp vụ 32
2.1.3 Các tác nhân nghiệp vụ 33
2.1.4 Biểu đồ miền lĩnh vực của hệ thống 34
2.1.5 Các tiến trình nghiệp vụ của hệ thống 35
2.1.6 Từ điển giải thích 35
2.2 Phát triển mô hình ca sử dụng 36
2.2.1 Xác định các ca sử dụng 36
2.2.2 Mô hình ca sử dụng mức gộp 36
2.2.3 Mô hình chi tiết các gói ca sử dụng 36
2.3 Phân tích ca sử dụng 46
2.3.1 Gói ca sử dụng Đăng ký tài khoản thuê bao hệ thống 46
2.3.2 Gói ca sử dụng Hiển thị báo điện tử trên hệ thống 49
2.3.3 Gói ca sử dụng Quản trị nội dung báo điện tử 52
4
2.4 Kiến trúc hệ thống vật lý 56
2.4.1 Thiết kế kiến trúc hệ thống vật lý mức tổng quan 56
2.4.2 Thiết kế kiến trúc hệ thống vật lý mức chi tiết 57
2.4.3 Quy trình hoạt động 59
2.4.4 Công cụ phát triển và môi trƣờng phát triển 60
Phụ lục 02: So sánh các PHP Framework hiện nay 88
Phụ lục 03: So sánh 3 CMS mã nguồn mở phổ biến và nổi tiếng nhất thế giới 89
Phụ lục 04: So sánh độ hiệu quả khi áp dụng Memcached, CloudFlare, Minify,
OpenVPN, quy trình xuất bản tin qua bƣớc duyệt và tổ chức sắp xếp ảnh thumb
(ảnh đại diện) trong hệ thống 90
6
MỞ ĐẦU
Ngày nay, sự phát triển nhanh chóng của CNTT và Internet cùng với sự phổ
biến của các loại điện thoại di động thông minh đã làm cho số lƣợng các tờ báo, trang
tin điện tử gia tăng không ngừng. Với lợi thế đƣa tin nhanh chóng, kịp thời đến ngƣời
đọc, báo điện tử giúp cho độc giả nắm bắt nhanh đƣợc thông tin, tình hình thực tế của
đời sống hàng ngày. Tuy nhiên, sự phát triển ồ ạt nhƣ vũ bão này đã kéo theo những
vấn đề đáng lo ngại về việc kiểm soát thông tin. Cụ thể là với số lƣợng tin bài đƣợc
cập nhật hàng giờ, thiếu đội ngũ BTV sẽ không tránh khỏi tình trạng xuất bản ẩu trên
một số báo điện tử. Vì lợi nhuận quảng cáo và mục đích tăng lƣợng ngƣời đọc, một số
trang báo sẵn sàng đua nhau đƣa tin trƣớc, tin giật gân, không kiểm chứng, tin sai sự
thật, câu khách rẻ tiền. Những bình luận của độc giả đối với bài viết không đƣợc kiểm
duyệt kỹ càng trƣớc khi đƣa lên. Không những thế, tình trạng một số báo triển khai hệ
thống chƣa tốt do thiếu kinh phí, không chú trọng, đầu tƣ về mặt kỹ thuật dẫn đến
trang báo bị treo, không truy cập đƣợc khi số lƣợng độc giả vào xem tin nhiều tại cùng
một thời điểm. Vấn đề bảo mật hệ thống cũng là một vấn đề đáng lo ngại khi một số
báo sử dụng mã nguồn mở CMS phổ biến trên mạng nhƣng đội ngũ phát triển lại
không hiểu rõ hoặc không làm chủ đƣợc mã nguồn mở này, thậm chí bê nguyên mã
nguồn mở vào trong việc phát triển hệ thống mà không thay đổi gì trong lõi hệ thống,
hầu nhƣ chỉ tùy biến giao diện, ngôn ngữ, thêm bớt module dẫn đến hệ thống bị hack,
bị đánh sập và bị tấn công từ chối dịch vụ (DDOS). Một số báo có quy trình xuất bản
tin đơn giản, không bảo mật. Tin bài không qua bƣớc duỵệt mà đƣợc xuất bản thẳng
chí. Không những thế, cơ chế bảo mật cũng đƣợc đƣa vào trong hệ thống giúp phân
quyền vai trò ngƣời dùng quản trị nội dung một cách hiệu quả. Ngoài ra, các giải pháp
cũng giúp cho hệ thống dễ dàng mở rộng, nâng cấp cũng nhƣ dễ tùy biến, sử dụng.
Khách hàng đƣợc cung cấp những module thực sự cần thiết trong quá trình sử dụng và
chỉ phải trả chi phí theo tháng cho các chức năng đã sử dụng.
Qua các yêu cầu thực tiễn và phạm vi đề tài nhƣ trên, kết quả đạt đƣợc của đề
tài này sẽ giúp cho các khách hàng có đƣợc một giải pháp toàn diện trong việc triển
khai hệ thống báo điện tử ổn định, hiệu quả cao nhƣng chi phí thấp và thời gian triển
khai nhanh. Song song với giải pháp đó là một hệ thống Báo điện tử trên nền điện toán
đám mây đã đƣợc vận hành trong thực tế, giúp khách hàng triển khai nhanh chóng
trang báo với chi phí tiết kiệm, hiệu quả và dễ sử dụng nhất.
Về mặt lý thuyết, đề tài này đƣa ra đƣợc các giải pháp bảo mật, kiểm soát
thông tin và các giải pháp cho khả năng chịu tải. Bên cạnh đó, việc sử dụng công nghệ
hƣớng đối tƣợng có sử dụng mẫu thiết kế nhằm giải quyết vấn đề nâng cấp, mở rộng
và ghép nối với các hệ thống bên ngoài đã làm cho hệ thống có tính mềm dẻo, dễ thay
đổi trong tƣơng lai. Về phƣơng diện thực tiễn, hệ thống Báo điện tử trên nền điện toán
đám mây triển khai trong thực tế không những đã giúp ích rất nhiều cho các khách
hàng trong việc tiết kiệm chi phí vận hành, thời gian triển khai nhanh nhƣng vẫn đảm
bảo an toàn, bảo mật mà còn giúp cho hệ thống chạy ổn định, khả năng chịu tải cao và
kiểm soát thông tin tốt.
Nội dung chính của luận văn gồm 3 chƣơng:
Chƣơng 1: Tổng quan về kiến trúc hƣớng dịch vụ, điện toán đám mây và báo
điện tử bên cạnh việc mô tả thực trạng phát triển báo điện tử hiện nay, các vấn đề còn
tồn tại trong thực tế và giải pháp xây dựng một hệ thống báo điện tử chạy nhanh,ổn
định và có tính bảo mật cao, kiểm soát thông tin tốt. Ngoài ra, chƣơng này cũng đề
cập đến các công nghệ, công cụ áp dụng trong luận văn và phƣơng pháp thực hiện.
8
Infrastructure as a Service
OOP
Object Oriented Programming
PaaS
Platform as a Service
PHP
Hypertext Preprocessor
SaaS
Software as a Service
SOA
Service Oriented Architecture
UML
Unified Modeling Language
VPN
Virtual Private Network
10
DANH MỤC HÌNH ẢNH
Hình 2.1: Biểu đồ miền lĩnh vực của hệ thống 34
Hình 2.2 : Biểu đồ hoạt động quy trình tổng quát nghiệp vụ của hệ thống báo điện tử 35
Hình 2.3: Mô hình ca sử dụng mức gộp của hệ thống 36
Hình 2.4: Mô hình chi tiết gói ca sử dụng đăng ký tài khoản thuê bao hệ thống mức khái quát
37
Hình 2.5: Mô hình chi tiết gói ca sử dụng hiển thị báo điện tử trên hệ thống mức khái quát . 39
Hình 2.6: Mô hình chi tiết gói ca sử dụng quản trị nội dung báo điện tử mức khái quát 43
Hình 2.7: Biểu đồ tuần tự ca sử dụng Đăng ký tài khoản mức hệ thống 46
Hình 2.8: Biểu đồ lớp phân tích ca sử dụng Đăng ký tài khoản 47
Hình 3.8: Minify các file JS và CSS 74
Hình 3.9: Giao diện trang đăng ký tài khoản thuê bao hệ thống 75
Hình 3.10: Giao diện trang Tùy chỉnh module của thuê bao hệ thống 76
Hình 3.11: Giao diện trang Tùy chỉnh giao diện của thuê bao hệ thống 76
Hình 3.12: Giao diện trang Quản lý thuê bao hệ thống 77
Hình 3.13: Giao diện trang Kiểm soát thuê bao hệ thống 78
Hình 3.14: Giao diện trang Báo điện tử của một thuê bao 79
Hình 3.15: Giao diện trang Báo điện tử của một thuê bao trên thiết bị di động 80
Hình 3.16: Giao diện trang Quản trị nội dung Báo điện tử của một thuê bao 81
Hình 3.17: Mức độ phổ biến của các PHP Framework 88
Hình 3.18: Hiệu quả tốc độ xử lý của các PHP Framework 88
12
DANH MỤC BẢNG BIỂU
Bảng 2.1: Bảng tổng hợp các chức năng nghiệp vụ của hệ thống 32
Bảng 2.2: Các đối tƣợng nghiệp vụ của hệ thống 33
Bảng 2.3: Các tác nhân nghiệp vụ của hệ thống 34
Bảng 2.4: Từ điển giải thích thuật ngữ 35
Bảng 2.5: Các luồng sự kiện chính của ca sử dụng đăng ký tài khoản 37
Bảng 2.6: Các luồng sự kiện chính của ca sử dụng đăng nhập 38
Bảng 2.7: Các luồng sự kiện chính của ca sử dụng cập nhật tài khoản thuê bao 39
Bảng 2.8: Các luồng sự kiện chính của ca sử dụng tùy chỉnh giao diện 40
Bảng 2.9: Các luồng sự kiện chính của ca sử dụng tùy chỉnh module 40
Bảng 2.10 : Các luồng sự kiện chính của ca sử dụng kiểm soát thuê bao 41
Bảng 2.11: Các luồng sự kiện chính của ca sử dụng hiển thị trang báo điện tử của một thuê
bao 42
Bảng 2.12: Các luồng sự kiện chính của ca sử dụng cập nhật chuyên mục 44
lắp ghép chúng lại với nhau thành một hệ thống vẫn đảm bảo đáp ứng đƣợc các yêu
cầu. Điều này giúp giảm thiểu chi phí trong quá trình phát triển.
Với tính chất kết nối lỏng lẻo: mỗi thành phần hoàn toàn độc lập với nhau giúp
cho hệ thống hết sức linh hoạt, ít xảy ra sự cố. Thậm chí nếu có sự cố thì hệ thống vẫn
có thể tiếp tục hoạt động trong khi có thành phần bị lỗi hoặc hƣ hỏng. Không những
thế, việc nâng cấp, bảo trì và mở rộng cũng trở nên dễ dàng hơn nhờ sự độc lập của
mỗi thành phần trong hệ thống.
Mỗi thành phần đƣợc đăng ký và cung cấp nhƣ một dịch vụ trên môi trƣờng
mạng nên ngƣời sử dụng dễ dàng tìm kiếm để sử dụng lại theo nhu cầu.
Theo (Josuttis, 2007) có ba thành phần chính trong kiến trúc hƣớng dịch vụ là:
Service Provider (Nhà cung cấp dịch vụ), Serive Consumer (Khách hàng sử dụng dịch
vụ) và Service Broker (Đăng ký dịch vụ) [3, tr. 235-236, tr. 248-250].
Service Provider là những ngƣời cung cấp các dịch vụ trên Internet cho những
ngƣời có nhu cầu sử dụng dịch vụ.
Serive Consumer là những khách hàng có nhu cầu sử dụng dịch vụ đƣợc cung
cấp trên mạng.
Service Broker là nơi đăng ký và lƣu trữ thông tin về các dịch vụ hiện có do
Service Provider cung cấp.
Service Provider đăng ký thông tin các dịch vụ của mình lên Service Broker.
Thông tin đăng ký thƣờng bao gồm các module, chức năng có thể cung cấp, khả năng
của hệ thống (tài nguyên, hiệu năng, giá cả dịch vụ, …). Sau khi các dịch vụ đã đƣợc
đăng ký, Serive Consumer hoàn toàn có thể vào tìm kiếm và xem các dịch vụ tùy theo
14
nhu cầu. Khi đã xác định đƣợc dịch vụ mong muốn, Service Consumer sẽ liên hệ trực
tiếp với Service Provider sở hữu dịch vụ đó để trao đổi và thƣơng lƣợng (giá cả, tài
nguyên sử dụng, …) rồi tiến tới thống nhất sử dụng dịch vụ.
Có hai phƣơng pháp chính để xây dựng một hệ thống SOA. Đó là Top-down và
15
Các máy chủ phân tán là các máy chủ đặt ở các vị trí khác nhau, cùng phục vụ
ứng dụng cho ngƣời sử dụng. Điều này giúp cho nhà cung cấp dịch vụ nhiều sự linh
hoạt hơn trong cấu hình và bảo mật. Cụ thể, khi một máy chủ gặp vấn đề thì hệ thống
đám mây cung cấp dịch vụ vẫn hoạt động tốt để cung cấp dịch vụ cho ngƣời sử dụng.
Khi cần nâng cấp, mở rộng, hệ thống có thể thêm vào các tài nguyên phần cứng, máy
chủ để đáp ứng mọi nhu cầu của ngƣời sử dụng dịch vụ.
Các dịch vụ điện toán đám mây thông thƣờng bao gồm ba cấu hình: IaaS, PaaS
và SaaS [8, tr. 88-96].
IaaS cho phép khách hàng sử dụng điện toán đám mây theo hình thức thuê bao
hạ tầng nhƣ một dịch vụ. Hạ tầng ở đây bao gồm các máy chủ, thiết bị kết nối, …
PaaS cho phép khách hàng sử dụng điện toán đám mây theo hình thức thuê bao
nền tảng nhƣ một dịch vụ. Nền tảng ở đây là các hệ điều hành (Windows, Linux, …)
hoặc các phần mềm trung gian (middleware), …
SaaS cho phép khách hàng sử dụng điện toán đám mây theo hình thức thuê bao
phần mềm nhƣ một dịch vụ. Phần mềm ở đây là các ứng dụng chạy trên Internet đƣợc
cung cấp cho khách hàng sử dụng dịch vụ trả phí theo thuê bao.
Bên cạnh những lơi ích trên, điện toán đám mây tồn tại một số hạn chế nhất là
vấn đề dữ liệu. Dữ liệu của khách hàng đặt hoàn toàn trên điện toán đám mây nên
khách hàng không cảm thấy yên tâm với những dữ liệu mang tính riêng tƣ, nhạy cảm.
Khi khách hàng ngừng sử dụng dịch vụ thì dữ liệu của khách hàng bị hủy bỏ hay đƣợc
sử dụng vào mục đích khác. Ngoài ra, khi đám mây bị tấn cộng, mọi dữ liệu của khách
hàng hoàn toàn có thể bị phá hủy hoặc bị chiếm dụng. Điều này đòi hỏi phải có một
cam kết và ràng buộc rõ ràng giữa nhà cung cấp dịch vụ điện toán đám mây và khách
hàng sử dụng dịch vụ [8, tr. 50-53, tr. 54-58].
1.3 Tổng quan về báo điện tử
Báo điện tử hay còn gọi là báo mạng điện tử cho phép độc giả đọc tin tức qua
triển nhanh chóng về mặt công nghệ cũng nhƣ sự hỗ trợ của các loại mã nguồn mở
CMS chia sẻ trên Internet. Bên cạnh các trang báo lớn uy tín nhƣ Dantri.com.vn,
VietNamNet, VnExpress, …, nhiều báo điện tử và trang tin điện tử khác đã ra đời “ồ
ạt” với mong muốn làm sao đƣa đƣợc tin tức nhanh nhất đến với ngƣời dùng (độc
giả). Chính vì thế, cuộc chạy đua săn tin bài giữa các phóng viên của các tờ báo ngày
càng gay gắt để trang chủ của tờ báo bên mình phải có tin nhanh nhất, thời sự nhất và
lƣợng tin bài cập nhật trong ngày càng phong phú nhất. Có nhƣ vậy, các trang báo mới
có đủ doanh thu quảng cáo để nuôi sống bộ máy vận hành và cập nhật nội dung.
Thông thƣờng, một trang tin hoặc báo điện tử cơ bản gồm có hai phần. Phần
hiển thị nội dung (Front-end) và phần Quản trị nội dung (Back-end). Quản trị nội dung
là phần quan trọng nhất bởi nơi đây tạo ra bài viết hiển thị trên trang để ngƣời đọc
xem. Biên tập viên sẽ là ngƣời tạo ra các bài viết dựa trên nguồn dữ liệu từ các Phóng
viên hoặc Cộng tác viên. Đôi khi cả Cộng tác viên cũng tham gia vào quá trình viết
bài. Việc hiển thị nội dung bài viết trên trang báo bao giờ cũng phải trải qua bƣớc xuất
bản trƣớc khi trang đƣợc đƣa đến với độc giả. Với các Tòa soạn lớn, quy trình xuất
bản này trải qua nhiều bƣớc hơn. Trƣớc khi đƣợc xuất bản, các tin bài phải trải qua
các bƣớc duyệt. Những ngƣời duyệt nội dung ở các bƣớc này thƣờng là Biên tập viên
và Thƣ ký Tòa soạn. Thƣ ký Tòa soạn là ngƣời duyệt cuối cùng trƣớc khi chuyển tin
bài cho Tổng biên tập. Tổng biên tập sẽ là ngƣời chịu trách nhiệm cao nhất cho việc
xuất bản tin bài lên trên web. Thỉnh thoảng, Tổng biên tập cũng ủy quyền cho Thƣ ký
17
Tòa soạn hoặc Biên tập viên đẩy bài trực tiếp lên trang mà không qua quá trình duyệt
nếu tin bài đó nóng và cần cập nhật nhanh. Bài viết sau khi đƣợc xuất bản sẽ hiển thị
trên báo để ngƣời đọc có thể xem đƣợc ngay lập tức.
Với sự chia sẻ, phổ biến và hỗ trợ của các loại mã nguồn mở CMS trên mạng
tại thời điểm hiện tại, việc phát triển một hệ thống báo điện tử trở nên dễ dàng hơn
bao giờ hết trong khi chi phí thấp. Mã nguồn mở hầu nhƣ đã hỗ trợ cơ bản đầy đủ các
đƣợc cập nhật hàng ngày, hàng giờ trong khi lại thiếu đội ngũ biên tập viên cẩn thận,
chất lƣợng sẽ không tránh khỏi tình trạng xuất bản ẩu trên một số báo. Vì lợi nhuận
18
quảng cáo và mục đích tăng lƣợng ngƣời đọc, một số trang tin và báo điện tử sẵn sàng
đua nhau đƣa tin trƣớc, tin giật gân, không kiểm chứng, tin sai sự thật, câu khách rẻ
tiền. Những bình luận của độc giả đối với bài viết không đƣợc kiểm duyệt kỹ càng
trƣớc khi đƣa lên. Không những thế, tình trạng một số báo triển khai hệ thống chƣa tốt
do thiếu kinh phí, không chú trọng, đầu tƣ về mặt kỹ thuật dẫn đến trang báo bị treo,
không truy cập đƣợc khi số lƣợng độc giả vào xem tin nhiều tại cùng một thời điểm.
Vấn đề bảo mật hệ thống cũng là một vấn đề đáng lo ngại khi một số báo sử dụng mã
nguồn mở CMS phổ biến trên mạng nhƣng đội ngũ phát triển lại không hiểu rõ hoặc
không làm chủ đƣợc mã nguồn mở này, thậm chí bê nguyên mã nguồn mở vào trong
việc phát triển hệ thống mà không thay đổi gì trong lõi hệ thống, hầu nhƣ chỉ tùy biến
giao diện, ngôn ngữ, thêm bớt module dẫn đến hệ thống bị hack, bị đánh sập và bị tấn
công từ chối dịch vụ (DDOS). Một số báo có quy trình xuất bản tin đơn giản, không
bảo mật. Tin bài không qua bƣớc duỵệt mà đƣợc xuất bản thẳng lên web.
1.5 Các vấn đề còn tồn tại
Căn cứ trên việc khảo sát hiện trạng phát triển báo điện tử hiện nay và đồng
thời căn cứ vào việc khảo sát sơ bộ một số giải pháp xây dựng trang tin, báo điện tử
của một số đơn vị đang triển khai trong thực tế (xem Phụ lục 01 và Phụ lục 02), có thể
nhận thấy rằng quy trình phát triển hệ thống báo điện tử hiện nay còn tồn tại một số
hạn chế và vấn đề bất cập chƣa đƣợc giải quyết hoặc đã giải quyết nhƣng chƣa triệt để
nhƣ sau:
o Thời gian triển khai hệ thống lâu nếu tự nghiên cứu và phát triển mã nguồn của
hệ thống. Nếu sử dụng mã nguồn mở thì thời gian triển khai có đƣợc rút ngắn
nhanh hơn nhƣng độ bảo mật không cao bởi mã nguồn mở đƣợc phát triển bởi
cộng đồng và đƣợc chia sẻ rộng rãi trên mạng. Ngoài ra, mã nguồn mở không
hiệu quả hệ thống mà vẫn tiết kiệm đƣợc chi phí
o Hệ thống phải có khả năng chịu tải cao nhờ cơ chế phân tải tốt khi số lƣợng
ngƣời dùng truy cập vào hệ thống tại cùng một thời điểm
o Hệ thống phải có cơ chế kiểm soát thông tin tốt nhờ việc phân quyền theo vai
trò ngƣời dùng. Tổng biên tập có quyền cao nhất trong quá trình xuất bản. Biên
tập viên có trách nhiệm viết bài và biên tập tin. Thƣ ký Tòa soạn kiểm duyệt
bài và biên tập lại trƣớc khi gửi đến Tổng biên tập
o Hệ thống phải đảm bảo an toàn dữ liệu và có độ bảo mật cao. Dữ liệu phải
đƣợc bảo mật kỹ càng đồng thời phải có cơ chế sao lƣu tốt và phục hồi nhanh
chóng khi xảy ra sự cố mất mát
Dƣới đây là một số giải pháp giải quyết một phần các vấn đề và hạn chế còn
tồn tại trên để có một hệ thống báo điện tử chi phi thấp nhƣng hiệu quả cao.
o Thiết kế hệ thống theo hƣớng dịch vụ, chia hệ thống thành nhiều khối chức
năng cung cấp cho ngƣời sử dụng nhƣ một dịch vụ. Việc thiết kế này giúp cho
ngƣời dùng sử dụng các dịch vụ theo nhu cầu, theo khả năng tài chính và theo
thực tế công việc. Ngƣời sử dụng chỉ phải trả chi phí thuê bao cho những gì
mình sử dụng. Việc thiết kế này cũng đảm bảo cho hệ thống dễ dàng mở rộng
trong tƣơng lai cũng nhƣ dễ ghép nối với các hệ thống khác
o Xây dựng hệ thống đăng ký tài khoản thuê bao sử dụng giúp ngƣời dùng sau
khi đăng ký có thể sử dụng ngay trang báo điện tử của riêng mình mà không
phải chờ đợi lâu. Hệ thống đăng ký tài khoản thuê bao có các chức năng tùy
chỉnh module, theo dõi tình trạng thuê bao và kiểm soát chi phí sử dụng
o Xây dựng hệ thống hiển thị và quản trị nội dung cho phép ngƣời sử dụng dễ
dàng tùy biến giao diện cũng nhƣ đăng tin lên web. Mỗi ngƣời dùng sẽ có một
trang báo của riêng mình với giao diện, nội dung và phần quản trị hoàn toàn
độc lập
20
UML là một ngôn ngữ mô hình thống nhất trong lĩnh vực Kỹ nghệ phần mềm.
Nó đƣợc thiết kế để cung cấp 1 chuẩn chung cho việc trực quan hóa thiết kế của 1 hệ
thống. Nó gồm các mô hình và các lƣợc đồ biểu diễn
4
.
Data Caching là cách lƣu trữ dữ liệu thƣờng xuyên truy vấn vào trong bộ nhớ
để lần sử dụng sau không cần phải truy vấn vào database nữa. Điều này giúp giảm tải
request đến máy chủ cơ sở dữ liệu. Memcached là công cụ lƣu trữ dữ liệu (dạng string
1
Theo
2
Theo
3
Theo
4
Theo
21
hoặc dạng object) trong bộ nhớ theo key - value. Dữ liệu đƣợc đƣa vào Memcached
thƣờng là các kết quả truy vấn dữ liệu, kết quả do API cung cấp hoặc HTML hiển thị
trên trang
5
.
CDN (Content Delivery Network) là một hệ thống lớn các máy chủ phân tán
đƣợc triển khai trong nhiều trung tâm dữ liệu trải khắp trên Internet. Mục đích của
CDN là phục vụ nội dung đến các ngƣời dùng cuối với độ hiệu quả và khả năng đáp
ứng cao
5
Theo
6
Theo
7
Theo
8
Theo
9
Theo
22
trong lĩnh vực Kỹ nghệ phần mềm
10
. Vì là dạng phần mềm Portable nên có thể sử
dụng luôn mà không cần phải cài đặt.
1.7.2 Phƣơng pháp thực hiện
Bƣớc đầu tiên của việc xây dựng và phát triển hệ thống báo điện tử là sử dụng
UML để phân tích và thiết kế hệ thống theo hƣớng đối tƣợng. Trong quá trình phân
tích và thiết kế, để tạo ra các biểu đồ UML nhằm đặc tả các quy trình, mô hình nghiệp
vụ của hệ thống, tôi dùng công cụ Software Ideas Modeler Portable. Đây là công cụ
hoàn toàn miễn phí, dễ sử dụng và không cần phải cài đặt.
Sau khi hệ thống đã đƣợc phân tích và thiết kế xong, tôi bắt đầu tiến hành cài
đặt môi trƣờng phát triển và tạo cơ sở dữ liệu cho báo. Việc đầu tiên là phải đăng ký
và xây dựng một hệ thống máy chủ điện toán đám mây có khả năng tùy biến cao, dễ
nâng cấp và cài đặt cũng nhƣ thêm bớt ổ cứng, dung lƣợng bộ nhớ, … Trên máy chủ
điện toán đám mây đó, tôi bắt đầu từng bƣớc tiến hành cài đặt máy chủ web Apache,
PHP và MySQL, Memcached, CloudFlare và cuối cùng là OpenVPN.