工作流引擎

  工作流引擎是 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. 有些過程不需要人來操作,比如,審批節點自動等待 CEO和CFO 都審批完後,把結果反饋到市場部經理。
  
  工作流引擎對於用戶來說是透明的,用戶通過它的客戶端來對它進行操作。 客戶通過建模工具來建立模型,通過任務列表來知道自己當前的任務。通過管理工具來對工作流程進行維護。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章