孫秀良,高彥靜,安賀意
(北京化工大學圖書館,北京100029)
科技查新作為科研評價的重要環節,能夠為科技項目開發提供客觀的參考,為科技成果的鑒定和獎勵提供相應的佐證材料[1]。目前,各高校、科研院所及社會企事業單位等對查新業務需求越來越大[2]。科技查新工作面臨越來越大的挑戰,包括查新工作的委托、受理等流程管理,以及科技查新報告的存檔,從而需要自動化、人性化及主動式的查新工作管理服務系統來進一步提高查新的工作效率和服務水平。目前,無論是單機版管理系統,還是基于AJAX 的BPS 架構系統,各大學圖書館[3-8]都進行了有益的嘗試,積極設計開發不同類型的科技查新信息管理服務系統。為了綜合考慮查新站和用戶的實際需求,實現查新管理、存檔和服務的自動化,本文開發了科技查新管理服務系統。
該平臺采用windows 操作系統,Java 語言,B/S 結構,利用RUP(Rational unified process)方法進行設計和開發。系統具體的開發工具和技術手段如下。
(1)JDK:Java 開發的基礎,類庫采用SUN 公司的jdk1.6.0_02,其他相關的JAR 包,包括:sun.security、javax.mail以及javax.servlet等。
(2)Web服務器:選用Tomcat5.5來作為Web服務器,Tomcat服務器屬于開源軟件,可以降低開發成本,同時,該服務器支持多種腳本語言等。
(3)數據庫管理系統:采用mysql 數據庫進行數據存儲。它能夠降低系統資源的消耗,靈活地滿足查新站的要求,同時具有安全的權限認證機制。
(4)開發工具:采用MyEclipse6.5,可以快速實現Java程序的開發。
(5)技術手段:采用jBPM3.2工作流引擎,主流框架采用J2EE的Spring2.5、Hibernate3.1和Struts1.2,模型分析使用Petri網技術。
本系統集成四大框架完成系統的開發。jBPM進行流程模型的定制;Hibernate 可以使數據持久;Spring 用于業務處理;Struts 完成MVC 模式。系統的架構設計如圖1所示。
在Struts框架的配置文件struts-config.xml中通過
Struts配置中Action的定義方式如下:
其中forward 指的是執行完請求后根據處理結果跳轉的頁面,path指的是JSP中傳遞的請求路徑。
scope="request">
進行上述配置之后,還需要在Spring 配置文件application-Context.xml 中配置實際的Action 路徑,application-Context.xml 文件中與path="/loginsub"對應的Action配置如下:
經過上述配置之后,Struts 和Spring 框架就實現了集成。
通過定義一個sessionFactory Bean 的方式將Hibernate框架注入Spring配置文件中。
hibernate.cfg.xml 主要定義連接數據庫所需要的屬性。
...
通過property屬性注入jBPM配置的路徑。
jbpm.cfg.xml 配置文件的第一個部分是
本查新系統訪問的數據庫為jBPM,包括9 個表,其中含查新站表(user)、查新站權限表(userduty)、jBPM 表、公文表(article)和公文類型表(articletype)等。article 表主要用來存儲發布的查新報告信息,包括報告號、報告密級、查新員、查新時間、內容、所屬流程實例以及所處的狀態等信息,還用來保存查新報告傳閱和查新報告審核信息,主要包括傳閱/審核人、審核意見、審核時間等。articletype 表主要存儲報告類型信息,user表用來存儲企業內部的查新工作人員信息,userduty表用來存儲職責信息。
jBPM表數量眾多,這里只給出7個核心表和4個自定義表之間的物理模型:
數據庫表由查新委托人表UserTable、查新員表StaffTable、查 新 委 托 表 WeituoTable、查 新 表ChaxinTable、查新記錄表RecordTable、信息推送表PushTable 共6 個表組成。查新委托人表記錄委托人的賬號、姓名、單位、聯系電話等信息。
查新員表記錄賬號、密碼,以及聯系方式等信息,包括查新專業,以便系統自動分配查新任務;用一個字段標記查新員是否有審核查新報告的權利。
查新委托表記錄了委托人提交的所有委托信息,并用查新涉及學科區分查新專業;用一個字段標記委托的狀態,委托人可以在提交委托后進行修改,一旦委托被接受后將不能修改。在委托人和查新員溝通后確定接受委托,此時完善查新費用、查新員、加急費以及委托日期等信息。
查新表記錄查新任務的所有信息,查新員ID、委托ID指明進行查新活動的查新員以及對應的查新委托;查新站可以查看當前查新任務的進展情況以及預計完成時間;查新完成后記錄完成時間,并追蹤記錄繳費情況;查新活動中的查新合同以及查新報告存檔保存。
查新記錄表記錄查新過程中的事件、發生事件、涉及的查新ID 以及當時的查新報告版本,記錄查新的整個過程以及查新報告的各個版本,包括查新過程中的進度保存、查新審核的意見、查新報告的修改版本等。
科技查新系統主要實現科技查新報告的委托、撰寫、審核、發布、傳閱、會審、歸檔以及業務流程的監控、事務催辦等功能,極大提高了查新辦理的速度,同時保證了信息的安全性。
軟件設計主要包括兩個部分:客戶端和服務器,客戶端用于申請查新者申請查新,申請查新者可以登錄直接進入界面,將上面必填信息填寫完畢,就可成功提交申請;報告服務器端為面向查新站查新員,審查員以及系統管理員,可以登錄直接進入主界面,在進行正確登錄后便可以進行對新申請的查新、已受理的查新、處理中的查新、待審查的查新、審核完的查新進行相關處理。下面將對軟件設計進行詳細的說明。具體查新流程如圖2所示。
客戶端初始界面如圖3所示。
圖3可以看到,填寫查新申請的具體流程,即填寫查新申請、查看郵箱并等待回復、填寫查新合同、等待查新員電話、查新。設計分為必填信息(帶*)和非必填信息。必填信息關系到查新題目以及最后的查新費用的制定,故包括課題名稱、委托人、委托單位及電話、Email、委托單位來源以及希望取報告時間。非必填信息包括一些輔助信息,為了方便查新人員更快地找到查新范圍,比如填寫其他要求欄,不僅可以提高查新效率,還能降低錯誤發生率。
為了方便申請者了解自己查新報告的最新動態,即處于哪個處理階段,設計中添加了較人性化的一項,即動態查詢項,圖表示按照項目號、查新名稱、委托人名稱對報告狀態進行查詢。
常見問題包括:查新費用如何確定,申請查新的受理條件以及查新范圍,以及查新處理時間等,詳細地說明了常見問題。該設計可以有效地幫助申請人填寫信息,減少不必要的糾紛(費用問題、查新出現出處),提高了填寫成功率。
為了讓更多的人了解北京化工大學科技查新站,設計中特意添加了“關于我們”這一項,主要內容是:介紹北京化工大學科技查新工作站文獻資源豐富,對擁有的檢索系統、數據庫、檢索平臺以及自建數據庫進行了介紹,接著對現有工作人員進行了介紹,最后對處理查新的范圍以及處理過的查新項目進行詳細的說明,這不僅方便外界了解查新站,同時也是對查新站的一種有效宣傳。

