Tải bản đầy đủ (.pdf) (92 trang)

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ử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.4 MB, 92 trang )


ĐẠ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








ĐẠ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Ử

Ngành: CÔNG NGHỆ THÔNG TIN
Chuyên ngành: KỸ THUẬT PHẦN MỀM
Mã số: 60480103

LUẬN VĂN THẠC SĨ

Người hướng dẫn khoa học
PGS.TS. NGUYỄN VĂN VỴ




HÀ NỘI 2014


1




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




LỜI CAM ĐOAN
Tôi xin cam đoan rằng, đây là công trình nghiên cứu của tôi trong đó có sự giúp
đỡ rất lớn của thầy hƣớng dẫn và các đồng nghiệp ở cơ quan. Các nội dung nghiên
cứu và kết quả trong đề tài này là hoàn toàn trung thực.
Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả đã đƣợc
liệt kê tại phần Tài liệu tham khảo ở cuối luận văn.

Hà Nội, ngày……tháng……năm 2014
Tác giả




Nguyễn Phƣơng Dũng
3



MỤC LỤC
LỜI CAM ĐOAN 2
BẢNG CÁC CHỮ VIẾT TẮT 9
DANH MỤC HÌNH ẢNH 10
DANH MỤC BẢNG BIỂU 12
CHƢƠNG I – MÔ TẢ BÀI TOÁN VÀ GIẢI PHÁP 13
1.1 Tổng quan về kiến trúc hƣớng dịch vụ 13
1.2 Tổng quan về điện toán đám mây 14
1.3 Tổng quan về báo điện tử 15
1.4 Thực trạng phát triển báo điện tử hiện nay 16

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

2.5 Thiết kế hệ thống báo điện tử ứng dụng điện toán đám mây 60
2.5.1 Biểu đồ lớp thiết kế của hệ thống 60
2.5.2 Xác định các gói thiết kế 62
2.5.3 Thiết kế cho từng ca sử dụng 63
CHƢƠNG III – CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG 68
3.1 Kiến trúc logic hệ thống mức tổng quan 68
3.2 Kiến trúc logic hệ thống mức chi tiết 69
3.2.1 Kiến trúc logic hệ thống máy chủ Cache 69
3.2.2 Kiến trúc logic hệ thống CDN 70
3.2.3 Kiến trúc logic hệ thống VPN 71
3.3 Cài đặt hệ thống 71
3.3.1 Môi trƣờng, công nghệ và công cụ phát triển 71
3.3.2 Phát triển các khối chức năng 72
3.3.3 Tổ chức lƣu trữ ảnh trên server 73
3.3.4 Áp dụng Memcached trong viết code phát triển hệ thống 73
3.3.5 Áp dụng Minify cho các file JS, CSS trong phát triển hệ thống 74
3.4 Kết quả thực hiện 74
KẾT LUẬN 82
Những kết quả đạt đƣợc 82
- Về mặt lý thuyết 82
- Về mặt ứng dụng 82
Những hạn chế và tồn tại 83
Hƣớng tiếp tục nghiên cứu 83
TÀI LIỆU THAM KHẢO 84
PHỤ LỤC 85
Phụ lục 01: Khảo sát một số hệ thống báo điện tử trên Internet hiện nay 85
5




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

lên web.
Trƣớc thực trạng đó, cũng có nhiều giải pháp đƣợc đƣa ra nhằm giải quyết các
vấn đề tồn tại này. Có giải pháp sử dụng mã nguồn mở trong việc phát triển. Ƣu điểm
của giải pháp này là thời gian phát triển nhanh nhƣng nhƣợc điểm là độ bảo mật
không cao. Có giải pháp tự phát triển hoàn toàn mã nguồn. Nhƣợc điểm là tốn thời
gian nghiên cứu phát triển nhƣng bù lại là có thể kiểm soát đƣợc mã nguồn và độ bảo
mật. Cũng có giải pháp là đƣa hệ thống lên trên hạ tầng điện toán đám mây để nhằm
tận dụng sức mạnh của công nghệ này về mặt tốc độ. Về cơ bản, mỗi giải pháp đều có
mặt mạnh, mặt yếu và các giải pháp này cũng đã phần nào giải quyết đƣợc vấn đề.
Tuy nhiên, các giải pháp vẫn còn tồn tại những mặt hạn chế và việc giải quyết vấn đề
chƣa hoàn toàn triệt để.
Đứng trƣớc bối cảnh này, nhu cầu cấp thiết hiện nay đòi hỏi cần phải có một hệ
thống báo điện tử không những có khả năng chịu tải cao, khả năng kiểm soát thông tin
tốt, độ bảo mật cao mà còn phải thỏa mãn vấn đề chi phí thấp và thời gian triển khai
nhanh. Cùng với sự phổ biến của kiến trúc hƣớng dịch vụ và sự phát triển của điện
toán đám mây (ĐTĐM), qua tình hình triển khai thực tế tại công ty Netlink, một công
ty có nhiều năm kinh nghiệm trong việc xây dựng và vận hành các trang tin, báo điện
7



