Bối cảnh và vấn đề nghiên cứu

Thị trường chứng khoán Việt Nam giai đoạn 2004 - 2008 ghi nhận sự phát triển mạnh mẽ và thu hút sự quan tâm lớn từ các doanh nghiệp cũng như các nhà đầu tư cá nhân tại các đô thị lớn như TP. Hồ Chí Minh và Hà Nội. Tuy nhiên, nhận thức của đa số người tham gia thị trường ở thời điểm này còn nhiều hạn chế; không ít nhà đầu tư tham gia giao dịch dựa trên tâm lý may rủi hoặc chịu tác động từ tâm lý đám đông do thiếu hụt nguồn thông tin chính xác, kịp thời và toàn diện. Thực tế các kênh thông tin trực tuyến phục vụ phân tích, tổng hợp số liệu giao dịch, đăng tải nhận định chuyên gia hay dự báo xu hướng thị trường còn rất phân tán và chưa đáp ứng được nhu cầu thực tiễn.

Trước thực trạng đó, khóa luận tốt nghiệp cử nhân ngành Công nghệ Thông tin của tác giả Huỳnh Đức Hà (Đại học Tôn Đức Thắng, 2008) với đề tài "Xây dựng cổng thông tin (Portal) thị trường chứng khoán" được thực hiện nhằm nghiên cứu giải pháp tích hợp thông tin tài chính - chứng khoán trên nền tảng công nghệ Web Portal mã nguồn mở DotNetNuke.

Nhiệm vụ và mục tiêu nghiên cứu được xác định gồm ba nội dung trọng tâm:

  1. Cung cấp hệ thống kiến thức nền tảng về công nghệ Portal và DotNetNuke: Phân tích các khái niệm, phân loại, chức năng của Web Portal và khảo sát sâu về cấu trúc, kiến trúc đa tầng, cơ chế hoạt động cùng tính năng bảo mật của DotNetNuke (DNN).
  2. Xây dựng ứng dụng Web Portal thực nghiệm cho thị trường chứng khoán: Ứng dụng khung làm việc DotNetNuke để thiết kế và triển khai cổng thông tin chứng khoán hoàn chỉnh với khả năng phục vụ theo vai trò người dùng (cá nhân hóa), bảo mật thông tin và dễ dàng nâng cấp, bảo trì thông qua cấu trúc module hóa.
  3. Tạo lập cơ sở tiền đề cho các nghiên cứu tiếp theo: Đóng vai trò là tài liệu tham khảo và nền tảng kỹ thuật cho việc xây dựng, mở rộng các ứng dụng quản lý thông tin chuyên ngành trên nền tảng .NET/DotNetNuke.
Mục tiêu nghiên cứu Nội dung mô tả chi tiết
Nghiên cứu lý thuyết Khảo sát công nghệ Portal, phân tích kiến trúc đa tầng và cơ chế an ninh của framework DotNetNuke.
Xây dựng ứng dụng mẫu Thiết kế hệ thống, lập trình các module chứng khoán chuyên biệt, cá nhân hóa giao diện và phân quyền truy cập.
Tiền đề phát triển Định hình cấu trúc giải pháp cổng thông tin chuyên ngành, phục vụ nghiên cứu mở rộng sau này.
  • Đối tượng nghiên cứu: Công nghệ cổng thông tin điện tử (Web Portal), framework mã nguồn mở DotNetNuke và mô hình tổ chức dữ liệu giao dịch thị trường chứng khoán Việt Nam.
  • Phạm vi nghiên cứu: Tập trung vào các nghiệp vụ giao dịch tại thị trường chứng khoán Việt Nam (sàn TP. Hồ Chí Minh và Hà Nội), dữ liệu niêm yết, bảng giá, chỉ số thị trường (VN-Index, HASTC-Index) và triển khai cài đặt mẫu trên nền tảng DotNetNuke (hoàn thành vào tháng 7 năm 2008).

