王煒
(肇慶科技職業(yè)技術學院,廣東肇慶526114)
隨著高校連年擴招,每年的畢業(yè)生人數(shù)也在持續(xù)增加,給高校的就業(yè)辦公室?guī)砹撕艽蟮膲毫?,畢業(yè)生找工作難已成為各高校所面臨的突出問題,為了幫助畢業(yè)生與用人單位之間更好的聯(lián)系,高校就業(yè)辦公室需要起到良好的橋梁作用,這時必須開發(fā)一個合理、方便、高效的畢業(yè)生就業(yè)管理平臺。
筆者采用JSP和SQL Server 2000開發(fā)了一個基于B/S架構(gòu)的畢業(yè)生信息管理系統(tǒng),本系統(tǒng)對傳統(tǒng)的工作流程、組織結(jié)構(gòu)進行了必要的調(diào)整[1],使畢業(yè)生就業(yè)管理工作真正適應目前勞動市場的需要,使就業(yè)管理工作更加科學、規(guī)范,達到了提高管理效能、促進就業(yè)的目的。
畢業(yè)生信息管理系統(tǒng)是畢業(yè)生在Internet上實現(xiàn)就業(yè)的有力工具,不僅應實現(xiàn)各院系對畢業(yè)生的分布式管理,還應該特別注重用人單位與畢業(yè)生的信息交互,因此本系統(tǒng)的功能應該包括畢業(yè)生信息的審核和管理、用人單位招聘信息和畢業(yè)生求職信息的發(fā)布、畢業(yè)生與用人單位信息的交互、畢業(yè)生及用人單位信息的統(tǒng)計和分析。針對這些功能要求,設計了本系統(tǒng)。
系統(tǒng)功能主要通過畢業(yè)生注冊、畢業(yè)生審核、求職專欄、用人單位管理、統(tǒng)計分析、系統(tǒng)管理、幫助七個模塊來實現(xiàn)。畢業(yè)生信息管理系統(tǒng)的總體功能結(jié)構(gòu)如圖1所示。
(1)畢業(yè)生注冊模塊
畢業(yè)生注冊模塊的主要功能是完成畢業(yè)生學號、姓名、專業(yè)、出生日期、求職意向等信息的注冊和修改,注冊的信息必須等待院系相關部門的審核,否則無法使用本系統(tǒng)進行求職。
(2)畢業(yè)生審核模塊
畢業(yè)生審核模塊的主要功能是完成畢業(yè)生資格的審核,包括畢業(yè)生注冊的個人信息、各科成績的審核,院系各部門審核后簽寫審核意見。經(jīng)審核并簽寫意見的畢業(yè)生信息不能再修改。
(3)求職專欄模塊
求職專欄模塊的主要功能是讓通過資格審核的畢業(yè)生能夠瀏覽用人單位的招聘信息,并發(fā)布求職信息。
(4)用人單位管理模塊
用人單位管理模塊的主要功能是讓通過學校就業(yè)辦公室核實后的用人單位發(fā)布招聘信息以及處理畢業(yè)生求職信息。
(5)統(tǒng)計分析模塊
統(tǒng)計分析模塊的主要功能是對本校畢業(yè)生的供需比和就業(yè)率進行分析統(tǒng)計,以便學校對當前畢業(yè)生的就業(yè)形勢進行分析。
(6)系統(tǒng)管理模塊
系統(tǒng)管理模塊的主要功能是對畢業(yè)生注冊和修改權限、用人單位權限、學校相關行政部門權限、系統(tǒng)日志等進行管理。
(7)幫助模塊
幫助模塊的主要功能是給用戶提供系統(tǒng)使用幫助。
系統(tǒng)的功能特點主要包括:
(1)畢業(yè)生的信息全部在網(wǎng)上填錄,有利于管理部門進行審查和通過,也便于后臺查詢、匯總和打印。
(2)畢業(yè)生、用人單位、學校管理部門的分級管理機制,有效地保證了數(shù)據(jù)的安全性。
(3)系統(tǒng)提供在線幫助功能,操作簡單方便。
先進性:系統(tǒng)應具有一定的先進性,要體現(xiàn)當前的最新技術,使系統(tǒng)易于變更、移植、擴充、兼容;系統(tǒng)設計既要適應目前的主流技術又要考慮到系統(tǒng)維護的方便性,能盡量延長系統(tǒng)的生命周期。
可靠性:在系統(tǒng)分析的時候還要充分考慮整個系統(tǒng)軟、硬件的可靠性程度,應具有較強的容災能力和自恢復能力。
安全性:在系統(tǒng)設計時應充分利用數(shù)據(jù)庫封鎖機制、授權管理機制、應用軟件設置多級密碼及軟件分離等措施,提高系統(tǒng)的安全性。
B/S結(jié)構(gòu)是基于Web技術與客戶機/服務器結(jié)構(gòu)的結(jié)合而提出來的一種多層結(jié)構(gòu),其中B是指Web瀏覽器(Browse),S是指應用服務器與數(shù)據(jù)庫服務器(Server)[2]。本系統(tǒng)采用B/S結(jié)構(gòu),具有以下優(yōu)點:
(1)B/S結(jié)構(gòu)簡化了客戶端,客戶機上不需要安裝專門的應用程序,只需要一個通用的瀏覽器軟件,不僅節(jié)省了客戶機的硬盤空間和內(nèi)存,而且使安裝過程更加簡便,網(wǎng)絡結(jié)構(gòu)更加靈活。
(2)B/S結(jié)構(gòu)簡化了系統(tǒng)的開發(fā)和維護。系統(tǒng)的開發(fā)者無需再為不同級別的用戶設計開發(fā)不同的客戶端應用程序,只需要把所有的功能都實現(xiàn)在Web服務器上,就不同的功能為各個組別的用戶設置權限,維護也只需要對Web服務器上的服務處理程序進行修改,大大節(jié)省了系統(tǒng)開發(fā)、維護的成本和時間。
(3)B/S結(jié)構(gòu)使用戶的操作更簡單,客戶端只是一個簡單易用的瀏覽器軟件,用戶不需要接受任何的系統(tǒng)使用培訓就可以直接使用。
系統(tǒng)B/S三層結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)B/S三層結(jié)構(gòu)圖
(1)客戶層(Web瀏覽器)
客戶層是用戶與整個系統(tǒng)的接口,主要完成用戶和后臺的交互及最終查詢結(jié)果的輸出功能。瀏覽器將HTML代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁,網(wǎng)頁還具備一定的交互功能。允許用戶在網(wǎng)頁提供的申請表單上輸入信息提交給后臺,并提出處理請求。
(2)應用層(Web服務器)
Web服務器啟動相應的進程來響應客戶端的請求,動態(tài)生成一串HTML代碼,其中嵌入處理的結(jié)果返回給客戶機的瀏覽器。當客戶機提交的請求涉及數(shù)據(jù)的存取,Web服務器需要與數(shù)據(jù)庫服務器協(xié)同完成這一處理工作。
(3)數(shù)據(jù)層(數(shù)據(jù)庫服務器)
數(shù)據(jù)庫服務器負責接受Web服務器發(fā)出的請求,獨立地執(zhí)行各種操作并管理數(shù)據(jù)庫[3]。
系統(tǒng)的開發(fā),我們以前臺交互和后臺管理兩個部分來考慮。前臺主要是系統(tǒng)和用戶的交互界面,信息在這里以某種樣式呈現(xiàn),不同的用戶對信息具有不同的訪問權限。后臺是一個信息預處理單元,負責信息分類管理和對應的權限授予,是系統(tǒng)管理員和信息交互的場所,這也是基于Web安全因素的考慮。
系統(tǒng)的開發(fā)平臺采用微軟公司的Windows Server 2003作為服務器端的操作系統(tǒng);采用SQL Server 2000作為整個應用系統(tǒng)的數(shù)據(jù)庫,采用JDBC(Java DataBase Connectivity,Java數(shù)據(jù)庫連接)連接數(shù)據(jù)庫,提供對數(shù)據(jù)庫的訪問;JSP技術能夠支持高度復雜的基于Web的應用。
系統(tǒng)的數(shù)據(jù)庫采用SQL Server 2000,在一個JDBC的驅(qū)動程序被用來建立數(shù)據(jù)庫連接之前,必須向數(shù)據(jù)庫驅(qū)動程序管理器注冊該驅(qū)動程序。管理器的主要職責是保證所有的驅(qū)動程序?qū)ο罂杀籎DBC的用戶程序訪問。當一個JDBC驅(qū)動程序被載入時,它將自動地在驅(qū)動程序管理器上注冊。
可以調(diào)用Class.forName()方法載入一個JDBC驅(qū)動程序:
Class.forName()是Java的Class類的靜態(tài)方法,它使Java虛擬機動態(tài)地尋找、載入并連接指定的類。
一個JDBC的驅(qū)動程序就是一個可以通過classpath找到一個Java類。這里載入的JDBC_ODBC橋驅(qū)動程序就在sun.jdbc.odbc包中。載入一個正確的驅(qū)動程序后,就可以用它來建立與數(shù)據(jù)庫的連接了。一個JDBC的數(shù)據(jù)庫連接是用數(shù)據(jù)庫URL來標記的。連接標記將告訴驅(qū)動程序管理器使用哪個驅(qū)動程序和連接哪個數(shù)據(jù)庫。數(shù)據(jù)庫URL的基本形式:
jdbc:<JDBC驅(qū)動程序名>:<數(shù)據(jù)源標記>
例如數(shù)據(jù)庫的數(shù)據(jù)源標記是firm,則JDBC-ODBC橋連接該數(shù)據(jù)庫所用的數(shù)據(jù)庫URL為jdbc:odbc:firm.
可以通過DriverManager類的靜態(tài)方法getConnection()來建立一個數(shù)據(jù)庫連接:
一旦建立數(shù)據(jù)庫連接,就可以打開目標數(shù)據(jù)庫,并通過該連接向目標數(shù)據(jù)庫執(zhí)行SQL指令。SQL指令通常會執(zhí)行查詢、插入、更新和刪除等數(shù)據(jù)庫操作。要執(zhí)行SQL指令,必須通過Connection對象的createStatement()方法來創(chuàng)建一個STMT對象。STMT對象提供了許多方法來執(zhí)行不同的數(shù)據(jù)庫操作??梢酝ㄟ^以下方式創(chuàng)建STMT對象:
在本系統(tǒng)中,由于對數(shù)據(jù)的安全性有較高的要求,而且涉及在網(wǎng)絡上傳輸,因此必須對數(shù)據(jù)進行加密,對用戶身份進行驗證。我們將用戶口令密碼設置的字符長度確定在8個以上,由字母、數(shù)字、特殊字符組合而成,如“529_@wwei”、“skip543@”等,可以有效地防止破解。在此基礎上,我們對系統(tǒng)用戶密碼進行MD5(Message-Digest Algorithm 5)單向散列函數(shù)高強度加密,MD5的作用是對一段信息(message)生成信息摘要(message-digest),該摘要對該信息具有唯一性,可以作為數(shù)字簽名,輸入一個任意長度的字符串,生成一個128位的整數(shù)。由于算法的某些不可逆特征,在加密應用上有較好的安全性。經(jīng)該算法加密明文信息之后,再通過Internet進行傳輸,直接看數(shù)據(jù)庫無法得知密碼[4]。為了進一步提高安全性,我們在用戶每次登陸輸入的密碼后附加一個隨機字符串加密,讓數(shù)據(jù)庫中的相應口令也附加該隨機字符串加密,這樣就達到一次性口令的效果,同一用戶登陸,每次口令加密傳輸?shù)慕Y(jié)果也是不同的,大大提高了安全性。
針對高校畢業(yè)生就業(yè)管理工作的需求,作者提出了基于B/S架構(gòu)的畢業(yè)生信息管理系統(tǒng)解決方案。實際應用表明,該系統(tǒng)不僅提高了畢業(yè)生就業(yè)管理工作的效率,節(jié)省了人力、物力資源,而且使畢業(yè)生就業(yè)管理工作更加規(guī)范化和信息化,符合當今高等院校教育管理信息化的發(fā)展方向。
[1] 國家信息安全工程技術研究中心.電子政務總體設計與技術實現(xiàn)[M].北京:電子工業(yè)出版社,2003.
[2] 曾強聰.《軟件工程》[M].北京:高等教育出版社,2004.
[3] 解圣慶,劉永華.《管理信息系統(tǒng)》[M].北京:清華大學出版社,2007.
[4] 陳淳鑫,閻光.MD5算法在B/S結(jié)構(gòu)下口令驗證中的應用[J].微型機與應用,2005(2),7-9.