tử cho nhiều đơn vị truyền thông, báo chí trong nƣớc, đề tài “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ử” ra đời để nhằm giải
quyết các vấn đề đang tồn tại này
Đề tài này tập trung vào nghiên cứu các giải pháp kỹ thuật để xây dựng hệ
thống Báo điện tử dựa trên kiến trúc hƣớng dịch vụ và ứng dụng điện toán đám mây.
Các giải pháp này đảm bảo cho hệ thống có khả năng chịu tải cao nhất là khi có nhiều
ngƣời truy cập vào tại cùng một thời điểm. Bên cạnh đó, hệ thống còn cung cấp chức
năng kiểm soát thông tin tốt. Mọi thông tin đƣợc đẩy lên trang báo đều qua các bƣớc
kiểm duyệt nghiêm ngặt. Quy trình xuất bản tin chặt chẽ, đúng yêu cầu nghiệp vụ báo

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




Chƣơng 2: Thực hiện phân tích và thiết kế hệ thống theo hƣớng đối tƣợng, có sử
dụng mẫu thiết kế và kiến trúc hƣớng dịch vụ trong quá trình thiết kế.
Chƣơng 3: Tiến hành cài đặt chƣơng trình thử nghiệm đồng thời giới thiệu cấu
trúc, chức năng và cách thức hoạt động cũng nhƣ cách sử dụng khai thác, vận hành hệ
thống báo điện tử trên nền điện toán đám mây.
Cuối cùng là kết luận và hƣớng phát triển tiếp theo của đề tài trong tƣơng lai.
9



BẢNG CÁC CHỮ VIẾT TẮT
Tên viết tắt
Ý nghĩa đầy đủ
CDN
Content Delivery Network
CMS
Content Management System
CNTT
Công nghệ thông tin
CSDL
Cơ sở dữ liệu
CSS
Cascading Style Sheets
DDNS
Dynamic Domain Name System
DDOS
Distributed denial of service
HTML
HyperText Markup Language
IaaS

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 2.9: Biểu đồ tuần tự ca sử dụng Đăng ký tài khoản mức khái niệm 48
Hình 2.10: Thiết kế giao diện ca sử dụng Đăng ký tài khoản 49
Hình 2.11: Biểu đồ tuần tự ca sử dụng Kiểm soát thuê bao 50
Hình 2.12: Biểu đồ lớp phân tích ca sử dụng Kiểm soát thuê bao 51
Hình 2.13: Biểu đồ tuần tự ca sử dụng Kiểm soát thuê bao mức khái niệm 51
Hình 2.14: Thiết kế giao diện ca sử dụng Kiểm soát thuê bao 52
Hình 2.15: Biểu đồ tuần tự ca sử dụng Xuất bản bài viết mức hệ thống 52
Hình 2.16: Biểu đồ lớp phân tích ca sử dụng Xuất bản bài viết 53
Hình 2.17: Biểu đồ tuần tự ca sử dụng Xuất bản bài viết mức khái niệm 54
Hình 2.18: Thiết kế giao diện ca sử dụng Xuất bản bài viết 55
Hình 2.19: Kiến trúc hệ thống vật lý của ứng dụng 56
Hình 2.20: Kiến trúc hệ thống máy chủ Cache 57
Hình 2.23: Biểu đồ lớp thiết kế của hệ thống 61
Hình 2.24: Sơ đồ thiết kế ca sử dụng Đăng ký tài khoản 63
Hình 2.25: Biểu đồ lớp thiết kế ca sử dụng Đăng ký tài khoản 64
Hình 2.26: Sơ đồ thiết kế ca sử dụng Kiểm soát thuê bao 65
Hình 2.27: Biểu đồ lớp thiết kế ca sử dụng Kiểm soát thuê bao 65
Hình 2.28: Sơ đồ thiết kế ca sử dụng Xuất bản bài viết 66
Hình 2.29: Biểu đồ lớp thiết kế ca sử dụng Xuất bản bài viết 67
Hình 3.1: Kiến trúc logic hệ thống báo điện tử 68
Hình 3.2: Data Caching áp dụng cho hệ thống 69
Hình 3.3: Kiến trúc CDN áp dụng cho hệ thống 70
Hình 3.4: Kiến trúc VPN áp dụng cho hệ thống 71
Hình 3.5: Mã nguồn các khối chức năng trong hệ thống 72
Hình 3.6: Tổ chức lƣu trữ ảnh trên server 73
Hình 3.7: Viết code áp dụng Memcached 73
11




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

