劉海濱
(河北科技師范學院 工商管理學院,河北 秦皇島066004)
傳統(tǒng)的業(yè)務流程模型重點是對控制流建模[1-2],對數(shù)據(jù)的設計處于輔助地位。最近提出的一些方法將數(shù)據(jù)設計提高到與控制流設計同樣重要的位置,其中面向Artifact[3-4]的業(yè)務流程是以數(shù)據(jù)為中心的業(yè)務流程的代表。 目前, 針對面向Artifact 的業(yè)務流程管理已經(jīng)展開了研究。然而,以Artifact 為中心的業(yè)務流程模型管理的研究仍處于起步階段。 為了更好的對面向Artifact 業(yè)務流程模型進行流程檢索、 流程挖掘、流程整合以及流程模型分析等操作,有效的管理和使用流程模型是一個具有挑戰(zhàn)性的任務。
構建一個流程模型管理庫能快速提高流程的設計、流程再造和流程分析等管理操作。文獻[5]將庫定義為企業(yè)使用或產(chǎn)出的關于業(yè)務數(shù)據(jù)相關信息的一個共享數(shù)據(jù)庫。模型管理庫不僅應具有傳統(tǒng)數(shù)據(jù)庫所提供的基本功能,比如模型的創(chuàng)建和修改、視圖管理等,還應該提供流程分析、流程再造等高級功能。 業(yè)務流程手冊[6]是早期提供流程模型管理的流程庫,流程的存儲模式主要以文本形式存儲,不具備規(guī)范的查詢語言。文獻[7]構建了工作流系統(tǒng)的管理庫,并且提出了面向對象設計的存儲和查詢模式。RepoX[8]提供數(shù)據(jù)提取和查詢等基本功能,由于它是基于SQL 的查詢語言,不能支持以過程為中心的查詢語義。ProcessGene[9]是一個提供查詢業(yè)務流程的系統(tǒng),然而它僅局限于流程的內容查詢,并不能查詢流程執(zhí)行的語義信息。 Zhilei Ma 等人[10]提出一種基于流程本體的語義業(yè)務流程庫,通過考慮流程的執(zhí)行語義來進行流程的存儲和查詢。文獻[11]提出了一種基于XML 存儲模式的流程模型庫,同時給出了一個基于XML 的流程查詢語言IPM-PQL。 Zhiqiang Yan 等人[12]綜述了流程管理庫的整體架構和功能描述,提出業(yè)務流程庫管理模型由流程數(shù)據(jù)模型,流程功能模型和流程管理模型三部分組成。
綜上所述,已有的流程模型管理庫都是著重于以過程為中心的業(yè)務流程, 鑒于面向Artifact 的業(yè)務流程是以數(shù)據(jù)為中心以及其流程生命周期的復雜性, 已有的管理庫不能很好的應用于面向Artifact 的業(yè)務流程模型管理。因此,本文構建了一個面向Artifact 業(yè)務流程模型管理庫,詳細的闡述了該庫的系統(tǒng)架構和功能模塊,該庫不僅提供基本的存儲和檢索等功能,還具有流程再造,流程分析等高
Artifact 流程模型庫共有四層構成:外部工具層、庫管理層、庫功能層和庫存儲層。 外部工具層和庫管理層通過外部連接器進行交互,庫管理層和功能層之間是通過庫管理層/功能層API 進行通信, 內部連接器提供庫功能層和存儲層通信和交互的接口。
模型管理庫的外部工具層由流程庫GUI,建模工具、分析工具、服務匹配器、BPEL 引擎、監(jiān)控器和檢測器構成。 流程庫GUI 提供給用戶與管理庫交互的可視化界面,通過流程庫GUI,用戶可以方便的對模型庫執(zhí)行流程的新建、刪除、更新和查詢等操作,并將執(zhí)行操作后的結果可視化的展示給用戶。 建模工具是圖形化流程生成工具,分析工具是對新建流程模型的正確性驗證和分析的功能接口,服務匹配器是根據(jù)新建流程中邏輯服務進行物理服務的匹配功能接口,BPEL 執(zhí)行引擎用于部署和實施業(yè)務流程,監(jiān)控器密切監(jiān)視引擎的執(zhí)行動態(tài),用于流程分析,異常處理等功能;檢測器是對流程執(zhí)行結果進行校驗和評估的功能模塊,這幾個功能模塊都是由BPMS 所提供。
存儲層存儲的是流程模型和其整個Artifact 業(yè)務流程生命周期過程中的相關數(shù)據(jù)和信息,包括流程的概念模型,流程的物理模型、Web服務相關信息、業(yè)務流程的數(shù)據(jù)實體、流程實例的數(shù)據(jù)信息和流程執(zhí)行過程信息。 流程庫的存儲層通過傳統(tǒng)的DBMS 實現(xiàn),為了便于模型數(shù)據(jù)的存儲和查詢,采用內部/外部兩級存儲模式,內部存儲采用XML格式存儲,外部存儲采用面向對象模式存儲,兩級存儲模式之間通過一個翻譯轉化器的中間件來實現(xiàn)格式之間的轉換。
流程模型管理庫的管理層主要有流程概念模型管理、物理模型管理、Web 服務管理、快照管理、流程實例管理和日志管理。 流程概念模型管理主要負責業(yè)務流程建模階段模型相關信息的管理, 包括對流程模型完整性,一致性和正確性的檢查;物理模型管理主要負責經(jīng)過轉化后流程模型的管理和部署;Web 服務管理主要負責物理服務的本地存儲、邏輯服務和物理服務的匹配,調度以及與流程實例之間映射關系的管理;快照管理主要負責流程執(zhí)行過程中數(shù)據(jù)實體的狀態(tài)變化的管理, 反應一個流程實例的執(zhí)行狀態(tài); 流程實例管理是針對具體執(zhí)行的業(yè)務流程的數(shù)據(jù)和信息的管理;日志管理是對流程執(zhí)行后產(chǎn)生的相關執(zhí)行信息的管理。
模型管理庫的基本管理功能包括:訪問管理、完整性管理、事物管理、簽入/簽出管理、調度管理、通知管理和上下文管理。 訪問管理功能確保只有被授權者才能訪問模型庫中的流程; 完整性管理功能確保模型庫不會進入不一致的狀態(tài); 事物管理功能確保庫的頻繁更新是以事務的方式進行;簽入/簽出管理允許用戶從模型庫中簽出一個模型對象,為了防止其他用戶在同一時刻訪問和修改該模型對象,簽入/簽出管理對該模型對象進行加鎖機制, 待用戶訪問該對象結束后, 執(zhí)行簽入操作并執(zhí)行解鎖機制;調度管理用來維持BPMS 中各個功能模塊和外部工具的執(zhí)行順序;通知管理確保庫中某一流程對象發(fā)生改變時及時發(fā)出更改消息通知和日志信息;上下文管理確保庫中流程對象集合的創(chuàng)建和操作,永久性存儲。
除了上述的管理功能外,模型管理庫還提供的基本功能包括存儲功能、檢索功能、檢查功能、流程優(yōu)化功能。
模型管理庫存儲功能提供四個基本的功能, 包括流程的插入、流程的提取、流程的刪除和流程的更新。 流程的插入功能是根據(jù)流程模型庫的內部數(shù)據(jù)結構存儲新的流程;流程的刪除功能即從模型庫中刪除已有的流程;流程更新功能是允許流程設計者根據(jù)業(yè)務需求變更進而更新流程的過程;流程的提取功能是允許查閱和瀏覽流程的定義信息和詳細的執(zhí)行信息。
為了有效的利用模型庫中已有的流程模型,確??蛻裟芸焖俚钠ヅ涞侥繕肆鞒?,模型庫應提供流程檢索功能。 流程的檢索功能分為精確檢索和相似檢索,流程的檢索可以從流程的內容、流程的結構和流程的行為三個方面進行。 精確檢索功能可以通過精確的流程查詢語言來實現(xiàn),相似檢索可以根據(jù)匹配流程的相似度來計算。
以Artifact 為中心的業(yè)務流程操作模型應該滿足Artifact 生命周期可達性、持久性和唯一存在性。Artifact 生命周期可達性是指Artifact從產(chǎn)生開始,能夠經(jīng)過若干服務后被歸檔完成其生命周期過程;持久性指Artifact 在業(yè)務流程模型描述的業(yè)務流程執(zhí)行中從產(chǎn)生到最后歸檔的過程中都一直存在,并且永遠都不會消失;唯一存在性指Artifact在同一時刻只能出現(xiàn)在唯一的地方, 或是在服務或是在倉庫中。Artifact 模型檢查問題包括模型語義和語法兩方面的內容,Artifact 模型庫主要討論模型語義方面的檢查, 內容包括Artifact 生命周期可達性驗證、持久性檢查和唯一存在性檢查。
在Artifact 模型正確的情況下, 為了降低后期流程系統(tǒng)實施過程中的代價和提高流程運行的效率,在流程模型管理中必須要考慮到對流程模型的優(yōu)化問題,以便獲得最優(yōu)的Artifact 業(yè)務流程模型。模型優(yōu)化過程體現(xiàn)為兩個方面:優(yōu)化分析與設計改進。 Artifact 模型管理庫提供兩種流程模型優(yōu)化策略:一種是通過流程本身的服務事件鏈進行優(yōu)化;另一種是通過模型庫中相似模型作為參考流程模型,通過兩個模型的最大公共子圖及Artifact 生命周期可滿足性, 減少原流程模型的冗余服務,達到流程優(yōu)化效果。
本文構建了一個面向Artifact 業(yè)務流程模型管理庫, 詳細的闡述了該庫的系統(tǒng)架構和功能模塊,該庫不僅提供基本的存儲和檢索等功能,還具有流程再造,流程分析等高級功能。下一步的工作重點就是模型庫的功能實現(xiàn)。
[1]D.Georgakopoulos, M.Hornick, A.Sheth.An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure[J].Distributed and Parallel Databases, 1995, 3:119-153.
[2]W.M.P.van der Aalst, K.M.van Hee.Workflow Management: Models,Methods, and Systems[M].MIT Press, Cambridge, MA, 2002.
[3]A Nigam, N.S.Caswell.Business Artifacts: An approach to operational specification[J].IBM Systems Journal, 2003, 42(3):428-445.
[4]Guohua Liu, Xi Liu, Haihuan Qin, Jianwen Su, Zhimin Yan, Liang Zhang.Automated Realization of Business Workflow Specification [C].Lecture Notes in Computer Science, 2010,6275:96-108.
[5]P.A.Bernstein, and U.Dayal.An overview of repository technology [C]//Proceedings of VLDB 1994, Santiago de Chile, Chile,1994:707-713.
[6]C.Schuler, R.Weber, H.Schuldt, and H.Schek.Scalable peer-to-peer process management - the Osiris approach [C]//Proceedings of ICWS 2004, San Diego, California, 2004.
[7]C.Liu, X.Lin, X.Zhou, and M.Orlowska.Building a repository for workflow systems[C]//Proceedings of Technology of Object-Oriented Languages and Systems,Nanjing, China,1999:348-357.
[8]M.Song, J.A.Miller, and I.B.Arpinar.RepoX: An XML Repository for Workflow Designs and Speci- fications [D].Technical Report UGA-CS-LSDISTR-01-012, University of Georgia, USA, 2001.
[9]A.Wasser, M.Lincoln, and R.Karni.Processgene query- a tool for querying the content layer of business process models [C]//Proceedings of BPM 2006, Vienna, Austria, 2006:1-8.
[10]Z.Ma, B.Wetzstein, D.Anicic, and S.Heymans.Semantic business process repository[C]//Proceedings of SBPM 2007, Innsbruck, Austria,2007:92-100.
[11]I.Choi, K.Kim, and M.Jang.An xml-based process repository and process query language for integrated process management [J].Knowledge and Process Management, 2007,14(4):303-316.
[12]Z.Yan, R.M.Dijkman, and P.W.P.J.Grefen.Business process model repositories-framework and survey [J].Technical report, Eindhoven University of Technology, The Netherlands,2009.