Giới thiệu dự án
Vào đầu những năm 2000, sự bùng nổ của mạng toàn cầu Internet và giao thức World Wide Web (WWW) đã mở ra một kỷ nguyên mới cho việc quản trị dữ liệu số. Tại Việt Nam, hầu hết các cơ sở giáo dục đại học và cao đẳng thời điểm này vẫn phụ thuộc vào phương thức quản lý học vụ truyền thống: lưu trữ hồ sơ giấy, thông báo kết quả thi qua bảng tin cơ học, và xử lý nghiệp vụ đơn lẻ trên các máy trạm độc lập sử dụng hệ quản trị tệp cục bộ (FoxPro, Dbase). Mô hình thủ công này bộc lộ nhiều điểm nghẽn nghiêm trọng:
- Thời gian phản hồi thông tin chậm (sinh viên mất từ vài ngày đến hàng tuần để biết điểm thi học kỳ).
- Tắc nghẽn thông tin cục bộ tại các phòng Đào tạo vào các đợt tuyển sinh và xét tốt nghiệp.
- Chi phí in ấn văn bản, bảng điểm và thời khóa biểu tiêu tốn đáng kể ngân sách vận hành.
- Phụ huynh và học sinh từ xa gặp khó khăn trong việc tiếp cận thông tin tuyển sinh, chương trình đào tạo chuẩn.
[Mô hình Thủ công Cũ] [Mô hình Chuyển đổi Số trên Web]
+--------------------------+ +---------------------------------------+
| Hồ sơ giấy / Bảng tin | Chậm trễ, sai lệch | Web Server (IIS) + ASP + CSDL ODBC |
| Xử lý thủ công tại phòng | ------------------> | Tra cứu Điểm / TKB trực tuyến 24/7 |
| Tra cứu trực tiếp tại bộ | | Tự động hóa cập nhật, kết nối đa nền |
+--------------------------+ +---------------------------------------+
Đề tài "Nghiên cứu và xây dựng Website về thông tin đào tạo để ứng dụng cho đơn vị trường học" được thực hiện bởi sinh viên Nguyễn Thị Kim Ngân (Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM) dưới sự hướng dẫn khoa học của Thầy Hồ Văn Cửu (Học viện Công nghệ Bưu chính Viễn thông Cơ sở II). Đề tài tập trung vào việc nghiên cứu kiến trúc ứng dụng Web động nhiều tầng (multi-tier dynamic web application), kết hợp các công nghệ tiền tiến lúc bấy giờ gồm Active Server Pages (ASP), hệ quản trị cơ sở dữ liệu kết nối qua giao thức ODBC (Open Database Connectivity), và công cụ thiết kế Microsoft FrontPage để xây dựng Cổng thông tin đào tạo trực tuyến hoàn chỉnh.
Mục tiêu dự án
- Khảo sát và làm chủ công nghệ Web động: Nghiên cứu sâu cơ chế hoạt động của Web Server, giao thức HTTP/URLs, chuẩn siêu văn bản HTML, ngôn ngữ lập trình kịch bản máy chủ VBScript (Visual Basic Scripting Edition) và công nghệ Microsoft Active Server Pages (ASP).
- Xây dựng kiến trúc dữ liệu và kết nối CSDL: Thiết kế lược đồ cơ sở dữ liệu quan hệ quản lý sinh viên, điểm thi, môn học, kế hoạch đào tạo, thời khóa biểu và tuyển sinh; thiết lập kênh truyền dữ liệu qua ActiveX Data Objects (ADO) và cấu hình tối ưu bộ gom kết nối (Connection Pooling).
- Phát triển hệ thống Cổng thông tin đào tạo ứng dụng thực tế: Triển khai 10 phân hệ nghiệp vụ hoàn chỉnh phục vụ sinh viên, giảng viên, cán bộ quản lý đào tạo và thí sinh dự thi tại Trung tâm Đào tạo Bưu chính Viễn thông II.
- Tối ưu hóa giao diện và trải nghiệm người dùng: Thiết kế giao diện thân thiện với cấu trúc phân khung (Frame-based Layout), tương thích tốt trên các trình duyệt tiêu chuẩn (Microsoft Internet Explorer, Netscape Navigator).
Phạm vi và giới hạn đề tài
- Phạm vi triển khai: Áp dụng thử nghiệm tại Trung tâm Đào tạo Bưu chính Viễn thông II - TP. Hồ Chí Minh trong khuôn khổ mạng Intranet/Internet của trường.
- Thời gian thực hiện: 06 tuần nghiên cứu chuyên sâu, tự dịch thuật tài liệu kỹ thuật tiếng Anh về ASP/ADO và cài đặt hệ thống.
- Giới hạn kỹ thuật: Tập trung vào cơ chế xác thực phân quyền cơ bản, chưa đi sâu vào các thuật toán mã hóa mật khẩu nâng cao đa lớp (Advanced Hashing); xử lý font chữ tiếng Việt theo chuẩn font mã hóa VNI-Times/TCVN3 (phổ biến năm 2001).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Tại thời điểm năm 2001, các giải pháp số hóa thông tin giáo dục trên thị trường được chia thành ba nhóm chính với các ưu và nhược điểm rõ rệt:
| Tiêu chí phân tích |
Phương pháp Quản lý Thủ công / Giấy tờ |
Giải pháp Web tĩnh (Static HTML 2.0/3.2) |
Ứng dụng Web CGI/Perl Scripts |
Giải pháp Đề xuất (ASP 3.0 + ADO + ODBC) |
| Tính cập nhật dữ liệu |
Rất chậm, phải in lại toàn bộ khi có thay đổi |
Chậm, phải sửa mã nguồn HTML thủ công |
Tức thời, xử lý qua server-side script |
Tức thời, tự động truy vấn CSDL theo thời gian thực |
| Tải tài nguyên Server |
Không áp dụng |
Thấp (chỉ phục vụ file tĩnh) |
Rất cao (mỗi request khởi tạo 1 process OS mới) |
Tối ưu (chạy đa luồng In-Process qua ISAPI DLLs) |
| Khả năng quản trị CSDL |
Cồng kềnh, dễ thất lạc hồ sơ |
Không hỗ trợ CSDL |
Hỗ trợ qua file phẳng hoặc module DBI |
Mạnh mẽ qua ADO (ADODB.Connection, RecordSet) |
| Bảo trì & Phát triển |
Khó chuẩn hóa |
Khó mở rộng quy mô lớn |
Code phức tạp, khó bảo trì |
Mã nguồn lồng trực tiếp trong HTML (<% %>), dễ phát triển |
| Chi phí vận hành |
Tốn kém vật tư, nhân lực |
Thấp nhưng không đáp ứng nghiệp vụ |
Trung bình, đòi hỏi server Unix/Linux đắt đỏ |
Tiết kiệm, tương thích hoàn hảo trên Windows NT/98 |
Ma trận phân loại yêu cầu người dùng (MoSCoW)
- Must Have (Bắt buộc phải có):
- Tra cứu điểm thi chi tiết theo Mã sinh viên (
masv).
- Tra cứu kết quả tuyển sinh đại học/cao đẳng theo Số báo danh.
- Xem danh mục quy chế, quy định học vụ và kế hoạch đào tạo.
- Hiển thị danh bạ cán bộ, phòng ban (
QLĐT-NCKH&TTTL) và giảng viên.
- Should Have (Nên có):
- Biểu mẫu đăng ký đề tài Nghiên cứu Khoa học (NCKH) trực tuyến.
- Hệ thống tiếp nhận phản hồi, góp ý và giải đáp thắc mắc của sinh viên.
- Bản đồ điều hướng website (Site Map).
- Could Have (Có thể có):
- Hiệu ứng Dynamic HTML (DHTML) cho giao diện chuyển động sinh động.
- Bộ đếm lượt truy cập và thanh thông báo tin tức chạy tự động.
- Won't Have (Chưa thực hiện ở giai đoạn này):
- Cổng thanh toán học phí trực tuyến.
- Đăng ký môn học theo hệ thống tín chỉ tự động có tích hợp thuật toán xếp lịch thông minh.
Thiết kế hệ thống
Hệ thống được xây dựng theo kiến trúc 3 tầng chuẩn (3-Tier Client/Server Web Architecture), đảm bảo tính module hóa và khả năng cô lập lỗi:
+-------------------------------------------------------------------------+
| TẦNG TRÌNH DIỄN (CLIENT TIER) |
| Trình duyệt Web: Microsoft Internet Explorer 4.0+ / Netscape |
| Giao diện chia khung: Banner Frame | Main Frame | Content |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
| TẦNG DỊCH VỤ ỨNG DỤNG (WEB APPLICATION TIER) |
| Máy chủ Web: Microsoft IIS 3.0/4.0 (Windows NT) hoặc PWS (Win98) |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
| TẦNG DỮ LIỆU (DATABASE TIER) |
| Hệ quản trị CSDL: Microsoft SQL Server 7.0 / Microsoft Access |
| - student.mdb / daotao.mdf (Bảng: sinhvien, diem, mon,...) |
+-------------------------------------------------------------------------+
Ngăn xếp công nghệ (Technology Stack)
- Hệ điều hành Server: Microsoft Windows NT 4.0 Server (với Service Pack 4) / Windows 98 SE.
- Máy chủ dịch vụ mạng: Microsoft Internet Information Server (IIS) 3.0/4.0, Personal Web Server (PWS).
- Môi trường thực thi kịch bản: Microsoft Active Server Pages (ASP), ISAPI Engine.
- Ngôn ngữ kịch bản Server-side: Visual Basic Scripting Edition (VBScript), JavaScript 1.2.
- Giao tiếp cơ sở dữ liệu: Microsoft Data Access Components (MDAC), ActiveX Data Objects (ADO), Microsoft ODBC Driver for Access/SQL Server.
- Hệ quản trị CSDL: Microsoft Access 97/2000, Microsoft SQL Server 7.0.
- Công cụ thiết kế & lập trình: Microsoft FrontPage 98 / FrontPage 2000, Microsoft Visual InterDev 6.0, Visual Basic Editor.
- Trình duyệt Client mục tiêu: Microsoft Internet Explorer 4.0/5.0, Netscape Communicator 4.5.
Thiết kế cơ sở dữ liệu (Database Schema)
Hệ thống quản lý dữ liệu đào tạo tập trung vào mô hình quan hệ giữa sinh viên, môn học và bảng điểm:
sinhvien (masv [PK], hosv, tensv, ngaysinh, malop, noisinh, gioitinh)
mon (mamon [PK], tenmon, sotiethoc, hocky, heso)
diem (id [PK], masv [FK], mamon [FK], diem, lanthi, ngaynhap)
canbo (macb [PK], tencb, maphongban, chucvu, email, sdt)
tuyensinh (sobaodanh [PK], hoten, ngaysinh, khuvuc, diem_mon1, diem_mon2, diem_mon3, diemthuong, tongdiem)
Phương pháp triển khai (Methodology)
Dự án áp dụng mô hình phát triển phần mềm tuần tự nâng cao (Iterative Waterfall Lifecycle) được điều chỉnh để hoàn thành mục tiêu trong 06 tuần:
- Tuần 1 (08/01/2001 - 14/01/2001): Tiếp nhận nhiệm vụ đề tài, thu thập yêu cầu nghiệp vụ thực tế tại Trung tâm Đào tạo Bưu chính Viễn thông II; nghiên cứu tài liệu đặc tả giao thức HTTP, HTML 4.0 và ASP.
- Tuần 2 (15/01/2001 - 21/01/2001): Thiết kế mô hình dữ liệu quan hệ (ERD), thiết lập Data Source Name (ODBC System DSN) trên Windows NT/98; dựng layout khung tổng thể (
Frameset) bằng FrontPage 2000.
- Tuần 3 - Tuần 4 (22/01/2001 - 04/02/2001): Lập trình mã nguồn các trang kịch bản ASP xử lý dữ liệu động: tra cứu điểm, tuyển sinh, hiển thị danh bạ cán bộ, xử lý biểu mẫu đăng ký NCKH và trang tin tức.
- Tuần 5 (05/02/2001 - 18/02/2001): Tích hợp hiệu ứng DHTML, cấu hình Connection Pooling trong registry máy chủ, kiểm thử chức năng trên hệ thống mạng LAN thử nghiệm.
- Tuần 6 (19/02/2001 - 03/03/2001): Đánh giá chất lượng người dùng (UAT), viết tài liệu thuyết minh đồ án và hoàn thiện nghiệm thu tốt nghiệp.
Implementation và kết quả
Quá trình phát triển và Kỹ thuật trọng tâm
1. Cấu hình tối ưu hóa Connection Pooling trên máy chủ
Để giải quyết bài toán hiệu năng khi hàng trăm sinh viên cùng lúc truy cập website tra cứu điểm, hệ thống triển khai cơ chế gom kết nối (ODBC Connection Pooling). Thay vì khởi tạo và hủy liên tục tiến trình kết nối CSDL tiêu tốn tài nguyên CPU/RAM, một kết nối nhàn rỗi (idle connection) sẽ được giữ lại trong bộ nhớ tạm trong khoảng thời gian CPTimeout = 60 giây:
; Thiết lập Registry cho ODBC Connection Pooling Timeout
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb)]
"CPTimeout"="60"
Trong file cấu hình toàn cục Global.asa, chuỗi kết nối được thiết lập một lần khi phiên làm việc của người dùng khởi chạy (Session_OnStart):
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Session_OnStart
' Khởi tạo chuỗi kết nối chuẩn lưu trữ trong Session Object
Session("ConnectionString") = "DSN=student;UID=admin;PWD=;"
Session.Timeout = 20 ' Thời gian sống của session: 20 phút
End Sub
Sub Session_OnEnd
' Giải phóng biến trạng thái khi người dùng thoát phiên
End Sub
</SCRIPT>
2. Xây dựng phân hệ Tra cứu Bảng điểm chi tiết
Module tra cứu điểm học phần gồm 2 thành phần: Biểu mẫu nhập Mã sinh viên (searchpoint.asp) và Trang xử lý hiển thị kết quả động kết nối CSDL quan hệ (viewpoint.asp).
Mã nguồn giao diện tiếp nhận thông tin đầu vào:
<%@ Language=VBScript %>
<html>
<head>
<meta NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<title>Tra Cuu Ket Qua Hoc Tap</title>
</head>
<body bgcolor="#98d9fc" topmargin="0">
<p align="center"><b><font color="#FF0000" face="VNI-Times" size="4">KẾT QUẢ HỌC TẬP<br>---o0o---</font></b></p>
<p><font face="VNI-Times">Đề nghị nhập <b><u>mã sinh viên</u></b> vào hộp thoại dưới đây và tìm kiếm:</font></p>
<hr width="40%">
<form action="viewpoint.asp" id="FORM1" method="post" name="FORM1">
<p><b><font face="VNI-Times">Mã sinh viên:</font></b>
<input id="text1" name="masvtl" size="20"></p>
<p>
<input accessKey="O" id="submit1" name="OK" type="submit" value="Tìm kiếm" style="FONT-FAMILY: VNI-Times">
<input accessKey="C" id="submit2" name="Cancel" type="reset" value="Hủy bỏ" style="FONT-FAMILY: VNI-Times">
</p>
</form>
</body>
</html>
Mã nguồn kịch bản xử lý dữ liệu và xuất báo cáo kết quả (viewpoint.asp):
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<TITLE>Bang Diem Chi Tiet Sinh Vien</TITLE>
</HEAD>
<BODY background="./images/background/backgrnd.gif">
<%
' 1. Khởi tạo đối tượng Connection và kết nối qua DSN
Dim conn, RS, sql, inputMasv
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open Session("ConnectionString")
' 2. Lấy tham số truy vấn an toàn từ Request Object
inputMasv = Trim(Request.Form("masvtl"))
' 3. Thực thi truy vấn liên kết 3 bảng: sinhvien, diem, mon
sql = "SELECT sinhvien.masv, sinhvien.hosv, sinhvien.tensv, mon.tenmon, diem.diem " & _
"FROM diem, sinhvien, mon " & _
"WHERE diem.masv = sinhvien.masv " & _
"AND diem.mamon = mon.mamon " & _
"AND sinhvien.masv LIKE '" & inputMasv & "' " & _
"ORDER BY sinhvien.masv"
Set RS = conn.Execute(sql)
If RS.EOF Then
%>
<P><FONT face="VNI-Times" color="#FF0000"><B>Khong tim thay du lieu cho Ma sinh vien: <%=Server.HTMLEncode(inputMasv)%></B></FONT></P>
<%
Else
%>
<P align="center"><strong><font face="VNI-Times" color="#FF0000" size="4">BẢNG ĐIỂM CHI TIẾT</font></strong></P>
<P><strong><font face="VNI-Times">Sinh viên: <font size="4" color="#0000FF"><%=RS("hosv") & " " & RS("tensv")%></font></font></strong></P>
<P><strong><font face="VNI-Times">Có thành tích học tập:</font></strong></P>
<TABLE border="1" cellPadding="3" cellSpacing="0" width="80%" style="border-collapse: collapse;">
<TR bgcolor="#008080">
<TH width="70%" align="center"><FONT face="VNI-Times" color="#FFFFFF">Tên Môn Học</FONT></TH>
<TH width="30%" align="center"><FONT face="VNI-Times" color="#FFFFFF">Điểm Số</FONT></TH>
</TR>
<%
' Vòng lặp duyệt dữ liệu qua Cursor của RecordSet
Do While Not RS.EOF
%>
<TR>
<TD nowrap><FONT face="VNI-Times"><%=RS("tenmon")%></FONT></TD>
<TD nowrap align="center"><FONT face="VNI-Times"><B><%=RS("diem")%></B></FONT></TD>
</TR>
<%
RS.MoveNext
Loop
%>
</TABLE>
<%
End If
' Giải phóng tài nguyên con trỏ và đóng kết nối
RS.Close
Set RS = Nothing
conn.Close
Set conn = Nothing
%>
<p><br>[<a href="searchpoint.asp"><font face="VNI-Times">Tiếp tục tìm kiếm</font></a>]</p>
</BODY>
</HTML>
3. Tích hợp thư viện hiệu ứng chuyển động Dynamic HTML (DHTML)
Tận dụng công nghệ kịch bản phía Client (JavaScript 1.2) kết hợp lớp định vị đối tượng của FrontPage (fpclass/animate.js), trang chủ được tích hợp các thành phần đồ họa động chuyển hướng mượt mà:
<script language="JavaScript" fptype="dynamicanimation">
<!--
function dynAnimation() {}
function clickSwapImg() {}
//-->
</script>
<script language="JavaScript1.2" fptype="dynamicanimation"
src="file:///C:/Program%20Files/Microsoft%20Office/Office/fpclass/animate.js">
</script>
<p dynamicanimation="fpAnimOut flyBottomRightFP1" id="FPAnimOutflyBottomRightFP1"
style="position: relative !important" onclick="dynAnimOut(this)" language="Javascript1.2">
<font face="VNI-Times" size="5" color="#FF0000"><b>CHÚC MỪNG NĂM MỚI</b></font>
</p>
Kiểm thử và Đánh giá kết quả (Testing & Validation)
Hệ thống đã trải qua quá trình kiểm thử nghiêm ngặt trong môi trường mô phỏng mạng nội bộ (LAN 10/100 Mbps) và kết nối quay số Dial-up qua Ras Server:
| Kịch bản kiểm thử (Test Scenario) |
Dữ liệu đầu vào (Input) |
Kết quả kỳ vọng |
Kết quả thực tế |
Trạng thái |
| Tra cứu điểm sinh viên hợp lệ |
masv = "97NKDD01" |
Hiển thị thông tin sinh viên + danh sách môn thi, điểm số chuẩn xác |
Trả về bảng điểm sau 0.45 giây, định dạng bảng rõ ràng |
ĐẠT |
| Tra cứu mã sinh viên không tồn tại |
masv = "INVALID99" |
Hiển thị thông báo không tìm thấy bản ghi, không lỗi hệ thống |
Báo lỗi thân thiện, mời nhập lại |
ĐẠT |
| Tra cứu điểm thi tuyển sinh |
sobaodanh = "BD0102" |
Hiển thị chi tiết 3 môn, điểm thưởng và điểm tổng |
Hiển thị chính xác tổng điểm xét tuyển |
ĐẠT |
| Gửi biểu mẫu đăng ký đề tài NCKH |
Điền đẩy đủ thông tin theo Form chuẩn |
Lưu bản ghi vào bảng NCKH trên Server và xuất thông báo xác nhận |
Dữ liệu lưu toàn vẹn vào CSDL trong 0.6s |
ĐẠT |
| Tải trang tin tức & Thông báo mới |
Truy cập news.asp |
Danh sách bài viết được render động qua Content Linking Component |
Tải trang hoàn tất, không đứt gãy liên kết |
ĐẠT |
[Chỉ số Thời gian Đáp ứng Hệ thống (Response Time Benchmarks)]
Tra cứu Điểm (Query SQL 3 bảng) : ■■■■□ (0.45s trên LAN / 1.2s qua Dial-up)
Tải Bố cục Khung trang (Frameset) : ■■□□□ (0.20s trên LAN / 0.5s qua Dial-up)
Gửi Biểu mẫu Góp ý / NCKH (INSERT) : ■■■■■ (0.60s trên LAN / 1.5s qua Dial-up)
Đổi mới và đóng góp
Các cải tiến kỹ thuật nổi bật
- Kiến trúc Server-Side Scripting linh hoạt với ASP: Thay thế hoàn toàn mô hình tệp tĩnh truyền thống bằng cơ chế render mã HTML động ở phía máy chủ. Khi máy khách gửi request, kịch bản VBScript thông dịch chỉ thị và chỉ gửi về mã siêu văn bản thuần túy, giúp ẩn hoàn toàn mã nguồn nghiệp vụ và cấu trúc CSDL phía sau, nâng cao tính bảo mật.
- Khai thác mô hình đối tượng ADO và Quản lý Connection Pooling: Việc áp dụng
ADODB.Connection và điều chỉnh tham số CPTimeout trong Registry giúp tái sử dụng các kết nối cơ sở dữ liệu đã mở, giảm thiểu tới 75% độ trễ khởi tạo kết nối (Connection Overhead) so với việc mở kết nối vật lý độc lập ở mỗi truy vấn.
- Cơ chế Content Linking Component: Quản lý danh mục bài viết và bài giảng số theo thứ tự điều hướng logic thông qua file định danh
Nextlink.dll, cho phép người biên tập cập nhật trang trước/sau (GetNextURL, GetPreviousURL) mà không cần sửa đổi thủ công siêu liên kết trong từng trang con.
- Tổ chức giao diện phân mảnh đa khung (Frameset Architecture): Phân chia không gian hiển thị thành 3 vùng độc lập (
Banner, Main Navigation, Content Details). Khi người dùng điều hướng, trình duyệt chỉ tải lại nội dung trong khung Content, tiết kiệm tới 60% băng thông đường truyền mạng thời điểm đó.
+-----------------------------------------------------------------------+
| KHUNG BANNER (Cố định) |
| Logo Học viện Công nghệ Bưu chính Viễn thông Cơ sở II |
+------------------------------------+----------------------------------+
| KHUNG MAIN (Điều hướng) | KHUNG CONTENT (Nội dung) |
| - Quy định - Văn bản | |
| - Thông tin giáo viên / Cán bộ | Hiển thị chi tiết bảng điểm, |
| - Tra cứu Sinh viên & Điểm môn | thời khóa biểu, kế hoạch học |
| - Kế hoạch đào tạo & TKB | hoặc mẫu form đăng ký NCKH |
| - Nghiên cứu Khoa học (NCKH) | |
| - Tuyển sinh & Tra cứu SBD | |
| - Góp ý - Trao đổi với P.QLĐT | |
+------------------------------------+----------------------------------+
Ứng dụng thực tế và triển khai
Kịch bản triển khai tại Học viện Công nghệ Bưu chính Viễn thông Cơ sở II
Hệ thống được thiết kế để đưa vào vận hành thực tế tại Trung tâm Đào tạo Bưu chính Viễn thông II (TP. Hồ Chí Minh) với các ca sử dụng rõ ràng:
- Đối với Sinh viên: Truy cập tại phòng máy thực hành hoặc qua kết nối gia đình để xem bảng điểm học kỳ, lịch học, lịch thi, tra cứu quy chế học vụ và gửi phản hồi trực tiếp tới cán bộ quản lý đào tạo.
- Đối với Giảng viên & Phòng Quản lý Đào tạo: Cập nhật thông tin học phần, biểu mẫu nghiên cứu khoa học, lịch giảng dạy hàng tuần, giải đáp thắc mắc của sinh viên qua cổng điện tử.
- Đối với Thí sinh & Phụ huynh: Nắm bắt nhanh chóng thông tin tuyển sinh hàng năm, tra cứu điểm thi đầu vào ngay khi trường công bố kết quả mà không cần đến trực tiếp bảng thông báo cơ học.
Yêu cầu cấu hình triển khai hệ thống (System Requirements)
[MÁY CHỦ - SERVER]
[MÁY KHÁCH - CLIENT]
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Cơ chế Bảo mật cơ sở dữ liệu: Kịch bản nối chuỗi trực tiếp tham số đầu vào vào câu lệnh SQL (
sql = "SELECT ... WHERE masv LIKE '" & inputMasv & "'" ) tiềm ẩn nguy cơ bảo mật nếu gặp các chuỗi ký tự can thiệp cú pháp. Hệ thống cần tích hợp cơ chế lọc ký tự đặc biệt hoặc dùng ADODB.Command với tham số hóa (Parameterized Queries).
- Mã hóa và xác thực: Việc bảo vệ mật khẩu đăng nhập của cán bộ và sinh viên mới ở mức độ cơ bản, chưa tích hợp giao thức bảo mật SSL/HTTPS toàn diện trên máy chủ nội bộ.
- Chuẩn hiển thị tiếng Việt: Sử dụng bảng mã font cục bộ (VNI-Times) đòi hỏi máy khách phải cài sẵn bộ phông tương ứng; chưa chuyển đổi sang tiêu chuẩn Unicode quốc tế (UTF-8).
Hướng phát triển trong tương lai
- Nâng cấp toàn bộ nền tảng kịch bản từ ASP cổ điển (Classic ASP) lên ASP.NET (C# / VB.NET) kết hợp mô hình xử lý phân tán XML Web Services.
- Chuyển đổi toàn bộ CSDL sang Microsoft SQL Server 2000/2005 Enterprise Edition với các thủ tục lưu trữ sẵn (Stored Procedures) và cơ chế Trigger tự động tính điểm trung bình tích lũy.
- Chuẩn hóa bảng mã sang chuẩn quốc tế Unicode (UTF-8), giải quyết triệt để xung đột font chữ trên mọi hệ điều hành máy khách.
- Mở rộng phân hệ Đăng ký học phần tín chỉ tự động có tích hợp kiểm tra tiên quyết môn học theo thời gian thực.
Đối tượng hưởng lợi
+--------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI TRỰC TIẾP |
+--------------------------------------------------------------------------+
| SINH VIÊN & PHỤ HUYNH | - Tiết kiệm 85% thời gian tra cứu điểm/TKB |
| | - Nắm bắt thông tin học vụ 24/7 chính xác |
+----------------------------+---------------------------------------------+
| GIẢNG VIÊN & CÁN BỘ P.QLĐT| - Giảm 90% khối lượng in ấn và trả lời bàn |
| | - Cập nhật dữ liệu học kỳ tức thời qua Web |
+----------------------------+---------------------------------------------+
| LẬP TRÌNH VIÊN & HỌC BỔNG | - Cung cấp mã nguồn tham khảo mẫu về ASP |
| | - Kiến trúc mẫu về kết nối CSDL qua ODBC |
+----------------------------+---------------------------------------------+
- Sinh viên và Học viên: Chủ động tra cứu kết quả học tập, thời khóa biểu và kế hoạch thi cử mọi lúc mọi nơi; loại bỏ hoàn toàn việc chen lấn xem bảng tin tại các văn phòng khoa.
- Cán bộ Quản lý Đào tạo: Giảm thiểu áp lực công việc hành chính thủ công; loại bỏ nguy cơ thất lạc hồ sơ và nâng cao tính minh bạch, chuyên nghiệp trong công tác điều hành đào tạo.
- Lập trình viên & Kỹ sư Công nghệ: Tài liệu cung cấp bản hướng dẫn chi tiết về cấu trúc mã nguồn ASP, phương pháp cấu hình ODBC DSN, cách điều khiển đối tượng
RecordSet và cách thiết lập Connection Pooling trên môi trường Windows Server thời kỳ đầu Internet tại Việt Nam.
Câu hỏi thường gặp
1. Cần chuẩn bị những gì về mặt hạ tầng để triển khai website đào tạo sử dụng công nghệ ASP này?
Máy chủ cần cài đặt hệ điều hành Windows NT 4.0 Server (khuyến nghị Service Pack 4 trở lên) hoặc Windows 98 chạy Personal Web Server (PWS). Trên máy chủ, cần kích hoạt dịch vụ IIS, thiết lập Virtual Directory trỏ tới thư mục chứa các tệp .asp, cấu hình một System DSN trong mục ODBC Data Source Administrator (ví dụ DSN student trỏ tới tệp cơ sở dữ liệu student.mdb), và đảm bảo giao thức mạng TCP/IP hoạt động thông suốt.
2. Connection Pooling trong ADO/ODBC hoạt động như thế nào và tại sao lại quan trọng?
Connection Pooling là kỹ thuật duy trì một tập hợp các kết nối cơ sở dữ liệu đã mở sẵn trong bộ nhớ của máy chủ. Khi một trang ASP yêu cầu kết nối (conn.Open), hệ thống sẽ tái sử dụng ngay kết nối nhàn rỗi trong Pool thay vì thực hiện bắt tay vật lý (Handshake) lại từ đầu với hệ quản trị CSDL. Sau khi trang ASP thực hiện conn.Close, kết nối không bị hủy ngay mà trở về trạng thái nhàn rỗi trong 60 giây (CPTimeout). Kỹ thuật này giúp giảm tới 75% chi phí xử lý của CPU và đảm bảo hệ thống không bị sập khi nhiều người truy cập đồng thời.
3. Làm thế nào để tích hợp hệ thống Web ASP này với cơ sở dữ liệu Microsoft SQL Server thay vì Microsoft Access?
Nhờ vào tầng trừu tượng hóa của giao thức ODBC và thư viện ADO, mã nguồn ASP gần như không cần thay đổi lớn. Quản trị viên chỉ cần mở ODBC Data Source Administrator trên Server, tạo một System DSN mới chọn Driver là SQL Server, cấu hình IP máy chủ SQL, tên cơ sở dữ liệu và tài khoản xác thực (SQL Authentication/Windows Authentication). Sau đó gán tên DSN mới vào biến Session("ConnectionString") trong tệp Global.asa.
4. Chi phí vận hành và bảo trì website này ước tính như thế nào?
Giải pháp tận dụng tối đa hệ sinh thái sẵn có của Microsoft (IIS, Access, FrontPage), do đó không phát sinh chi phí mua bản quyền các phần mềm máy chủ ứng dụng chuyên dụng đắt đỏ. Chi phí vận hành chỉ bao gồm điện năng máy chủ, đường truyền mạng Intranet/Internet của trường và nhân sự quản trị nội dung.
5. Tại sao hệ thống lại sử dụng giao diện phân khung (Frame/Frameset) của HTML?
Vào thời điểm băng thông mạng còn hạn chế (kết nối Dial-up 56Kbps hoặc mạng nội bộ 10Mbps), việc sử dụng Frameset cho phép cố định phần tiêu đề (Banner Frame) và thanh menu điều hướng (Main Frame), chỉ yêu cầu máy chủ trả về và nạp lại phần nội dung thay đổi (Content Frame). Điều này giúp tăng tốc độ hiển thị trang lên gấp 2-3 lần và tiết kiệm tối đa lưu lượng đường truyền mạng.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu và xây dựng Website về thông tin đào tạo để ứng dụng cho đơn vị trường học" do sinh viên Nguyễn Thị Kim Ngân thực hiện năm 2001 đã giải quyết thành công bài toán tự động hóa quản lý học vụ và công khai hóa thông tin đào tạo tại Trung tâm Đào tạo Bưu chính Viễn thông II. Bằng việc kết hợp hiệu quả giữa Microsoft Active Server Pages (ASP), ActiveX Data Objects (ADO), bộ kết nối ODBC và công cụ Microsoft FrontPage, đề tài đã chứng minh tính khả thi, độ tin cậy và hiệu quả vượt trội của mô hình ứng dụng Web động 3 tầng trong công tác chuyển đổi số giáo dục thời kỳ đầu.
Mặc dù được triển khai trong bối cảnh hạ tầng phần cứng và tài liệu chuyên ngành tiếng Việt còn nhiều hạn chế, công trình đã thể hiện tư duy kiến trúc hệ thống bài bản, mở ra tiền đề quan trọng cho việc phát triển các cổng thông tin đại học tích hợp quy mô lớn trong những giai đoạn tiếp theo.