[摘 要] 本文介紹了Web Service技術平臺的相關技術和在B /S模式下的組件開發方法,在此基礎上設計和實現了高校財務綜合信息查詢系統,實現了財務信息的發布與反饋。
[關鍵詞] Web Service技術;B /S模式;高校財務;信息查詢;SQL Server
[中圖分類號]F232[文獻標識碼]A[文章編號]1673-0194(2008)20-0036-04
0 引 言
《教育部、財政部關于“十一五”期間進一步加強高等學校財務管理工作的若干意見》要求:高等學校應全面推進財務管理的信息化和網絡化,充分利用現代信息技術,實現統一核算和實時監控,提高財務管理水平和會計信息質量。在高校的財務管理中,財務信息的搜集、發布與反饋是財務管理中的重要內容,也是為教學、科研、學生服務的重要手段。
隨著計算機技術的飛速發展和高校對財務管理的要求不斷提高,傳統財務管理的方法、手段和效率已經不能適應新的發展需要。高校實行會計信息化已經有很長時間了,已積累了相當豐富的信息資源,但這些信息的利用率很低,也沒有與財務管理形成良性的互動,有必要利用Internet技術,設計開發基于B /S模式的網上財務綜合信息查詢系統,在校園網上實現財務信息的發布與反饋。
1 系統設計
高校財務綜合信息查詢系統是高校財務管理系統的重要組成部分,在高校的財務管理中,已經存在著賬務系統、工資管理系統、住房公積金管理系統和學費管理系統等,這些系統都各自獨立。為方便管理和查詢,需要把一些重要信息從各個系統中提取出來導入到財務綜合信息數據庫中,因此在系統設計中不但要考慮信息的查詢,還要考慮信息的抽取、轉換和導入等功能。此外,一些財務信息只有授權用戶才能看到,比如項目支出明細賬,只有項目負責人才能查詢到,這就要求系統的安全性要高,在設計時必需考慮對用戶進行授權和管理。
1. 1系統的體系結構設計
在該系統設計中,綜合考慮到用戶的需求,提出該系統采用B /S的模式,并在3層結構的基礎上再一次細分,使每層的功能更加單一化,層與層之間的接口更加清晰。在系統的核心部分采用.NET的組件技術,遵循MVC (Model / View / Controller)設計模式的特點,將MVC三部分映射到.NET體系結構中相應的組件。系統的總體結構如圖1所示。

1. 2系統功能設計
依據財務管理的要求,該系統按功能設計可劃分為以下7個主要方面:
(1)財務信息采集。本系統的信息是從會計賬務系統、學費管理系統和工資管理系統等多個數據源抽取轉換而來的,要求系統管理員根據時間段來導入數據。該系統使用SQL Server 2000系統的DTS功能來轉換數據,其轉換數據的過程如圖2所示。