Bảng 2.13: Các luồng sự kiện chính của ca sử dụng cập nhật bài viết 44
Bảng 2.14: Các luồng sự kiện chính của ca sử dụng duyệt bài viết 44
Bảng 2.15: Các luồng sự kiện chính của ca sử dụng xuất bản bài viết 45
Bảng 2.16: Các luồng sự kiện chính của ca sử dụng duyệt bình luận 46
Bảng 2.17: Các gói thiết kế của hệ thống 62
Bảng 2.18: Các lớp tham gia thực thi ca sử dụng Đăng ký tài khoản 63
Bảng 2.19: Các lớp tham gia thực thi ca sử dụng Kiểm soát thuê bao 64
Bảng 2.20: Các lớp tham gia thực thi ca sử dụng Xuất bản bài viết 66
Bảng 3.1: Bảng khảo sát 15 trang tin, báo điện tử hiện nay 86
Bảng 3.2: So sánh 3 CMS mã nguồn mở phổ biến và nổi tiếng nhất thế giới 89
Bảng 3.3: 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

13



CHƢƠNG I – MÔ TẢ BÀI TOÁN VÀ GIẢI PHÁP
1.1 Tổng quan về kiến trúc hƣớng dịch vụ
Hiện nay, sự thay đổi nhanh chóng về mặt công nghệ đã dẫn đến các hệ thống
đƣợc phát triển với nhiều nền tảng và kiến trúc khác nhau. Việc tƣơng tác, giao tiếp
giữa các hệ thống này hoàn toàn phức tạp và không hề đơn giản bởi sự không đồng
nhất giữa các nền tảng, không có một chuẩn giao tiếp chung giữa các hệ thống.
Kiến trúc hƣớng dịch vụ (SOA) là một phƣơng pháp tích hợp các module, hệ
thống phần mềm khác nhau chạy trên các nền tảng khác nhau hoặc có môi trƣờng giao
tiếp không đồng nhất thành một hệ thống hoàn chỉnh phục vụ ngƣời dùng dƣới dạng
các dịch vụ. Mỗi module hoặc hệ thống phần mềm là một dịch vụ độc lập giao tiếp với
nhau qua thông điệp đã đƣợc chuẩn hóa. Thay vì phải xây dựng hệ thống mới từ đầu,
nhà phát triển có thể tận dụng những module chức năng, hệ thống sẵn có để tích hợp,

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à

