趙正德 婁 劍 侯曉宇
摘要:本文結(jié)合Crystal Report技術(shù)、NETBPM技術(shù)、Socket技術(shù),根據(jù)實際辦公需要,解決了辦公軟件設(shè)計與實現(xiàn)的若干問題,包括處理復(fù)雜報表、流程控制、信息即時交互等問題。既減輕了軟件開發(fā)人員的工作壓力,又為CA辦公系統(tǒng)的實現(xiàn)提供了適宜的解決方案。
關(guān)鍵詞:ASP.NET;水晶報表Crystal Repot;NetBPM即時通信
1引言
辦公信息化、高效化浪潮席卷之際,打造出一套適合辦公人員使用的CA系統(tǒng)勢在必行。由此,我們以東北大學(xué)軟件學(xué)院辦公需求為背景,構(gòu)建了適合辦公人員使用的CA系統(tǒng)。簡潔易用的交互界面使系統(tǒng)更加人性化,容錯機制的引入使系統(tǒng)備受青睞,水晶報表的使用使數(shù)據(jù)展現(xiàn)得更加唯美,NETBPM技術(shù)使得流程更便于控制管理,信息即時通訊使得信息交互更為方便。鑒于所研究的技術(shù)可以最大化實現(xiàn)其價值,并通過以上技術(shù)本文提出關(guān)于CA系統(tǒng)中關(guān)鍵問題的一些解決方案。
2水晶報表
辦公系統(tǒng)中不可或缺的一部分就是報表,好的報表能直觀地讓人把握數(shù)據(jù)的情況,方便決策。面對網(wǎng)絡(luò)中大量的報表工具,正確選擇適合所開發(fā)的應(yīng)用程序的報表工具尤為重要。
對于所開發(fā)的CA系統(tǒng),我們選擇了采用Crystal只eport,其為業(yè)內(nèi)最專業(yè)、功能最強的報表系統(tǒng),實現(xiàn)了與絕大多數(shù)流行開發(fā)工具的集成和接口。
構(gòu)建報表時,首先使用XSD文件引入數(shù)據(jù)庫字段,在.rpt文件中可視化地擺放各字段位置。在應(yīng)用程序中則使用Load函數(shù)加載水晶報表并設(shè)置其數(shù)據(jù)源即可在頁面中顯示水晶報表。水晶報表可以以柱形圖、餅形團、折線圖、自定義表格等方式顯示數(shù)據(jù),也可引用已存在的電子表格、圖片等,使得報表開發(fā)簡潔高效。
水晶報表的實現(xiàn)原理并不復(fù)雜,但是實現(xiàn)過程中會出現(xiàn)若干問題。經(jīng)過長時間的研究與探討,總結(jié)了若干相對容易的解決方式。在此只對兩種常見錯誤簡單介紹。當(dāng)引用數(shù)據(jù)庫中多個表的字段時水晶報表會無法處理,此時可以在數(shù)據(jù)庫中構(gòu)建單一視圖再在水晶報表中引用視圖即可。另外,在水晶報表里會出現(xiàn)圖片無法顯示的錯誤,此時應(yīng)更改圖片的路徑。
3使用NETBPM進行流程控制
在本OA系統(tǒng)中,采用了NETBPM實現(xiàn)工作流。通過NetBPM,可以對不能實時獲得的、由其他系統(tǒng)或人員產(chǎn)生的結(jié)果與程序邏輯進行結(jié)合,使業(yè)務(wù)流程管理變得簡單。
BPM,即業(yè)務(wù)流程管理,而NetBPM是BPM領(lǐng)域中一個優(yōu)秀的企業(yè)應(yīng)用系統(tǒng)。NetBPM由多個組件構(gòu)成,每個組件都有明確定義的接口。這些接口包括過程開發(fā)者接口、用戶接口、外部IT系統(tǒng)和NetBPM引擎接口、NetBPM和機構(gòu)數(shù)據(jù)倉庫接口。NetBPM的核心是其BMP引擎,它是整個NetBPM業(yè)務(wù)過程邏輯制定和實施的核心所在。
本CA系統(tǒng)系A(chǔ)SPNE7應(yīng)用程序,引用了NETBPM中的DLL,嚴(yán)格按照NPDL的語法規(guī)定建立適合我們工作流程的process-definition.xml與webinterface.xml文件來定義流程節(jié)點相關(guān)信息,并利用NETBPM_DLL提供的函數(shù)接口實現(xiàn)本CA系統(tǒng)的功能。在processdefinition.xml文件中既要定義pro-cess-definition節(jié)點,又要為結(jié)點定義ac-tion,有效的事件類型包括process-in-stance-start、process-instance-end和process-instance-cancel。
在CONCURRENT BLOCK(并發(fā)塊)中含有比較重要的Fork節(jié)點與Join節(jié)點,分別定義了在流程分支點與匯合點觸發(fā)的事件等。而webinterface.xml文件則更多地定義了WEB表單的表現(xiàn)形式。
4高校信息通
在本CA系統(tǒng)中集成了“高校信息通”功能,為辦公系統(tǒng)的使用人員的交流、溝通及發(fā)布公告等提供了平臺。本高校信息通采用c/s架構(gòu),在客戶端和服務(wù)器、客戶端與客戶端之間建立穩(wěn)定的socket連接,并以xml文件形式傳遞數(shù)據(jù),自由定義節(jié)點,結(jié)構(gòu)分明。
在服務(wù)器端,對與客戶端交互的信息進行了控制與處理分離,所有的請求由控制類負(fù)責(zé)判斷,并交與權(quán)限類進行安全判斷和規(guī)范檢查,再轉(zhuǎn)交給實體類處理,處理結(jié)果由控制類反饋。以xml格式文件實時記錄用戶交互數(shù)據(jù),利于管理員查看相關(guān)信息。另外,采用線程池技術(shù)提高了服務(wù)器的效率,并對可能的連接進行了控制。對離線消息的保存則避免了用戶之間傳遞的消息丟失。此外,定時掃描各個客戶端可防止異常掉線引起的顯示錯誤。
在客戶端,前臺數(shù)據(jù)格式檢查與后臺檢查相結(jié)合,保證了程序的健壯性。采用消息隊列的方式存儲聊天信息,并在窗體之間及時傳遞??蛻舳酥鲃油ㄖ诰€好友上線、下線則減輕服務(wù)器負(fù)擔(dān)。另外,雙擊窗口前置、消息達到時圖標(biāo)閃動提示、記住密碼默認(rèn)登錄等方式均使系統(tǒng)更具有人性化特質(zhì)。