人類發明計算機以來,應用軟件就為人們的生產、生活等各個領域提供了不可替代的服務。特別是進入二十一世紀這個信息爆炸、網絡盛行的時代,網絡版(包括CS架構和BS架構)應用軟件更讓人們享受到了多人同時協同工作的好處,提高了工作效率。
傳統的C/S(Client/Server)體系結構,雖然采用的是開放模式,但這只是系統開發一級的開放性,在特定的應用中無論是Client端,還是Server端,都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環境,C/S結構的軟件需要針對不同的操作系統開發不同版本的軟件,加之產品的更新換代十分快,已經很難適應百臺電腦以上局域網用戶同時使用。B/S(Browser/Server)體系結構則不同,它是在Internet技術興起后由C/S結構演變或改進而來的。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現的,只有極少部分事務邏輯在前端(Brower)實現。但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本。降低了用戶的總體成本。正是基于這種優勢,崇左市中考信息管理系統采用了B/S架構體系,這種體系是基于互聯網利用ASP與 Javastricp語言搭建起來的管理平臺。所有用戶只要有能上網的電腦,就可以通過WWW瀏覽器進入系統,真正實現不同人員,不同地點,以不同的接入方式(比如LAN、WAN、Internet/Intranet等)訪問和操作共同的數據庫。
崇左市中考信息管理系統包括報名信息管理和考務信息管理。報名信息管理即是添加、修改、刪除考生報名信息,統計等;考務管理是編排考場,打印準考證、考場對照表等考務材料。對隨機編排考場、批量套打考生準考證和考場造表等工作,目前所撐握的ASP動態網頁技術難以實現上萬人的批量打印,套打內容的位置難以準確,超時也成為瓶頸。ASP動態網頁顯然心有余而力不足。而且出于對考場數據的保密性考慮,考場編排和考務材料打印放在本地打印是首選。中考信息管理系統只能采取網上報名與本地編排打印相結合的形式了。
為了保證數據的完整性、保密性,如何實現網上系統與本地考務端數據庫間的無縫連接呢?
NetBox是一個使用腳本語言進行應用軟件開發與發布的開發環境和運行平臺,使用 NetBox,可以完全使用腳本語言(比如 VBScript,Javascript) 創建出穩定高效的應用軟件,并且可以平滑移植到從 Windows 98 到 Windows .NET Server 的全部操作系統上。NetBox 提供大量開發部件,方便腳本應用開發,提供開發與發布兩種運行模式,保障代碼安全。對 Web的 應用,可以迅速將已有的 iis+asp 的應用平滑移植到 NetBox中,除極少數高級編程外,代碼不需要任何修改,同時 NetBox 還提供大量擴展部件,使得 Web 的應用更加方便。由于 NetBox 可以將全部網頁代碼最終發布成應用程序。同時,NetBox 還可以方便地編寫更多的桌面應用、系統服務器應用、定制網絡應用等等。在本地運行生成的應用程序,就相當于在本地運行了iis服務器了。
一、制作報名信息的ASP的動態網頁
1.制作動態網頁downbmxx.asp,保存在網上系統服務器的down文件夾。該網頁為下載報名信息,可讀取網上系統數據庫里的考生報名信息。在downbmxx.asp網頁中,建立bdform表單,利用select語句讀取網上系統數據庫的考生信息后,將考生的每個字段值分別對應賦給表單中的隱藏域,并以分頁形式顯示。代碼中的“document.bdform1.submit( )”語句主要目的是讓網頁自動向本地數據庫提交表單。
2.制作動態網頁downbmxx_save.asp,并將其保存在本地。該網頁利用Request分別讀取downbmxx.asp提交的數據,然后使用insert into 語句添加保存到本地數據庫中。數據保存成功后判斷Request(“page”)與Request(“pagecoun”)的值是否相等。如果相等,證明完成了報名信息的下載任務,提示已經成功下載所有報名信息,否則通過以下語句跳轉到下頁繼續下載。代碼中“Response.Redirect http://116.250.21.158/down/bmxx_daoru_bendi.asp?submit=開始下載page=“(clng(page)+1) ””語句目的是讓網上系統的網頁自動向下翻頁。
網上系統的網頁與本地網頁如此循環往復地交替提交運行,就可以將網上系統的報名信息全部下載到本地數據庫。
二、制作本地考務端服務器
要想讓本地動態網頁downbmxx_save.asp能正常運行,必須在本地架設服務器。像網上系統一樣安裝iis并設置,對客戶端用戶而言,操作性不強。怎么達到網上系統與本地數據庫間的無縫連接呢?可巧借NetBox之力。
1.在本地D盤建立名為“zkxx”的文件夾,接著在“d:/zkxx”文件夾再建立子文件夾“wwwroot”,最后在“d:/zkxx/wwwroot”中分別建立“datas”和“bmdown”兩個子文件夾。
2.在記事本“d:/zkxx”文件夾中新建一個文本文件,并重命名為“main.box”。在文件中輸入以下內容:
Dim httpd
Shell.Service.RunService “NeBWeb”, “中考本地服務器(2010.05.01)”, “NetBox Http Server Sample”
Sub OnServiceStart()
Set httpd = CreateObject(“NetBox.HttpServer”)
If httpd.Create(“”, 8080) = 0 Then
Set host = httpd.AddHost(“”, “/wwwroot”)
host.EnableScript = true
host.AddDefault “index.asp”
host.AddDefault “index.htm”
httpd.Start
else
Shell.Quit 0
end if
End Sub
Sub OnServiceStop( )
httpd.Close
End Sub
Sub OnServicePause( )
httpd.Stop
End Sub
Sub OnS
erviceResume()
httpd.Start
End Sub
3.將動態網頁downbmxx_save.asp保存到d:/zkxx/wwwroot/bmdown/文件夾中。
4.在d:/zkxx/wwwroot/datas/文件夾中建立本地數據庫bmxx.mdb。
5. 安裝NetBox應用程序并運行NetBox Deployment Wizard,將本地考務端的文件夾(包括子文件夾)、main.box和downbmxx_save.asp打包成應用程序。如下圖,點擊“選擇文件夾”按鈕選擇本地考務端程序的文件夾,然后點擊“瀏覽”按鈕,選擇打包生成的應用程序zkserver.exe保存的位置。
點擊“Build…”生成名為“zkserver.exe”可執行程序。當如下圖提示完成后,就將源代碼文件等打包成服務端應用程序了。
當我們運行zkserver.exe后,在系統托盤中出現一個紅色的“ ”圖標,動態網頁downbmxx_save.asp運行的服務環境就算搭建完成了。
這時只要打開http://116.250.21.158/down/bmxx_daoru_bendi.asp?submit=開始下載page=(clng(page)+1),網頁就會自動翻頁并將網上系統的報名信息全部下載到本地數據庫。至此,就可實現網上系統與本地數據庫間的無縫連接。
(責任編輯 易志毅)