Cơ sở lý thuyết và phương pháp

Đề tài kết hợp giữa lý thuyết về kiến trúc phần mềm hướng cổng thông tin và các nguyên lý vận hành nghiệp vụ của thị trường chứng khoán:

  1. Khái niệm và đặc trưng của Cổng thông tin (Web Portal):

    • Đăng nhập một lần (Single Sign-On - SSO): Cho phép người dùng truy cập tất cả dịch vụ trong hệ thống chỉ với một tài khoản xác thực duy nhất.
    • Cá nhân hóa (Personalization): Khả năng tùy biến nội dung, chức năng và giao diện hiển thị (skin) phù hợp với từng nhóm người dùng và vai trò quản trị.
    • Tính tự hoạt động (Self-services): Các chức năng được đóng gói thành các module độc lập, có vòng đời và cơ sở dữ liệu riêng, dễ dàng tháo lắp mà không làm gián đoạn toàn bộ hệ thống.
    • Khả năng tích hợp đa dạng: Hỗ trợ tích hợp đa nguồn dữ liệu (tệp tin, cơ sở dữ liệu quan hệ, cơ sở dữ liệu hướng đối tượng), hoạt động đa nền tảng và hỗ trợ đa ngôn ngữ.
  2. Khung làm việc DotNetNuke (DNN):

    • Được phát triển từ nền tảng ứng dụng mẫu IBuySpy của Microsoft, chạy trên nền ASP.NET và cơ sở dữ liệu quan hệ Microsoft SQL Server.
    • Hệ thống được cấu trúc theo mô hình đa tầng: Lớp Trình diễn (Presentation Layer), Lớp Xử lý nghiệp vụ (Business Logic Layer) và Lớp Truy cập dữ liệu (Data Access Layer) ứng dụng mẫu thiết kế Provider Model.
  3. Phương pháp nghiên cứu thực hiện:

    • Phương pháp phân tích - tổng hợp tài liệu: Nghiên cứu các tài liệu kỹ thuật về ASP.NET, DotNetNuke, các quy định và thuật ngữ giao dịch chứng khoán của Ủy ban Chứng khoán Nhà nước.
    • Phương pháp so sánh: Đánh giá ưu và nhược điểm của DotNetNuke so với các giải pháp portal khác (PHP-Nuke, Rainbow, Uportal, Zope, ViePortal) về kiến trúc, bảo mật và khả năng mở rộng.
    • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Xây dựng danh mục các tác nhân (Actors), lược đồ ca sử dụng (Use-case Diagram), lược đồ tuần tự (Sequence Diagram), thiết kế mô hình thực thể quan hệ (ERD) và thiết kế biểu đồ lớp (Class Diagram).

Thiết kế và triển khai

1. Kiến trúc hệ thống và công nghệ sử dụng

Hệ thống Web Portal được xây dựng dựa trên kiến trúc 3 tầng của DotNetNuke:

  • Lớp Trình diễn (Presentation Layer): Quản lý hiển thị qua các thành phần Web Form, Pane, Container, Skin và các mã lệnh phía máy khách (Client-Side Script). Giao diện và vùng bố trí module được tách bạch hoàn toàn với mã nguồn xử lý.
  • Lớp Nghiệp vụ (Business Logic Layer): Đảm nhận các dịch vụ cốt lõi, quản lý vai trò người dùng (User Role), cấu hình trang (Page Configuration) và đa ngôn ngữ (Localization).
  • Lớp Truy xuất dữ liệu (Data Access Layer): Áp dụng mẫu thiết kế Provider Model nhằm tách biệt logic xử lý khỏi các chi tiết cụ thể của hệ quản trị cơ sở dữ liệu, giao tiếp với hệ CSDL thông qua hệ thống Stored Procedures.
  • Môi trường kỹ thuật: Máy chủ web Microsoft IIS, nền tảng ASP.NET, ngôn ngữ lập trình C# và VB.NET, hệ quản trị cơ sở dữ liệu Microsoft SQL Server (2000/2005/MSDE/SQL Express).