(2)用戶設置和權限分配。系統中存在一個高級別的管理員權限(系統管理員),他可以進行任何操作,為校領導和各分院、各部門的領導設置登錄的用戶名和口令(可在Web上由用戶修改),并設置不同的權限,用戶可以根據權限在Web上進行不同任務的查詢操作。用戶的權限不同,在Web上所表現的功能和查詢的內容也不相同。
(3)領導查詢。校領導、各學院和各職能部門的領導根據系統分配的用戶名和口令在Web頁面上登錄,系統將根據用戶的權限完成相應的查詢功能,可以查詢財務明細賬、項目明細賬、項目統計表、財務報表和預算執行情況表,也可以查詢學生交費明細、欠費明細和學費收繳情況的統計報表。
(4)教工查詢。教職工可以根據自己的工資號自主地在Web頁面上注冊,注冊成功后,職工便可以查詢自己的工資發放情況、公積金繳納支取情況、所得稅交納情況,還可以查詢自己的往來賬款情況,甚至還可以查詢自己負責的項目收支情況等,查詢非常靈活。
(5)學生查詢。學生可以用自己的學號在Web頁面上注冊,注冊成功后,學生便可以查詢本人的學費交納情況、欠費情況和獎貸金等的發放情況。
(6)項目查詢。對橫向課題、縱向課題和有其他項目的老師來說,該功能提供項目的收支明細和統計報表的查詢,查詢的前提是要首先在Web頁面上用項目代碼注冊,注冊成功后再登錄該系統,便可以使用系統所提供的功能了。
(7)文件和通知發布。該功能實現錄入發布的財務管理文件、通知的標題、內容、時間、附件等信息到財務信息查詢數據庫中,實現動態的管理和維護。
1. 3系統的數據庫設計
該系統采用MS SQL Server 2000數據庫,所涉及的數據表主要包括:
(1)身份驗證類數據表。從財務信息綜合查詢的功能上可以看出,不同的用戶使用權限是有區分的,因此,在設計身份驗證時采用分級和分功能的方式,即為不同的用戶設置不同的級別和不同的功能。例如,系統管理人員是一個級別,主管財務的校領導、其他各二級學院、各職能部門的領導又是一個級別,他們所分配到查詢權限和功能各不相同。在用戶使用領導查詢功能時即提供身份驗證。身份驗證的數據表由5個表組成:用戶表、功能權限分配表、會計科目分配權限表、部門分配權限表和項目分配權限表等。
(2)公用數據表包括系統的一些基礎數據,主要有部門代碼表、項目代碼表、職工代碼表、學生代碼表和科目代碼表等。
(3)與領導查詢相關的數據表主要有:項目明細賬、項目總賬、會計明細賬、會計報表和學生收費總賬表等。
(4)與職工查詢相關的數據表主要有:教職工注冊表、教職工借款明細表、工資表和項目明細賬等。
(5)與學生查詢相關的數據表主要有:學生注冊表、學費明細表、減免學費明細表、獎學金發放表和勤工助學金等發放表。
1. 4系統的組件模型設計
通過對以上系統的功能需求分析可知,該系統主要的功能集中在數據查詢上,只有信息的導入、用戶設置和權限分配、用戶注冊和修改密碼才更新數據,所以在設計組件時,可以設計信息查詢組件和其他功能組件。系統組件的設計主要關心組件的對外接口和數據的對外表現形式,而不是各應用內部數據的組織和表示,著重點并不在于某一應用的描述,而在于各應用之間可能發生的交互。本系統設計的主要組件有數據傳輸組件、用戶設置和權限分配組件、用戶注冊組件、會計明細賬查詢組件、項目收支明細賬查詢組件、工資查詢組件和學費查詢組件等20多個組件模型。下面對其中3個組件的3個基本元素(即屬性、方法、事件)中的主要屬性和方法給予具體的描述:
(1)用戶設置和權限分配組件。屬性有User_ ID(用戶代碼) 、User_name (用戶名稱) 、User_password(用戶口令) 、UserSecurityTable (用戶代碼表) 、UserfuctionTable (功能權限分配表) 、UsersubjectTable(科目權限分配表) 、UserdepartTable (部門權限分配表) 、UseritemTable (項目權限分配表)等。該組件可新增用戶和為用戶分配權限,也可以修改用戶權限等。在該組件中顯示用戶組代碼、功能代碼、科目代碼、部門代碼和項目代碼,在列表框中可以選擇相應的代碼來為用戶分配權限。
(2)教職工注冊組件。屬性有User_ ID (教職工的工資號) 、User_Name (姓名) 、User_Password (密碼) 、Uer_Question (找回口令的問題) 、User_Answer (找回口令的答案) 、TeacherRegTable (教職工注冊表) 、Teacher ListTable (教師代碼表) 。方法有Register (注冊) ,用于教工注冊。
(3)項目收支明細賬查詢組件:屬性有Depart_ ID(部門代碼) 、Item_ ID (項目代碼) 、FromDate (期初日期) 、ToDate (期末日期) 、UserdepartTable (部門權限分配表) 、UseritemTable (項目權限分配表) 、ItemAccountTable (項目收支明細表) 。方法有ItemRetr (查詢項目明細賬) 。該組件首先根據用戶代碼來判斷其所擁有的部門和項目權限,根據權限,在部門列表框中會顯示部門,在項目列表框中會顯示相應的項目,用戶可以選擇要查詢的部門和項目代碼。
2 系統實現
2. 1系統的運行環境
該系統基于B /S模式結構進行設計,其服務器為
Window 2000 Server / IIS 5. 0,數據庫管理系統為MSSQL Server 2000,系統客戶端要求使用IE 5. 0或以上的版本。系統的開發工具為Visual Studio.NET。
2. 2組件的開發
組件的接口和功能確定后,在Visual Studio.NET集成環境中完成系統組件開發比較容易,這些開發過程在一些
.NET開發類的書籍中,如參考文獻[1],有詳細的敘述,本文不再贅述。.NET組件開發后可以直接生成DLL文件,在使用.NET組件時不再需要在操作系統注冊表中進行注冊和設置,由.NET平臺與應用系統共同管理。
2. 3系統的安全設計
Web應用程序的安全是建立在3種基礎性概念的基礎上,即驗證(迫使用戶證明其正確的身份) 、授權(檢查用戶是否具有許可訪問他們請求的資源)和模擬(允許程序在不同的用戶環境下運行) 。在本系統中,按照管理職能和人員的身份不同對所有用戶進行分類,并依據類別的不同分別賦予不同的操作和訪問權限。針對用戶密碼信息還設計了基于RSA算法的加密組件及用戶身份驗證組件,用于密碼信息的加密和用戶登錄時的身份驗證,并充分利用
.NET與SQL Server 2000提供的安全策略和措施來保證系統的安全。
3 關鍵技術分析
3. 1Web Service 技術
Web Service 技術的基礎是XML,它使Web Service 能夠無歧義且快速有效地傳送數據,是一種公用可移植的標準方法。XML 技術有兩個很顯著的特點:數據和現實的分離、數據的自描述性。因此,XML 技術作為標準的數據交換技術是本系統中應用到的SOAP 協議( Simple Object Access Protocol ,SOAP) 、WSDL 語言(Web Service De-scription Language ,WSDL) 和UDDI (Universal Description Discovery and Integration ,UDDI) 的基礎。在XML基礎上,WebService 技術所涉及的協議構成了一個類似“棧”的體系結構[2]。
3. 2組件功能劃分
合理的組件劃分將從很大程度上簡化系統功能的開發,組件的劃分至少要滿足以下3個條件[3]:①能明確劃分為相互獨立、功能上自足的組成部分,可以視為一個黑盒子;②黑盒子的接口定義清晰,使用組件時只需了解接口規范,不必清楚組件內部的設計原理與工作方式,即組件的內部設計自由完成;③劃分時必須區分項目業務和通用方法。所謂的業務,就是面向客戶而言的,針對用戶具體的業務邏輯;而通用方法獨立于業務邏輯,是在需求分析過程中單獨提取出來的那一部分。
3. 3應用SQL Server 2000的存儲過程
存儲過程類似于VB.NET function函數,只是存儲過程用T2SQL 編寫,并在數據庫服務器上執行。使用存儲過程的主要好處是性能好,存儲過程在服務器上執行,離數據庫最近,比VB .NET中偶發的SQL語句操縱數據時要快得多。業務邏輯可以用存儲過程來實現,對數據庫要進行的操作用存儲過程實現,將業務邏輯嵌入到代碼中,在ASP .NET和VB .NET中調用存儲過程,可以使用DBMS帶有的自然安全權限,為系統提供更好的安全性。另外,使用存儲過程對應用程序維護很方便,在存儲過程中包裝業務邏輯,對應用層隱藏數據庫結構的改變;如果改變基礎表格結構,則可以修改存儲過程,而不影響使用這個存儲過程的應用程序。在系統中,對一些復雜的查詢使用了存儲過程,以下是學費查詢中部分程序代碼:
Dim cmdTuition As New SqlCommand ( )
Dim drTuition As SqlDataReader
SqlConnection1. Open ( )
cmdTuition = SqlConnection1. CreateCommand
cmdTuition. CommandType =ComandType. StordProcedure
cmdTuition. CommandText = " GetStudentTuition" ’調用在SQL Server 2000中定義的存儲過程
cmdTuition. Parameters. Add (New SqlParameter( " @Student_ID" ,TextBox1. text) ) ’輸入參數學生學號
…
’輸入其他參數
…
drTuition = cmdTuition. ExecuteReader (CommandBehavior.
closeconnection) ’執行存儲過程
…
’顯示查詢結果
…
drTuition. close ( )
SqlConnection1. close ( )
3. 3系統性能優化
采用以下措施來提高系統的運行速度與整體性能:
(1)高速緩沖對于創建一個高可用性和可伸縮性的Web應用程序來說,是一項很重要的技術,應用高速緩沖可以明顯提高Web服務的性能。.NET平臺完全支持高速緩沖技術,并針對不同的情況支持頁輸出緩沖、頁分段緩沖和頁數據緩沖等3種緩沖技術[4]。
(2)對數據庫中一些表采取反規范化設計,可以提高Web系統的查詢性能[5]。
(3)建立索引。對表中記錄建立索引可以提高系統檢索速度。
(4)利用存儲過程優化系統性能。使用存儲過程完成數據庫訪問可以提高系統運行效率、優化網絡性能和提高系統安全性。
4 結束語
高校財務信息綜合查詢系統是高校教育信息化的重要組成部分,它的成功實現與運用方便了廣大教師和學生,進一步提高了財務管理水平,提升了學校的信息化水平。
主要參考文獻
[1]Evangelos Petroutsos,Asli Bilgin. Visual Basic .NET數據庫編程:從入門到精通[M]. 邱仲潘 等譯. 北京:電子工業出版社,2002.
[2] 李化江. 基于Web Service的綜合教務管理系統的設計與實現[J]. 中國教育信息化,2007(12):29-31.
[3] 劉軍,陽小華,楊星. 教學信息發布與管理系統的設計與實現[J]. 計算機工程與應用,2006(2):99-102.
[4] Richard Anderson,Brian Francis. ASP.NET高級編程[M]. 王毅 等譯. 北京:清華大學出版社,2002:922-925.
[5] 馬惟哲,呂紅兵. Web數據庫系統物理模型的優化策略[J]. 計算機應用與軟件,2005(1):35-37.