Đăng ký Đăng nhập

Tài liệu Banin

.DOC
93
353
123

Mô tả:

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 Bảng 1. 1 - So sánh giữa công nghệ web tĩnh và web động..........................................13 Bảng 2. 1 – Các sự kiện trong Nolics...........................................................................37 Bảng 3. 1 – Bảng CI_CompanyInfo Thông tin công ty................................................63 Bảng 3. 2 - Bảng CI_ConpanyLang Thông tin công ty với các ngôn ngữ....................64 Bảng 3. 3 - Bảng CI_Leader Ban lãnh đạo...................................................................64 Bảng 3. 4 - Bảng SYS_Langluage Thông tin ngôn ngữ................................................65 Bảng 3. 5 - Bảng CI_AuthorityShareholder Thông tin quyền cổ đông.........................66 Bảng 3. 6 - Bảng SYS_ListCommon_Lang Thông tin danh mục dung chung.............66 Bảng 3. 7 - Bảng CI_OwnershipStrure Thông tin cơ cấu cổ đông................................67 Bảng 3. 8 - Bảng CI_MajorHolder Thông tin các cổ đông lớn.....................................67 Bảng 3. 9 - Bảng CI_MajorHolder_Lang Thông tin cổ đông lớn_ngôn ngữ................68 Bảng 3. 10 - Bảng CI_InsiderTransaction Thông tin giao dịch nội bộ..........................69 Bảng 3. 11 - Bảng CI_InsiderTransaction_Lang Thông tin giao dịch nội bộ_ngôn ngữ ...................................................................................................................................... 69 Bảng 3. 12 - Bảng CI_PublishFinancial Thông tin danh sách báo cáo tài chính...........70 Bảng 3. 13 - Bảng CI_BalanceSheet Thông tin các mục của bản cân đối kế toán........71 Bảng 3. 14 - CI_BalanceSheet_Lang Thông tin bảng cân đối phần có ngôn ngữ.........71 Bảng 3. 15 - CI_BalanceSheet_Conpany Thông tin bảng cân đối của công ty.............72 Bảng 3. 16 - Bảng CI_IncomeStatement Thông tin các mục của kết quả kinh doanh. .72 Bảng 3. 17 - Bảng CI_IncomeStatement_Lang Thông tin bảng mục kinh doanh phần có ngôn ngữ....................................................................................................................... 73 Bảng 3. 18 - Bảng CI_IncomeStatement_Company Thông tin về bảng kinh doanh của công ty.......................................................................................................................... 74 Bảng 3. 19 - Lược đồ dữ liệu Công ty phát hành cổ phiếu...........................................74 Bảng 3. 20 - Lược đồ dữ liệu Báo cáo tài chính...........................................................75 Bảng 3. 21 - Lược đồ dữ liệu Hệ thống........................................................................75 Bảng 3. 22 - Lược đồ dữ liệu Giao dịch nội bộ.............................................................76 Bảng 3. 23 - Lược đồ dữ liệu thông Tin các cổ đông lớn..............................................76 Bảng 3. 24 - Lược đồ dữ liệu Lãnh đạo, cơ cấu cổ đông, cáo bạch..............................77 Bảng 3. 25 – Bảng STS_Market_Info...........................................................................78 Bảng 3. 26 – Bảng STS_StocksInfo.............................................................................84 Bảng 3. 27 – Bảng STS_Order.....................................................................................87 Bảng 3. 28 – Bảng STS_Trading..................................................................................88 Đ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ẽ Hình 1. 1 - Quá trình xử lý đối với trang web tĩnh........................................................11 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 ...................................................................................................................................... 12 Hình 1. 3 Tỷ lệ các server sử dụng Apache so với các phần mềm khác........................14 Hình 1. 4 - Mô hình Request/Response của Client/Server...........................................14 Hình 1. 5 - So sánh web truyền thống và ajax web.......................................................16 Hình 2. 1 – Cấu trúc trang trong Sitefinity...................................................................30 Hình 2. 2 – Tempalate mẫu trong Sitefinity..................................................................31 Hình 2. 3 – Cấu trúc thư mục trong Visual Studio........................................................33 Hình 2. 4 – Định nghĩa cấu trúc dữ liệu sử dụng Nolics.Net........................................35 Hình 2. 5 – Nâng cấp CSDL.........................................................................................40 Hình 2. 6 - Định nghĩa thuộc tính điều khiển PadpanelBar..........................................42 Hình 2. 7 - Sửa đổi điều khiển PadpanelBar.................................................................42 Hình 2. 8 - Điều khiển nội dung (Generic Content)......................................................45 Hình 2. 9 - Điều khiển Modul.......................................................................................46 Hình 2. 10 - Blog Module.............................................................................................46 Hình 2. 11 - List Module..............................................................................................46 Hình 2. 12 - Điều khiển Poll box..................................................................................47 Hình 2. 13 - Thành phần pluggable module..................................................................48 Hình 2. 14 - Mối quan hệ giữa các module...................................................................49 Hình 3. 1 - Biểu đồ giá.................................................................................................56 Hình 3. 2 - Sơ đồ use case đối với người sử dụng........................................................59 Hình 3. 3 - Biểu đồ tuần tự của hoạt động lấy báo giá chứng khóan............................89 Đ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 Danh sách từ viết tắt........................................................................................................3 Danh mục các bảng.........................................................................................................4 Danh sách các hình vẽ.....................................................................................................5 Mục lục........................................................................................................................... 6 Lời giới thiệu................................................................................................................... 9 ABSTRACT OF THESIS..............................................................................................10 Chương I : TỔNG QUAN VỀ HỆ QUẢN TRỊ NỘI DUNG CMS.......................11 1 TỔNG QUAN VỀ CÔNG NGHỆ XÂY DỰNG WEBSITE..................................11 1.1.Kiến trúc website................................................................................................11 1.2. Công nghệ xây dựng website:............................................................................14 2.Giới thiệu về hệ quản trị nội dung CMS.................................................................17 2.1. Một số khái niệm cơ bản....................................................................................17 2.1.1 Hệ quản trị nội dung.....................................................................................17 2.1.2. Nội dung......................................................................................................17 2.1.3. Thành phần của nội dung............................................................................18 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......19 2.2.1. Xác định yêu cầu của hệ thống CMS...........................................................19 2.2.1.1. Các chức năng cơ bản của một hệ thống CMS......................................19 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...19 1.2.3 Các thành phần của CMS.................................................................................20 2.3.1 Ứng dụng quản lý nội dung CMA................................................................21 2.3.2 ứng dụng quản lý nội dung thông tin MMA.................................................23 2.4 Đặc trưng nổi bật của Hệ quản trị nội dung........................................................25 2.4.1 Kiểm soát phiên bản (Version Control)........................................................25 2.4.1.2 version control phức tạp.........................................................................26 2.4.1.3 Tiến trình kiểm soát phiên bản lưu trữ dữ liệu.......................................26 2.4.1.4 Theo dõi phiên bản (Version tracking)..................................................27 2.4.1.5 Cơ chế hồi phục (Rollback)...................................................................27 CHƯƠNG II. CÔNG NGHỆ CMS - SITEFINITY.......................................................29 2.1. Tổng quan về Telerik SiteFinity......................................................................29 2.2. Các thành phần cơ bản của Telerik SiteFinity...............................................30 2.3. Mô hình lập trình.............................................................................................32 Đ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 2.3.1. Lập trình với Visual Studio........................................................................32 2.3.2. Truy xuất cơ sở dữ liệu...............................................................................34 2.3.3. Lập trình với Trang chủ và các mẫu (templates)........................................41 2.3.4. Lập trình với bộ duyệt site..........................................................................41 2.3.5. Làm việc với các điều khiển.......................................................................43 2.3.6. Làm việc với các mô-đun...........................................................................44 2.3.6.1. Sử dụng module sẵn có :...........................................................................44 2.3.6.1. Xây dựng module tích hợp vào Sitefinity:................................................47 2.3.7. Vấn đề bảo mật trong SiteFinity.................................................................51 2.4. Kết luận.............................................................................................................53 CHƯƠNG III: KHẢO SÁT VÀ PHÂN TÍCH BÀI TOÁN..........................................54 1 Giới thiệu về bài toán cần xây dựng........................................................................54 2. Xác định vấn đề.......................................................................................................54 3. Phân tích yêu cầu bài toán......................................................................................54 3.1.Tin chứng khoán :...............................................................................................54 3.2.Tin công ty :........................................................................................................55 3.3.Tin công ty niêm yết:..........................................................................................55 3.3.1. Công ty :......................................................................................................55 3.3.1.1. Tổng quan công ty :..............................................................................55 3.3.1.2. Hồ sơ doanh nghiệp :............................................................................56 3.3.1.3. Thống kê cơ bản :.................................................................................56 3.3.1.4. Cáo bạch báo cáo tài chính :.................................................................58 3.3.2. Quyền sở hữu :............................................................................................58 3.3.2.1. Cổ đông chính :.....................................................................................58 3.3.2.2. Giao dịch nội bộ :.................................................................................58 3.3.3. Công bố thông tin :......................................................................................58 3.3.4. Biểu đồ kỹ thuật :........................................................................................58 3.3.5. Báo cáo tài chính :.......................................................................................59 3.3.6. Truy vấn giá :..............................................................................................59 4. Đặc tả của một số use case chính đối với người sử dụng :....................................59 4.1. Usecase xem thông tin báo giá chứng khoán.....................................................59 4.2. Usecase xem kết quả khớp lệnh.........................................................................59 4.3. Usecase xem tìm kiếm thông tin các công ty niêm yết.......................................60 5. Thiết kế cơ sở dữ liệu :............................................................................................60 5.1. Các bảng CSDL về thông tin công ty:................................................................60 5.2. Quan hệ các bảng CSDL :..................................................................................74 5.2.1.Công ty phát hành cổ phiếu :........................................................................74 Đ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 5.2.2. Báo cáo tài chính :.......................................................................................74 5.2.3. Hệ thống :....................................................................................................75 5.2.4. Giao dịch nội bộ :........................................................................................75 5.2.5. Thông tin các cổ đông lớn :.........................................................................76 5.2.6. Lãnh đạo, cơ cấu cổ đông, cáo bạch :..........................................................76 5.3. Các bảng CSDL về thông tin giao dịch..............................................................77 5.3.1. STS_Market_info :.....................................................................................77 5.3.2. STS_StocksInfo :.......................................................................................78 5.3.3. STS_Order :................................................................................................84 5.3.4. STS_Trading :.............................................................................................87 3.6. Các biểu đồ tuần tự..............................................................................................88 3.7. Kết luận :............................................................................................................... 89 CHƯƠNG IV. TRIỂN KHAI ỨNG DỤNG VÀ TỔNG KẾT ĐÁNH GIÁ..................90 1. Triển khai ứng dụng............................................................................................90 2. Tổng kết đánh giá.................................................................................................91 Tài liệu tham khảo.........................................................................................................92 Đ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 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 9 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 10 Nghiên cứu công nghệ Sitefinity Chương I : Xây dựng hệ thống thông tin chứng khoán 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 11 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 12 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 - Khả năng xảy ra lỗi cao hơn - Tốc độ cao hơn bản. - Giá thành xây dựng thấp - Giá thành xây dựng cao - Phụ thuộc rất ít vào công nghệ - Phụ thuộc khá nhiều vào công nghệ xây xây dựng. dựng web. - Nội dung phải được thay đổi trực - Tiện lợi và nhanh chóng cập nhật, thay đổi tiếp ở mã nguồn bởi lập trình viên. nội dung trang web. - Khó hơn. - Dễ dàng mở rộng khả năng phục vụ của - Tốc độ thấp do phải dịch các đoạn mã kịch 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 13 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 14 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 15 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 16 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 17 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 18 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 19 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 20
- Xem thêm -

Tài liệu liên quan