在SOA 實踐中,對于 BPM面臨著不少困惑與選擇,主要是工作流與業(yè)務流的架構區(qū)別。有些項目把業(yè)務流產(chǎn)品用作工作流設計,而有些工作流為主的產(chǎn)品工具卻作為業(yè)務流實現(xiàn)。這里簡單地討論一下 BPM 中業(yè)務流與工作流的作用區(qū)別。表2‑3簡要概述了工作流與業(yè)務流的主要區(qū)別。
表2‑3 工作流與業(yè)務流的主要區(qū)別
工作流架構模式
簡單地說,是定義,構建及執(zhí)行流程。工作流基本上屬于面向應用的流程架構,例如,典型的人工審批流,頁面流,文檔的路由等。從項目過程來看,一般根據(jù)業(yè)務部門的用例需求,由技術人員遵循傳統(tǒng)步驟進行設計,開發(fā),測試,部署。工作流一般強調快速開發(fā),著眼于局部應用,反復多。重用性差。
業(yè)務流架構模式
具有服務組合,服務編排及并發(fā)處理的能力。強調面向服務的企業(yè)級端到端業(yè)務流程管理。主要用于跨系統(tǒng),跨部門的企業(yè)系統(tǒng),例如,與 ERP 系統(tǒng)的整合。業(yè)務流項目關鍵在于業(yè)務梳理及優(yōu)化分析。項目重點為建模,組裝 / 接口轉換及管理。流程導向以業(yè)務為中心,關注全局業(yè)務價值及服務重用。
工作流開發(fā)運行
建模與開發(fā)使用統(tǒng)一流程模板。具有一定的工作流模式。流程較為可控。可使用多種不同的編程語言。編程除錯基本反映在程序層面。學習上手較快。單一流程開發(fā)周期較短。業(yè)務流程監(jiān)控一般表現(xiàn)在流程或活動節(jié)點
業(yè)務流開發(fā)運行
一般建模與開發(fā)分開進行。強調業(yè)務為導向。流程狀態(tài)及動態(tài)性可通過服務組合與其它系統(tǒng)關聯(lián)。當流程跨越多個用戶及交互時,與組織結構的變化關聯(lián)較大。服務可動態(tài)綁定。編程模式可采用核心的 SDO/SCA/BPEL 規(guī)范。編程除錯反映在建模和流程界面。業(yè)務流關注的是服務的組裝,而非代碼開發(fā)。流程設計具有一定的曲線要求。業(yè)務流程監(jiān)控涉及流程 / 任務以及業(yè)務對象層,強調實時業(yè)務調控。
工作流接口差異
比較適于圖像,文檔等傳輸。使用變量參數(shù),一般無松散持久層。也就是說,它與業(yè)務服務沒有密切的關聯(lián)。通俗地說,工作流只是將行動節(jié)點串接起來,例如,常見的人工審批流程。其人員接口內(nèi)嵌于流程,系統(tǒng)接口主要是調用應用程序,本身并不強調服務組件接口,業(yè)務應用不對業(yè)務人員透明。工作流一般用于系統(tǒng)應用內(nèi)或系統(tǒng)應用間。特點是靈活跳轉,松散耦合。
業(yè)務流接口差異
適應于系統(tǒng)業(yè)務重組優(yōu)化。其數(shù)據(jù)接口關聯(lián)主要通過 SDO/ 業(yè)務對象,使流程附帶結構性數(shù)據(jù)。在業(yè)務流中,流程與業(yè)務數(shù)據(jù)關聯(lián)更加密切,智能化程度加強。在流程接口調用不同服務組件時,能夠進行系統(tǒng)間關聯(lián)及確保事務的完整性。人工任務接口可設置為內(nèi)嵌,或獨立的人員服務,生成不同形態(tài)的臨時人工任務。例如,在電子采購業(yè)務中,動態(tài)的人工任務環(huán)節(jié)可由人員服務來實現(xiàn)。業(yè)務流的系統(tǒng)接口主要針對外部異構應用系統(tǒng),適合企業(yè)級系統(tǒng)與系統(tǒng)間標準化的交互整合。
工作流產(chǎn)品技術
一般使用私有技術或 J2EE 等。流程引擎將任務,人員組織等內(nèi)置。通過引擎進行隊列,優(yōu)化。
業(yè)務流產(chǎn)品技術
以標準形式兼容不同技術。流程引擎構成技術服務組件,屬于產(chǎn)品化中間件。
簡言之,業(yè)務流程管理主要包含業(yè)務建模,組裝,部署及管理。使用業(yè)務流或工作流工具似乎都能設計開發(fā)業(yè)務流程管理。但從 SOA 的角度,服務的劃分及交互通常是項目關注的重點。所以, SOA 強調的是如何靈活組合業(yè)務服務。而業(yè)務流的核心功能是編排流程服務,并且主要針對企業(yè)級應用整合。同時利用 BPM 工作流的主要功能,諸如 : 活動(任務)節(jié)點的人工任務配置,流程運轉時的活動節(jié)點調控等。
在 SOA/BPM 初始階段,如果一個企業(yè)沒有較深的 IT 或 ERP 根基,實施業(yè)務流會有相當?shù)淖枇。因為業(yè)務流程管理并非主要是技術問題。對于有些中小型企業(yè)或應用 ( 特別是那些沒有規(guī)范支撐的人工流程模式),一些隨意包干,或帶有自由流功能的工作流系統(tǒng)一般更易于接受。 對于同樣的一個較為復雜的流程應用項目, 如果使用工作流, 會顯得很復雜, 結果是很多流程產(chǎn)出件,而如果使用業(yè)務流,一般架構設計較為規(guī)范, 流程量驟然減少, 重用性提高。
值得一提的是,工作流與業(yè)務流的定義范圍有相當程度的交疊與互斥,這取決于采用的流程管理產(chǎn)品(或幾個不同產(chǎn)品)及架構設計及理念。工作流可以理解為技術層面的東西或辦公自動化,而 SOA 關注業(yè)務流的實現(xiàn),及與之相關的價值鏈,并且關注流程的生命周期管理。其實,工作流或業(yè)務流本身并無絕對優(yōu)勢,在SOA/BPM都要用到,如何用好用對才是關鍵。
轉載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標題:ERP業(yè)務流(BPM)與工作流(workflow) 的區(qū)別
本文網(wǎng)址:http://www.oesoe.com/html/consultation/1082059578.html