Bottom-up [3, tr. 289].
Top-down là cách xây dựng từ đầu hệ thống theo mô hình SOA. Xuất phát
điểm là các yêu cầu nghiệp vụ. Tiếp đến là xác định các các yêu cầu chức năng, các
tiến trình nghiệp vụ cũng nhƣ các tiến trình con và các ca sử dụng. Cuối cùng là xác
định các thành phần, các dịch vụ của hệ thống. Ƣu điểm của cách tiếp cận này là dễ
dàng kiểm soát và tối ƣu hệ thống tuy nhiên lại tốn thời gian, nhân lực và chi phí.
Bottom-up là cách xây dựng hệ thống dựa trên các module chức năng, hệ thống
sẵn có. Cách tiếp cận này hƣớng tới việc tái sử dụng lại các thành phần trong việc xây
dựng các dịch vụ mới. Việc này giúp cho thời gian phát triển và triển khai nhanh hơn
tuy nhiên lại không thể tự do chỉnh sửa và thay đổi theo ý muốn.
1.2 Tổng quan về điện toán đám mây
Điện toán đám mây là một mô hình mà mọi thông tin đều đƣợc lƣu trữ, tính
toán và xử lý trong các máy chủ đặt trên Internet. Ngƣời sử dụng hoàn toàn không cần
hiểu biết nhiều về mặt công nghệ, kỹ thuật mà vẫn có thể truy cập và sử dụng các ứng
dụng trên đám mây một cách dễ dàng, chỉ cần có Internet.
Với khả năng lƣu trữ lớn, tốc độ xử lý, tính toán nhanh do có nhiều máy chủ
mạnh, cấu hình cao nên điện toán đám mây rất thích hợp cho các ứng dụng lớn, yêu
cầu hiệu quả về tốc độ, lƣu trữ dữ liệu. Bên cạnh đó, cùng với việc cho phép khách
hàng truy cập hệ thống từ bất kỳ nơi nào hoặc bằng bất kỳ thiết bị gì, điện toán đám
mây khi triển khai sẽ tiếp cận đƣợc với nhiều ngƣời dùng hơn. Khi số lƣợng ngƣời
dùng càng nhiều thì giá thành cũng nhƣ chi phí sử dụng thấp do các tài nguyên hệ
thống đều đƣợc chia sẻ và tận dụng, tránh lãng phí một cách đáng kể.
Điện toán đám mây gồm có các thành phần chính nhƣ sau: Clients, Datacenter
và Các máy chủ phân tán. Mỗi thành phần có mục đích và vai trò riêng.
Clients thông thƣờng là các máy tính của ngƣời dùng. Chúng cũng có thể là các
laptop, máy tính bảng, điện thoại di động, … Tóm lại, Clients là các thiết bị mà ngƣời
dùng cuối sử dụng để giao tiếp, tƣơng tác và sử dụng thông tin của họ trên đám mây.
Datacenter là tập hợp các máy chủ chứa các ứng dụng của ngƣời thuê bao. Các
máy chủ trong datacenter có thể đƣợc ảo hóa. Điều này cho phép ngƣời thuê bao sử
dụng cùng lúc nhiều máy chủ ảo trên một máy chủ vật lý.

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

Internet. Ngƣời đọc chỉ cần có kết nối Internet là có thể xem tin tức đời sống, xã hội
và mọi lĩnh vực trên toàn thế giới.
“Báo mạng điện tử là kết quả của sự tích hợp giữa công nghệ, Internet và ƣu
thế của các loại hình báo truyền thống đã tạo ra bƣớc ngoặc, làm thay đổi cách truyền
tin và tiếp nhận thông tin” [1].
Với việc tích hợp đa phƣơng tiện nhƣ âm thanh, hình ảnh, video, … trên trang
báo, báo điện tử đã tạo nên sự hấp dẫn đối với ngƣời đọc. “Đa phƣơng tiện trên báo
mạng điện tử là việc sử dụng nhiều loại phƣơng tiện (ngôn ngữ văn tự và phi văn tự)
để thực hiện một sản phẩm báo chí” [1]. Đây chính là ƣu điểm vƣợt trội của báo điện
16



tử so với các loại hình báo chí khác. “Những thông tin bằng văn bản, hình ảnh, âm
thanh cùng xuất hiện trên trang chủ của báo điện tử luôn tạo ra sự hấp dẫn, sống động
đặc biệt đối với công chúng.” [1].
Bên cạnh đó, sự tƣơng tác cao đối với độc giả và luôn có mục phản hồi trên
trang báo đã giúp cho độc giả dễ dàng đóng góp ý kiến của mình đối với tờ báo cũng
nhƣ đối với tòa soạn. Khả năng lƣu trữ không giới hạn tin bài cùng với việc tìm kiếm
tin tức dễ dàng tạo thuận lợi cho ngƣời đọc tìm những bài viết mình thích và quan
tâm. Ngƣời đọc có thể tìm bài viết theo ngày, tháng, năm hoặc theo chủ đề mong
muốn.
Ngoài ra, nhờ sự phổ biến rộng rãi của Internet, báo điện tử không bị giới hạn
về khoảng cách và tiếp cận đƣợc với rất nhiều độc giả trên khắp mọi nơi.
Tuy nhiện, bên cạnh những ƣu điểm nổi trội hơn so với báo giấy, báo điện tử
còn có một vài hạn chế, đặc biệt là độ tin cậy, tính xác thực của thông tin, bài viết trên
trang báo. Thông tin nhiều khi không đƣợc kiểm duyệt chặt chẽ, đƣa tin giật gân, chạy
theo lợi nhuận và thị hiếu của độc giả.
1.4 Thực trạng phát triển báo điện tử hiện nay
Hiện nay, báo điện tử ngày càng phát triển mạnh mẽ về số lƣợng bởi sự phát

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

