工作流引擎 (2007-10-12 16:53)

工作流引擎是 BOS 系統的一個重要組件。它可以根據客戶具體的業務邏輯,來定義工作流模型。整個應用程序就根據所定義的流程來運行。它把應用系統模塊和工作流程分開。當流程發生變化,只需修改流程模型,具體的應用程序無需修改。
  
  參考wfmc 標準,我們把工作流分成幾個模塊。
  
  ·流程定義模型
  ·用戶端
  ·工作流引擎
  ·建模工具
  ·組織架構
  
  在虛線框中代表工作流的服務器端。它對於用戶是透明的。用戶通過工作流引擎所提供的客戶端來對工作流引擎進行操做。客戶端包括建模工具,管理工具和任務列表。各模塊之間的關係如下圖
  
   
  
  工作流的操作可以分爲,建模階段(Process Design&Definition)和運行階段(Run Time). 運行階段又可分爲工作流引擎端和客戶端。
  
  客戶首先通過建模工具,建立一套工作流的模型定義(Process definition)工作流引擎(Workflow Enactment Service)根據模型所提供的信息,把具體任務交給用戶來完成。用戶在登入後,會發現有一項新的任務在他的任務列表中。在他選擇執行後,預先設定的應用程序將被激活。在執行應用程序的過程中,所調用的應用程序會和工作流引擎交換數據。告訴工作流引擎目前運行的狀態。當他完成任務後,工作流引擎得到反饋,將按流程把任務交給下一個人,直到完成整項工作。
  
   
  
   我們將通過一個簡單的例子,來解釋工作流引擎的作用
  
  上面是一個假想的銷售流程圖。任何工作流程圖都包含起始節點和結束節點。起始節點可以是單獨的一個節點,也可以隱含在一個任務節點中。在上圖中,線索就是一個起始節點。用戶得到一個線索後,第一步是輸入線索。因爲下一步是和客戶聯繫(contact customer),需要由銷售代表來完成,而銷售代表(sales rep)有多個,工作流引擎將把任務分配給銷售部的經理。由銷售部經理把任務分配給某個銷售代表。這個銷售代表就會在他的任務列表中看到這個任務。當他聯繫了客戶後,發現這個客戶有可能買我們的產品,就把相關信息輸入到數據庫重。結束了這個環結的工作。工作流引擎就會把任務傳給下一個環節。如果客戶不感興趣,就轉移到結束節點。此工作流程就結束。
  
  下一個環節是建立銷售計劃(sales plan),需要市場部經理來做。因爲市場部經理只有一個,就把任務直接分配給市場部經理(marketing manager) Marketing manager 做出銷售計劃後,需要公司的CEO CFO來審批。當兩位經理都對此做出審批後,將把信息反饋到 sales manager. 假設CEO 的評審沒有通過,銷售經理需要修改 sales plan, 再進行審批,直到通過爲止。下一個環節是拜訪客戶。如果一切順利,就可得到定單,整個流程結束。以上的例子是一個假想的例子,但它反映了工作流引擎的一些重要功能
  
  1. 用戶看到的只是自己的任務列表。當他完成了這項任務後,由工作流引擎根據流程,把任務分配給下一個環節的負責人。
  2. 每一個任務都由一個角色來完成,由工作流引擎,根據組織架構,決定具體由誰來做。
  3. 有些過程(審批)需要重複進行,直到通過。
  4. 有些過程(審批)需要所有的前置任務(CEO review, CFO review)都完成,才進入下一個階段。
  5. 有些過程不需要人來操作,比如,審批節點自動等待 CEOCFO 都審批完後,把結果反饋到市場部經理。
  
  工作流引擎對於用戶來說是透明的,用戶通過它的客戶端來對它進行操作。客戶通過建模工具來建立模型,通過任務列表來知道自己當前的任務。通過管理工具來對工作流程進行維護。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章