Tải bản đầy đủ (.doc) (90 trang)

đề tài xây nghiên cứu công nghệ quản trị nội dung sitefinity và xây dựng hệ thống thông tin sàn chứng khoán

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 (1.19 MB, 90 trang )

Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Nội dung đồ án :
Nghiên cứu công nghệ Sitefinity và xây dựng hệ thống thông tin chứng khoán
2. Các nhiệm vụ cụ thể :
a, Nghiên cứu công nghệ Sitefinity.
b, Xây dựng hệ thống thông tin chứng khoán trên nền CMS_Sitefinity nhằm mục đích
cung cấp thông tin cho người truy cập.1`
3. Lời cam đoan của sinh viên :
Tôi – Đoàn Minh Tuấn - cam kết ĐATN là công trình nghiên cứu của bản thân tôi
dưới sự hướng dẫn của Thạc sỹ Lê Tấn Hùng
Các kết quả nêu ra trong ĐATN là trung thực, không phải là sao chép toàn văn của bất
kỳ công trình nào khác.
Hà Nội, ngày tháng năm
Tác giả ĐATN
Đoàn Minh Tuấn
4. Giáo viên hướng dẫn xác nhận về mức độ thành công của ĐATN và cho phép bảo
vệ
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
Thạc sỹ Lê Tấn Hùng
Đoàn Minh Tuấn. Lớp CNPM-K48
1
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
BẢN TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Tên đề tài : Xây Nghiên cứu công nghệ quản trị nội dung SiteFinity Và xây dựng hệ
thống thông tin sàn chứng khoán
Nội dung đồ án
Phần 1 :
Giới thiệu tổng quan hệ thống quản trị nội dung.
Lựa chọn công nghệ sử dụng


Phần 2 :
Tìm hiểu công nghệ Sitefinity: Kiến trúc, thành phần và mô hình, phương pháp lập
trình ứng dụng web với SiteFinity.
Phần 3 : Phân tích hệ thống : yêu cầu, chức năng của hệ thống thông tin chứng khoán
Thiết kế hệ thống thông tin chứng khoán
Phần 4 : Tổng kết đánh giá và hướng phát triển
Đoàn Minh Tuấn. Lớp CNPM-K48
2
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Danh sách từ viết tắt
Từ viết tắt Tên đầy đủ
TTCK Thị trường chứng khoán
CNTT Công Nghệ Thông Ttin
CSDL Cơ sở dữ liệu
CMA ứng dụng quản lý nội dung
MMA ứng dụng quản lý nội dung thông tin (matecontent)
CDA và ứng dụng phân phối nội dung.
CMS Content Management System
AJAX Asynchronous Javascript And XML
DSL Domain Specific Langluage
ORML Object-relational mapping layer
Đoàn Minh Tuấn. Lớp CNPM-K48
3
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Danh mục các bảng
Đoàn Minh Tuấn. Lớp CNPM-K48
4
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Danh sách các hình vẽ
Đoàn Minh Tuấn. Lớp CNPM-K48

5
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Mục lục
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
BẢN TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2
I.1. Bảng CI_CompanyInfo 58
I.2. Bảng CI_CompanyLang 61
I.3. Bảng CI_Leader 62
I.4. Bảng SYS_Language 62
I.5. Bảng CI_AuthorityShareholder 63
I.6. Bảng SYS_ListCommon_Lang 64
I.7. Bảng CI_OwnershipStrure 64
I.8. Bảng CI_MajorHolder 65
I.9. Bảng CI_MajorHolder_Lang 65
I.10. Bảng CI_InsiderTransaction 66
I.11. Bảng CI_InsiderTransaction_Lang 67
I.12. Bảng CI_PublishFinancial (Cáo bạch) 67
I.13. Bảng CI_BalanceSheet (Bảng mục cân đối) 68
I.14. Bảng CI_BalanceSheet_Lang (cân đối – ngôn ngữ) 69
I.15. Bảng CI_BalanceSheet_Company(cân đối – công ty) 69
I.16. Bảng CI_IncomeStatement (Bảng mục kinh doanh) 70
I.17. Bảng CI_IncomeStatement_Lang (kinh doanh – ngôn ngữ) 71
I.18. Bảng CI_IncomeStatement_Company(kinh doanh – công ty) 71
Đoàn Minh Tuấn. Lớp CNPM-K48
6
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Lời giới thiệu
Những năm gần đây, lượng khổng lồ website (trang thông tin điện tử) của các
tổ chức, công ty và cá nhân ra đời dẫn đến hiệu quả là quá tải thông tin. Người sử
dụng phải xử lý khối lượng rất lớn thông tin không cần thiết, với hàng loạt các thao tác

trùng lặp trước khi tìm thấy thông tin hữu ích. Theo thống kê, khối lượng thông tin
trên Internet đang tăng gấp đôi mỗi năm, và người dùng Internet sử dụng trung bình
60% thời gian để tìm kiếm thông tin, 20% thời gian tìm hiểu thông tin có cần thiết
không chỉ 10% thời gian xử lý thông tin.
Bên cạnh đó, mỗi website cung cấp những dịch vụ và ứng dụng khác nhau gây
phiền toái và mệt mỏi cho người dùng khi họ phải nhớ quá nhiều tên và mật khẩu để
có thể truy xuất thông tin hoặc sử dụng dịch vụ của các hệ thống khác nhau. Không
đáp ứng được nhu cầu tích hợp ứng dụng và tích hợp hệ thống là hạn chế lớn nhất của
các website.
Những bất cập trên cùng hàng loạt yêu cầu cấp thiết khác nảy sinh từ thực tế
phát triển của mạng Internet cũng như từ cộng đồng người sử dụng đã khai sinh một
khái niệm mới, đồng thời cũng là một xu hướng công nghệ mới: CMS (thường được
gọi là Hệ quản trị nội dung)
Công nghệ CMS phát triển sau thời kỳ web khoảng 7-8 năm như một tất yếu
xuất phát từ nhu cầu thực tế. CMS đang là chủ đề nóng nhất trong các ứng dụng
CNTT của thế giới và Việt Nam hiện nay. Nói riêng Việt Nam, một số ứng dụng CMS
được áp dụng rất nhiều và mang lại nhiều giá trị kinh tế cho các doanh nghiệp.
Đồ án này đề cập đến các ưu điểm của công nghệ CMS so với website truyền
thống, tình hình phát triển chung của công nghệ CMS trên thế giới và ở Việt Nam nói
riêng, kiến trúc CMS và CMS Framework đặc biệt đi sâu về một loại CMS –
SiteFinity và xây dựng thử nghiệm ứng dụng “Hệ thống thông tin sàn chứng khoán”
dựa trên công nghệ SiteFinity.
Em xin chân thành cảm ơn ThS. Lê Tấn Hùng đã dìu dắt em hoàn thành đề tài
này! Em cũng xin cảm ơn công ty Psoft đã tạo điều kiện và giúp đỡ em thực hiện đồ
án tốt nghiệp!
Trong đồ án tốt nghiệp này, em xin trình bày các phần và chi tiết :
Bố cục đồ án bao gồm :
 Chương 1 : Giới thiệu WebSite và hệ quản trị nội dung CMS
 Chương 2 : Đặc điểm và hoạt động của CMS SiteFinity
 Chương 3: Phân tích hệ thống WeSite thông tin chứng khoán-Thiết kế và xây dựng

website trên nền CMS Sitefinity
 Chương 4: Tổng kết đánh giá và hướng phát triển
Đoàn Minh Tuấn. Lớp CNPM-K48
7
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
ABSTRACT OF THESIS
Recently, Information technology and the Internet develop very quickly. Companies
and Organizations need to provide and advertise them over the Internet. So we need a
method and tool which is easier to use and develop even for general users. CMS is
such tool. Software companies can use CMS to quickly develop Web application. User
can use it easily. Nowadays, there are many CMS on the market. But SiteFinity have
many advantage feature which reduce time to develop and improve performance.
The thesis represents and structures as flowing:
Chapter 1: Overview about CMS.
Chapter 2: SiteFinity Technology and related technology.
Chapter 3: Research and analyze stock information problem.
Chapter 4: Result and future work.
Đoàn Minh Tuấn. Lớp CNPM-K48
8
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Chương I : TỔNG QUAN VỀ HỆ QUẢN TRỊ NỘI DUNG CMS
1 TỔNG QUAN VỀ CÔNG NGHỆ XÂY DỰNG WEBSITE
1.1.Kiến trúc website
Cùng với sự phát triển mạnh mẽ của mạng Internet, đã có những cuộc cách mạng về
công nghệ lập trình. Trước đây, chúng ta xây dựng trang web sử dụng ngôn ngữ định
dạng “Formatting language” gọi là ngôn ngữ HTML. Ngày nay, bên cạnh ngôn ngữ
HTML còn có hàng loạt các công nghệ mới như ngôn ngữ kịch bản “Scripting
language”, công nghệ ASP, PHP, JSP, XML và những công nghệ khác để thỏa mãn
các nhu cầu mới của người dùng Internet.
Để xem một trang web, ta mở một trình duyệt, đánh địa chỉ của trang và trang web yêu

cầu sẽ hiện ra. Nhưng trước khi người sử dụng có thể yêu cầu trang web đó, người
thiết kế phải tạo nên trang web này và đưa nó lên mạng. Việc xây dựng các trang web
dựa trên 2 công nghệ chính, đó là công nghệ web tĩnh và công nghệ web động.
Website tĩnh
Hình 1. 1 - Quá trình xử lý đối với trang web tĩnh
Máy chủ: là máy chạy một phần mềm máy chủ web (web server). Đây là phần mềm
thực hiện nhiệm vụ quản lý các trang web và chuyển nó đến trình duyệt (qua Internet
hoặc qua mạng nội bộ).
Máy khách: là máy mà người sử dụng đang chạy một trình duyệt.
Đoàn Minh Tuấn. Lớp CNPM-K48
9
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Trang tĩnh HTML có rất nhiều hạn chế. Có nhiều việc mà người ta không thể thực
hiện được đối với một trang web tĩnh, chẳng hạn:
Người ta không thể tạo được một trang web hiển thị tên của người đang xem nó.
Người ta không thể tạo được một trang web phản ánh một tình trạng mới nhất như thời
gian hiện thời hoặc thời tiết được cập nhật.
Người ta không thể tạo được một trang web thể hiện nội dung mà người sử dụng yêu
cầu ở trang trước đó.
Website động
Một trang web có nội dung động là một trang web chứa cả HTML và các lệnh để tạo
lập HTML. Khi người sử dụng yêu cầu một trang web động, phản hồi mà người sử
dụng nhận được vẫn là một HTML. Tuy nhiên trước đó, một phần HTML (hoặc tất cả
nội dung của HTML) đã được tạo ra bởi hệ thống máy chủ theo các lệnh tạo lập
HTML.
Hình 1. 2 - Quá trình xử lý đối với trang web động - Xử lý tại máy chủ và máy
khách
Xử lý phía máy chủ: Máy chủ sẽ phân tích thông tin mà trình duyệt gửi đến và sẽ truy cập
cơ sở dữ liệu để tìm ra thông tin. Máy chủ sẽ sử dụng thông tin này để tạo nên một HTML
thể hiện một trang web. HTML được máy chủ tạo nên sẽ được gửi về trình duyệt. Sau đó

trình duyệt dịch HTML và hiển thị trang web theo như cách xử lý đối với trang web tĩnh.
Xử lý phía máy khách: Đoạn mã dành cho máy khách không được thực hiện bới máy chủ
mà nó được gửi đến trình duyệt (cùng với HTML như một phần của đáp ứng), đoạn mã
này được xử lý bởi trình duyệt hiển thị kết quả trang HTML trên màn hình của người sử
dụng.
Đoàn Minh Tuấn. Lớp CNPM-K48
10
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Bằng cách sử dụng mã phía máy khách, có thể làm cho trang web sống động hơn, có thể
đáp ứng lại các động tác bấm phím và di chuột của người sử dụng. Điều này có nghĩa là
trang web được hiển thị một các hấp dẫn hơn so với trang web được gửi đi từ máy chủ.
Web tĩnh Web động
- Ít khi phát sinh lỗi trong quá trình
chạy
- Tốc độ cao hơn
- Giá thành xây dựng thấp
- Phụ thuộc rất ít vào công nghệ
xây dựng.
- Nội dung phải được thay đổi trực
tiếp ở mã nguồn bởi lập trình viên.
- Khó hơn.
- Khả năng xảy ra lỗi cao hơn
- Tốc độ thấp do phải dịch các đoạn mã kịch
bản.
- Giá thành xây dựng cao
- Phụ thuộc khá nhiều vào công nghệ xây
dựng web.
- Tiện lợi và nhanh chóng cập nhật, thay đổi
nội dung trang web.
- Dễ dàng mở rộng khả năng phục vụ của

hệ thông khi có nhiều người sử dụng động
thời
Bảng 1. 1 - So sánh giữa công nghệ web tĩnh và web động
Apache HTTP server
Apache server là một HTTP server phổ biến nhất trên thế giới hiện nay, được viết bởi The
Apache Foundation, một nhóm kỹ sư từ khắp nơi trên thế giới. Mục tiêu của Apache là tạo
ra một server theo chuẩn HTTP thực sự mạnh nhưng hoàn toàn miễn phí. Ngay từ khi mới
ra đời, Apache đã chứng minh được là một phần mềm hoàn hảo với tốc độ nhanh nhất,
thân thiện với người dùng, độ bảo mật cao và hỗ trợ hầu hết các hệ điều hành hiện nay.
Apache có thể làm việc trên Window NT/9x/xp, Netware 5.x trở lên, OS/2 và hầu hết các
phiên bản Unix/Linux.
Đoàn Minh Tuấn. Lớp CNPM-K48
11
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán

Hình 1. 3 Tỷ lệ các server sử dụng Apache so với các phần mềm khác
( Theo số liệu của Netcraft.com)
Nhiệm vụ của Apache server là khi có bất cứ một browser trên máy khách (client) yêu cầu
một trang web nằm trên server thông qua kết nối TCP/IP, Apache server sẽ đáp ứng nhu
cầu đó bằng cách trả về nội dung của trang web đó. Nội dung này sẽ được browser tại máy
khách hiển thị và đưa ra màn hình.
Hình 1. 4 - Mô hình Request/Response của Client/Server
1.2. Công nghệ xây dựng website:
Các công nghệ xây dựng Web 1.0
a. Ngôn ngữ đánh dấu siêu văn bản HTML
Đoàn Minh Tuấn. Lớp CNPM-K48
12
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Là "Ngôn ngữ Siêu văn bản" được thiết kế ra để tạo nên các trang web, nghĩa là các mẩu
thông tin được trình bày trên World Wide Web. HTML giờ đây đã trở thành một chuẩn

Internet do tổ chức World Wide Web Consortium (W3C) duy trì.
HTML nói chung tồn tại như là các tập tin văn bản chứa trên các máy tính nối vào mạng
Internet. Các file này có chứa thẻ đánh dấu, nghĩa là, các chỉ thị cho chương trình về cách
hiển thị hay xử lý văn bản ở dạng văn bản thuần túy. Các file này thường được truyền đi
trên mạng internet thông qua giao thức mạng HTTP, và sau đó thì phần HTML của chúng
sẽ được hiển thị thông qua một trình duyệt web, một loại phần mềm trực quan đảm nhiệm
công việc đọc văn bản của trang cho người sử dụng), phần mềm đọc email , hay một thiết
bị không dây như một chiếc điện thoại di động.
b. Ngôn ngữ kịch bản PHP
Là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển
các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích
hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng
dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng
sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở
thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
W eb 2.0
Ajax:
AJAX (Asynchronous JavaScript and XML): JavaScript và XML không đồng bộ, là bộ
công cụ cho phép tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ liệu và chỉ hiển thị
những gì cần thiết, thay vì tải đi tải lại toàn bộ trang web.
Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn ngữ:
HTML (hoặc XHTML) với CSS trong việc hiển thị thông tin
Mô hình DOM (Document Object Model), được thực hiện thông qua JavaScript, nhằm
hiển thị thông tin động và tương tác với những thông tin được hiển thị
Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy chủ
web. (Mặc dù, việc trao đổi này có thể được thực hiện với nhiều định dạng như HTML,
văn bản thường, JSON và thậm chí EBML, nhưng XML là ngôn ngữ thường được sử
dụng).
XML thường là định dạng cho dữ liệu truyền, bao gồm HTML định dạng trước, văn bản
thuần (plain text), JSON và ngay cả EBML.

So sánh với các ứng dụng web truyền thống
Điểm khác biệt cơ bản nhất của công nghệ này là việc xử lý thông tin được thực hiện trên
máy Client thay vì Server như cách truyền thống.
Trên máy client, JavaScript sẽ xử lý các đáp ứng của máy chủ. Kết quả là trang web được
hiển thị nhanh hơn vì lượng dữ liệu trao đổi giữa máy chủ và trình duyệt web giảm đi rất
Đoàn Minh Tuấn. Lớp CNPM-K48
13
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
nhiều. Thời gian xử lý của máy chủ web được giảm theo vì phần lớn thời gian xử lý được
thực hiện trên máy khách
Những nhược điểm của AJAX
Giao diện người dùng. Chẳng hạn, phím "Back" (trở lại trang trước) được đánh giá cao
trong giao diện website chuẩn. Đáng tiếc, chức năng này không hoạt động ăn khớp với
Javascript và mọi người không thể tìm lại nội dung trước đó khi bấm phím Back. Bởi vậy,
chỉ một sơ xuất nhỏ là dữ liệu trên trang đã bị thay đổi và khó có thể khôi phục lại được.
Bên cạnh đó, mọi người không thể lưu lại địa chỉ web vào thư mục Favorite (Bookmark)
để xem lại về sau. Do áp dụng lớp trung gian để giao dịch, các ứng dụng AJAX không có
một địa chỉ cố định cho từng nội dung. Khiếm khuyết này làm cho AJAX dễ "mất điểm"
trong mắt người dùng.
 Các ứng dụng AJAX phổ biến
 Google Suggest
 Google Maps
 Gmail, Google Groups
 Flickr (hiện thuộc Yahoo)
Hình 1. 5 - So sánh web truyền thống và ajax web
JavaScript
JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựa trên đối
tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho
các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng
nằm sẵn trong các ứng dụng.

Đoàn Minh Tuấn. Lớp CNPM-K48
14
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
2.Giới thiệu về hệ quản trị nội dung CMS
2.1. Một số khái niệm cơ bản
Sự bùng nổ của kỉ nguyên Internet đã dẫn tới một nhu cầu rất lớn, đó là nhu cầu tìm kiếm ,
khai thác và trao đổi thông tin trên mạng internet. Các website suất hiện ngày càng nhiều,
do đó cũng gia tăng một nhu cầu mới: nhu cầu quản lý, khai thác và trao đổi thông tin trên
mạng Internet. Những giải pháp quản trị nôi dung Internet được phát triển và ngày càng
được chuẩn hóa, giúp cho các tổ chức, doanh nghiệp… thuận tiện hơn trong việc xuất bản
cũng như khai thác thông tin.
Trong môi trường liên kết và tương tác cao như môi trường internet, việc nhận thức và
phát triển một ứng dụng theo tiêu chẩn chung của quốc tế, có khả năng tương tác cao với
các hệ thống khác là một yếu tố hết sức quan trọng và cần thiết.
2.1.1 Hệ quản trị nội dung
Một CMS là một hệ thống quản lý các thành phần nội dung của một website. Như vậy,
khi nhắc đến CMS, người ta phải nhắc đến các yếu tố cấu thành nội dung nằm trong phạm
vi mà hệ CMS đề cập tới cũng như các đặc điểm trong các chu trình quản lý nội dung đó
Định nghĩa trên đây có vẻ đủ đơn giản, nhưng nếu ta đặt câu hỏi: “ CMS là gì?” đối với
hai hay nhiều hơn các chuyên gia Web thì ta cũng có thể nhận được hai hay nhiều câu hỏi
khác nhau. Chính xác hơn ta sẽ nhận được nhiều hơn một dạng diễn tả định nghĩa trên của
ta. Vấn để là ở sự không rõ nghĩa( hoặc sự hiểu và mô tả khác nhau) của từ nội dung, hay
chính xác hơn là các thành phần nào của nội dung được CMS quản lý??
Một vấn đề nữa là trong định nghĩa này, không có chỗ nào định nghĩa chức năng nền tảng
làm nên một CMS. Hầu hết các CMS được gọi tên theo các đặc tính thêm vào chúng.
Trong khi đó, cách chính xác để nói một CMS có tối ưu hay không là kiểm tra xem các
nhân chức năng đó hoạt động tốt như thế nào. Như vậy, nếu thiếu sự định nghĩa về các
chức năng nền tảng của một CMS thì sẽ không có cơ sở để đánh giá giữa các CMS với
nhau.
2.1.2. Nội dung

Hầu hết các chuyên gia đều đồng ý rằng nội dung là “quặng” tìm thấy trong các web site.
Chúng ta nên dùng từ quặng ở đây, và nó chia thành hai phạm trù:
Thông tin(information)- ví dụ như các ảnh(image) và các đoạn văn bản(text) – mà ta thấy
trên các website khi ta truy cập chúng.
Các ứng dụng(application) hay phần mền chạy trên các web server để hiển thị thông tin
trên các Website
Bây giờ lại xuất hiện một số vấn đề không rõ ràng mới. Một số chuyên gia nói rằng miền
CMS chỉ chứa thông tin, trong khi một số khác thì nói nó chứa cả thông tin lẫn ứng dụng.
vậy quan điểm nào là chính xác?
Đoàn Minh Tuấn. Lớp CNPM-K48
15
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Thoạt nhìn ta có thể nói cách giải thích chức cả hai phạm trù trên là cách giải thích đúng
hơn về từ nội dung. Tuy nhiên một câu hỏi được đặt ra là liệu chúng ta có cần hoặc có thể
quản lý ứng dụng theo cùng một cách như đối với thông tin hay không?
Nhiều người sẽ nói rằng là không, vì họ cho rằng các nhà phát triển phần mền nên phát
triển hai hệ thống phần mền khác nhau. Một để quản lý thông tin( nghĩa là CMS), và một
để quản lý các ứng dụng. Bởi vì thông tin là cái được hiển thị( what) còn ứng dụng quyết
định thông tin được hiển thị như thế nào(how)?
Hơn nữa những người tham gia vào việc tạo ra và bảo trì hai dạng nôi dung khác nhau này
cũng thường khác nhau như công việc của họ vậy. Những người làm về thông tin thường
có khuynh hướng sáng tạo hơn những người phát triển ứng dụng thì có kĩ năng, kĩ thuật
hơn. Nhưng không đối lập với khái niệm người phát triển ứng dụng sáng tạo. Khác biệt
quan trọng nhất có vẻ như là các workflow của thông tin và ứng dụng thay đổi một cách
đáng chú ý. ( từ workflow sẽ được giải thích kỹ hơn ở phần sau, còn ở đây ta cứ tạm sử
dụng nó). Các phương pháp tiếp cận khác nhau, mục đích, người sử dụng và cả các
workflow cũng khác nhau, đáng để ta xây dựng hai hệ thống khác nhau. Áp đặt thông tin
và các ứng dụng vào cùng một thể chung sẽ sinh ra phức tạp không cần thiết cho cả nhà
phát triển hệ thống và người sử dụng hệ thống đó.
Việc phát triển một CMS hoạt động bất kể loại nội dung gì( thông tin hay ứng dụng) yêu

cầu khả năng bảo trì và theo dõi luồng của hai workflow khác nhau tại cùng một thời
điểm. Sự thực là các workflow của thông tin và ứng dụng có nhiều điểm tương đồng: cùng
được tạo ra, thay đổi, phê chuẩn, kiểm thử và triển khai. Nhưng đó là tất cả những gì tương
đồng. Luôn cần có các tập kỹ năng rất khác nhau trong vai trò của việc tạo ra thông tin so
với việc tạo ra các ứng dụng, và các khác biệt chỉ được mở rộng khi ta tiếp tục đến giai
đoạn triển khai.
Các workflow của thông tin và ứng dụng cũng không như nhau. Cần phải có thêm các giai
đoạn và các công dụng trong workflow của một ứng dụng. ví dụ giai đoạn phân tích, thiết
kế phải chi tiết hơn, và có quá trình biên dịch, kiển thử hệ thống và kiểm thử khi phát
hành.
2.1.3. Thành phần của nội dung
Như chúng ta thấy, ngay cả một website đơn lẻ cũng có thể được tạo ra từ nhiều dạng nội
dung khác nhau như Text, Image, Audio, Video, …và làm việc với từng loại nội dung đơn
lẻ dễ dàng hơn rất nhiều so với làm việc với tất cả chúng một lúc. Lý do chủ yếu là nó cho
phép sự riêng biệt hóa, nghĩa là ta có thể dùng các công cụ thiết kế từng loại nội dung một
cách riêng biệt, cũng có nghĩa là một người có thể thiết kế nội dung theo cách tốt nhất mà
anh ta có thể làm. Ví dụ một chuyên gia vẽ các ảnh minh họa thì không phải lo lắng về
việc viết phần câu chuyện
Các CMS phải phụ thuộc rất nhiều vào khái niệm tổng thể các phần nhỏ của nội dung.
Thuật ngữ mà CMS dùng để biểu diễn các phần nhỏ này là “thành phần nội dung”. Ta có
thể hiểu thành phần nội dung là một dạng thể hiện của một trong các mảnh nhỏ hình thành
nên một câu chuyện hoặc một bài báo trong website.
Đoàn Minh Tuấn. Lớp CNPM-K48
16
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Mức độ của thành phần nội dung được xác định bởi CMS đang được sử dụng, và có thể
nhỏ như một headline, byline, dateline…hoặc có thể đủ lớn để thành một câu chuyện. Các
thành phần nội dung thường được chứa trong một kho lưu trữ dưới cùng một định dạng. Ví
dụ một thành phần nội dung có kiểu Image có thể được lưu dưới dạng file GIF với bề rộng
width và chiều cao hight định trước. Các thành phần nội dung cũng có thể đứng một mình

theo nghĩa tự chúng cũng có ý nghĩa riêng.
Mức độ của thành phần nội dung được xác định bởi CMS đang được sử dụng và có thể
nhỏ như một headline,byline và dateline…hoặc có thể đủ lớn để thành một câu chuyện.
Các thành phần nội dung thường được chứa trong một kho lưu trữ dưới cùng một định
dạng. Ví dụ một thành phần nội dung của kiểu image có thể được lưu dưới dạng file GIF
với bề rộng width và chiều cao hight định trước. Các thành phần nội dung cũng có thể
đứng một mình theo nghĩa tự chúng cũng có ý nghĩa riêng.
Còn một loại liên quan đến các thành phần nội dung nữa là tài liệu (document). Tài liệu
thường được coi là một file, nên ta sẽ coi tài liệu là một nhóm các thành phần nội dung.
Các hệ thống quản lý tài liệu cung cấp cùng một chức năng giống như CMS ngoại trừ ở
cấp độ tài liệu ( hay trong thế giới web nó là cấp độ website).Chúng thiếu khả năng làm
việc với các chi tiết chứa trong một trang và thay vào đó chúng xử lý cả trang. Vì thế
chúng thiếu sức mạnh và sự linh hoạt của các CMS. Các hệ thống quản lý tài liệu đôi khi
vẫn bị nhầm lẫn là các CMS, được phát triển và đem bán như các CMS. Ta có thể đồng ý
với nhau rằng một hệ quản trị tài liệu là một CMS với các thành phần nội dung được thiết
lập ở mức độ lớn nhất.
Như vậy nói một cách chính xác,CMS là hệ thống quản lý việc khởi tạo nội dung,quá trình
xử lý nội dung đó cho đến khi nó được xuất bản,phân phối tới người dùng cuối.
CMS = Khởi tạo nội dung

Quản lý quá trình xử lý nội dung đó

Phân phối nội dung
tới người dùng đầu cuối
2.2. CMS.NET nhìn nhận và tiếp cận theo khía cạnh công nghệ học phần mềm.
2.2.1. Xác định yêu cầu của hệ thống CMS
2.2.1.1. Các chức năng cơ bản của một hệ thống CMS
Cung cấp công cụ phục vụ quá trình soạn thảo,biên tập, chỉnh lý nội dung. Có hệ thống
quản lý lưu trữ nội dung. Kểm soát phiên bản tài liệu,giám sát sự thay đổi,cho phép tìm lại
nội dung tài liệu trứơc và sau khi thay đổi ,biên tập. Cung cấp hệ thống quản lý quy trình

xử lý nội dung thông tin. Có khả năng kết xuất thông tin đề ra tự động từ hệ thống quản lý
lưu trữ nội dung dùng chung. Cung cấp khả năng cá nhân hoá thông tin cho người dung
Cung cấp cho người dùng những công cụ tìm kiếm tra cứu theo thuộc tính, tìm kiếm toàn
văn giúp nhanh chóng tìm kiếm và định vị được nội dung thông tin.
2.2.1.2. Bổ sung các yêu cầu hiện nay đối với hệ thống CMS chuyên nghiệp
Đoàn Minh Tuấn. Lớp CNPM-K48
17
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Trong môi trường điện toán phức tạp như hiện nay,thông tin không còn là thực thể đơn lẻ
nữa ,nó là một phần trong một hệ thống thông tin lớn hơn, luôn cần có sự kết hợp, trao đổi,
liên thông dữ liệu với nhau.
Yêu cầu trong quá trình khởi tạo nội dung:
 Độc lập nội dung và các lớp giao diện thể hiện
 Cho phép nhiều người sử dụng, lầm việc trên một tài liệu
 Mỗi nội dung chỉ có một nguồn duy nhất
 Cung cấp khả năng quản lý các thuộc tính khác liên quan đến nội dung thông tin
( như tác giả, tiêu đề, từ khoá…)
 Người sử dụng không cần có kỹ năng đặc biệt về lập trình và công nghệ có thể sử
dụng các công cụ biên tập và xử lý nội dung
Yêu cầu trong quá trình xử lý nội dung:
 Kiểm soát phiên bản tài liệu, quản lý lưu trữ
 Quản lý quy trình biên tập và phê duyệt nội dung thông tin
 Đảm bảo tính bảo mật
 Có khả năng tích hợp với các hệ thống thông tin khác bên ngoài
 Cung cấp các dữ liệu báo cáo tình hình hoạt động đa dạng
Xuất bản thông tin
 Đồng nhất về khả năng trình bày với những loại dữ liệu giống nhau
 Cung cấp các mẫu, khuôn dạng (template) giúp xuất bản nội dung một cách nhanh
chóng và thuận lợi.
 Có khả năng xuất bản ra nhiều định dạng khác nhau như web, in ấn, thiết bị cầm

tay…
 Có khả năng cá nhân hoá thông tin
Về mặt công nghệ
 Hệ thống phải tiện dụng và thân thiện với người dùng
 Công nghệ giúp hệ thống có khả năng tương thích và dễ dàng tích hợp, mở rộng
 Hệ thống phải tuân theo các chuẩn dữ liệu xuất bản thông tin trực tuyến
1.2.3 Các thành phần của CMS
Để thực hiện được những yêu cầu trên, một CMS phải có những thành phần nền tảng
chung và các module bổ sung. Một CMS điển hình bao gồm ít nhất ba thành phần : ứng
dụng quản lý nội dung CMA, ứng dụng quản lý nội dung thông tin (matecontent) MMA,
Đoàn Minh Tuấn. Lớp CNPM-K48
18
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
và ứng dụng phân phối nội dung CDA. Một số CMS có nhiều hơn ba thành phần này,
nhưng tất cả đều chứa ba thành phần này ở dạng nào đó.
CMA quản lý các thành phần nội dung của một CMS, MMA quản lý các thông tin và các
thành phần nội dung và cuối cùng CDA sẽ cung cấp cách hiển thị các thành phần nội dung
tới người sử dụng.
2.3.1 Ứng dụng quản lý nội dung CMA
Nói một cách đơn giản, ứng dụng quản lý nội dung CMA quản lý vòng đời đầy đủ của các
thành phần nội dung, từ khi bắt đầu đến khi xóa bỏ chúng. CMA sẽ tạo các thành phần nội
dung trong kho lưu trữ, bảo trì chúng trong thời gian chúng tồn tại, và loại bỏ các thành
phần nội dung này khỏi kho lưu trữ khi chúng không cần thiết nữa. Kho lưu trữ ở đây có
thể là một CSDL, một tập các file hoặc kết hợp cả 2 loại đó. Tiến trình quản lý là tuần tự
và được thực hiện bởi một workflow. CMA được coi là phần quản trị của một CMS.
CMA cho phép người viết nội dung xây dựng và phát triển các thành phần nội dung mà
không cần phải biết HTML (HyperText Markup Language) hoặc phải hiểu về kiến trúc
web nền tảng. Nó cho phép duy trì nội dung ngày qua ngày mà không cần phải lúc nào
cũng nhờ đến Webmaster.
Tất cả các CMA đều được thiết kế đa người dùng, và mỗi người dùng có một hoặc một vài

vai trò sử dụng (role) đối với vòng đời của thành phần nội dung. Nhiều CMA có cơ chế an
ninh dựa vào việc thiết lập các vai trò này (role-based security), nghĩa là người sử dụng chỉ
được phép thực hiện các thao tác được cho phép khi anh ta được add vào hệ thống. Một
website nhỏ với một vài người làm việc trên đó có thể chỉ có một vài các role, mỗi role có
rất nhiều các tác vụ và chức năng khác nhau mà nó có thể thực hiện. Với một website lớn
hơn mới nhiều bạn bè, thành viên và những người truy cập thì sẽ có một vài role khác
nhau với các chức năng rất bị hạn chế. Các role của người sử dụng thường được thiết lập
khi CMS được cài đặt. Thường thì nó sẽ đưa ra một danh sách các tác vụ và các chức năng
để trên đó ta sẽ chọn những tác vụ và chức năng riêng biệt mà role đó có quyền thực hiện.
Một vài hệ thống tiên tiến cho phép ta thêm mới hoặc thay đổi các role sau khi hệ thống đã
được kích hoạt một thời gian. Điều này cho phép ta có một hệ thống động hơn, nền tảng là
các role và mở ra những thay đổi tổ chức của một website.
Mục đích của CMA là xử lý các thành phần nội dung trong suốt vòng đời của chúng nhanh
nhất và hiệu quả nhất có thể. Ở cuối mỗi giai đoạn của vòng đời, các thành phần nội dung
sẽ ở trạng thái hoàn thiện hơn và ổn định hơn.
Phê chuẩn(Approval)
Trước khi bất kỳ một giai đoạn nào trong “đời” của một thành phần nội dung được hoàn
tất và giai đoạn tiếp theo bắt đầu thì một ai đó có thẩm quyền phải phê chuẩn hay chấp
nhận những thay đổi đối với thành phần nội dung đó.
Tiến trình phê chuẩn khác nhau rất nhiều giữa các Website, ngay cả khi các Website này
cùng dùng một phiên bản CMS như nhau. Đối với hệ thống lớn thì cần nhiều tổ chức, cá
nhân, và role khác nhau để thực hiện phê chuẩn nội dung trước khi nó sẵn sàng chuyển
Đoàn Minh Tuấn. Lớp CNPM-K48
19
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
sang giai đoạn tiếp theo. Còn đối với hệ thống nhỏ,có khi chỉ cần một người thực hiện
công việc này trong suốt vòng đời của các thành phần nội dung.
Thiết kê (Design)
Đây là giai đoạn các thành phần nội dung sẽ được đưa lên Website, được xác định và mô
tả. Trong một số hệ thống CMS, các thành phần nội dung trong giai đoạn này chỉ được

nhập tựa đề, chú thích và mô tả, rồi sau này tác giả mới hoàn tất nốt việc biên tập nội
dung.
Giai đoạn này thường không phải là phần được xây dựng sẵn trong CMS mà được hỗ trợ
bới các công cụ của third party. Trong nhiều trường hợp ta thường không cần phải mua
các công cụ đắt tiền, mà chỉ cần một chương trình vẽ và soạn thảo đơn giản là đủ.
Soạn thảo( Authoring)
Soạn thảo là quá trình thu được các thành phần nội dung cho một Website. Nó không chỉ
bao hàm việc viết một thành phần nội dung chọn lựa từ một mớ hỗn tạp, mà còn thu được
nội dung từ các nguồn khác và nạp chúng vào hệ thống.
Một CMS có thể thu nhận một vài thành phần nội dung của nó qua các nguồn nội dung,
sau đó trực tiếp làm cho chúng có trên Website mà không cần sự can thiệp của con người .
Một số site thì muốn nội dung này được lưu trữ trong các kho chứa trong một khoảng thời
gian nhất định. Những site khác lại chúng ra khỏi hệ thống khi các thành phần nội dung
mới được thu nhận.
Tuy nhiên một website mà tất cả các nội dung đều được thu nhận theo cách này chắc chắn
sẽ làm hại đến website của ta vì hầu hết người sử dụng đều truy cập vào một website do
tính độc nhất có một không hai của nó. Việc có nội dung giống hệt như của người khác
thật nhàm chán, và người sử dụng sẽ truy cập đến nguồn của nội dung đó và rời bỏ website
của ta.
Trong hầu hết các trường hợp, tốt hơn hết là load các nội dung có liên quan về website và
đưa chúng vào kho chứa của ta, sau đó để cho các tác giả của ta cải tiến nó trước khi đưa
ra công chúng. Đa số các tác giả có thể làm tăng giá trị của nội dung ban đầu bằng cách
thêm vào ý kiến của độc giả và những phân tích đánh giá sâu hơn…
Đa số các hệ thống soạn thảo của CMS đều là hệ thống tựa văn bản (text based). Các dạng
đa phương tiện khác như ảnh,video, audio thường được tạo ra bởi các công cụ chuyên biệt
cho chúng ở bên ngoài CMS. Những dạng này thường được import vào CMS như các
thành phần nội dung hoàn chỉnh mà không thể được thay đổi bởi bản thân CMS.
chỉnh sửa(Editing)
Sau khi một thành phần nôij dung được tạo ra,nó thường phải đi qua nhiều vòng chỉnh sửa
và viêt lại cho đến khi tất cả những người có thẩm quyền cho rằng đó là chính xác. Hoàn

chỉnh và sẵn sàng sang giai đoạn tiếp theo.
sắp xếp(layout)
Đoàn Minh Tuấn. Lớp CNPM-K48
20
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Sau khi các thành phần nội dung được hoàn tất,chúng sẽ được sắp xếp lên website để quan
sát, một CDA tốt không có vai trò thực sự trong việc sắp xếp các thành phần nội dung, nó
chỉ đưa ra các đề nghị cho thứ tự sắp xếp và vị trí các thành phần nội dung.
kiểm thử(testing)
Bây giờ các thành phần nội dung của ta đã sẵn sàng cho việc quan sát,nên ta cần test
chúng,việc kiểm thử này rõ ràng là cần thiết để đảm bảo không có sự cố nào.Khi xem qua
trình duyệt.việc kiểm thử bao gồm:kiểm tra image có khớp với tên không,các hyperlink có
chính xác đến nội dung liên quan không…ngoài ra còn phải đảm bảo hiển thị tốt ở các
trình duyệt khác nhau,đặc biệt là scrpt phía client.
Dàn dựng(staging)
Sau khi kiểm thử nội dung sẽ được dàn dựng trên server để chờ cho việc hiển thị.Mục đích
là để truyền dữ liệu càng nhanh càng tốt tránh khỏi bị phá nhiễu bởi các use kích hoạt nội
dung của hệ thống
Triển khai(deployment)
Đây là giai đoạn đưa nội dung ra công chúng ,thủ tục triển khai khá phức tạp phụ thuộc
vào server ta có cho phép tự truy cập 24/7 hay không.
Bảo trì(maintenace)
Đây là giai đoạn bổ xung thông tin hoặc thông tin mới xuất hiện,hoăc cũng có thể là gai
đoạn sửa lỗi phát sinh trong vòng đời của các thành phần nội dung.
Lưu trữ(archival)
Một khi nội dung quá thời hạn hoặc đã đến đỉnh điểm của sự hữu ích thì nó cần được lưu
trữ. Lưu trữ không có nghĩa là use không thể truy nhậpcác thành phần nội dung này mà là
nội dung này có thể truy xuất thông qua phép tìm kiếm kho lưư trữ, công việc rất cần thiết
vì một số người muốn truy xuất nội dung archive lớn một cách đáng ngạc nhiên và một
lưu trữ sẽ đem lại lợi ích to lớn trong tương lai.

Xoá bỏ(removal)
Nếu một thành phần nội dung lỗi thời quá, quá hạn và không thể update thườn xuyên thì
thành phần nội dung có thể được xóa mặc dù mục này là tình cờ, nhưng tốt nhất ta nên lưu
trữ nó và có phép truy xuất lại qua phép tìm kiếm dữ liệu.có hai cách xoá là xoá và huỷ .
Huỷ ở đây có nghĩa là xóa hết các nội dung trước đó và không thể khôi phục được lại. Nếu
Nếu xóa đơn thuần thì có thể khôi phục được lại.
2.3.2 ứng dụng quản lý nội dung thông tin MMA
Trong hệ thống CMS lý tưởng ,nội dung và thành phần nội dung được phân phối tách biệt,
do đó tạo thành hai cơ chế quản lý tách biệt là CMA và MMA. Mỗi cơ chế đặc trưng cho
hai thành phần khác nhau: nội dung và phân phối nội dung.
Đoàn Minh Tuấn. Lớp CNPM-K48
21
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Lý do chủ yếu của sự phân tách nội dung và nội dung là hai công việc khác nhau và những
con người tham gia chúng cũng khác nhau. Chúng ta đã bàn tới việc liệu có xử lý chung
thông tin và ứng dụng trong CMS. Như vật việc tách biệt sẽ giúp hệ thống đỡ phức tạp.
Nhân viên toà soạn là những người sử dụng CMA,và workflow của CMA như đã nói ở
trên sẽ trực tiếp liên quan đến những vòng đời các thành phần nội dung,không có một sự
liên hệ nào dù là nhỏ nhất
Trong khi đó MMA được những con người sáng tạo-những nhân viên thiết kế sử dụng có
một vòng đời liên hệ chuyên biệt với thiết lập thông tin liên quan đến website sẽ như thế
nào và cảm nhận như thế nào. Thực tế tiến trình MMA chẳng quan tâm chút nào đến việc
nội dung thực sự được phân phối mà quan điểm WSYIWYG được đặc biệt chú trọng.
Metaciontent life cycle
MMA là ứng dụng quản lý vòng đời đầy đủ của nội dung thông tin,ta có thể định nghĩa nội
dung thông tin là các thông tin về nội dung. Nghe qua có vẻ MMA rất giống CMA nhưng
MMA có mục tiêu khác hoàn toàn: đó là việc sinh ra các nội dung thông tin thay vì các
thành phần nội dung. Cũng giống CMA, ở cuối mỗi giai đoạn vòng đời các nội dung thông
tin ở trạng thái ổn định hơn.
Phê chuẩn

Trước khi một giai đoạn hoàn tất và giai đoạn tiếp theo bắt đầu một ai đó có thẩm quyền
phê chuẩn nội dung, việc phê chuẩn có thay đổi quan trọng ở MMA thường do một uỷ ban
thực hiện chứ không phải một cá nhân.Vì nó quyết định wesite sẽ như thế nào và được
hoạt động như thế nào còn những thay đổi ở bảng hay cột bảng có thể do cá nhân đảm
nhận.
Phân tích(analysis)
Trước khi tạo ra sự thay đổi ,một vài nghiệp vụ phân tích cần được tiến hành. Công việc
phân tích thường tiến hành ngoài CMS vì có nhiều công cụ tốt của công ty thứ ba thường
xuyên thực hiện sự phân tích website.
Thiết kế
Quá trình mô tả các nội dung thông tin trên wedsite thường là ở mức độ chi tiết cao vì thiết
kế này phải do một uỷ ban phê chuẩn. Đây là giai đoạn cũng được thực hiện ngoài CMS
tạo cơ hội phát triển cho các công cụ của công ty thứ ba trên thi trường
Khởi tạo
Việc tạo ra các nội dung thông tin luôn dựa vào việc phân tích và thiết kế trước đó.
Xây dựng(buil)
Một khi các miếng nội dung thông tin đã được tạo thành và hoàn tất chúng cần được giáp
nối với nhau,trong trường hợp .Net,hầu hết nội dung thông tin đều ở dạng file ASP.NET
hoặcC# và cần được biên dịch. Đây là giai đoạn khác nhau chủ yếu giữa CMA và MMA vì
giai đoạn này thường cần công cụ của các công ty thứ 3 (nằm ngoài CMS)
Đoàn Minh Tuấn. Lớp CNPM-K48
22
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Kiểm thử(test)
Sau khi các nội dung thông tin được tạo ra và xây dựng, chúng cần được qua quá trình
kiểm thử.
Không như với các thành phần nội dung, việc kiểm thử ở đây đặc biệt nghiêm ngặt và
không thể lơ là với bất cứ giá nào.
Stage, Deployment, Maintenance, Removal
Các giai đoạn này tương tự như đối với CMA quản lý các thành phần nội dung

Các dạng nội dung thông tin
Khuôn mẫu (Template):
Thường ở dạng HTML, cho phép ta trong một website dưới dạng các module. Các thành
phần nội dung khác nhau thì tương ứng các template chuyên biệt giúp cho việc hiển thị
trang web.
Kịch bản (Script):
Hiện nay có rất nhiều ngôn ngữ kịch bản, và một CMS luôn hỗ trợ ít nhất một ngôn ngữ
nếu không muốn nói là nhiều. Kịch bản chia làm hay kiểu: phía client và phía server: phía
client đựơc chạy trên trình duyệt còn phía server được chạy trên server.
Chương trình (Program):
Chương trình khác kịch bản ở chỗ nó được biên dịch trước khi chạy trên server, khiến cho
nó chạy nhanh hơn. Nó cũng nhiều chức năng hơn kịch bản vì nó có thể được xây dựng tất
cả các chức năng được hỗ trợ bởi hệ điều hành mà nó chạy trên đó. Tuy nhiên nhược điểm
của chương trình là nó chỉ chạy phía server nên nếu không cẩn thận nó sẽ gây ra thời gian
đáp ứng chậm vì lỗi kết nối.
Như vậy một CMS được tạo dựng bởi ít nhất ba thành phần: Quản trị nội dung, quản trị
nội dung thông tin và phân phối nội dung. Mục đích của ba thành phần này là quản lý
vòng đời đầy đủ của các thành phần nội dung và nội dung thông tin theo các workflow
trong kho chứa và với đích là hiển thị nội dung động,thân thiện với người dùng lên
website.
2.4 Đặc trưng nổi bật của Hệ quản trị nội dung
2.4.1 Kiểm soát phiên bản (Version Control)
Theo dõi được các phiên bản nội dung của ta là một đặc tính quan trọng, thâm chí là khả
năng cần thiết trong bất kỳ một hệ CMS thực sự tốt nào. Chức năng giúp người sử dụng
lưu trữ và khôi phục các phiên bản của các trang thông tin. Kiểm soát phiên bản bao gồm
theo dõi phiên bản (version tracking) và cơ chế hồi phục (rollback), và nó là framework để
trên đó ứng dụng quản lý nội dung CMA và ứng dụng quản lý nội dung thông tin MMA
hoạt động. Không có chức năng kiểm soát phiên bản, CMS sẽ rất khó khăn để đảm bảo
tính nhất quán, toàn vẹn của nó.
Đoàn Minh Tuấn. Lớp CNPM-K48

23
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
Có nhiều cách để CMS cài đặt chức năng kiểm soát phiên bản. Có thể CMS sẽ tích hợp
các package kiểm soát phiên bản cung cấp bởi công ty thứ ba, tuy nhiên hầu hết các CMS
đều có chức năng kiểm soát phiên bản được xây dựng trực tiếp.Quản lý phiên thường phải
được tích hợp chặt chẽ với hệ thống workflow của CMS, và đôi khi ta không thực sự nhận
ra sự có mặt của version control.
Có nhiều phương pháp tiếp cận version control: phương án tiếp cận đơn giản và phương
án tiếp cận phức tạp. Phương án tiếp cận đơn giản có trong hầu hết các CMS kể cả các
CMS theo cách tiếp cận phức tạp.
2.4.1.1 Version control đơn giản
Version control đơn giản hoạt động với giả thiết là chỉ có một người có thể truy cập được
vào một thành phần nội dung tại một thời điểm bất kỳ. Dạng này dựa vào việc duy trì các
cơ chế khoá đối với nội dung. Một cách đơn giản quá trình kiểm soát phiên bản chỉ là một
người check out nội dung từ kho chứa, tạo ra những thay đổi, rồi lại trả chúng về kho
chứa. Người khác nếu muốn truy xuất nội dung đó thì là lượt riêng của anh ta.
Kiểm soát phiên bản theo cách này đơn giản dễ hiểu và ta sẽ thấy chỉ như vậy là đủ cho
việc cài đặt một hệ thống workflow.
2.4.1.2 version control phức tạp
Giả thiết cho dạng này là bất kỳ ai cũng có thể truy cập nội dung ở một thời điểm bất kỳ
miễn là tồn tại chỉ một bản sao chính của một thành phần nội dung. Hoạt động check out
nội dung chỉ là trên một bản sao, và khi nội dung được check in trở lại, mọi thay đổi đã
gộp vào bản copy chính.
Như vậy nhiều người có thể truy cập được vào nội dung tại cùng một thờì điểm, thay đổi
những nội dung cần thiết, sau đó lại check in trở lại.
2.4.1.3 Tiến trình kiểm soát phiên bản lưu trữ dữ liệu
Mọi nội dung văn bản khi được đưa vào kho chứa sẽ được lưu trữ ở dạng những phần nhỏ
delta. Mọi thay đổi được tạo ra giữa thời điểm nội dung được lôi ra khỏi kho chứa với các
động tác kiểm tra và thời điểm nội dung được đưa trở lại kho chứa (cũng có kiểm tra).
Cách lưu trữ như vậy rất hiệu quả khi xét đến vấn đề không gian lưu trữ vì không cần phải

lưu trữ nhiều bản sao của cùng một nội dung ngay cả khi có nhiều phiên bản của nội dung
đó.
Do không phải lưu trữ một bản sao nội dung đầy đủ nên phần mềm kiểm soát phiên bản
phải có khả năng xây dựng nên nội dung từ những phần thông tin nhỏ. Như vậy một cách
logic, ta có thể lấy ra phiên bản bất kỳ nào ta muốn. Tất cả những gì mà phần mềm kiểm
soát phiên bản cần làm là sắp xếp các thông tin theo đúng trình tự để có được phiên bản
yêu cầu.
Nội dung nhị phân khi được đưa vào kho chứa của các hệ CMS cũng đôi khi sử dụng cơ
chế delta, nhưng do sự phức tạp của file nhị phân, nội dung nhị phân thường được lưu trữ
Đoàn Minh Tuấn. Lớp CNPM-K48
24
Nghiên cứu công nghệ Sitefinity Xây dựng hệ thống thông tin chứng khoán
dưới dạng file hoàn chỉnh. Như vậy tiến trình check out chỉ đơn giản là tìm được file nhị
phân (hoàn chỉnh) tương ứng với version cần thiết mà không cần một phép xử lý delta nào.
2.4.1.4 Theo dõi phiên bản (Version tracking)
Version tracking là bước xa hơn của version control. Có thể coi nó là quá trình công chứng
các phiên bản của nội dung được đưa vào hoặc lấy ra khỏi kho chứa. Mục đích chính của
version tracking là theo dõi mọi thông tin liên quan đến những thay đổi của nội dung trong
suốt vòng đời của nó. Tiến trình này bao gồm việc “ghi chép” lại khi nào có sự thay đổi, ai
thay đổi, thay đổi gì và có thể cả lý do tại sao lại có những thay đổi đó nữa. Version
tracking cung cấp một cơ chế bảo vệ nghiêm ngặt, mà ta có thể tưởng tượng như sau: khi
một user đăng nhập vào hệ thống thì ID của anh ta sẽ tự động được ghi lại. Như vậy với
bất kỳ thay đổi nào với nội dung, hay sự tổn hại nào đến các thành phần nội dung được
phát hiện nguồn gốc, như vậy hệ thống của ta có thể thay đổi password của người đó hoặc
xoá account của người đó đi.
2.4.1.5 Cơ chế hồi phục (Rollback)
Cơ chế rollback cho phép ta thay đổi version hiện tại trở về với version trước đó. Cơ chế
này thường được thực hiện trên các thành phần nội dung hoặc những nội dung thông tin,
còn đối với mức độ website, cơ chế này sẽ đưa website trở lại nội dung trước khi nó được
update.

Tiến trình rollback này thường rất an toàn vì nó lấy toàn bộ nội dung hiện tại thay thế bởi
phiên bản ổn định trước đó. Khi rollback một website thường trang website sẽ tạm thời bị
shutdown nên không có cơ hội cho nguời dùng gây tổn hại bất thường khi rollback nội
dung.
Version control có rất nhiều vai trò đối với một hệ CMS như cho phép hợp theo nhóm,
tăng cường công tác quản lý website, làm tăng tốc độ phát triển nội dung…
Cho phép sự cộng tác nhóm:
Đây là vai trò quan trọng chủ yếu của quản lý phiên bản trong CMS là cung cấp nền tảng
tốt hơn cho công tác làm việc theo nhóm. Với vô số các thành phần nội dung và các nội
dung thông tin tạo nên một website, có thể thấy rằng không ai đủ khả năng để xây dựng cả
một website mà công việc này yêu cầu kỹ năng của nhiều con người.
Nâng cao quản lý website: Một điều đã không được đề cập đến trong quá trình nói về quản
lý phiên bản và theo dõi phiên bản, đó là sự xếp hạng các báo cáo mà quản lý phiên bản
cung cấp.
Tăng tốc việc phát triển nội dung:
Bạn không thể bắt các tác giả và biên tập viên làm nhanh hơn khả năng mà họ có, nhưng
có thể làm giảm bớt thời gian mà nội dung ở trong tình trạng không tích cực, như là chờ
đợi biên tập,chỉnh sửa, phê chuẩn, kiểm thử hoặc triển khai. Công việc đó được thực hiện
do sinh tự động một sự kiện cho hệ thống, thông báo cho CMS thời khắc mà nội dung
được đưa trở lại kho chứa.Sự kiện này có thể khởi phát việc tạo ra một thư điện tử.
Đoàn Minh Tuấn. Lớp CNPM-K48
25

×