Tiêu chí DotNetNuke PHP-Nuke Rainbow
Application Server IIS / ASP.NET Mod_php / Apache MS ASP.NET
Hệ quản trị CSDL MSSQL 2000/2005, SQL Express, MSDE MySQL, PostgreSQL, mSQL, Interbase, Sybase MSSQL 2000/2005, MSDE
Ngôn ngữ lập trình VB.NET / C# PHP C#
Cơ chế kéo thả nội dung Có Không Không
Bảo mật phân quyền Sandbox, Login History, Chứng thực Email Giới hạn Sandbox, Login History
Đa cổng thông tin Có (Hỗ trợ Parent/Child Portal) Không Có

2. Các nhóm tác nhân (Actors) và phân quyền

Hệ thống xác định 5 nhóm tác nhân chính:

  • Người dùng chưa đăng nhập (Guest): Tìm kiếm mã chứng khoán, xem bảng giá trực tuyến, tin tức thị trường, kiến thức chứng khoán, danh sách niêm yết (cổ phiếu, trái phiếu, chứng chỉ quỹ), thống kê quy mô giao dịch, kết quả giao dịch cuối ngày, danh sách top cổ phiếu (tăng/giảm, khối lượng/giá trị khớp lớn nhất) và biểu đồ chỉ số VN-Index, HASTC-Index.
  • Người dùng đã đăng nhập (Thành viên): Sở hữu toàn bộ quyền của khách vãng lai, bổ sung quyền quản lý thông tin tài khoản cá nhân và tải tài liệu nghiên cứu.
  • Doanh nghiệp: Cập nhật thông tin doanh nghiệp, đăng tải và quản lý các bài viết liên quan đến tổ chức, đăng tin quảng cáo trên portal.
  • Phân tích viên: Đăng tải bài viết nhận định, cập nhật tin tức phân tích thị trường chuyên sâu và phân tích vẽ biểu đồ kỹ thuật (VN-Index, HASTC-Index).
  • Quản trị viên (Admin / Host): Quản lý người dùng, cấu hình giao diện, thiết lập quyền hạn cho các nhóm và quản trị toàn bộ hệ thống cơ sở dữ liệu.

3. Các module phần mềm được triển khai

Hệ thống kết hợp giữa các module có sẵn của DotNetNuke và các module nghiệp vụ tự phát triển:

  • Module dùng lại từ DNN: Module xác thực người dùng, quản trị vai trò, quản lý nội dung tĩnh, cấu hình phân quyền trang.
  • Module tự xây dựng:
    • Module Tin tức: Tiếp nhận, biên tập và phân loại tin tức từ sở giao dịch và thị trường.
    • Module Công ty niêm yết & Danh sách niêm yết: Hiển thị hồ sơ chi tiết các công ty, mã chứng khoán, khối lượng và giá trị niêm yết.
    • Module Chỉ số Index & Biểu đồ: Theo dõi và biểu diễn trực quan biến động của VN-Index và HASTC-Index.
    • Module Bảng giá trực tuyến: Hiển thị diễn biến giá mua, giá bán, giá khớp lệnh, mức giá tham chiếu trong các phiên giao dịch.
    • Module Top chứng khoán tăng giảm & Thống kê: Tự động lọc và kết xuất danh sách chứng khoán có biến động mạnh nhất và thống kê giao dịch theo phiên.

