[摘要] 信息技術的應用對企業資源管理中的工作流有很大幫助。本文論述了在全局應用程序狀態監控下,工作流的一種同步器的特殊控制方法,該方法在一致的活動狀態下計算出控制謂詞并做出工作流行為的控制決定。
[關鍵詞] 企業資源管理 動態工作流 同步器
進入20世紀90年代, 企業之間的競爭由過去的局部競爭演變成全球范圍內的競爭。要在競爭中取得優勢,企業必須不斷的重新考慮并且優化企業資源和業務流程, 改變他們的信息系統和應用程序, 從而適應不斷變化的內部和外部環境。上述問題迫使企業必須尋求一種新的技術來建立新型的業務處理流程決策機制,于是工作流技術應運而生。
一、工作流的定義
工作流就是一系列相互銜接、自動進行的業務活動。如果將整個業務過程看作是一條河,其中流過的就是工作流。工作流模型通過定義任務(活動)、任務間邏輯順序、數據和資源等對流程進行抽象處理。工作流實例可以分為靜態工作流和動態工作流。
二、使用同步器進行應用程序的控制
本文是在應用程序全局狀態的監控下基于同步器實現的動態工作流技術。應用程序向特殊的同步器程序發送局部狀態,同步器構建了一致的應用程序狀態并在這些狀態的基礎上進行謂詞的計算。同步器持續監控一致的全局狀態,這些狀態由成對并發的局部狀態所組成。這些狀態的構成和謂詞評估能夠在應用程序運行時以較低的計算和內存代價在線進行。依據這些謂詞,同步器可做出控制決定。這些決定以控制信號的方式被發送到應用程序執行過程中。信號在執行過程中可以激活與它們相關的控制活動,進而在異步方式中影響應用程序行為,它們能改變應用程序的有效內容,修改執行順序。
在已知的工作流的環境中,控制流的實現都是基于其他的模型或表示方法,例如 petri網模型,BPMN 業務流程圖或UML2.0活動圖。在本文中提出了以一種基于同步器來實現工作流控制的方法。這種方法比我們所知的工作流控制范例能提供更多的通用規則。因為工作流的控制是基于在工作流執行狀態基礎上進行計算的程序化謂詞。此外,提出的控制實現方法能方便工作流的程序實現,并且工作流的組成元素可以顯示運行時可修改的功能特征和動態交互,它與具有活動動態功能性的動態工作流相一致。
本文提出的控制方法是基于執行過程狀態監控,從程序執行過程中返回的狀態構成了全局或局部應用程序狀態。在這些狀態的基礎上,一組用戶定義的謂詞被評估。當一個謂詞滿足,一個控制信號發出來選擇執行過程。這個信號能影響程序執行內部過程控制流。它僅能傳送一些數據,這些數據可被正在進行的計算所利用。它也能激活與它相關的程序代碼,取消當前計算使程序執行過程忽略程序代碼的當前部分。
我們假定執行過程的時鐘以一種已知的精確度保持同步, 我們使用持續一致的全局狀態并且在這些狀態的基礎上評估謂詞。它包括附在程序執行過程狀態信息的時間戳,該狀態信息將由用于過程時鐘同步的假定限度決定。在許多情形中,事件時間戳(還有時間的同步化)可以被忽略而且被監控的全局狀態也可被使用。當工作流方案使用這種狀態監控機制實現時,這是完全正確的。應用程序使用專用的傳送命令發送關于它們狀態的時間戳,而同步器負責程序狀態的接收,全局/局部狀態構建,謂詞評估和控制信號發送。
一個同步器的工作過程描述如圖所示。同步器等待從程序執行過程中返回的狀態信息并且進行檢查是否有一個持續的/被觀測的全局/局部狀態已經到達。如果狀態已經到達,同步器會在這個到達狀態的基礎上進一步檢查哪一個謂詞會被評估并且進行評估。獨立的謂詞,根據每個定義的區域(每個區域是應用程序的全集或子集)的全局或局部狀態而被定義。一個謂詞以與過程相似類型的控制流程圖的形式被描述。
圖 同步器控制流方案
三、用同步器實現動態工作流
動態工作流結構包括:支持型工作流和聯系型工作流。在工作流中,基于活動中間全局狀態的分析,它們在控制流的細節上有所不同。一是支持型工作流。在支持型工作流中,一組正被執行的活動將支持其他主要活動的執行,而主要活動提供最終有用的結果。這兩組活動的相互協作需要支持型工作流向主工作流部分進行信息和狀態的傳送。二是偶合型工作流。在偶合型工作流中,一系列當前被執行的活動相互交換中間狀態來做出控制流管理決定,而這對工作流的執行和完成時必需的。許多活動的全局狀態被監控并且根據需要控制指示將被發送到特殊活動中,任務參數和數據相互交換,活動參數根據輔助的計算被更新。
參考文獻:
[1]舒后:分布式并發控制技術研究. 北京印刷學院學報Sep1, 2003
[2]鄧水光等:動態工作流建模方法的研究與設計. 計算機集成制造系統,Jun, 2004
[3]S.Venkatesan and Brahma Dathan, “Testing and Debugging Distributed Programs Using Global Predicates”, IEEE Trans. Software Eng, 1995
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。