王亞琴
(南通大學現代教育技術中心,江蘇南通226019)
隨著信息和通訊技術的發展對組織結構及組織中的工作帶來的巨大沖擊,用計算機來處理事務已成為不可替代的趨勢。與此同時通訊技術成為企業組織和整個社會的信息處理系統結構中不可缺少的一部分。大多企業都開展了一定規模的信息化建設,如銷售系統、SCM、MRP、財務系統、辦公自動化等。然而,這類系統在功能上,往往局限于解決企業內部的具體事務層面,面向企業內部功能。在開發模式上,其開發模式通常是將業務流程硬性編碼到應用系統的整體結構中,每次業務流程的修改都可能引起程序結構的大幅變動,這樣就增加了系統二次開發的復雜性,同時影響了系統的靈活性和適應性;從開發和使用者角度來看,業務流程變更的滯后嚴重地影響了市場的響應速度,失去了市場機會和終端用戶,同時對于系統集成商和軟件開發商來說,業務流程不斷變更,也使他們陷入系統開發和維護的困擾中。工作流技術正是順應這一需求而產生的,它的發展目標就是實現一個高度靈活通用、可伸縮、安全可靠和可互操作的工作流管理系統,而其最重要的功能之一就是工作流建模,Petri網是一種廣泛應用的建模方法。
如今,國內的研究主要集中在如何將工作流技術思想應用到具體的系統設計之中。許多科研機構近年來都開始從理論層面和應用層面著手研發WfMS的系統模型。本文就是基于對Petri網的辦公自動化系統的研究。
辦公自動化系統是企業應用軟件體系的重要組成部分,它的總體目標是:(1)實現全公司內部聯網,資源共享且保密性強,查詢高效快捷,與其他分公司信息互聯,提高辦公效率;(2)實現企業內部各種基本辦公活動的電子化,支持移動辦公;(3)對文件處理的工作流轉過程進行詳細的跟蹤記錄,直觀方便地了解工作流的全過程;(4)順應企業的生產實際需要,實現部分業務、生產調度、資源調度功能,協調各個生產環節;(5)滿足信息傳遞的隨時性;(6)強大的數據收集和管理功能;(7)有多種協同工作和信息交流的手段;(8)為不同的用戶提供一個統一的入口,使界面一致,操作簡單。
如圖1所示。

圖1 OA系統功能模塊圖
(1)針對辦公自動化系統用戶規模較大,權限管理和驗證比較復雜的情況,采用基于角色的訪問控制(Role-Based Access Control,RBAC)策略來實現授權和訪問控制,在應用中給用戶賦予不同的角色和權限。基于角色進行授權有助于在工作流管理系統中實現任務的自動分配。
(2)角色是一個或多個權限的集合,角色層次同時也體現了權限的繼承關系,上層角色擁有下層角色所包含的權限。在RBAC中,角色是用戶和權限之間的中介,一方面權限與角色關聯,另一方面,用戶是相關角色所包含的成員。由于一個組織所擁有的角色是相對固定的,因此相對于用戶——權限之間的關聯,基于角色的授權機制降低了授權管理的工作量,避免了因用戶的職位變動而引起的授權的改變,處理的方法就是將用戶從當前的角色對應的人員集合中去掉,并給其賦予新的角色。

表1 系統角色清單
(1)收文管理系統
如圖2所示:

圖2 工作流模型中的收文管理系統
(2)收文管理系統的Petri網工作流模型
如圖3所示:

圖3 用Petri網描述的收文管理工作流模型圖
用Petri網的不變量分析方法對工作流的工作流模型安全、有界以及無死鎖進行研究。
1)工作流網活性驗證
在此模型中,通過不變量分析方法建立狀態方程來描述工作流網活性。
M=M0+CU來求解,其中設M0=(1,0,0,0,0,0,0,0)為本系統模型的初始標識;M=(0,0,0,0,0,0,0,1)為本系統模型的終止標識,其關聯矩陣為:

求解(1,0,0,0,0,0,0,0)T+CU=(0,0,0,0,0,0,0,1)T,得到U=(1,1,1,1,1,1)。要求該工作流網是活的,則需要驗證經過轉移變遷序列從T1…T6一系列過程之后整個過程能夠從初始標識又返回到終止標識。
2)工作流網有界性驗證
有界性的驗證的可轉化為求解方程?Y〉0,CY≤0的問題。而在本模型中,Y僅有零解滿足以上條件。這樣的工作流網模型不是有界的,因此需要對該工作流模型進行一些改進,讓它變成有界的。圖4是改進后的模型。

圖4 改進后的模型
(3)發文管理系統
如圖5所示:

圖5 工作流模型中的發文管理系統
(4)發文管理系統的Petri網工作流模型

圖6 用Petri網描述的發文管理工作流模型圖
通過工作流網的思想對圖6進行分析,得出該模型的性能如下:
1)如果把變遷t*添加于該模型的終點位置o和源位置i中間,即't*={o}且t*'={i},則所得到的該Petri網模型是強連通的。
2)模型中的每個節點都在從起始i到終止o的一條路徑上。
3)該模型運行在執行過程中每個任務都能執行到,即沒有死鎖現象發生。
通過以上理論分析可知該模型雖然是符合工作流網定義的正確的模型,但在實際情況中卻出現了邏輯上的錯誤。在變遷B即校對修改的執行過程中出現了并行結構的“與連接”,出現了兩個輸入位置'B=(C1,C6),要求庫所C1,庫所C6都存在令牌時,變遷B才能發生。而實際的情況是庫所C1有令牌存在,即文件起草結束,或者庫所C6中有令牌存在,即文件未通過,兩種情況有一種發生都應該進入校對文件和修改狀態。因此對上面模型進行修改,用Petri網的不變量分析方法進行工作流網有界性驗證時得到改進后的工作流模型,如圖7所示。

圖7 改正后的工作流模型
從設計上來看,一個好的工作流引擎必須具備的特征有:(1)引擎核心模塊與向整個系統提供的接口界面之間的交互盡可能簡單,實現松散耦合;(2)引擎核心內部則應盡可能地加強內聚;(3)易于實現外圍功能的擴展。工作流引擎實質上是一個狀態轉換引擎,它是根據不同的外部事件(如啟動流程、完成任務等)來修改數據庫中工作流實例的狀態數據,進而實現過程和活動的狀態切換。
工作流引擎包括控制模型及數據模型兩部分。控制模型是工作流引擎的核心,負責任務的調度、任務指派、依賴檢查及轉發控制。工作流引擎的控制模型可以將組織模型和信息模型有機地結合在一起,它根據業務規則對業務過程中的各項活動進行導航和任務分配。調度中心接受應用程序中對流程的控制請求(如流程實例化、獲取任務項、結束任務等),它根據具體的請求調用相應的功能模塊處理用戶的請求,調度中心可以看作是一個多線程的并發服務器。
實際應用中,工作流引擎模塊是作為整個系統的一部分與業務系統整合起來的,工作流管理系統通過調用相關子系統中的軟件組件來實現特定的功能,同時可以根據需要讀寫數據庫。在辦公自動化系統中,人工活動由用戶控制執行,執行時需要調用相關的外部應用程序,而自動活動則由工作流引擎直接調用,或通過工具代理來啟動外部應用。在流程模型中建立任務與相應外部程序的映射關系,工作流執行時由工作流引擎來調用它們實現流程運轉。在將工作流引擎子系統整合到Web應用中時,由系統的顯示層與用戶進行交互,它把用戶的請求轉發給工作流引擎控制中心,工作流引擎在進行處理后將結果通過顯示層返回給用戶,工作流引擎的處理對用戶來說是透明的。
本文運用了Petri網建模技術,分析了辦公自動化業務流程,研究了工作流引擎的過程建模機制和控制模型設計,但在以后的設計中,系統的功能模塊化還有待加強,還要進一步深入分析工作流模型的性能。
[1]杜江,張玉英.Petri網在OA系統工作流中的應用.佳木斯大學學報(自然科學版).2008,09:656-658.
[2]張亞娟.基于Petri網的工作流建模技術的應用研究.2008.
[3]葉許紅,顏鋼鋒.基于Petri網的辦公自動化工作流建模.計算機工程與應用.2003,06:228-229.