4. Giải pháp an toàn và bảo mật hệ thống

  • Chống tấn công Cross-Site Scripting (XSS): Tích hợp hàm kiểm tra toàn cục InputFilter (trong thư viện components\security.vb) để lọc bỏ các thẻ HTML nguy hiểm và vô hiệu hóa mã script độc hại trước khi ghi nhận dữ liệu.
  • Chống tấn công SQL Injection: Bắt buộc mọi thao tác truy vấn và biến đổi dữ liệu phải thông qua các Stored Procedures, ngăn ngừa việc chèn các câu lệnh SQL tùy ý qua biểu mẫu nhập liệu.
  • Thu hẹp bề mặt tấn công (Attack Surface): Sử dụng duy nhất tập tin Default.aspx làm điểm đầu vào tiếp nhận yêu cầu từ phiên bản DNN 2.0 trở đi, loại bỏ các trang xử lý phân tán nhằm hạn chế lỗ hổng bảo mật.
  • Cấu hình an ninh truy cập mã (Code Access Security - CAS): Thiết lập cấu hình ứng dụng ở mức độ tin cậy trung bình (Medium Trust) nhằm bảo đảm an toàn hệ thống mà không cản trở các tác vụ đọc/ghi cần thiết.

Nội dung chính theo từng chương

Chương 1: Giới thiệu

Chương 1 làm rõ bối cảnh phát triển của thị trường chứng khoán Việt Nam, nêu bật nhu cầu tiếp cận thông tin có hệ thống của nhà đầu tư và doanh nghiệp. Tác giả trình bày lý do lựa chọn DotNetNuke làm khung giải pháp, xác định mục tiêu xây dựng một ứng dụng portal mẫu, vạch rõ phạm vi nghiên cứu và giới hạn thực hiện của đề tài tốt nghiệp.

Chương 2: Tìm hiểu cổng thông tin Portal

Chương này đi sâu vào cơ sở lý thuyết về cổng thông tin điện tử, phân loại portal theo phạm vi (chiều rộng và chiều sâu) và mô tả các chức năng chuẩn mực như SSO, cá nhân hóa, self-services. Tác giả thực hiện phân tích đối chiếu DotNetNuke với các giải pháp như PHP-Nuke và Rainbow, đồng thời trình bày cấu trúc module, kiến trúc 3 tầng (Presentation, Business Logic, Data Access qua Provider Model) và các phương pháp kiểm soát an ninh (chống XSS, SQL Injection, cấu hình CAS).

Chương 3: Tìm hiểu chứng khoán

Chương 3 tổng hợp các khái niệm và thuật ngữ cơ bản của thị trường tài chính Việt Nam: cổ phiếu, trái phiếu, chứng chỉ quỹ, thị trường tập trung, thị trường phi tập trung (OTC), phát hành ra công chúng (IPO), bản cáo bạch, lưu ký, các loại lệnh giao dịch (lệnh giới hạn, lệnh ATO). Chương này cũng mô tả quy trình 3 phiên giao dịch khớp lệnh tại Trung tâm Giao dịch Chứng khoán TP. Hồ Chí Minh (HOSE) và sàn Hà Nội.

Chương 4: Phân tích và thiết kế

Chương 4 thực hiện đặc tả yêu cầu người dùng, xác định 5 tác nhân tương tác với hệ thống và xây dựng chi tiết các lược đồ ca sử dụng cho từng tác nhân. Tác giả mô hình hóa luồng xử lý thông qua hàng loạt biểu đồ tuần tự (đăng ký, đăng nhập, tìm kiếm, tra cứu top cổ phiếu, xem bảng giá, cập nhật và xóa dữ liệu). Phần cuối chương trình bày chi tiết thiết kế các bảng trong cơ sở dữ liệu quan hệ (bảng mã chứng khoán, bảng giá, giao dịch, bên mua, bên bán, công ty niêm yết, tin tức) và thiết kế biểu đồ lớp.

Chương 5: Thực hiện

Chương 5 trình bày việc hiện thực hóa các module trên môi trường phát triển DotNetNuke. Tác giả mô tả cách tích hợp các module cốt lõi có sẵn cùng cách lập trình các module tự viết phục vụ thị trường chứng khoán (Tin tức, Công ty niêm yết, Bảng giá trực tuyến, Chỉ số index, Thống kê top cổ phiếu). Chương này đính kèm sơ đồ cấu trúc trang web và hình ảnh chụp màn hình giao diện thực tế của cổng thông tin khi vận hành thử nghiệm.

Chương 6: Tổng kết và đánh giá

Chương cuối tổng kết các kết quả đạt được về mặt nghiên cứu lý thuyết lẫn sản phẩm thực nghiệm, chỉ ra các mặt hạn chế về tính năng và dữ liệu thời gian thực do hạn chế tài nguyên và thời gian, từ đó đề xuất các hướng mở rộng và hoàn thiện hệ thống trong tương lai.


Kết quả và đóng góp

  1. Kết quả đạt được:

    • Hệ thống hóa toàn diện các kiến thức nền tảng về công nghệ Web Portal, kiến trúc đa tầng và các giải pháp bảo mật của framework DotNetNuke.
    • Xây dựng thành công một ứng dụng web portal thực nghiệm cho thị trường chứng khoán Việt Nam với giao diện trực quan, hỗ trợ phân quyền người dùng chặt chẽ và tích hợp nhiều module nghiệp vụ: theo dõi chỉ số VN-Index, tra cứu bảng giá trực tuyến, cập nhật tin tức, hồ sơ niêm yết và dữ liệu giao dịch.
    • Áp dụng các giải pháp bảo mật phần mềm web chuẩn mực: bộ lọc InputFilter phòng chống tấn công XSS, thiết kế Stored Procedures chống SQL Injection và cấu hình an ninh CAS Medium Trust.
  2. Đóng góp của đề tài:

    • Đề tài là một trong những công trình thực nghiệm tiên phong ở cấp độ đồ án đại học tại Đại học Tôn Đức Thắng trong việc ứng dụng công nghệ portal mã nguồn mở trên nền tảng Microsoft .NET vào lĩnh vực thông tin thị trường tài chính.
    • Cung cấp tài liệu phân tích thiết kế hệ thống chi tiết (ca sử dụng, biểu đồ tuần tự, thiết kế cơ sở dữ liệu) làm tài liệu tham khảo cho việc xây dựng các cổng thông tin chuyên ngành tương tự.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:
    • Do giới hạn về thời gian và nhân lực thực hiện (đồ án cá nhân), hệ thống mới dừng lại ở mức độ cài đặt thử nghiệm mẫu, chưa kết nối dữ liệu tự động trực tiếp theo thời gian thực (real-time data feed) với hệ thống của các Sở Giao dịch Chứng khoán.
    • Các công cụ phân tích kỹ thuật và dự báo xu hướng thị trường chưa được xây dựng thành các thuật toán xử lý tự động phức tạp.
  • Hướng nghiên cứu tiếp:
    • Nâng cấp và hoàn thiện các module phân tích biểu đồ nâng cao, tích hợp các chỉ báo kỹ thuật tài chính chuyên sâu.
    • Xây dựng cơ chế tích hợp API kết nối dữ liệu trực tuyến liên tục từ Trung tâm Lưu ký và các Sở giao dịch.
    • Tối ưu hóa giao diện người dùng, bổ sung các dịch vụ tương tác doanh nghiệp và mở rộng hỗ trợ trên các nền tảng thiết bị di động.

Giá trị tham khảo

  • Đối với sinh viên ngành Công nghệ Thông tin: Là tài liệu tham khảo thực tế về phương pháp phân tích, thiết kế hệ thống hướng đối tượng và quy trình module hóa ứng dụng web trên nền tảng DotNetNuke/ASP.NET.
  • Đối với lập trình viên phát triển web portal: Cung cấp các hướng dẫn về thiết kế kiến trúc đa tầng (Provider Model), phân quyền vai trò người dùng phức tạp và triển khai các kỹ thuật an toàn thông tin (chống XSS, SQL Injection, quản lý CAS).
  • Đối với người nghiên cứu hệ thống tài chính: Minh họa mô hình cấu trúc dữ liệu cho thị trường chứng khoán bao gồm các thực thể: mã chứng khoán, bước giá, lệnh mua/bán, phiên giao dịch và chỉ số giá cổ phiếu.

Câu hỏi thường gặp

1. Vì sao tác giả lựa chọn DotNetNuke thay vì các framework khác như PHP-Nuke hay Rainbow?
DotNetNuke được lựa chọn nhờ chạy trên nền ASP.NET hiện đại, sử dụng ngôn ngữ C#/VB.NET phổ biến, kiến trúc Provider Model đa tầng mềm dẻo, hỗ trợ tính năng kéo thả giao diện, khả năng tạo nhiều portal độc lập trên cùng một bản cài đặt (Multi-portal) và sở hữu cơ chế bảo mật phân quyền vượt trội so với PHP-Nuke hay Rainbow.

2. Hệ thống phân chia quyền hạn của các nhóm người dùng (Actors) như thế nào?
Hệ thống phân chia thành 5 nhóm tác nhân: Khách vãng lai (xem thông tin chung, bảng giá, biểu đồ, tin tức); Thành viên đăng nhập (thêm quyền quản lý tài khoản và tải tài liệu); Doanh nghiệp (quản lý bài viết và đăng thông tin quảng bá doanh nghiệp); Phân tích viên (đăng tin phân tích và vẽ biểu đồ chỉ số); Quản trị viên (quản lý toàn bộ cấu hình, tài khoản và phân quyền hệ thống).

3. Khóa luận đã áp dụng những giải pháp kỹ thuật nào để bảo mật cho cổng thông tin?
Tác giả đã áp dụng 4 giải pháp: (1) Sử dụng bộ lọc dữ liệu đầu vào InputFilter trong components\security.vb để loại bỏ mã độc XSS; (2) Toàn bộ thao tác cơ sở dữ liệu thực hiện qua Stored Procedures để ngăn ngừa lỗi SQL Injection; (3) Hạn chế điểm truy cập đầu vào ứng dụng qua tập tin duy nhất Default.aspx; (4) Cấu hình bảo mật truy cập mã Code Access Security (CAS) ở mức độ Medium Trust.

4. Khung thời gian các phiên giao dịch trên sàn TP. Hồ Chí Minh được đề tài ghi nhận ra sao?
Văn bản ghi nhận quy trình giao dịch gồm 3 phiên chính thức: Phiên 1 (8h30 - 9h00) khớp lệnh định kỳ; Phiên 2 (9h00 - 10h00) khớp lệnh liên tục; Phiên 3 (10h00 - 10h30) khớp lệnh định kỳ; và khoảng thời gian từ 10h30 đến 11h00 dành cho giao dịch thỏa thuận giữa các doanh nghiệp.

5. Những module nghiệp vụ nào đã được tự lập trình mới trong đề tài?
Tác giả đã tự xây dựng các module nghiệp vụ chuyên ngành gồm: Module Tin tức, Module Công ty niêm yết, Module Danh sách niêm yết, Module Chỉ số Index, Module Bảng giá trực tuyến, Module Top chứng khoán tăng giảm và Module Thống kê giao dịch.


Kết luận

Khóa luận tốt nghiệp của tác giả Huỳnh Đức Hà đã giải quyết thành công bài toán nghiên cứu và ứng dụng framework DotNetNuke để xây dựng mô hình cổng thông tin thị trường chứng khoán Việt Nam. Bằng việc phân tích nghiệp vụ chứng khoán kết hợp với mô hình thiết kế hướng đối tượng, tác giả đã triển khai một hệ thống thực nghiệm có tính module hóa cao, bảo đảm phân quyền chặt chẽ và an toàn thông tin. Đây là công trình mang giá trị học thuật và ứng dụng thực tiễn rõ nét, đóng vai trò là tài liệu tham khảo hữu ích cho các nghiên cứu phát triển cổng thông tin chuyên ngành trên nền tảng công nghệ Microsoft .NET.