2.4.6.1. Giao tiếp người dùng
Đối tượng sử dụng website để xem thông tin không phải làn những người có chuyên môn tin học. Vì thế, giao diện cần phải có trực quan, đẹp,
hạn chế đến mức tối thiểu sử dụng các thuật ngữ chuyên ngành, thuât ngữ nước ngoài. Font chữ Unicode. Giao diện thiết kế trên màn hình độ phân giải tối thiểu 1028x768, chế độ màu tối thiểu high color (24 bits). Ngôn ngữ sử dụng trong toàn bộ hệ thống là tiếng Việt (Front-end) và tiếng Anh (Back-end). Định dạng ngày được sử dụng trong hệ thống là dd/mm/yyyy.
2.4.6.2. Giao tiếp phần mềm bên ngoài
Hệ thống giao tiếp với các hệ thống khác thông giao thức HTTP. Giao tiếp với hệ thống SMS qua giao thức HTTP. Quét tin bài qua giao thức HTTP. Đẩy tin bài qua giao thức HTTP dùng webservice.
Chương 3 THIẾT KẾ 3.1. Kiến trúc ứng dụng 3.1.1. Mô hình phân lớp Internet Internet Hình 3.1 Mô hình phân lớp
Hệ thống gồm 3 lớp:
Lớp presentation (User Interface): là các module chức năng giao tiếp với người dùng, khách hàng cuối thông qua trình duyệt.
Lớp business (xử lý): Là các module nghiệp vụ của hệ thống (quản lý tin bài, phân quyền người dùng, các dịch vụ …).
Lớp Storage (Data layer): Chứa dữ liệu hệ thống. 3.1.2. Mô hình phân rã chức năng/phân hệ
Back-end Quản trị nội dung
Quản trị tài khoản
Front-End SMS Database Laptop HT TP
Hình 3.2 Mô hình phân rã chức năng
Hệ thống có 4 phân hệ chính, phần hệ back-end gồm quản lý nội dung, quản lý tài khoản, bóc tách dữ liệu. Phân hệ font-end hiển thị nội dung giao tiếp với bạn đọc. Phân hệ SMS quản lý, đăng ký, gửi SMS đến bạn đọc. Phân hệ database phân hệ lưu trữ nội dung.
Hình 3.3 Mô hình tổng thể của hệ thống
Hệ thống quản lý nội dung gồm 2 phần chính. Phần front-end là hiển thị dữ liệu, phần back-end là phần quản lý nội dung. Phần SMS là phẩn quản lý và gửi SMS
Hình 3.4 Phân hệ Back-end
Hình trên mô tả sơ đồ hệ thống back-end đang sử dụng của hệ thống. Gồm có 5 menu chính: Quản trị tin bài, Quản trị quảng cáo, Quản trị danh mục, Quản trị tương tác, Quản trị hệ thống
- Quản trị tin bài là menu quản trị nội dung tin bài xuất bản lên website - Quản trị quảng cáo chi thành 2 phần phần quản lý banner trên website và
phần quản lý quảng cáo SMS trên wapsite
- Quản trị danh mục quả lý danh mục menu hệ thống, danh mục nguồn tin, danh mục các tiện ích hệ thống cung cấp
- Quản trị tương tác quản lý tương tác với các hệ thống khác, khi báo các hệ thống khi đẩy tin hoặc đồng bộ tin tức về
- Quản trị hệ thống làm nhiệm vụ quản lý thông tin về user trên hệ thống, các nhóm và phân quyền nhóm và user của hệ quản lý nội dung
3.1.5. Phân hệ SMS
Hình 3.5 Phân hệ SMS
Hình trên mô tả sơ đồ của phân hệ SMS gồm 4 chức năng chính. Chức năng đăng ký thành viên và lấy mật khẩu cho thành viên. Chức năng đăng ký nhận breaking news là nhận các thông báo về nội dung mới nhất của lĩnh vực đăng ký. Chức năng quản cáo sms là đăng ký các gói quản cáo trên sms. Chức năng thông báo tin bài xuất bản cho tổng biên tập hoặc các thành viên chức năng kiểm duyệt tin bài.
3.2. Kiến trúc về dữ liệu
3.2.1. Các thành phần dữ liệu chính
-Data content lưu trữ nội dung trình bày trên trang website. -Data report lưu trữ thông tin báo cáo dành cho trang website. -Data utility dữ liệu tiện ích cung cấp trên website.
-Data exchange là dữ liệu giao tiếp với các hệ thống khác. 3.2.2. Kiến trúc trao đổi dữ liệu với các hệ thống khác
Mô hình kiến trúc trao đổi dữ liệu của hệ quản lý nội dung với các hệ thống khác. Tất cả các trao đổi dữ liệu với hệ thống khác dùng chuẩn dữ liệu XML để giao tiếp. có bộ phận ghi nhận thông tin thay đổi khi đã trao đổi tin. 3.3. Kiến trúc về vật lý
Hình 3.6 Kiến trúc triển khai vật lý hệ thống
Hệ thống quản lý nội dung có kiến trúc triển khai vật lý chia làm 5 phần chính. Phần 1 là websesver triển khai webserver để giao tiếp với bạn đọc gồm có 3 server chạy hệ điều hành windows 2008 và iis, phần 2 là media gồm 2 server chạy Nginx trả media cho khác hàng thông qua một LB đứng trên giao tiếp với bạn đọc. Phần 3 là 1 server memcache đứng giữa webserver và database tác dụng cache lại những query DB. Phần 4 là database mơi lưu trữ tin bài, tiện ích, quảng cáo… của hệ thống. Phần 5 là cms quản lý nội dung của hệ thống.
3.3.2. Năng lực đáp ứng của hệ thống
- 90% các phản hồi đối với người dùng dưới 5s. - Thời gian tối đa phản hồi cho người dùng 10s.
- Hệ thống đảm bảo phục vụ truy cập online 20000 người cùng một lúc. - Hệ thống SMS đảm bảo phục vụ được 50 tps. - Luôn sẵn sàng hoạt động 24/24. - Hệ thống ít hơn 10 lỗi/tháng. - Dễ dàng nâng cấp, bảo trì. 3.4. Giải pháp kiến trúc khác 3.4.1. Kiến trúc bảo mật
Phân quyền theo từng module (chức năng). Phân quyền theo kiến trúc table user – quyền. Các user có một số quyền nhất định và khác nhau.
Thông tin pass được mã hóa một chiều theo thuật toán SHA1. Yêu cầu đổi mật khẩu mỗi tháng.
3.4.2. Kiến trúc sao lưu và phục hồi dữ liệu
Backup theo ngày/tuần/tháng: backup ra file dump SQL
Phục hồi theo cơ chế restore lại cơ sở dữ liệu đến trước thời điểm dữ liệu hỏng.
Backup dữ liệu (file, media) của hệ thống theo tuần/ tháng. 3.4.3. Các giải pháp đối với các yêu cầu đặc biệt khác
Dùng cache trang web.
Có hệ thống giám sát lỗi cho trang tin điện tử, cảnh báo lỗi ứng dụng, cảnh báo hệ thống, cảnh báo dữ liệu đến người quản trị.
Chương 4 CÀI ĐẶT 4.1. Công cụ và môi trường phát triển hệ thống
4.1.1. Xây dựng “Hệ quản lý nội dung” - Công nghệ dotnet. - Công nghệ dotnet.
- Môi trường lập trình Microsoft Visual Studio.Net. - Ngôn ngữ lập trình: Asp.net với code-hind C#..
- Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2005.
- Ngoài ra trong quá trình lập trình “Hệ quản lý nội dung” còn sử dụng một số thư viện khác như: CKEditor.NET.dll; log4net.dll; Memcached.ClientLibrary.dll; Zip.dll; MSCaptcha.dll; ICSharpCode.SharpZipLib.dll; Idunno.AntiCSRF.dll…
4.1.2. Xây dựng công cụ hỗ trợ thu thập tin tức trong “Hệ quản lý nội dung”
-Công nghệ phát triển: XPATH.
-Môi trường phát triển: Microsoft Visual Studio.NET. -Ngôn ngữ lập trình: C#.
4.2. Một vài giao diện của chương trình 4.2.1. Phân hệ tòa soạn báo điện tử 4.2.1. Phân hệ tòa soạn báo điện tử
Hình 4.1 Giao diện Wapsite 3G Mô tả hoạt động:
Hình ảnh thể hiện trang chủ wapsite dành cho smartphone gồm các phần sau:
-(1) Tin top của trang wapsite. -(2) Tin nóng quan trọng wapsite. -(3) Quảng cáo trên trang wapsite. -(4) Các sự kiện nổi bật trên wapsite.
-(5) Quảng cáo trên wapsite phần này tự detect mobile browser hiển thị quảng cáo cho phù hợp với từng dòng máy.
-(6) Phần tin top của từng chuyên mục. -(8) Quảng cáo.
-(9) Hiển thị video trên wapsite. Để giảm dung lượng cho trang video trên trang chủ hiển thị dạng ảnh, khi click vào video sẽ ra trang video và play video luôn.
Hình 4.2 Giao diện Wapsite 2G Mô tả hoạt động:
Hình ảnh thể hiện trang chủ wapsite dành cho điện thoại không là smartphone. Do các dòng điện thoại này có cấu hình thấp nên trang giao diện phải tối ưu để cho điện thoại có thể vào được nhanh nhất.
-(1) Quảng cáo trang chủ.
-(2) Các tin tiêu đểm của wapsite. -(3) Các tin theo thời gian mới nhất.
Hình 4.4 Giao diện CMS nhập tin bài Mô tả hoạt động:
Hình vẽ mô tả giao diện trang nhập tin bài của cms. Để tránh việc thực hiện nhiều thao tác của biên tập viên. Trang nhập tin bài cung cấp tất cả các công cụ để biên tập viên có thể thực hiện nhập tin bài một cách hoàn chỉnh.
-(1) Menu của phần tin bài.
-(2) Cho phép lựa chọn bài có được quảng cáo hay không? Do một số tin bài đặc thù nên tránh việc hiển thị quảng cáo trên tin bài.
-(3) Thực hiện việc cho điểm đối với từng tin bài. -(4) Đánh số thứ tự các tin bài được đọc tin bài.
-(5) Lựa chọn chuyên mục cho tin bài, có thể chọn nhiều chuyên mục cho một tin bài.
-(6) Nhập các loại ảnh cho tin bài. CMS đưa ra mô tả từng ảnh với các kích thước và vị trí của ảnh.
-(7) Nhập từ khóa để thực hiện cho việc đánh tag cho tin bài.
-(8) Nhập các thông tin liên quan của tin bài (nguồn, đặt giờ xuất bản, tác giả, kiểu bài...)
Hình 4.5 Giao diện quản lý quảng cáo Mô tả hoạt động:
Hình ảnh mô tả trang giao diện phần quản lý quảng cáo cms. Hệ thống quảng cáo cho phép nhập quảng cáo nhiều vị trí khác nhau, và nhập nhiều quảng cáo ở cùng vị trí với nhau cùng các tham số thời gian chuyển cho các quảng cáo.
Hệ thống cung cấp các loại file quảng cáo khác nhau (file ảnh, file flash,..). Hệ thống cung cấp chức năng nhập quảng cáo cho từng dòng điện thoại khác nhau để nâng cao hiệu suất phản hồi của khách hàng. Hệ thống cung cấp việc nhập quảng cáo tương ứng với từng đầu số và các cú pháp để tạo thuận lợi cho khách hàng bán hàng.
-(4) Menu của phần quản lý quảng cáo có phần quản lý quảng cáo thông thường và phần quản lý quảng cáo có SMS..
-(1) Chọn các chuyên mục. -(2) Chọn các tiểu mục.
-(3) Chọn các vị trí quảng cáo.
Hình 4.7 Giao diện quản lý nhóm Mô tả hoạt động:
Hình mô tả việc phân quyền trong “Hệ quản lý nội dung”. Hệ thống thực hiện việc phần quyền theo nhóm giống như trong windows. Nhóm cha có quyền gì thì chỉ phân quyền các quyền đang có cho nhóm con. Hệ thống cung cấp các chức năng phân quyền truy nhập theo từng menu, trong menu thì phân quyền chức năng thực thi. Quyền thực thi gồm có quyền: xem, sửa, xóa. Quyền xem chỉ được hiển thị ở trong menu đó và không được thực hiện các thao tác khác. Quyền sửa thực hiện việc hiển thị trong menu đó và được sửa dữ liệu. Quyền xóa có thể thực hiện tất cả các quyền trong menu.
-(1) Chọn nhóm.
-(2) Chọn tiêu chí tìm kiếm (Theo tên nhóm, theo ghi chú, …).
-(3) Phân quyền truy nhập, set quyền cho từng nhóm có thể truy nhập vào từng menu.
-(4) Phân quyền chức năng thực thi trên từng menu.
-(5) Phân quyền thực hiện cho từng chuyên mục của wapsite, website , app.
-(6) Danh sách các nhóm trong hệ thống.
4.2.2. Phân hệ công cụ hỗ trợ thu nhập tin tức
Công cụ thu thập tin tức cho phép lấy từng nguồn tin bài và cho vào từng chuyên mục của hệ thống. Việc cấu hình cho phép thực hiện trên file xml
Hình 4.8 Giao diện crawler tin bài
Mô tả hoạt động: Hình mô tả quá trình crawler tin bài về. Mô tả lấy từng bài của các nguồn báo tương ứng.
Hình 4.9 Giao diện Config Crawler Mô tả hoạt động:
file xml mô tả config lấy tin bài của từng nguồn
<status> là trạng thái crawler nguồn : on là crawler, off là tắt crawler. <name> là tên nguồn tin.
<url> địa chỉ lấy nguồn tin.
<path> là địa chỉ để file dll bóc tách dữ liệu <object> là tên chương trình lấy dữ liệu
Hình 4.10 Danh sách các nguồn báo Crawler Mô tả hoạt động:
Hình mô tả danh sách các file xml của từng nguồn lấy tin. Trong các nguồn lấy tin thì các chuyên mục của nguồn tương ứng với chuyên mục nào của hệ thống thì được config trong file xml.
Hình 4.11 Danh sách các dll nguồn báo
Mô tả hoạt động:
Danh sách các file nguồn báo đã crawler được cho hệ thống. Hệ thống xây dựng dạng plugin mỗi một nguồn báo là một plugin.
KẾT LUẬN 1. Kết quả đạt được
Về mặt lý thuyết
-Hiể rõ kĩ thuật lập trình ASP.NET với code-behind là C# -Hiểu rõ quy trình hoạt động của tòa soạn báo điện tử hiện nay.
-Cơ bản nắm được những tiêu chuẩn của một tòa soạn báo điện tử; cách thể hiện tin tức và các nội dung khác trên một tờ báo.
-Hiểu rõ các yêu cầu đặc thù của nhà mạng (viettel). Về mặt thực nghiệm
-Xây dựng đầy đủ các chức năng cần có của một tòa soạn báo điện tử. -Chương trình có khả năng thay đổi toàn bộ giao diện một cách nhanh chóng.
-Quản lý chặt chẽ các đối tượng người dùng. -Quản lý chặt chẽ quy trình xuất bản tin bài.
-Chương trình đã được chạy trên các báo http://tinngan.vn,
http://viettel.com.vn, http://nhanong.com.vn, …
2. Hướng phát triển
-Xây dựng hệ thống theo dạng plugin nâng cao tính linh hoạt và mở rộng của hệ quản lý nội dung.
-Mở rộng ứng dụng cho hệ quản lý nội dung sang các lĩnh vực khác như hệ thống chăm sóc khác hàng, hệ thống thi điện tử…
-Mở rộng hệ thống thành mạng xã hội đáp ứng nhu cầu mạng xã hội hiện thời.
TÀI LIỆU THAM KHẢO Tiếng Việt
1.Lê Đình Duy, “Tài liệu Hướng dẫn tự học ASP.NET” 2.http://nukeviet.vn/
3.http://vnexpress.net
4. http://www.dantri.com.vn
5. http://vietnamnet.vn/
Tiếng Anh
6.By Bill Evjenet al (2006), Professional ASP.NET 2.0 Special Edition, Wrox Press
7.By Derek Comingore & Douglas Hinson, Professional SQL Server 2005 CLR Programming with Stored Procedures, Functions, Triggers,
Aggregates, and Types, Published by Wiley Publishing, Inc.
8.By Hakon Wiun Lie, Bert Bos, Cascading Style Sheets; Designing for the Web, Third Edition, Publisher; Addison Wesley Professional
9.MSSN Microsoft
10. (2002) “TopXML Reference”, Microsoft DOM
11. Shaun Walker (2003), “DotNetNuke Documentation” 12. Shaun Walker (2003), “DotNetNuke WhitePaper”