張潔
摘要:目前學(xué)校業(yè)務(wù)發(fā)展迅速,之前的信息系統(tǒng)的功能已經(jīng)不能滿足新的業(yè)務(wù)需要了,必須進行二次開發(fā)。但是由于通過原信息系統(tǒng)開發(fā)方進行二次開發(fā)成本較高,并且會影響現(xiàn)有系統(tǒng)的正常使用,所以很有必要利用現(xiàn)有信息系統(tǒng)的數(shù)據(jù)資源進行二次開發(fā)的探索實踐。
關(guān)鍵詞:校園信息系統(tǒng);WEB應(yīng)用;二次開發(fā)
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2019)06-0066-02
1 校園信息系統(tǒng)現(xiàn)狀調(diào)查
到目前為止,每個學(xué)校都有校園信息化系統(tǒng)。大多數(shù)的學(xué)校都是建立了自己學(xué)校的網(wǎng)站系統(tǒng)和學(xué)生管理、課程管理等其他信息化管理系統(tǒng)。這些系統(tǒng),對于學(xué)生而言,能實現(xiàn)簡單的資料查閱、課程查詢、成績查詢等日常學(xué)習(xí)中所需的功能。對于老師而言,這些系統(tǒng)能實現(xiàn)基本的課程安排、成績錄入、學(xué)生信息錄入等管理功能。但是,現(xiàn)在的信息系統(tǒng)并不完善,存在很多的問題。
1.1 系統(tǒng)建設(shè)時沒有進行統(tǒng)籌合理的規(guī)劃
校園信息化系統(tǒng)的建設(shè)普遍存在缺乏統(tǒng)籌規(guī)劃的問題。學(xué)校各個部門或者院系在建設(shè)系統(tǒng)的時候,總是只考慮自身當時需要實現(xiàn)的功能,忽略了和其他信息系統(tǒng)之間的數(shù)據(jù)傳輸和數(shù)據(jù)共享。沒有統(tǒng)籌規(guī)劃,往往學(xué)校的部分功能存在重復(fù)建設(shè)的問題。并且容易形成信息孤島,使數(shù)據(jù)無法流通。對學(xué)校的日常工作沒有促進反而造成了一些不方便,數(shù)據(jù)傳輸方式還停留在復(fù)制粘貼、文件保存和發(fā)送等原始的傳輸方式上。
1.2 系統(tǒng)功能不能與時俱進
一個信息系統(tǒng)建設(shè)時,僅僅考慮到當時急需解決的功能需求,沒有考慮到后期的功能擴展,沒有預(yù)留接口。升級改造困難。
1.3 數(shù)據(jù)標準不統(tǒng)一
數(shù)據(jù)體系建設(shè)不健全,沒有統(tǒng)一的中心數(shù)據(jù)庫,數(shù)據(jù)不完整、不標準,數(shù)據(jù)質(zhì)量不高,數(shù)據(jù)共享使用水平低;學(xué)校因管理體制和觀念等限制,大部分數(shù)據(jù)都靜靜地躺在各自的庫中,辦事過程中申報材料經(jīng)常需要反復(fù)多次提交、重復(fù)審核、重復(fù)證明,從邏輯上講沒必要、但程序上又必須有,這不同程度增加了辦事難度,也影響了信息化服務(wù)體驗。
學(xué)校各個部門或者院系根據(jù)自己的需要建設(shè)的信息系統(tǒng)都自帶獨立的數(shù)據(jù)庫,各自獨立保存自己系統(tǒng)的數(shù)據(jù)。實際上,學(xué)校的很多數(shù)據(jù)會在多個系統(tǒng)里使用。比如,學(xué)生的基本信息會在招生系統(tǒng)、學(xué)工系統(tǒng)、學(xué)籍系統(tǒng)等多個系統(tǒng)中使用。每個系統(tǒng)都自己管理一份學(xué)生基本信息數(shù)據(jù)。由于系統(tǒng)建設(shè)的廠商各有不同,所以每個系統(tǒng)的數(shù)據(jù)標準和格式都不一致。一旦有一個系統(tǒng)里的學(xué)生基本信息數(shù)據(jù)發(fā)生變更,就會造成該數(shù)據(jù)的不一致。
2 針對現(xiàn)有信息系統(tǒng)功能完善與改進的途徑
由于學(xué)校的業(yè)務(wù)發(fā)展需要,原有信息系統(tǒng)功能已經(jīng)不能滿足業(yè)務(wù)要求,迫切需要新的信息化手段支撐學(xué)校各個環(huán)節(jié)的工作開展。針對現(xiàn)有信息系統(tǒng)的不同狀態(tài),對現(xiàn)有信息系統(tǒng)功能完善和改進的途徑是完全不同的。對于那些老舊的,功能單一,結(jié)構(gòu)松散,安全風(fēng)險較高,需要改造的功能模塊較多的信息系統(tǒng)通常通過打補丁的方法已經(jīng)無法解決了,就需要主要使用部門籌措資金,購買新的信息系統(tǒng),進行更新?lián)Q代。對于那些基礎(chǔ)功能還可以使用,又需要增加新的功能模塊,學(xué)??梢月?lián)系原軟件廠商獲取系統(tǒng)完整的源代碼,并根據(jù)學(xué)校的特定的業(yè)務(wù)需求進行自行升級改造。對于那些軟件廠商不提供系統(tǒng)源代碼需要進行二次開發(fā)的信息系統(tǒng), 學(xué)校只能利用現(xiàn)有系統(tǒng)的數(shù)據(jù)資源進行自行開發(fā)。
3 WEB應(yīng)用二次開發(fā)的技術(shù)手段
目前,信息系統(tǒng)架構(gòu)分為B/S和C/S兩種架構(gòu)。由于網(wǎng)絡(luò)的普及和出于數(shù)據(jù)交換的便捷性考慮,現(xiàn)在的信息系統(tǒng)通常采用的是B/S架構(gòu)。最常用的WEB應(yīng)用開發(fā)語言有ASP.net,PHP,JAVA。ASP.net是基于windows平臺的。PHP是一種跨平臺的服務(wù)器端的嵌入式腳本語言。JAVA是一種面向?qū)ο蟮木幊陶Z言,它具有簡單性、面向?qū)ο蟆⒎植际?、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
4 針對OA系統(tǒng)二次開發(fā)的實踐
4.1 什么是OA辦公系統(tǒng)二次開發(fā)?
OA辦公系統(tǒng)二次開發(fā)是根據(jù)用戶的個性化需求上進行定制化開發(fā)的,一般由OA系統(tǒng)開發(fā)廠商在已運行產(chǎn)品的基礎(chǔ)上進行二次開發(fā),這樣要求OA產(chǎn)品有較強的擴展性和兼容性,OA系統(tǒng)二次開發(fā)團隊需深度了解OA產(chǎn)品,有一定的技術(shù)力量和項目經(jīng)驗,從這方面講代理商或者OA系統(tǒng)的用戶自己進行二次開發(fā)存在一定的困難。
如果不是自身的產(chǎn)品,在沒有OA源碼、不了解現(xiàn)有設(shè)計、技術(shù)架構(gòu)的差異等情況下是很難進行開發(fā)的,一般只能將原有OA系統(tǒng)廢棄,分析原有系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),并盡可能地將數(shù)據(jù)移植到新的OA系統(tǒng)中,如果數(shù)據(jù)積累的時間長、量比較大這個成本是非常大的。
二次開發(fā)最大的優(yōu)勢是能夠很好地解決用戶個性化的需求,讓OA系統(tǒng)更加貼近用戶的實際需要。
傳統(tǒng)的OA產(chǎn)品一般會控制其源代碼的開放,這樣一來,如果學(xué)校要對已有的OA系統(tǒng)進行二次開發(fā),只能繼續(xù)由現(xiàn)有OA辦公系統(tǒng)的開發(fā)者提供服務(wù)。更為嚴重的是如果在現(xiàn)有OA基礎(chǔ)上做二次開發(fā),則廠商產(chǎn)品升級(升級的目的一般包括添加模塊、增加新功能、功能升級、錯誤的修復(fù)、增強安全性、改善性能等)后一般是不包含用戶二次開發(fā)的功能,選擇升級則需要重新將二次開發(fā)的功能整合到廠商升級的版本中。一般的廠商選擇二次開發(fā)服務(wù)的技術(shù)人員水平不是很高,設(shè)計能力有限,很多都是直接在OA系統(tǒng)的源碼中進行修改,這種做法帶來了兩方面的不良后果,一是在產(chǎn)品中引入新的錯誤需要經(jīng)過一段時間的運行后穩(wěn)定下來,二是如果使用廠商新升級的版本則需重新整合、代價高。
4.2 針對OA系統(tǒng)二次開發(fā)的實踐
1)針對OA系統(tǒng)二次開發(fā)的原則
在現(xiàn)有OA系統(tǒng)軟件開發(fā)方不提供源代碼和免費的后續(xù)服務(wù)的情況下,要在不影響現(xiàn)有OA系統(tǒng)運行,不更改現(xiàn)有技術(shù)架構(gòu)的情況下,實現(xiàn)學(xué)校的個性化需求。
2)針對OA系統(tǒng)二次開發(fā)目標
目前學(xué)校的OA系統(tǒng)能處理各種公文的流轉(zhuǎn),批復(fù)等功能,可是隨著時間的推移,每天都會有大量的文件等著學(xué)校領(lǐng)導(dǎo)批復(fù)。由于學(xué)校的各種事務(wù)繁忙,時間一長,就會出現(xiàn)文件積壓。而現(xiàn)有OA系統(tǒng)沒有提供提醒功能。導(dǎo)致工作推進速度緩慢,效率大大降低。因此,學(xué)校提出開發(fā)文件批復(fù)提醒和統(tǒng)計功能。
3)針對OA系統(tǒng)二次開發(fā)架構(gòu)
在當前信息化技術(shù)高速發(fā)展的時期,學(xué)校的業(yè)務(wù)需求也在不斷變化,因此二次開發(fā)的架構(gòu)要立足學(xué)校信息系統(tǒng)的長遠發(fā)展。通過對比現(xiàn)階段各種技術(shù)手段的優(yōu)缺點,最終采用了跨平臺的J2EE架構(gòu),MVC設(shè)計模式、JAVA語言來實現(xiàn)針對OA系統(tǒng)的二次開發(fā)。
4)系統(tǒng)設(shè)計
通過對需求的分析,系統(tǒng)的基本功能應(yīng)該包括:
① 針對文件涉及的每個用戶,根據(jù)文件批復(fù)狀態(tài)分項列出各種狀態(tài)下的文件數(shù)量。
②文件處理涉及的每個用戶自行登錄后看到和自己相關(guān)的待處理文件列表和詳細信息。
5)系統(tǒng)實現(xiàn)
現(xiàn)有OA系統(tǒng)中文件處理流程涉及的數(shù)據(jù)表有:文件傳閱主表、文件傳閱細表。通過對以上兩個表的表結(jié)構(gòu)進行分析,確定了表之間關(guān)聯(lián)的外鍵。文件的處理狀態(tài)分為正在處理、撤回、完結(jié)三種狀態(tài)。閱文狀態(tài)分為未開封、未確認、已確認。通過這樣的分析,可以實現(xiàn)各種學(xué)校個性化定制需求。例如要實現(xiàn)針對個人的已開封超過三天未確認的文件數(shù)量的統(tǒng)計。代碼如下:
select count(*) from 文件傳閱_細表 A where A.確認姓名='name' and A.狀態(tài)='已開封' and A.確認狀態(tài)='未確認' and A.發(fā)送時間 between 'begintime' and 'endtime' and A.主表 in (select B.ID from 文件傳閱_主表 B where B.狀態(tài)!='撤回' ) and datediff(day,讀取時間,GETDATE())>3";
參考文獻:
[1] 什么是OA系統(tǒng)軟件二次開發(fā)?[EB/OL].http://www.fanpusoft.com/bangong/qy/108965.html.
【通聯(lián)編輯:朱寶貴】