Quản trị nội dung trên trang báo điện tử Để có thể hiển thị các chuyên mục cũng như các bài viết trên trang báo điện tử, người sử dụng được hệ thống cung cấp các chức năng quản trị nộ
Trang 1ĐẠ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
Trang 2ĐẠ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Ý
Trang 3Tô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
Trang 4LỜ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
Trang 5MỤ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
Trang 62.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
Trang 7Phụ 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
Trang 8MỞ ĐẦ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
Trang 9tử 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
Trang 10Chươ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
Trang 11BẢNG CÁC CHỮ VIẾT TẮT
DDOS Distributed denial of service
IaaS Infrastructure as a Service
PaaS Platform as a Service
SaaS Software as a Service
SOA Service Oriented Architecture
Trang 12DANH 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
Trang 13Hì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
Trang 14DANH 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
Trang 15CHƯƠ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
Trang 16nhu 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ý
Trang 17Cá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
Trang 18tử 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ý
Trang 19Tò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
Trang 20quả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
Trang 21o Độ 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
Trang 22o 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 http://php.net/
2 Theo http://en.wikipedia.org/wiki/Apache_HTTP_Server
3 Theo http://en.wikipedia.org/wiki/Web_server
4 Theo http://en.wikipedia.org/wiki/Unified_Modeling_Language
Trang 23hoặ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
Trang 24trong 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 http://www.softpedia.com/get/PORTABLE-SOFTWARE/Programming/Software-Ideas-Modeler.shtml
Trang 25- 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
Trang 26CHƯƠNG II – PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Đặc tả hệ thống
2.1.1 Các chức năng nghiệp vụ của hệ thống
Hệ thống báo điện tử ứng dụng điện toán đám mây là một hệ thống hỗ trợ đầy
đủ các chức năng đăng ký, hiển thị và quản trị cho người sử dụng kể từ lúc bắt đầu đăng ký thuê bao cho đến lúc trang báo chạy trên Internet Toàn bộ quy trình triển khai hệ thống thông thường được chia thành các giai đoạn lớn như sau:
Đăng ký tài khoản thuê bao hệ thống
Trước khi có thể sử dụng trang báo điện tử trên hệ thống, người dùng bắt buộc phải đăng ký một tài khoản Tài khoản của người sử dụng bao gồm các thông tin của người sử dụng như là Tên người dùng, Mật khẩu, Địa chỉ, Điện thoại, Email Ngoài ra, trong quá trình đăng ký, người dùng có thể chọn màu nền cho giao diện cũng như chọn các module mà mình mong muốn sử dụng
Mỗi module có giá thuê bao khác nhau theo tháng Mỗi người sử dụng có thể lựa chọn tùy ý các module cần riêng cho trang báo của mình Riêng module cơ bản mặc định trang báo nào cũng phải có bởi vì một trang báo bắt buộc phải có phần quản lý chuyên mục và bài viết Đây là phần để người viết đưa tin bài lên
Trang 27trang Hệ thống không cho phép người sử dụng loại bỏ module này ra khỏi trang báo
Sau khi đăng ký, người dùng sẽ được hệ thống cung cấp một tài khoản để truy
cập vào trang báo của mình với đường dẫn truy cập là http://[domain hệ thống]/[Tên người dùng] Trước khi có thể vào được trang báo, tài khoản của
người dùng phải được admin (người quản trị hệ thống) duyệt và cho phép Sau khi admin đã duyệt và đồng ý tài khoản, người dùng mới có thể bắt đầu sử dụng trang báo của mình một cách bình thường
Hiển thị trang báo điện tử trên hệ thống
Sau khi tài khoản của người sử dụng đã được admin chấp thuận, trang báo của người đó sẽ được hiển thị trên web và trên các loại thiết bị di động, điện thoại thông minh, máy tính bảng, … Màu nền của trang báo chính là màu mà người sử dụng chọn trong quá trình đăng ký Trang báo chỉ hiển thị và cho phép sử dụng các module mà người dùng đã đăng ký
Trong quá trình sử dụng trang báo điện tử, người sử dụng hoàn toàn có thể thay đổi màu nền trang báo cũng như thêm bớt các module cần thiết tùy theo nhu cầu thực
tế Mỗi khi một module được chọn thêm hoặc gỡ bỏ khỏi trang báo, tổng chi phí sử dụng module theo tháng của thuê bao sẽ được cập nhật lại
Người quản trị hệ thống hoàn toàn có quyền kiểm soát các thuê bao đang đăng
ký trên hệ thống Việc kiểm soát bao gồm xóa và khóa tài khoản vi phạm hoặc tài khoản không sử dụng cũng như tài khoản quá hạn thanh toán bên cạnh việc theo dõi được chi phí sử dụng module của từng tài khoản
Nội dung của một trang báo điện tử thông thường là các bài viết hiển thị theo chuyên mục Chuyên mục là nơi chứa các bài viết có cùng thể loại và viết về cùng một chủ đề Trong mỗi chuyên mục lại phân ra thành các chuyên mục nhỏ hơn, thường được gọi là tiểu mục Ngoài hiển thị ở chuyên mục ra, các bài viết còn được hiển thị trên trang chủ ở các vị trí đặc biệt Đây là các khối nội dung được quy hoạch và bố trí
để đảm bảo làm sao người đọc chú ý đến nhiều nhất các tin bài hiển thị ở trong các khối đó Thông thường có sáu vị trí là: tin nóng trang chủ, tin headline trang chủ, tin nổi bật trang chủ, tin 24h trang chủ, tin vắn trang chủ, tin nóng nhất trang chủ
Với các bài viết có liên quan đến nhau và mô tả về một sự kiện đã và đang diễn
ra trong đời sống hàng ngày thì đều được đưa hết vào trong cùng một sự kiện Mỗi bài viết đều có chứa các từ khóa Từ khóa là từ trong nội dung bài viết có mục đích nhấn mạnh ý của người viết cũng như là từ để giúp độc giả trong việc tìm kiếm thông tin liên quan Ngoài từ khóa, mỗi bài viết đều có chứa nguồn Nguồn là nơi xác định bài viết được tạo ra bởi ai hay là được trích dẫn, lấy lại từ nội dung của trang khác Nếu
Trang 28bài viết tự sản xuất thì nguồn bài viết chính là tên tác giả bài viết Ngược lại, nguồn bài viết chứa thông tin nơi mà nội dung bài viết được lấy về
Có ba kiểu bài viết là: tin video, tin ảnh và tin bình thường Tin video là bài viết mà trong nội dung của nó có chứa các đoạn video hiển thị Tin ảnh là bài viết mà trong nội dung của nó chỉ chứa các ảnh (chùm ảnh) có liên quan với nhau, cùng mô tả nội dung bài viết Mỗi bài viết lại được phân thành các loại khác nhau là: Tin sản xuất, tin tổng hợp, tin trích dẫn, bài sản xuất, tin dịch, bài dịch và bài tổng hợp Tin sản xuất
là tin tức được tạo ra do chính tác giả tự thu thập dữ liệu, thông tin và hình ảnh để viết
mà không sử dụng lại thông tin từ một nguồn nào khác Tin tổng hợp là tin tức dựa trên nội dung từ các nguồn khác, có sửa đổi và viết lại theo ý của tác giả Tin trích dẫn
là tin tức sử dụng nguyên nội dung của các trang khác, trích dẫn trong bài để minh họa thêm cho ý tưởng của tác giả Tin dịch là tin tức mà nội dung của nó được dịch ra từ tiếng nước ngoài Tương tự như vậy, bài sản xuất, bài dịch và bài tổng hợp đều là những bài viết (có ý kiến, quan điểm riêng của tác giả) tự sản xuất, dịch từ tiếng nước ngoài hoặc tổng hợp nội dung từ các nguồn khác
Ở cuối mỗi bài viết bao giờ cũng có danh sách các bình luận của độc giả Bình luận là những ý kiến của người đọc về một bài viết Để tránh độc giả đưa những lời bình luận khiếm nhã và không phù hợp, trang báo điện tử luôn luôn có phần kiểm duyệt nội dung bình luận của độc giả trước khi bình luận được hiển thị trên trang web
Quản trị nội dung trên trang báo điện tử
Để có thể hiển thị các chuyên mục cũng như các bài viết trên trang báo điện tử, người sử dụng được hệ thống cung cấp các chức năng quản trị nội dung Các chức năng này bao gồm:
- Quản lý chuyên mục: Cho phép thêm, sửa, xóa các chuyên mục hoặc tiểu mục trên báo
- Quản lý bài viết: Cho phép thêm, sửa, xóa, lưu tạm, duyệt, trả bài, hạ bài, xuất bản các bài viết
- Quản lý sự kiện: Cho phép thêm, sửa, xóa các sự kiện trên báo
- Quản lý bình luận: Cho phép kiểm duyệt các bình luận trên báo, duyệt và
Trang 29- Quản lý nguồn: Cho phép thêm, sửa, xóa các nguồn của bài viết trên báo Khi người dùng tạo một bài viết, bài viết đó trước khi xuất bản lên web sẽ phải trải qua các bước duyệt Ở các bước duyệt này sẽ có từng người duyệt với các vai trò khác nhau Cụ thể, hệ thống có ba vai trò chính trong quá trình duyệt (trừ Admin là người quản trị hệ thống) Đó là Cộng tác viên/Biên tập viên, Chủ mục và Tổng biên tập Cộng tác viên/Biên tập viên là những người tạo ra bài viết Bài viết sau khi được tạo ra sẽ được lưu trong danh sách Bài chờ duyệt Chủ mục là những người quản trị một chuyên mục cụ thể, có toàn quyền cập nhật, thêm, sửa, xóa đối với các bài viết trong chuyên mục đó cũng như tạo các tiểu mục trong chuyên mục Chủ mục có trách nhiệm duyệt các tin bài mà các Cộng tác viên/Biên tập viên gửi lên Nếu tin bài hợp lệ thì Chủ mục chuyển tin bài đó tới thẳng Tổng biên tập hoặc được xuất bản luôn (nếu được ủy quyền) Ngược lại, nếu tin bài không hợp lệ, sai chính tả, có nội dung không phù hợp với yêu cầu thì Chủ mục gửi trả lại cho Cộng tác viên/Biên tập viên kèm theo
lý do không duyệt Tin bài sau khi được trả lại sẽ nằm trong danh sách Bài trả về Tổng biên tập là những người chịu trách nhiệm cao nhất trong việc xuất bản tin Tin bài sau khi được gửi đến Tổng biên tập sẽ được Tổng biên tập duyệt lại lần cuối trước khi xuất bản Nếu tin bài không hợp lệ, Tổng biên tập sẽ chuyển tin bài đó về danh sách Bài trả về kèm theo lý do trả lại Tin bài sau khi được xuất bản sẽ nằm trong danh sách Bài đã đăng Trong thời gian hiển thị trên trang, bài xuất bản hoàn toàn có thể bị
gỡ xuống nếu cảm thấy không phù hợp hoặc chứa nội dung nhạy cảm
Mỗi giai đoạn sẽ có nhiều hoạt động nghiệp vụ mà các đối tượng có liên quan phải thực hiện để đảm bảo được quy trình triển khai và vận hành hệ thống Dưới đây
là chi tiết các chức năng nghiệp vụ ở từng giai đoạn của bài toán đặt ra:
2.1.1.1 Đăng ký tài khoản thuê bao hệ thống
Đăng ký tài khoản
Mô tả: Đăng ký một tài khoản thuê bao mới trên hệ thống Trong quá trình đăng ký, ngoài việc điền thông tin tài khoản, người sử dụng có thể chọn màu giao diện và các module sẽ sử dụng cho trang báo điện tử Tài khoản sau khi đăng ký sẽ ở trạng thái chờ người quản trị hệ thống duyệt trước khi có thể sử dụng được
Nội dung: Tên thuê bao, mật khẩu, địa chỉ, điện thoại, email, màu giao diện, các module lựa chọn sử dụng
Tác nhân: Người dùng thuê bao
Hồ sơ dữ liệu: Tài khoản thuê bao, Module hệ thống
Đăng nhập
Mô tả: Đăng nhập vào phần quản trị thuê bao để thay đổi màu giao diện
và tùy biến module trên trang báo điện tử
Trang 30 Nội dung: Tên thuê bao, mật khẩu, trạng thái thuê bao (chưa duyệt hoặc
đã duyệt)
Tác nhân: Người dùng thuê bao
Hồ sơ dữ liệu: Tài khoản thuê bao, Module hệ thống
Cập nhập tài khoản thuê bao
Mô tả: Người quản trị hệ thống có quyền sửa, xóa, khóa và duyệt các tài khoản thuê bao trên hệ thống
Nội dung: Tên thuê bao, mật khẩu, địa chỉ, điện thoại, email, trạng thái thuê bao (chưa duyệt hoặc đã duyệt)
Tác nhân: Người quản trị hệ thống
Hồ sơ dữ liệu: Tài khoản thuê bao
2.1.1.2 Hiển thị báo điện tử trên hệ thống
Tùy chỉnh giao diện
Mô tả: Trong quá trình vận hành trang báo điện tử, người sử dụng có thể thay đổi lại màu nền của giao diện hiện tại
Nội dung: Màu giao diện
Tác nhân: Người dùng thuê bao
Hồ sơ dữ liệu: Tài khoản thuê bao
Tùy chỉnh module
Mô tả: Trong quá trình vận hành trang báo điện tử, người sử dụng có thể
gỡ bỏ các module hiện tại không dùng nữa hoặc thêm các module mới cho trang báo
Nội dung: Các module thêm mới hoặc gỡ bỏ
Tác nhân: Người dùng thuê bao
Hồ sơ dữ liệu: Tài khoản thuê bao, Module hệ thống
Kiểm soát thuê bao
Mô tả: Người quản trị hệ thống hoàn toàn có thể theo dõi và kiểm soát được các thuê bao sử dụng trên hệ thống để xem một thuê bao cụ thể đang sử dụng những module gì và chi phí sử dụng là bao nhiêu
Nội dung: Danh sách module sử dụng, phí thuê bao hàng tháng
Tác nhân: Người quản trị hệ thống
Hồ sơ dữ liệu: Tài khoản thuê bao, Module hệ thống
Hiển thị trang báo điện tử của một thuê bao
Mô tả: Trang báo điện tử của một thuê bao thông thường sẽ có một địa chỉ truy cập cụ thể Độc giả và người xem sẽ vào trang báo qua địa chỉ truy cập đó để xem tin tức và thông tin trên báo
Nội dung: Nội dung hiển thị trên trang báo của thuê bao
Tác nhân: Độc giả
Trang 31 Hồ sơ dữ liệu: Tài khoản thuê bao, Module hệ thống, Chuyên mục, Bài viết, Sự kiện, Bình luận, Quảng cáo, Nguồn
2.1.1.3 Quản trị nội dung báo điện tử
Cập nhật chuyên mục
Mô tả: Cập nhật các chuyên mục trên trang báo điện tử
Nội dung: Tên chuyên mục, chuyên mục cha, chủ mục, thứ tự hiển thị chuyên mục, trạng thái hiển thị chuyên mục
Tác nhân: Tổng biên tập
Hồ sơ dữ liệu: Chuyên mục
Cập nhật bài viết
Mô tả: Tạo và cập nhật các bài viết mới cho trang báo điện tử
Nội dung: Tiêu đề bài viết, mô tả, nội dung, ảnh đại diện, chuyên mục, kiểu bài viết (tin video, tin ảnh, tin bình thường), loại bài viết (tin sản xuất, tin tổng hợp, tin trích dẫn, bài sản xuất, tin dịch, bài dịch, bài tổng hợp), ngày hẹn giờ, vị trí hiển thị (tin nóng trang chủ, tin headline trang chủ, tin nổi bật trang chủ, tin 24h trang chủ, tin vắn trang chủ, tin nóng nhất trang chủ), sự kiện, tag và nguồn bài viết
Tác nhân: Cộng tác viên/Biên tập viên
Hồ sơ dữ liệu: Bài viết, Chuyên mục, Sự kiện, Tag, Nguồn
Lưu tạm bài viết
Mô tả: Trong quá trình tạo một bài viết mới, cộng tác viên hoặc biên tập viên có thể lưu tạm nội dung đang viết dở của bài viết
Nội dung: Tiêu đề bài viết, mô tả, nội dung, ảnh đại diện, chuyên mục, kiểu bài viết (tin video, tin ảnh, tin bình thường), loại bài viết (tin sản xuất, tin tổng hợp, tin trích dẫn, bài sản xuất, tin dịch, bài dịch, bài tổng hợp), ngày hẹn giờ, vị trí hiển thị (tin nóng trang chủ, tin headline trang chủ, tin nổi bật trang chủ, tin 24h trang chủ, tin vắn trang chủ, tin nóng nhất trang chủ), sự kiện, tag và nguồn bài viết
Tác nhân: Cộng tác viên/Biên tập viên
Hồ sơ dữ liệu: Bài viết, Chuyên mục, Sự kiện, Tag, Nguồn
Duyệt bài viết
Mô tả: Bài viết mới của cộng tác viên hoặc biên tập viên sẽ được gửi thẳng đến Chủ mục hoặc Tổng biên tập Tổng biên tập hoặc Chủ mục xem xét nội dung bài viết và quyết định bài viết có nên xuất bản hay là trả lại cho tác giả để chỉnh sửa
Nội dung: Tiêu đề bài viết, mô tả, nội dung, ảnh đại diện, chuyên mục, kiểu bài viết (tin video, tin ảnh, tin bình thường), loại bài viết (tin sản xuất, tin tổng hợp, tin trích dẫn, bài sản xuất, tin dịch, bài dịch, bài tổng hợp), ngày hẹn giờ, vị trí hiển thị (tin nóng trang chủ, tin headline trang
Trang 32chủ, tin nổi bật trang chủ, tin 24h trang chủ, tin vắn trang chủ, tin nóng nhất trang chủ), sự kiện, tag và nguồn bài viết
Tác nhân: Chủ mục, Tổng biên tập
Hồ sơ dữ liệu: Bài viết, Chuyên mục, Sự kiện, Tag, Nguồn
Trả lại bài viết
Mô tả: Bài viết của cộng tác viên hoặc biên tập viên sau khi được xem xét nếu không hợp lệ sẽ được gửi trả lại tác giả (kèm theo lý do trả bài)
để chỉnh sửa
Nội dung: Tiêu đề bài viết, mô tả, nội dung, ảnh đại diện, chuyên mục, kiểu bài viết (tin video, tin ảnh, tin bình thường), loại bài viết (tin sản xuất, tin tổng hợp, tin trích dẫn, bài sản xuất, tin dịch, bài dịch, bài tổng hợp), ngày hẹn giờ, vị trí hiển thị (tin nóng trang chủ, tin headline trang chủ, tin nổi bật trang chủ, tin 24h trang chủ, tin vắn trang chủ, tin nóng nhất trang chủ), sự kiện, tag, nguồn bài viết và lý do trả bài
Tác nhân: Chủ mục, Tổng biên tập
Hồ sơ dữ liệu: Bài viết, Chuyên mục, Sự kiện, Tag, Nguồn
Xuất bản bài viết
Mô tả: Bài viết của cộng tác viên hoặc biên tập viên sau khi được xem xét hợp lệ và bình thường sẽ được xuất bản lên trang báo điện tử
Nội dung: Tiêu đề bài viết, mô tả, nội dung, ảnh đại diện, chuyên mục, kiểu bài viết (tin video, tin ảnh, tin bình thường), loại bài viết (tin sản xuất, tin tổng hợp, tin trích dẫn, bài sản xuất, tin dịch, bài dịch, bài tổng hợp), ngày hẹn giờ, vị trí hiển thị (tin nóng trang chủ, tin headline trang chủ, tin nổi bật trang chủ, tin 24h trang chủ, tin vắn trang chủ, tin nóng nhất trang chủ), sự kiện, tag và nguồn bài viết
Trang 33 Nội dung: Tên sự kiện, chuyên mục, thứ tự hiển thị, trạng thái hiển thị
Tác nhân: Chủ mục, Tổng biên tập
Hồ sơ dữ liệu: Sự kiện
Duyệt bình luận
Mô tả: Duyệt hoặc xóa các bình luận của độc giả trên trang báo điện tử
Nội dung: Nội dung bình luận, họ tên, email, ngày bình luận, trạng thái bình luận (duyệt hoặc chưa duyệt)
Tác nhân: Tổng biên tập, Chủ mục
Hồ sơ dữ liệu: Bình luận
Cập nhật quảng cáo
Mô tả: Cập nhật các quảng cáo hiển thị trên trang báo điện tử
Nội dung: Mã quảng cáo, thứ tự hiển thị và trạng thái hiển thị
Tác nhân: Tổng biên tập
Hồ sơ dữ liệu: Quảng cáo
Cập nhật người dùng
Mô tả: Cập nhật các tài khoản người dùng trên trang báo điện tử
Nội dung: Tên người dùng, mật khẩu, địa chỉ, điện thoại, email, vai trò người dùng (người quản trị hệ thống, tổng biên tập, chủ mục, cộng tác viên/biên tập viên), trạng thái người dùng và quyền gửi bài trên chuyên mục cụ thể
Tác nhân: Tài khoản thuê bao
Hồ sơ dữ liệu: Người dùng
Cập nhật nguồn
Mô tả: Cập nhật các nguồn của bài viết trên trang báo điện tử
Nội dung: Tên nguồn
I Đăng ký tài khoản thuê bao hệ thống
R1.1 Đăng ký tài khoản Hiện
R1.3 Cập nhập tài khoản thuê bao Hiện
II Hiển thị báo điện tử trên hệ thống
R2.1 Tùy chỉnh giao diện Hiện
Trang 34R2.2 Tùy chỉnh module Hiện R2.3 Kiểm soát thuê bao Hiện R2.4 Hiển thị trang báo điện tử của một thuê bao Hiện
III Quản trị nội dung báo điện tử
R3.1 Cập nhật chuyên mục Hiện R3.2 Cập nhật bài viết Hiện R3.3 Lưu tạm bài viết Hiện R3.4 Duyệt bài viết Hiện R3.5 Trả lại bài viết Hiện R3.6 Xuất bản bài viết Hiện
R3.8 Cập nhật sự kiện Hiện R3.9 Duyệt bình luận Hiện R3.10 Cập nhật quảng cáo Hiện R3.11 Cập nhật người dùng Hiện R3.12 Cập nhật nguồn Hiện
Bảng 2.1: Bảng tổng hợp các chức năng nghiệp vụ của hệ thống
2.1.2 Các đối tượng nghiệp vụ
Căn cứ từ các mô tả về hoạt động nghiệp vụ ở trên chúng ta xác định được các đối tượng nghiệp vụ như sau:
Độc giả Là người đọc tin trên trang báo điện tử
Người quản trị hệ thống Là người quản lý các tài khoản thuê bao trên hệ thống Tổng biên tập Là người có quyền quản trị nội dung cao nhất và chịu trách
nhiệm chính về nội dung trên trang báo điện tử Chủ mục
Quản lý tất cả các bài viết trong chuyên mục được phân công quản lý, có trách nhiệm duyệt các bài viết trong chuyên mục phụ trách
Cộng tác viên/Biên tập viên Là người viết bài cho trang báo điện tử, có trách nhiệm viết
bài cho các chuyên mục mà mình có quyền gửi bài Bài viết Tin tức chứa nội dung trên trang báo điện tử
Chuyên mục Chứa các bài viết cùng một chủ để
Sự kiện Chứa các bài viết có liên quan với nhau cùng mô tả một sự
kiện nào đó đã và đang diễn ra trong cuộc sống hàng ngày
Trang 35Bình luận Là các ý kiến của độc giả về một bài viết nào đó
Quảng cáo Là các banner, hình ảnh, video trên trang báo nhằm quảng cáo cho một doanh nghiệp, công ty hoặc tổ chức, cá nhân
nào đó mà có trả phí quảng cáo Nguồn Là nơi trích dẫn bài viết, chỉ rõ bài viết được lấy từ đâu Tài khoản thuê bao Là người thuê bao sử dụng trang báo điện tử trên hệ thống Module hệ thống Là các chức năng có sẵn trên hệ thống, do hệ thống cung cấp như một dịch vụ trả tiền theo tháng
Bảng 2.2: Các đối tượng nghiệp vụ của hệ thống
- Xem tin trên trang báo
- Gửi ý kiến về một bài viết
- Nội dung bài viết
- Ý kiến phản hồi được gửi đến Ban quản trị nội dung trang báo
2 Người quản trị hệ thống
Là người quản lý các tài khoản thuê bao trên hệ thống Người quản trị hệ thống sử dụng hệ thống để:
- Cập nhật tài khoản thuê bao
- Kiểm soát thuê bao
- Sử dụng toàn bộ các chức năng khác trên hệ thống
- Tài khoản thuê bao được tạo ra để vận hành trang báo điện
- Kiểm soát các bài viết có trên trang báo điện tử cũng như tất cả các thông tin hiển thị trên báo
- Xuất bản bài viết
- Hạ bài viết
- Bài viết mới hiển thị trên trang báo điện tử
- Bài viết bị hạ xuống sẽ không hiển thị trên trang báo nữa
4 Chủ mục
Quản lý tất cả các bài viết trong chuyên mục được phân công quản lý, có trách nhiệm duyệt các bài viết trong chuyên mục phụ trách
Bài viết mới gửi lên
- Viết một bài mới trên trang báo điện tử
- Gửi bài viết mới cho chủ mục duyệt để
Bài viết mới được tạo ra trên trang và chờ duyệt
Trang 36xuất bản
6 Tài khoản thuê
bao
Là người thuê bao sử dụng trang báo điện
tử trên hệ thống Tài khoản thuê bao sử dụng hệ thống để:
- Tạo mới một trang báo điện tử trên hệ thống
- Lựa chọn module sử dụng cho trang báo
- Thay đổi màu giao diện trang báo
- Quản trị nội dung trang báo
Trang báo điện tử hiển thị với các tính năng đã được tùy biến
Bảng 2.3: Các tác nhân nghiệp vụ của hệ thống
2.1.4 Biểu đồ miền lĩnh vực của hệ thống
Hình 2.1: Biểu đồ miền lĩnh vực của hệ thống
Trang 372.1.5 Các tiến trình nghiệp vụ của hệ thống
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ử
2.1.6 Từ điển giải thích
STT Tiếng Anh Tiếng Việt Giải nghĩa
1 Account Tài khoản Tài khoản thuê bao hệ thống
2 Admin Quản trị hệ thống Người quản lý các tài khoản thuê bao hệ thống
3 Ads Quảng cáo Banner, Hình ảnh, Video giới thiệu, quảng bá hình ảnh
4 Approve Duyệt Hành động của chủ mục hoặc tổng biên tập khi đồng ý
cho bài viết xuất bản
5 Article Bài viết Tin tức hiển thị trên trang báo điện tử
6 Category Chuyên mục Nơi chứa các bài viết cùng thể loại
7 Collaborator Cộng tác viên Người viết tin bài cho báo theo hình thức hợp tác, cộng
tác làm việc
8 Comment Bình luận Những ý kiến của độc giả về một bài viết
9 Deny Từ chối Hành động của chủ mục hoặc tổng biên tập khi không đồng ý cho xuất bản bài viết
10 Editor Biên tập viên Người viết tin bài chính cho báo
11 Editorial director Tổng biên tập Người kiểm duyệt tin bài cuối cùng trước khi xuất bản
13 Fee Phí thuê bao Số tiền trả trong tháng cho việc sử dụng module
14 Module Mô đun Các chức năng, dịch vụ hệ thống cung cấp cho người dùng
15 Publish Xuất bản Đưa tin bài hiển thị lên trang web
16 Role Vai trò Nhóm người dùng có cùng quyền
17 Sapo Mô tả bài viết Phần mô tả của bài viết
18 Source Nguồn Nơi chỉ ra nguồn gốc của bài viết
19 Sub Category Tiểu mục Là chuyên mục con của một chuyên mục
20 User Người dùng Là những người quản trị nội dung của trang báo điện tử
Bảng 2.4: Từ điển giải thích thuật ngữ
Trang 382.2 Phát triển mô hình ca sử dụng
2.2.1 Xác định các ca sử dụng
Căn cứ theo các chức năng có đƣợc của hệ thống sau khi mô tả hoạt động nghiệp
vụ Ta xác định đƣợc các gói ca sử dụng của hệ thống sau đây:
o Đăng ký tài khoản thuê bao hệ thống
o Hiển thị báo điện tử trên hệ thống
o Quản trị nội dung báo điện tử
2.2.2 Mô hình ca sử dụng mức gộp
Hình 2.3: Mô hình ca sử dụng mức gộp của hệ thống
2.2.3 Mô hình chi tiết các gói ca sử dụng
2.2.3.1 Gói ca sử dụng đăng ký tài khoản thuê bao hệ thống
Trang 39a Mô hình chi tiết gói ca sử dụng đăng ký tài khoản thuê bao hệ thống
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
b Mô tả chi tiết các ca sử dụng con trong gói ca sử dụng đăng ký tài khoản thuê bao hệ thống
Ca sử dụng đăng ký tài khoản:
o Tác nhân: Người dùng thuê bao
o Mục đích: Đăng ký một tài khoản thuê bao mới trên hệ thống
o Mô tả: Người dùng thuê bao đăng ký một tài khoản thuê bao mới trên hệ thống Trong quá trình đăng ký, ngoài việc điền thông tin tài khoản, người sử dụng có thể chọn màu giao diện và các module sẽ sử dụng cho trang báo điện
tử Tài khoản sau khi đăng ký sẽ ở trạng thái chờ người quản trị hệ thống duyệt trước khi có thể sử dụng được
o Chức năng tham chiếu: R1.1
o Các luồng sự kiện chính:
1 Chọn chức năng đăng ký tài
khoản 2 Hiển thị giao diện đăng ký cho phép điền thông tin
tài khoản, chọn màu giao diện và lựa chọn các module sử dụng
Module hệ thống
3 Điền thông tin tài khoản,
chọn màu giao diện và lựa
chọn các module sử dụng
Sau đó nhấn nút Đăng ký
4 Lưu thông tin tài khoản, màu giao diện và các module sử dụng của thuê bao vào hệ thống
Tài khoản thuê bao, Module
hệ thống
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
Trang 40 Ca sử dụng đăng nhập:
o Tác nhân: Người dùng thuê bao
o Mục đích: Đăng nhập vào phần quản trị thuê bao để thay đổi màu giao diện
và tùy biến module trên trang báo điện tử
o Mô tả: Người dùng thuê bao đăng nhập vào phần quản trị thuê bao thay đổi màu giao diện và tùy biến module trên trang báo điện tử
o Chức năng tham chiếu: R1.2
Bước 3b: Người dùng thuê bao điền tên người dùng hoặc mật khẩu sai thì
hệ thống sẽ đưa ra thông báo sai tên người dùng hoặc mật khẩu
Ca sử dụng cập nhật tài khoản thuê bao:
o Tác nhân: Người quản trị hệ thống
o Mục đích: Sửa, xóa, khóa và duyệt các tài khoản thuê bao trên hệ thống
o Mô tả: Người quản trị hệ thống có quyền sửa, xóa, khóa và duyệt các tài khoản thuê bao trên hệ thống
o Chức năng tham chiếu: R1.3
o Tiền điều kiện: Tác nhân đã đăng nhập vào hệ thống Đăng ký tài khoản
o Các luồng sự kiện chính: