摘 要: 隨著計算機和互聯網的發展,信息化辦公已經普及,在流程較長或角色較多的業務流程系統中,催辦功能就變的尤為重要。催辦即當某一用戶在截止日期前仍未完成某一工作時,系統自動發送消息提醒的功能。本文提出了多元化催辦模型,描述了催辦的算法,并給出了催辦實現的三種方式:系統短消息、電子郵件和短信。
關鍵詞: 多元化催辦;系統短消息;電子郵件;短信
0 引言
在業務流程系統中,當業務流程較長或者涉及角色較多時,難免會因某一用戶工作拖延,導致其他用戶工作延期,催辦就是為了解決這一問題而提出的。當某一用戶在截止日期前仍未完成工作時,若系統可以自動發送消息提醒用戶,使得任務及時完成,流程得以繼續,那么工作效率將會得到很大的提升[1]。
本文建立了多元化催辦模型,描述了催辦算法,并給出了催辦實現的三種方式。多元化催辦的應用可有效提高工作效率,加速并保證業務流程的順利流轉。
1 多元化催辦模型
1.1 多元化催辦的定義
在業務流程中,為了能夠根據活動的緊急程度發送不同形式的催辦提醒,需要定義不同的催辦類型。多元化催辦中的多元化含義之一便是催辦類型的多元化,即催辦類型是可定制的。
在定義催辦類型時,可以指定該催辦類型的催辦次數、每次催辦提醒的時間間隔以及催辦的方式。圖1給出了催辦類型的定義示例,共定義了三種催辦類型。
本文采用XML來描述催辦類型,XML文檔簡單、可讀性高并且具有強大的數據描述能力。當催辦模型發生變化時,通過修改XML文件,無需改動程序代碼,即可實現。
1.2 催辦模型
本文提出了一種融入了多元化催辦的業務流程管理模型,增加了各活動之間緊急程度的描述。該模型中的符號部分參考了業務流程建模標記法。模型中的主要元素有事件、活動、網關以及連接流[2]。表1給出了模型元素的名稱、符號表示等相關描述。
催辦流部分關鍵模型元素的說明:
(1)網關:對于流程分散的情況,當活動抵達排他型網關時,將選擇某一分支執行;當活動抵達并行網關時,將并行執行后續所有分支。對于流程聚合的情況,當任一活動抵達排他型網關時,即執行流出分支,僅當所有活動抵達并行網關時,才執行流出分支[3]。
(2)連接流:順序流僅表示兩個活動執行的先后順序,而催辦流表明了活動的緊急程度。
多元化催辦的模型示例如圖2所示,同樣采用XML對模型進行描述。
2 催辦算法
在業務流程中,某一活動的完成將觸發兩個事件:創建針對下一活動的新的催辦、終止前一個活動的催辦。
2.1 創建催辦算法
當業務流程中的某一活動完成后,需要創建新的催辦提醒,若后續活動未在規定的時間范圍內完成,便可提醒其相關負責人。
業務流程中某個活動的所有后續分支情況共有5種類型:無分支、排他型聚合分支、并行聚合分支、排他型分散分支、并行分散分支,如圖3所示。
活動的后續分支類型不同,其創建的相應催辦也不同。在接下來的分析過程中,Activity1將簡單記為A1,以此類推。
(1)無分支類型,后續活動只有一個,如圖3中①所示,將產生StartActivity=A1,EndActivity=A2的一條催辦。
(2)排他型聚合分支,后續活動有一個,如圖3中②所示,將產生StartActivity=A1,EndActivity=A3的一條催辦。
(3)并行聚合分支,后續活動只有一個,如圖中類型③所示,將產生StartActivity=A1,EndActivity=A3的一條催辦。
(4)排他型分散分支,后續有多個活動,這些活動中的某一個將在下一步執行,但由于所有的活動均有被執行的可能性,所以需要創建所有后續分支活動的催辦。如圖3中類型④所示,將產生StartActivity=A1,EndActivity=A2和StartActivity=A1,EndActivity=A3的兩條催辦。
(5)并行分散分支,后續有多個活動,由于所有的活動都將在下一步并行執行,所以需要創建所有后續分支活動的催辦。如圖3中類型⑤所示,將產生StartActivity=A1,EndActivity=A2和StartActivity=A1,EndActivity=A3的兩條催辦。
創建催辦提醒的算法過程如圖4所示。
2.2 終止催辦算法
當業務流程中的某一活動完成后,除了創建新的催辦提醒外,還需要終止前一個活動完成時針對該活動創建的催辦提醒。
某個活動的先前分支情況同樣是5種類型,如圖5所示。
活動的先前分支類型不同,其需要終止的催辦也不同。
(1)無分支類型,只終止一條催辦。如圖5中①所示,將終止StartActivity=A1,EndActivity=A2的一條催辦。
(2)排他型聚合分支,終止所有分支中被執行的那個分支所產生的催辦。如圖5中②所示,將終止StartActivity=A1,EndActivity=A3或StartActivity=A2,EndActivity=A3中某一條催辦。
(3)并行聚合分支,終止所有分支產生的催辦。如圖5中③所示,將終止StartActivity=A1,EndActivity=A3和StartActivity=A2,EndActivity=A3兩條催辦。
(4)排他型分散分支,前一個活動產生了多個催辦,任何一個分支的活動完成都將終止所有的催辦。如圖5中④所示,將終止StartActivity=A1,EndActivity=A2和StartActivity=A1,EndActivity=A3兩條催辦。
(5)并行分散分支,只終止一條催辦。如圖5中⑤所示,將終止StartActivity=A1,EndActivity=A2的一條催辦。
終止催辦提醒的算法過程如圖6所示。
3 多元化催辦的實現
多元化催辦中的多元化指的是催辦類型的多元化以及催辦方式的多元化。本文中主要介紹多元化催辦的三種實現方式:系統短消息、電子郵件和短信。
3.1 關鍵技術
3.1.1 Windows服務
Windows服務是一種可長期運行在操作系統后臺的應用程序,適合在服務器上使用,可以在操作系統啟動時自動開始運行,它沒有任何用戶界面,也不會產生可視的輸出[4]。Windows服務可以在沒有用戶登錄的情況下運行,在后臺進行某些操作[5]。
3.1.2 Timer定時器
Timer是.NET Framework下基于服務器的計時器(System.Timers.Timer),它能夠指定在應用程序中引發Elapsed事件的周期性間隔,通過處理這個事件來提供常規處理,也就是在應用程序中生成定期事件[6]。
3.2 三種實現方式
3.2.1 系統短消息
系統短消息是用戶在業務流程管理系統中看到的催辦提醒,可通過將消息列表置于首頁等方式方便地提醒用戶待辦事項。
系統短消息的實現比較簡單,通過查詢數據庫催辦表中當前用戶的催辦消息,將符合條件的信息顯示于消息列表中即可。實現效果如圖7所示。
3.2.2 電子郵件
以電子郵件的形式將催辦提醒發送至用戶郵箱,使得用戶在不登錄系統的情況下,通過郵件即可掌握任務進度情況。
本文中實現電子郵件形式的催辦功能使用了Jmail組件,它是免費組件,從互聯網上下載后只需注冊jmail.dll文件即可被調用[7]。實現效果如圖8所示。
3.2.3 短信
本文中采用網關短信實現短信方式的催辦,通過第三方短信平臺完成短信的發送功能。實現效果如圖9所示。
網關短信通過調用運營商提供的短信服務接口實現,不需要硬件支持[8]。網關短信抵達率高,發送速度快,且方便監管。
3.3 多元化催辦的實現過程
3.3.1 創建催辦提醒
從催辦消息的產生到最終用戶收到催辦提醒,多元化催辦的創建過程如下:
(1)某一活動a1完成,需要創建針對下一活動a2的催辦,即StartActivity=a1,EndActivity=a2的催辦消息提醒,此時催辦的狀態為New。
(2)利用Windows服務和定時器Timer實現定時檢查催辦條目,若有條目的創建時間與當前系統時間的間隔超過了催辦類型中定義的時間間隔,即在規定的時間范圍內下一活動仍未完成,判斷催辦次數是否達到了催辦類型中定義的次數,若次數已達到則把催辦的狀態直接置為RemindFailed,否則將催辦的狀態置為Reminded,并執行下一步操作。
(3)根據催辦類型中定義的實現方式,以某種或多種方式發送催辦消息提醒,并將催辦次數記錄增加一次,若已達到催辦類型中定義的催辦次數,則將催辦的狀態置為RemindCompleted。
(4)最終用戶以某種既定的形式收到催辦消息提醒,加快工作進度,達到催辦目的。
圖10所示為創建催辦提醒過程。
3.3.2 終止催辦提醒
多元化催辦的終止過程如下:
(1)某一活動a2完成,需要終止上一活動a1完成時所創建的催辦提醒。
(2)找到StartActivity=a1,EndActivity=a2的催辦消息提醒,改變其狀態:若活動a2完成時尚未進行過催辦提醒,則將催辦的狀態置為FinishedBeforeRemind,否則將催辦的狀態置為FinishedAfterRemind。
4 總結
本文提出了一種多元化催辦的模型,描述了催辦的算法,并給出了催辦實現的三種方式:系統短消息、電子郵件和短信。三種方式的有效結合,可以確保用戶收到準確、及時、恰當的提醒。本文中采用XML來描述催辦模型和催辦類型的定義,在需求變化時,通過修改XML文件即可方便實現。
在接下來的工作中,將繼續完善多元化催辦模型及算法,增加新的催辦方式,并研究可視化的建模工具。
參考文獻
[1] 吳暴.基于Web的短信平臺設計與實現[D].呼和浩特:內蒙古大學,2014.
[2] 趙靜.規范化的BPMN設計方法與工具的研究[D].大連:大連海事大學,2011.
[3] 魏明,夏永霖,魏峻.BPMN到BPEL2.0的模型轉換方法[J].計算機應用研究,2008,25(11):63-66.
[4] 楊玫,劉瑜,趙秀麗.基于.NET的Windows服務開發技術研究[J].信息技術,2014(9):205-208.
[5] 曹光忠.基于Windows服務的Web服務安全構件的設計[J].網絡安全技術與應用,2009(5):21-23.
[6] 馬建民,劉曉艷.校園網手機短信平臺的設計和應用[J].南京廣播電視大學學報,2012(2):92-94.
[7] 楊曉征,郭士焱.基于Jmail和139信箱的手機提醒功能[J].硅谷,2008(24):80-81.
[8] 張黎.基于短信的GSM網絡自動監測和控制系統[D].無錫:江南大學,2009.