1 引言
隨著信息技術在管理領域的廣泛應用,管理信息系統(MIS)已在信息管理中起到了舉足輕重的作用。傳統的MIS主要有以下結構模式:主機/終端(Main Frame/Terminal)結構、文件服務器/客戶工作站(File Server/Client Workstation)結構。當前Internet網絡技術和數據庫技術的飛速發展,其中瀏覽器/服務器(Browser/Server)結構模式的管理信息系統,為管理信息系統的理論和實踐在新的技術背景下產生新的突破提供了很好的契機。
2 B/S模式的結構原理
(1) 基本原理
B/S(Browser/Server)結構模式作為擴展了的C/S(Client/Server)結構,其運行機制采用了標準的C/S分布式處理。不同于傳統的MIS結構的是,在基于B/S模式的MIS中,用戶界面將全部是瀏覽器中呈現的Web 頁面,用戶根據Web 頁面信息從瀏覽器端向服務器提交服務請求,這些請求包括對數據庫的查詢、修改、插入等,服務器端負責對請求進行處理,并將處理結果通過網絡返回瀏覽器端。用戶界面具備友好性和一致性,易于操作。而開發人員也只需將注意力集中于Web 服務器與數據庫服務器端后臺的應用,省去了客戶端前臺交互界面軟件的開發,節省了開發費用和時間。由于開發環境獨立于用戶的前臺應用環境,提高了系統應用的跨平臺性,便于應用系統的管理和軟件的安裝、升級。
(2) 基本結構
B/S結構是在C/S結構基礎上的技術拓展,實際上具有三層,如圖1所示。
第一層為表示層:Web 瀏覽器,完成用戶接口的功能;
第二層為功能層:Web 服務器,完成客戶的應用功能;
第三層為數據層:數據庫服務器,進行各種數據處理。
圖1 B/S結構圖
3 ASP及其性能
Active Server Page(動態服務器主頁)是微軟開發的基于Windows NT Server4.0 和Microsoft Information Server(IIS)的開發式腳本開發環境,它很好地把HTML和腳本開發融合在一起,提高了編程的靈活性,降低了開發難度。把VBScript和JavaScript 等腳本語言嵌入 HTML文檔中形成的文件稱為.asp文件。當用戶瀏覽器向Web服務器請求一個.asp文件時,Web 服務器調用 asp并執行該文件中的所有腳本,最后給瀏覽器返回一個響應頁面。ASP中的腳本在Web服務器端運行,Web服務器負責所有的腳本處理并生成標準的HTML頁面傳給瀏覽器,而不是傳統的在客戶瀏覽器中運行,這一措施使客戶的瀏覽器無須擔心服務器端的網頁使用腳本,ASP都會生成一個符合HTML標準的網頁送回客戶端。ASP在性能方面的優勢體現在以下幾個方面:完全與 HTML兼容;創建簡單、不需要編譯和鏈接,腳本可以在 ASP環境下直接運行;面向對象,可通過由ActiveX服務器構件來擴充功能;由于腳本在服務器端執行,因此它幾乎可以支持任何一種瀏覽器ASP的源代碼不會傳到瀏覽器端,源程序不會外漏。
3.1 ASP對后臺數據庫的訪問
利用ASP技術可以開發出動態、交互、高性能的Web服務器端應用,且能較容易地實現復雜的Web擴展功能。
3.2 ASP訪問 Web數據庫的原理
當用戶通過瀏覽器發出一個對.asp 文件的請求時,Web服務器響應該HTTP請求,調用ASP引擎,定位并解釋被申請文件,當遇到任何與Active Scripting 兼容的腳本(如VBScript和JavaScript時),ASP引擎會調用相應的腳本引擎進行處理。如果腳本指令中含有訪問數據庫的請求,則通過 ODBC與后臺數據庫相連,ASP通過數據庫存取控件使用ADO(Active Data Objects) 與數據庫對話,并將執行結果動態生成一個HTML頁面返回服務器端,以響應瀏覽器的請求,在用戶端瀏覽器所見到的是純HTML表現的畫面。
圖2 ADO訪問后臺數據庫機制
3.3 ASP訪問Web數據庫的主要步驟
數據庫訪問是信息系統的實現基礎,是開發信息系統的關鍵性環節。ASP訪問后臺數據庫是通過使用 ADO實現的。主要步驟和方法如下:
(1) 創建數據庫源名。在 Web服務器上設定ODBC與數據庫的連接,即在控制面板的 ODBC中建立相應的系統數據源DSN,指定 DSN所用的驅動程序,并選下服務器和數據庫。
(2) 創建數據庫連接。在ASP程序中如果要訪問數據庫,必須首先創建與數據庫的連接。其語法格式如下:
Setmyconn=Server.CreateObject (“ADODBConnectiong”)
(3) 打開待訪問的數據庫。使用Connection對象的Open方法打開要訪問的數據庫,格式如下:
myconn.Open“dsn名稱;Database名稱;LoginID (用戶ID);Password(密碼);”
(4) 訪問數據庫。使用Connection對象的 execute方法,執行SQL命令,即可訪問數據庫表,格式如下:
Set objRS=myconn.execute(“select * from數據庫表名”)
插入數據庫表J
Set objRS=myconn.execute(“insert into數據庫表名 value(字段值,L)”)
(5) 使用Recordset對象所提供的方法和屬性,完成SQL結果集的處理。例如objRS.movenext:將游標移到下一記錄;objRS.recordcount取結果集的記錄數; ObjRS. (“字段名”):取指定字段的當前值。
(6) 斷開與數據庫的連接。關閉結果集對象,斷開連接。命令如下:
objRS.Close;myconn.Close
4 基于B/S模式的管理信息系統實例
(1) 企業管理信息系統的設計目標
在實際開發中,主要運用ASP技術為某企業設計完成了基于B/S模式的管理信息系統。該系統給客戶提供了一個了解企業的平臺,客戶可以與公司及時的交換意見,產生互動,公司也可以及時的對網站進行維護。
(2) 系統功能模塊的設計
企業網站系統共分為兩個子系統:客戶系統和后臺管理系統,其功能模塊的劃分如圖3所示。
圖3 企業網站系統功能模塊的劃分
(3) 系統ASP應用腳本的編寫
創建*asp文件非常容易。要在HTML文件中添加腳本,只需將該文件的擴展名.htm或.html替換為*asp。要是*asp文件可用于Web用戶,將這個新文件保存在Web站點上的目錄中(應確定起用了該目錄的腳本和執行權限)。使用瀏覽器查看文件時,可以看到ASP處理并返回了HTML頁。使用任何的文本編輯器都可以創建*asp文件。在實際開發中,使用帶有ASP增強支持的編輯器Microsoft Visual InterDev,提高了編寫效率。下面以在實際開發的企業管理信息系統中的一段Vbscript腳本命令來說明如何實現Web對數據庫的訪問。
<%@Language=VBScript%>
<html>
<body>
<p>公司管理人員一覽表</p>
<p><%Set cnnl = Server.CreateObject ("ADODB.Connnection")
cnn1.ConnectionString="driver={SQLServer};server= ntserver;uid=sa;pwd=;database=hlgl"
cnn1.Open
set cml=Server.CreateObject("ADODB.Command")
set cml.ActiveConnection=cnnl
cm1.CommandText="select xm from ryzlb where zwdm in ("0","1","2","3","4")"
set rsCustomerslist=cml.Execute%></p>
<table><%Do While rscustomerslistEOF%><tr><%
dim nub
nub=1
Do While (rsCustomersListEOF)or(nub>8)%>
<td bgcolor="#f7efde"align="center"><%
=rsCustomersList("xm")%></td>
<%nub=nub+1
rsCustomersList. MoveNext
Loop%></tr><%Loop%></table></body></html>
以上腳本,首先通過數據庫連接對象ADODB.Command的一個實例建立與數據庫的連接,然后通過命令對象ADODB.Command的一個實例將SQL語句傳送給數據庫服務器,最后以表格形式將記錄集對象實例rsCustomersList中的查詢結果返回到Web頁面。
5 結語
B/S模式結構作為新興的技術,難免存在不夠成熟的地方,如后臺處理比較復雜,實時處理和安全性控制有待加強等,它的實現原理和機制與傳統模式有一定的差別,需要進行更深入的研究。隨著Internet/Intranet的高速發展及相關技術的不斷成熟,B/S模式結構的MIS將會越來越走向實用。