tính năng thông thƣờng của một hệ quản trị nội dung. Do đó, rất thích hợp cho các
trang tin và báo bởi vì mọi dữ liệu hiển thị trên báo đều là nội dung. Ngƣời phát triển
khi xây dựng hệ thống chỉ cần tùy biến đi chút ít cho phù hợp với yêu cầu là có thể sử
dụng ngay trang báo một cách nhanh chóng mà không phải tốn chi phí nhân lực
nghiên cứu và phát triển từ đầu. Có thể kể đến các mã nguồn mở quản trị nội dung phổ
biến hiện nay nhƣ Joomla, Wordpress, Drupal, … Ở Việt Nam, mã nguồn mở
NukeViet cũng rất đƣợc mọi ngƣời ƣa chuộng và sử dụng phổ biến.
Các công ty lớn thƣờng không sử dụng mã nguồn mở bởi lý do bảo mật. Họ có
đội ngũ và bộ phận riêng để nghiên cứu và phát triển từ đầu hệ thống. Tuy nhiên, việc
này sẽ khiến cho chi phí bỏ ra lớn, thời gian phát triển hệ thống lâu hơn trong khi hệ
thống càng triển khai sớm càng có lợi trong bối cảnh thông tin cần đƣợc đƣa nhanh
nhất và kịp thời đến độc giả. Nhƣng bù lại, vấn đề bảo mật đƣợc kiểm soát kỹ càng
hơn so với khi sử dụng mã nguồn mở bởi toàn bộ mã code đƣợc bảo mật tuyệt đối chứ
không chia sẻ rộng rãi nhƣ mã nguồn mở. Có thể kể đến một số trang tin, báo điện tử
đang chạy thực tế nhƣ là: Tinmoi.vn, Doisongphapluat.com, Nguoiduatin.vn, … Bên
cạnh đó, một số công ty còn nghiên cứu các giải pháp báo điện tử trên nền điện toán
đám mây. Tuy nhiên, số lƣợng các giải pháp này là rất ít. Có thể kể đến Tòa soạn điện
tử VINA DESIGN.
Các nội dung trên trang báo hoặc trang tin điện tử thƣờng đƣợc hiển thị trên
web qua Internet hoặc hiển thị trên các thiết bị di động, máy tính bảng, … Tại cùng
một thời điểm, sẽ có một lƣợng lớn ngƣời dùng vào xem tin nếu nội dung tin đó hay
và hấp dẫn. Không những thế, số lƣợng tin bài rất lớn, tăng theo từng ngày đòi hỏi hệ
thống phải xử lý một khối lƣợng thông tin rất lớn mà vẫn phải đảm bảo độ ổn định
hoạt động. Trong thời gian tin đƣợc đăng trên trang web, ban quản trị nội dung hoàn
toàn có thể gỡ tin xuống bất cứ lúc nào nếu là tin bài nhạy cảm, xuyên tạc, tuyên
truyền hoặc phản động. Tin sau khi đƣợc gỡ xuống có thể không bao giờ xuất bản trở
lại nữa hoặc đƣợc chỉnh sửa cho phù hợp trƣớc khi xuất bản lại.
Thực tế hiện nay cho thấy, ngoài các tờ báo điện tử chính thống, uy tín đƣa tin
bài sâu sắc, chất lƣợng thì hầu hết các trang báo đều chạy theo xu hƣớng đƣa tin càng
nhanh, càng nhiều, càng giật gân, càng dễ câu khách càng tốt. Với số lƣợng tin bài

đƣợ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

