摘要:本文首先從工作流建模語言的歷史講起,然后涉及眾多時下流行的建模語言以及規范,對這些規范所要解決的問題、相互間的關系做了簡單闡述,給出工作流技術堆棧圖,以及WFMC參考圖。
關鍵詞:工作流 規范
1 工作流技術團體
從技術上來談,工作流并不是新東西。一些國際團體很久以前已經成立,并幫助共享創新技術以及理念。結果導致開放、安全的工作流技術的發展以及相應成型的系統。這些團體包括以下列舉:
以上給出了工作流相關技術的一個清晰描述,從簡單的信息存儲到完整的集成業務管理。以上所有的內容都有一個共同點:它們在工作流相關技術領域都非常重要,其中一些在信息管理標準和技術方面也很重要。
2 工作流建模語言
影射并記錄工作流流程,需要一個相應的描述性流程建模語言,以便可以被人和機器理解。一些語言存在是為了建模的目的,一些更通用,有些則特殊。一般建模的情況下,BPMN的標識用于業務用戶,而UML主要用于軟件開發者。UML嚴格來說,是一套軟件系統開發的建模語言,現在已經變成了工業標準。其靈活性以及簡單性也可以將其用于描述工作流和業務流程。
UML加上XML,CORBA以及.NET或Java形成了OMG的模型驅動架構的一個集成部分。盡管關于UML的使用有許多的爭議,但事實上,此語言還是很容易使用的。UML劃分為若干部分,提供給用戶12種不同的圖,其中只有3到4種真正用于描述業務流程。UML是分層的,這樣可以使得先在一個抽象級上定義業務流程,然后進一步具體化、再具體化直到用戶滿意為止。最后就是UML是人以及機器都很好理解的語言,先在已經有很多基于UML的工具為模型的開發提供了相對易用的GUI接口。
在工作流相關的建模語言中,出現了兩種重要的標準,那就是WPDL(或其XML形式的XPDL,其來自WFMC標準組織)和BPML(來自BPMI標準組織)。
現在WFMC和BPMI都在考慮將其各自語言合并為一個統一語言(如同Booch和OMT語言合并為UML一樣),或為兩種語言開發一個標準的影射。這個還有待后續的情況發展了。
作為工作流相關語言,XPDL和BPML都提供了一個超越通用建模語言(如UML)的重要優勢。它們都能用于工作流建模系統以及運行時工作流系統,在系統間進行移動時而不需要附加額外的轉換工作。另外,現在已經開始出現了XPDL和UML之間的“橋梁”,所以使得用XPDL建模工作流然后轉換為UML,以便用于系統開發,反之亦然。最后,第三個工作流相關建模語言BPEL(BPEL4WS)也出現了。其由microsoft的XLANG和IBM的WSFL合并而來。這三種定義語言(XPDL、BPML以及BPEL)因為它們支持與工作流產品的交互所以對業務用戶也非常重要,但并不就意味著可以直接用于業務用戶群。而對于業務用戶群體,開發出了BPMN。此語言圖形化、易學并且易用。值得注意的是,其已經被WFMC和BPMI采納為一個流程標準了。
一個知名的組織OMG當前也在開發一種業務流程建模語言——EDOC,盡管其并不被認為會商業運作。
不管哪個語言用于建模和描述流程,有一點是肯定的:在業務流程模型的創建中為業務用戶提供的支持是不需要編程開發者或編碼的其他中間人。
3 工作流和面向服務架構
企業級工作流技術棧
展現層
棧最上方,流程定義這邊,BPMN和UML用于捕獲業務流程以及關鍵的流程對象。這兩種建模語言分別用于建模流程和業務用例和業務對象。棧最上方,流程執行這邊,有多種web頁面描述語言:JSP、ASP和xHTML等。這些Web頁面描述語言使得使用web瀏覽器跨Internet與工作流引擎進行交互成為可能。
流程層
XPDL
XPDL是一種描述流程的元語言。其不是由開發者或用戶直接操作的,而是間接地由用戶通過工作流系統利用下層XPDL流程描述所對應的BPMN標記語言建模產生的流程描述語言(這里其實講明白了BPMN和XPDL如何協同工作的)。使用XPDL有一些優勢,其中包括用完全不同的流程描述語言(如BPEL、BPXL和BPQL)所表征的流程描述提供一個單一文件。
BPEL
BPEL是一種用于描述Web service的編排的流程描述語言。與XPDL相比,BPEL不能直接被人操作,而是通過上層的BPMN語言來進行操作的。其實在這里初步比較來說,BPEL更關注機器軟件之間的交互,而相對會淡化與人的交互接口,而XPDL則是為工作流相關語言制定,同時WMFC組織給出的接口圖中有一個interface2是與人專門交互數據的,自然對人的交互作用考慮得比BPEL多。
BPQL
BPQL是用于監控流程的查詢語言,是BPMI組織所給出的管理與監控接口規范。
BPXL
BPXL則用于BPEL擴展。
總歸,流程層通過流程執行的BPEL,XPDL,外加流程監控管理的BPQL以及相應的擴展機制BPXL完成流程層的任務。
注意:圖中用虛線表示的意義是正在制定中的規范。
流程支持層
Web-service
內部關鍵的三個協議SOAP、WSDL以及UDDI。
其實這里還有一個現在比較流行的SCA和SDO規范,對于支持流程提供服務也是起到了很重要的作用。
其他的數據訪問、虛擬機平臺技術在這里就不詳細講了。
4 結束語
總之,之所以制定工作流規范就是要從源頭進行技術的同意,而針對當前工作流規范眾多的現狀,預推動工作流技術向前發展,必須要實現眾多工作流規范之間的整合與兼容。
參考文獻:
[1]趙衛東,戴偉輝.基于角色的跨組織工作流研究[J].系統工程與電子技術.2003(08).
[2]鄧水光,吳朝暉,俞鎮.基于服務的跨組織工作流時間模型[J]. 浙江大學學報(工學版).2004(09).
[3]王勇,崔航.一種基于Web服務的跨組織工作流模型[J].計算機應用.2005(02).