圖2 查新流程

圖3 客戶端初始界面
RSS 信息服務的目的是為了提高查新站的服務水平,因此在客戶端設計中添加了“數據推送”一欄,目的在于與用戶建立長期的合作關系,即使是查新報告已經完成,查新系統還會通過郵件的形式給申請查新的用戶反饋于其先前所查文獻相關的最新文章發表情況,這樣一來申請查新者就不需要定期關注是否在該領域出現新的文獻,為申請查新者節省了大量寶貴時間,同時也形成了查新站與用戶之間的良性關系。具體操作為,查新員填寫相關信息(主題、鏈接地址、描述說明)并發布,客戶就能通過之前的項目號進行查閱。
服務器端初始界面全部展開如圖4所示,設計中在登錄后直接顯示查新報告的各種狀態,即今天還有多少記錄,該步驟下有多少查新報告要處理,目的就是方便查新員或者審查員知道自己的工作任務以及確定如何分工,體現的是界面的可視化以及簡易性,界面右邊是各個模塊的詳細列表,里邊涵蓋了查新報告在各種狀態下的數據信息,比如項目號(按照先后順序自動生成)、項目名稱、委托單位、查新員、審核員、費用當前狀態以及報告合同的上傳和下載。

圖4 服務器端界面
由于該系統有3種角色可以進入,但是每一類人的權限不同,所以不同角色的人登錄系統有些信息是被屏蔽的。圖4是系統管理員登錄界面,由于權限最高,故可以掌握全部信息,而查新員、審查員只能見到屬于自己職務范圍內的欄目,而無權看到如何系統維護的欄目,系統內審查員權限最低只能看到待審核的查新以及個人信息修改。
4.2.1 查新模塊
設計中最重要的部分是對查新報告的處理,即進入該階段第一步為查閱新申請的查新,同時對查新報告進行評價,通過對查新報告中的項目名稱,委托單位、查新范圍、希望獲取報告時間等信息綜合評定后,確定是否批準查新,如果批準,點擊批準申請將查新報告推送到已受理報告中等待繼續處理,若不同意批準則點擊無法受理,以郵件形式告訴申請者您提交的申請無法受理。
進入已受理的查新報告,差新站查新員需要對該報告進行更詳細的分析,再次確認后是否受理,若無法處理則以郵件形式告訴查新者無法受理,或者由申請人提出撤題,則直接點擊系統撤題即可消除記錄,若可以受理則由系統管理員給查新員分配任務并由查新員認領,查新員在認領后就可開始按照申請人要求完成查新報告。與此同時,系統將自動按照申請人所填寫的郵箱地址發送查新合同,用戶下載后填寫完畢并打印后及時交至查新站,以免耽誤查新報告的處理。
查新員正在處理的查新報告,將全部顯示在處理中的查新中,其中還包括是否繳費信息、報告狀態、是否送審、報告下載欄以及合同下載欄,該下載欄的作用在于,可能出現提交的報告審核未通過,仍需要繼續修改,有審查員上傳修改意見,有查新員下載繼續修改。只有當報告正確生成才可以送審至待審核的查新,即將準備好的完整查新報告上傳至系統,當提示報告狀態已生成時,否則無法送審,申請查新人員看到查新員處理中,也就說明查新員正在完成相關查新,等待消息即可。主界面中表示處理中查新,表中顯示各項即為其基本信息。
當查新報告進入待審核的查新時,該欄將顯示該報告報告號、處理它的查新員、完成日期等,此時查新員等待審核員的最后確定,這里可以分為3種情況:第一種,直接通過審查,則表明該報告已經順利完成查新。第二種,還存在要修改的問題則為不通過,需要返回反饋建議并標注要重新修改的地方。第三種,有可能遇到撤題情況,點擊撤題欄消除相關記錄。
當審查員通過審查時,報告進入最后一項處理完的查新,這也就意味著該報告已經順利完成各類手續,本部分內容包括前邊介紹的基本內容如項目號、委托單位外,還添加了審核員的信息,以便日后查詢,在這里查新員或者審查員可以下載處理完報告,打印蓋章便可交付給申請查新者。可以進行處理完的查新報告統計。
前邊介紹到了有些申請的報告可能被拒絕查新或者申請者請求撤題,為保證查新系統的信息完整性,并方便日后查詢及管理,本系統也將對該兩類信息做統計,即對拒絕的查新以及撤題的查新做相應統計。統計信息主要包括除項目號委托人、委托時間、委托人電話外,還增添了終止員名字。
由于客戶端的RSS 信息推送首先要經過服務器端的填寫等工作完成后才可以點擊完成上傳至網絡,該模塊的作用就在于通過郵件的形式給用戶反饋一些對申請查新者有用的相關信息,該信息是通過與申請查新的理想進度進行判斷。查新員需要提供給查新者主題、相關鏈接網址以及填寫相關信息方便其查閱。
4.2.2 維護模塊
由于系統要長期運行,所以需要對系統進行定期的維護,這里所說的維護主要是數據庫信息的維護,其中包括查新目的維護、查新統計、查新機構、檢索庫維護、用戶信息管理、郵件模板、價格參數以及FAQ維護。以下為具體各模塊的介紹。
查新目的維護即了解要查新的報告是屬于立項、結題還是專利,設計的目的在于幫助查新員在了解查新報告后,合理準確地對該報告進行評估,在功能方面添加了新增和刪除項,這樣可以靈活地對查新項目進行更新。
查新統計維護是對該報告全部有效信息的統計,包括申請的具體時間、委托人、項目名稱、查新員、審核員、費用等各類信息。在查詢統計時,管理員可以按照具體查詢需求,結合設計中給出的16 項基本信息進行篩選查詢,同樣也是為了設計簡易化人性化,在設計中給出了統計數據的導出(Excel),可以導出設定時間段內的信息統計。
考慮到機構內部可能出現的人員調動所引發的信息更替,所以在設計中添加了查新機構名稱為北京化工大學查新站;查新機構通信地址為北京市朝陽區北三環東路;系統郵件地址等基本信息外,還增添了負責人及其聯系電話等,提高了系統的可維護性,同時還可以把最新的合同上傳至系統由查新者下載。
檢索庫的維護設計包括時間年限、可以查詢的數據庫、數據庫來源,這些來源受學校所購買的數據庫的限制,所以可按照實際情況進行添加刪除,以維護數據信息的正確性和準確性。
價格參數維護即計費信息維護,定價的方式是按照單位性質、是否加急、查新來源、查詢范圍等確定,由于該信息變動較大,所以設計中必須給出編輯更新鍵,管理員需按照實際情況對以相應數據進行更新,考慮到可能會有國外的一些查新人員,所以添加了新增項對美匯率。
用戶信息維護設計是查新員、審查員、管理員在第一步進入系統時能登錄信息的記錄維護,只有當登錄者的信息與此處的信息相同時才可以順利登錄,否則無法進入系統進行查閱,該處信息包括查新員、審查員、管理員的姓名、電話、職稱、查新角色、Email 以及登錄密碼信息。如果出現審查員或者查新員忘記密碼的情況,可以通過向管理員申請,管理員進行修改信息返還信息即可重新登錄。
該系統中查新員與申請查新人員以及查新員之間的交流方式是通過郵件的形式實現的,為了減少查新站的工作量,系統設定自動回復功能,即按照特定形式的模板實現與客戶的交流。模板分為以下幾種:查新員撤題時通知管理員、查新員領取任務時通知系統管理員、查新員送審時的通知郵件、管理員分配任務時發送的郵件、管理員批準簡要申請的回復、拒絕查新申請時給客戶的回復。
查新站工作人員較多,工作經驗各不相同,所以為了在查新過程中形成一個統一的標準,在設計中添加了FAQ 問題維護,FAQ 問題包括查新申請的受理條件、查新報告的有效期、查新費用等,該設計很大程度地降低了查新系統的歧義性以及不確定性。
為了確保只有查新系統人員進入系統,以及系統的安全性,在個人信息欄設計中需要對各類角色的人員基本信息進行填寫,為保證工作人員正常看到屬于自己的工作欄目,在填寫信息完畢后需要對其角色進行確定。為了安全性的考慮,在設計中添加了修改密碼一項。
為了提高軟件質量,本文對系統每個模塊的程序代碼進行測試,以及對整個軟件進行系統測試,包括穩定性、功能、安全性、可用性測試等。在軟件編碼開始之前,測試人員應向查新站提交《測試計劃》;在軟件交付時,開發者應向查新站提交《軟件測試報告》,包括軟件系統測試、文檔檢查等,以確保開發者的軟件得到了充分的測試。
本文基于jBPM 業務流程管理,應用Hibernate、Struts、Spring 框架,以及J2EE 的框架技術,進行各個框架的無縫集成,實現后臺業務解決方案;同時對查新服務系統模型進行數據庫設計,開發并實現了科技查新自動化管理服務系統,提高了查新工作效率,方便了查新用戶。