đáp ứng đƣợc một số đặc thù của nghiệp vụ báo chí bên cạnh việc phải việt hóa
để sử dụng bởi mã nguồn mở hầu hết do nƣớc ngoài phát triển (xem thêm Phụ
lục 03).
o Chi phí triển khai lớn, không thích hợp với các công ty nhỏ hoặc các nhà đầu tƣ
vốn ít, không có cơ sở hạ tầng kỹ thuật
o Khả năng chịu tải của hệ thống chƣa tốt khi có nhiều độc giả cùng truy cập vào
trang tin, báo điện tử tại cùng một thời điểm hoặc khi số lƣợng tin bài trở nên
quá lớn do phải lƣu trữ các dữ liệu của những năm về trƣớc
o Cơ chế kiểm soát thông tin chƣa chặt chẽ và chƣa tuân theo đúng quy trình xuất
bản. Các tin bài trƣớc khi xuất bản không qua bƣớc kiểm duyệt hoặc đƣợc kiểm
duyệt một cách sơ sài, qua loa. Hệ thống chƣa có chức năng chuyển bài viết bị
hạ xuống về đúng tác giả ban đầu để sửa đổi lại nội dung cũng nhƣ chức năng
theo dõi lịch sử bài viết
o Độ an toàn dữ liệu trên hệ thống không cao. Chƣa có cơ chế sao lƣu và phục
hồi tốt dữ liệu khi xảy ra mất mát, hỏng hóc dữ liệu trên hệ thống
19



o Độ bảo mật chƣa cao hoặc chƣa có giải pháp bảo mật tốt dẫn đến nguy cơ hệ
thống bị tấn công, bị hack
1.6 Giải pháp
Căn cứ trên những khó khăn, hạn chế còn tồn tại thông qua việc khảo sát hiện
trạng phát triển báo điện tử và 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ị đã đƣợc áp dụng triển khai hiện nay
trong thực tế, vấn đề đặt ra là cần phải có một hệ thống báo điện tử đáp ứng đƣợc các
tiêu chí sau đây:
o Thời gian triển khai hệ thống nhanh chóng để có thể kịp thời đƣa vào thực tế
phục vụ ngay cho độc giả
o Chi phí triển khai hệ thống vừa phải và hợp lý để đảm bảo làm sao vận hành

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




o Thiết kế và triển khai các giải pháp phân tải giúp cho hệ thống chạy nhanh và
ổn định khi có lƣợng truy cập lớn, nhất là trong cùng một thời điểm. Cụ thể là
sử dụng Data Caching để giảm tải việc truy cập trực tiếp quá nhiều vào hệ
thống. Sử dụng CDN giúp hệ thống load nhanh hơn
o Xây dựng cơ chế sao lƣu dữ liệu định kỳ. Dữ liệu của mỗi tài khoản cũng nhƣ
của cả hệ thống đƣợc lƣu trữ thành nhiều bản sao hàng ngày hàng giờ trên
nhiều máy chủ lƣu trữ để đảm bảo rằng dữ liệu có thể phục hồi nhanh chóng
khi mất mát
o Xây dựng cơ chế kiểm soát thông tin chặt chẽ nhờ phân quyền theo vai trò
ngƣời dùng bên cạnh việc áp dụng quy trình xuất bản tin theo nhiều bƣớc chặt
chẽ,có kiểm duyệt
o Áp dụng các giải pháp bảo mật cao cho hệ thống nhƣ là OpenVPN giúp cho
ngƣời quản trị nội dung yên tâm đăng nhập vào hệ thống để quản trị nội dung
mà không lo mất tài khoản và lộ mật khẩu.
1.7 Công nghệ, công cụ và phƣơng pháp thực hiện
1.7.1 Công nghệ, công cụ thực hiện
PHP là một ngôn ngữ kịch bản phổ biến để phát triển web. Với đặc điểm là
nhanh, linh hoạt và thực tế, PHP giúp cho site phổ biến nhất trên thế giới.
1

MySQL là một máy chủ cơ sở dữ liệu quan hệ có tính linh hoạt, mạnh mẽ, hỗ
trợ đánh chỉ mục và tìm kiếm full-text, hỗ trợ cache truy vấn, phân tán dữ liệu và bảo
mật [2 tr. 477-480].
Apache là một phần mềm máy chủ web (web server) đƣợc sử dụng rộng rãi
nhất trên thế giới
2
. Chức năng chính của Apache là lƣu trữ, xử lý và hiển thị các trang
web cho ngƣời dùng
3
.

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

6
.
CloudFlare là một dịch vụ bảo vệ và tăng tốc bất cứ website trực tuyến nào.
Mỗi website trong hệ thống CloudFlare đều có web traffic đƣợc hệ thống mạng thông
minh toàn cầu của CloudFlare điều hƣớng và xử lý. CloudFlare tự động tối ƣu việc
hiển thị trang web đến ngƣời dùng để trang load nhanh hơn và đặt hiệu quả tốt nhất.
Không những thế, nó còn ngăn chặn các mối đe dọa, các cuộc tấn công từ bên ngoài
gây nghẽn băng thông giúp site chạy một cách an toàn
7
.
OpenVPN là một trong những công cụ phổ biến nhất trên thế giới cho việc thiết
lập một mạng riêng ảo (VPN). OpenVPN cung cấp một dạng VPN mở rộng đƣợc thiết
kế để phân phối các gói cài đặt tùy biến cho ngƣời dùng hoặc hỗ trợ các phƣơng thức
xác thực qua giao diện module plugin của OpenVPN. OpenVPN đƣợc sử dụng rộng
rãi bởi nhiều cá nhân, các công ty và một vài nhà cung cấp dịch vụ. [4 tr. 1]
NuSphere PhpED là một môi trƣờng phát triển tích hợp (IDE) dành cho PHP,
HTML, CSS, XML, Smarty, XHML. Với các tính năng gỡ rối tốt, là bộ soạn thảo
code cao cấp cùng với việc triển khai nhanh và bảo mật, PhpED là một giải pháp
hoàn chỉnh cho nhu cầu phát triển phức tạp nhất
8
.
CodeIgniter Framework là một framework phát triển ứng dụng cho tất cả
những nhà phát triển xây dựng website sử dụng PHP. Mục đích của nó là cho phép
nhà phát triển viết code dự án nhanh hơn bằng việc cung cấp một tập các thƣ viện
phong phú cũng nhƣ giao diện và cấu trúc đơn giản để sử dụng những thƣ viện đó
9
.
Software Ideas Modeler Portable là một ứng dụng phần mềm chuyên nghiệp
đƣợc thiết kế để giúp ngƣời dùng tạo UML, JSD và các kiểu lƣợc đồ khác sử dụng


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.

Apache giúp cho hệ thống có thể chạy trên Internet. PHP dùng cho việc code
và phát triển hệ thống. MySQL sử dụng cho việc tạo cơ sở dữ liệu. Memcached giúp
giảm tải việc truy cập trực tiếp quá nhiều vào hệ thống. CloudFlare giúp bảo mật cho
hệ thống, hạn chế và tránh các tấn công từ bên ngoài. OpenVPN giúp cho hệ thống an
toàn, các thông tin tài khoản quản lý nội dung đƣợc bảo mật.
Trong quá trình code, tôi có sử dụng CodeIgnitor Framework để việc xây
dựng và phát triển web đƣợc nhanh hơn vì framework này cung cấp một lƣợng lớn thƣ
viện phong phú, quy chuẩn và hỗ trợ cách viết code dễ hiểu, trực quan, dễ bảo trì
trong tƣơng lai.
Sau khi xây dựng xong bộ khung hoàn chỉnh cho hệ thống, tôi mới tiến hành
viết các module chức năng phù hợp với yêu cầu và nghiệp vụ của bài toán. Cụ thể đó
là các module sau:
- Đăng ký tài khoản thuê bao sử dụng hệ thống
- Tùy chỉnh chức năng trên hệ thống của mỗi thuê bao
- Tùy chỉnh giao diện hệ thống của mỗi thuê bao
- Kiểm soát thuê bao hệ thống
- Hiển thị giao diện hệ thống của mỗi thuê bao trên trình duyệt và các thiết bị
di động

10
Theo
23



- Quản trị nội dung trên trang của mỗi thuê bao hệ thống.
Song song với việc đó, tôi cũng tiến hành áp dụng các giải pháp chịu tải, bảo
mật và kiểm soát thông tin bằng cách sử dụng các công cụ đã nói ở trên.
Kết thúc quá trình, hệ thống báo điện tử đƣợc đƣa lên vận hành trên Internet để phục
vụ khách hàng và ngƣời dùng quan tâm.


×