【摘要】文章分析了基于開源平臺建設高校就業信息系統的優勢。通過比較各種開源軟件,提出了一套開源平臺解決方案,并以某高校就業信息系統為例,闡述了基于開源平臺構建高校就業信息系統的設計和實現過程,對構建其他類似的中小型信息系統具有一定的借鑒作用。
【關鍵詞】開源平臺;就業信息系統;解決方案
【中圖分類號】G40-057 【文獻標識碼】A 【論文編號】1009—8097(2011)04—0148—04
一 引言
隨著信息技術的發展,建立現代化的高校就業信息系統,能充分發揮網絡信息量大、傳播快、溝通方便、費用低廉、不受時空限制等優點,更好的滿足高校就業形勢的需要。
近年來,開源運動蔚然成風,開源項目和軟件也越來越豐富[1]。基于開源平臺建構高校就業信息系統具有諸多優勢:
1 成本低廉。開源軟件不需要授權費用,也不需要維護費用[2];
2 良好的安全性和穩定性。開源軟件的開放性使得軟件中的漏洞能很快的被發現并修復,因此具有良好的安全性和穩定性;
3 可擴展性強。開源軟件開放源碼,因此用戶可以根據自己的需求對軟件進行定制;
4 廣泛的技術支持。開源軟件有網上的互助社區,因此很容易獲得免費的在線幫助[3];
綜上原因,本文通過比較當前流行的開源軟件,提出了一套開源平臺解決方案,并在此基礎上設計并實現了某高校就業信息系統。
二 開源軟件的比較和選擇
目前開源軟件數目眾多,作者認為選擇開源軟件時應主要從以下五個方面考慮:
1 功能和性能:功能強大的開源軟件往往更能夠滿足系統的需求。系統的性能包括系統的運行速度、吞吐量、并發用戶數、資源利用率等,性能好的開源軟件能在同樣的硬件條件下提供更好的用戶體驗。在選擇開源軟件時,應根據系統的具體需求,平衡考慮功能和性能兩方面因素。
2 安全性和穩定性:安全性高的系統漏洞較少,漏洞能快速的被發現和修復。穩定性高的系統容錯性高,能長期穩定的運行。對于高校就業信息系統,既需要保護各項數據的安全,又需要保證系統長期穩定運行,應選擇安全性和穩定性的都較高的軟件。
3 流行度:包括用戶的占有率和開發人員的活躍程度。用戶占有率越高,相對生命周期越長,越能得到更多的技術和社區支持,漏洞也能被更快的發現。開發人員越活躍,新功能推出的越快,漏洞也能被更快的修復。同時,流行度也間接的反映了某開源軟件的各項性能,流行度高的軟件,往往各項性能也越高。在選擇開源軟件時,可優先考慮流行度最高的軟件。
4 定制性和擴展性:定制性指軟件可以方便的修改以滿足不同的需求。擴展性指軟件可以方便的增加新功能。定制性和擴展性越高,開發和維護越方便、高效。
5 開發人員的熟悉程度:開發人員對所選軟件的熟悉程度越高,學習的成本越低,同時開發的速度和質量越高。
以上五方面因素相互作用、相互影響,應根據實際需求綜合考慮。
本方案結合高校就業信息系統的需求特點和各開源軟件的優點,選擇以下開源軟件來構建系統:
1 操作系統的選擇: 開源操作系統分為Linux、BSD和Open Solaris三個系列,其中BSD和Open Solaris系列相對冷門,而Linux是當今最熱門的開源操作系統,其社區活躍度要遠遠高于后兩種。Linux又有很多發行版本,以Red Hat系列的安全性和穩定性最高。Red Hat系統中Red Hat Enterprise Linux(RHEL)是Red Hat公司自己推出的服務器版本,但Red Hat是商業公司,RHEL中部分配套軟件和技術支持是需要收費的。CentOS是一款由RHEL按開放源碼規定釋出的源碼重新編譯而成的企業級Linux發行版[3],并在RHEL基礎上修正了不少已知的Bugs,其穩定性和可靠性也非常出色,同時具有很好社區支持,是目前最流行的服務器Linux發行版[4]。綜合上述因素,我們選擇CentOS作為平臺的操作系統。
2 Web服務器的選擇:基于Linux的開源Web服務器很多,其中最流行的是Apache[5],其性能和安全性均很好。JBoss企業級Web服務器整合了Apache Tomcat、Apache Tomcat-Native和Apache Web Server 技術,結合了市場領先的開源技術和企業級性能[6]。其全面遵守J2EE規范,由純Java開發,并采用JMX體系結構實,具有跨平臺、安裝簡單、支持熱部署、安全性高等優點。綜合上述因素,我們選擇JBoss作為Web服務器。
3 數據庫的選擇:數據庫中以MySQL、MS SQL-Server和Oracle等最為流行,其中只有MySQL是開源的。MySQL具有跨平臺、支持多線程、查詢速度快等優點,是最流行的開放源碼SQL數據庫管理系統[7]。因此,數據庫采用MySQL。
4 開發語言的選擇:最常用的三種Web開發語言為JSP、ASP和PHP。其中ASP依賴于Windows商業平臺而非開源技術。JSP與PHP均為開源,兩者相比,JSP的性能、擴展性、安全性、跨平臺性等方面要更勝一籌,已經成為當今Web技術三層結構的發展潮流[8]。因此選擇JSP作為開發語言。
5 開發框架采用Struts2+Hibernate3+Spring2:該框架是目前最流行的JSP開發框架。對于Web技術的三層結構,表現層使用Struts2,業務層使用Spring2,持久層使用Hibernate3。綜合使用這三個框架,發揮每個框架的優勢,系統結構清晰、可重用性高、靈活性好。整個框架的組合如圖1所示:

通過以上分析,我們整合利用上述開源軟件,以開發一個免費的、高性能、高穩定性的高校就業信息系統。
三 某高校就業信息系統的設計與實現
1 系統的架構設計
系統分為采用標準B/S三層架構,分別為:用戶層(表現層)、業務層、持久層(數據層)。如圖2所示:

其中,用戶層負責與用戶交互,包括將數據展現給用戶、接收和驗證用戶的輸入;業務層負責應用的業務邏輯,并分別與用戶層和數據層交互;數據層負責處理數據,包括查詢、保存、更新、刪除數據。
2 系統的功能模塊

就業信息系統的用戶包括畢業生、用戶單位和管理員。通過分析三種用戶的需求,給出系統的功能模塊如圖3所示:
功能模塊劃分如下:
公共服務模塊主要用于展示政策信息和招聘信息,具體包括:就業政策(用于發布就業相關的政策文件,并提供相關的文檔下載);新聞公告(用于發布學校關于就業的新聞);招聘信息(用于發布招聘信息以及招聘會信息);跟蹤調查(畢業生就業需求或者就業滿意度調查)。
學生服務模塊主要用于畢業生登錄填寫個人信息和畢業信息,并具有上傳和打印個人簡歷的功能,為學生提供了向用人單位展示自己的平臺。同時該模塊還方便了學生辦理畢業手續,方便了學校統計學生的畢業信息。
用人單位服務模塊主要用于用人單位發布招聘信息和預約學校場地以召開專場招聘會,同時提供了各院系和專業的介紹,用人單位也可以在此搜索和查看學生的信息和簡歷,方便用人單位找到需要的人才。
院系管理模塊主要用于各院系管理員發布相關的信息和招聘信息,以及各畢業班班主任管理本班的學生。
職業生涯模塊提供職前教育網絡學堂、職業測評、咨詢服務、在線問答四個子功能模塊。
后臺管理模塊為系統管理員提供方便的系統管理功能。包括:管理文章、審核和管理用人單位信息、管理畢業生信息、審核和管理招聘信息和招聘會信息、管理招聘會場地信息、導入導出畢業生數據等。
3 關鍵技術的討論
在設計和開發過程中需要重點解決二個方面的關鍵技術問題。
首先,招聘會場地的管理流程。學校有報告廳等場地用于招聘會,并可以網上預約,既方便了用人單位預約場地,也提高了場地的利用率。
整個流程如下:用人單位登錄系統并進入用人單位服務區,通過招聘會場地列表頁,查看各場地的信息,并可以預約兩個月之內某場地某時間段的使用權,如果該場地在此時間段已被預約,系統將提示選擇其他時間段。成功預約后,系統管理員在后臺審核,審核通過后,用人單位即可發布招聘會信息。
其次,畢業生數據導入導出。系統每年會在畢業生畢業工作完成后將畢業生信息表清空,并在下一屆畢業生畢業工作開展期間將該屆的學生數據導入數據庫,導入的信息為csv文件,信息包括學號、姓名、出生年月、性別、學制、學歷、培養方式和畢業時間。
導入功能利用Java的輸入流實現,代碼如下:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(myFile), \"utf-8\"));//將上傳文件讀入輸入流
String line = br.readLine(); // 跳過第一行,字段名
while ((line = br.readLine()) != 1) {//再讀到文件尾部之前,循環讀取文件每一行
String[] array = line.split(\",\");//將每行中的信息分割成數組
Student stu = new Student();//新建一個學生信息
stu.setUsercode(array[0]);//導入該行中的學號信息
…//導入該行中的其他信息
studentDao.save(stu);//將學生信息存入數據庫
}
另外,系統還提供將畢業生信息導出為csv文件,導出功能利用HttpServletResponse類和PrintWriter類實現,代碼如下:
String date = …//data為從數據庫中讀出的學生數據
HttpServletResponse response = ServletActionContext.getResponse();
response.setHeader(\"Content-Disposition\", \"attachment; filename=\\\"out.csv\" + \"\\\"\");//輸出文件為out.csv
PrintWriter out = 1;
try {
out = response.getWriter();//輸出到文件
} catch (IOException e) {
System.out.println(“Export error!”);//出錯時輸出提示信息
}
…;
學生數據的導入導出功能,提高了畢業生就業工作的效率,同時也為學校的專業設置、招生辦學提供了參考。
四 結束語
本文根據高校學生就業信息管理工作的特點,通過分析開源軟件的優勢和特點,提出了一套開源平臺解決方案。系統完全采用開源軟件,成本低、安全性和穩定性高,同時具有良好的可維護性和可擴展性。目前該系統已在某高校成功運行了三年多,并取得了良好的效果。同時,該解決方案完全可以用于建設類似的中小型信息系統。
參考文獻
[1] 張文正.開源軟件在高校中的應用參考[J].現代教育技術, 2008,18(10):110-113.
[2] Jason Williams, Peter Clegg, Emmett Dulaney.Expanding Choice: Moving to Linux and Open Source with Novell Open Enterprise Server[M].Novell Press,2005.
[3] CentOS Overview[EB/OL].
[4] Usage of Linux for websites [EB/OL] .
[5] Usage of web servers for websites [EB/OL].
[6] JBoss Enterprise Web Server [EB/OL] .
[7] MySQL Enterprise Server 5.1 [EB/OL].
[8] 楊茹,張愛文.基于JSP的高校就業服務系統的設計與實現[J].中國教育信息化,2007,(2):57-59.
[9] Mark Eagle. Wiring Your Web Application with Open Source Java[EB/OL].
The Open Source Solution for University Employee Information Systems
ZHENG Wen-xi WU Min
(Modern Education Technology Center, University of Science and Technology of China, Hefei, Anhui 230026, China)
Abstract: This paper discusses the advantages of building university employee information systems based on open source platform. By comparing the open source technologies, proposed a set of open-source platform solution. Use a university’s employee information system as example, introduced the design and exploitation on employee information system based on open source platform. The solution can apply to similar types of small and medium sized information systems.
Keywords: open-source platform; university employee information system; solution
收稿日期:2011年2月19日
編輯:紅葉