二十世紀70年代、80年代,軟體主要以資料驅動的應用程式為主,資訊系統多以資料處理為主。隨著資訊技術的發展,管理逐步超越資料處理成為資訊技術的主要處理對象,因此流程管理的需求逐步顯現,工作流程的概念開始形成。工作流程系統的出現使得整個流程的自動流轉或自動執行成為可能。
工作流程(workflow)的定義:“工作流程是一類能夠完全或者部分自動執行的經營過程,它根據一系列過程規則、文檔、資訊或任務能夠在不同的執行者之間進行傳遞與執行”。
但是工作流程一般只解決生產流程層等比較微觀的問題,解決企業某一方面的商務程序管理的問題,隨著企業商務程序向企業外部(供應商和客戶)延伸,傳統的工作流程系統無力解決跨企業的流程整合問題,於是面向企業的商務程序管理解決方案由此應運而生。
可以說商務程序管理(Business Process Management, BPM)是工作流程管理(WorkFlow Management, WFM)的升級概念,兩者的核心內容其實是一樣的。
自從有了工作流程這個概念開始,經過長時間大量的實踐,人們意識到需要一個統一的流程建模模型來對工作流程的流程設計、流程配置、流程引擎、流程維護等等定義一套標準。
長期以來,工作流程形成兩種具有代表性的語言:
1、Web 服務流語言 (WSFL)
WSFL是IBM 基於有向圖概念設計的一種工作流程語言,是一個關於如何?使用新興Web服務架構的商業流程模型的規範。
2、XLANG
XLANG 是一種由 Microsoft 設計的塊結構化語言。 Microsoft BizTalk Server 2000 中引入的基於 XML 的語言(xml language)。biztalk中Orchestration(商務程序)服務叫做XLANG/s 服務,因為它的商務程序就是用XLANG 進行描述的。
工作流程語言標準的最新發展是,各大廠商共同推出了面向 Web 服務的商務程序執行語言(BPEL 或 BPEL4WS),BPEL 基於 XML 和 Web 服務構建;它使用一種基於 Web 的語言,該語言支援 web 服務技術系列,包括 SOAP、WSDL、UDDI、Web 服務可靠性訊息、Web 服務定址、Web 服務協調以及 Web 服務事務。2003 年 4 月,BPEL 提交結構化資訊標準促進組織 (OASIS) 以實現標準化,並組建了 Web 服務商務程序執行語言技術委員會 (WSBPEL TC)。該努力使 BPEL 在業界獲得更廣範圍的認可。
BPEL 代表了兩種早期工作流程語言 - Web 服務流語言 (WSFL) 和 XLANG 的交匯,融合了這兩種語言的各自優點,但是到目前為止,各個廠家的產品都聲稱符合BPEL標準,但是實現的都不是很好,所以現在的BPEL離實用還有一段距離。
商務程序有兩種發展方向:
STP(Straight Through Process)和CH(Case Handing)。
STP是指商務程序執行的完全自動化,系統完全根據可以獲得的各種資訊來源和商務程序的設計自動的判斷流程的走向,即不需要人工參與。
CH是指需要人工參與的流程,需要提供介面給參與的人以顯示流程的目前狀態,並允許參與人員進行相應的處理以決定流程的走向。
biztalk的重要用途是用於B2B和EAI,這兩種應用一般屬於STP應用,流程設計好後不需要人工幹預。但是biztalk從2004版本開始引入HWS(Human Workflow Service),結合infopath表單,提供人工參與的工作流程功能。但是HWS的功能並不完善,使用很是麻煩,故微軟打算拋棄它。雖然在biztalk 2006中還是有HWS,但是功能上沒有任何的改進,只是簡單的保留了這項功能。微軟在Vista中引入了Windows Workflow Foundation(WWF),WWF作為作業系統的一部分,提供了對工作流程最底層的支援,以後微軟的跟工作流程相關的產品都會建立在WWF基礎之上,biztalk 2006的下一版本將會刪去HWS,商務程序將會建立在WWF引擎之上。
參考資料:
TJDLUT《商務程序管理綜述》
Matjaz Juric的《BPEL執行個體教程》