BPM≠Workflow+EAI (上)

来源:互联网 发布:查汽车档案软件 编辑:程序博客网 时间:2024/06/02 21:03

在談完BPM相關標準之後,這次我想跟讀者談BPMS的架構、組成模組及其各自功能,讓讀者有全盤性的瞭解,希望能破除一般人對BPMS的迷思。

關於BPM,坊間有些迷思。例如,常聽到有人說BPM = EAI + Workflow;PBMS只不過Workflow廠商的舊瓶新酒,換湯不換藥,只要原來WfMS加上系統整合的Adaptors就變成BPMS;或是EAI廠商加上Activity Modeling的工具或者是Routing Engine重新包裝一下,也可以稱作BPMS 。

必也正名乎,我認為BPMS不只是如此,而是一個生命週期。順著BPM生命週期瞭解使用者的操作情節(Scenario),是理解BPMS的組成全貌最好且最直覺的方式。在本文中,我藉著介紹完整BPM生命週期,並從其中的每一步驟順著介紹工作內容、使用到的工具及其功能、與使用者的角色。最後,我會以一張完整的BPMS架構圖,詳細介紹其中組成的模組功能。

BPM:也要談生命週期 (Life Cycle)

BPMS強調讓企業可以靈敏反應外部環境的變動並快速變動企業內部的流程作業,所以生命週期所強調的是持續性改善與週而復始的循環。BPM生命週期另一個含意就是,它是BPMS工具導入的方法論 (Methodology)。BPMS解決方案最重要的核心就是方法論,它至少要包含思考哲理(Philosophy)、方法/步驟 (Methods / Steps )、與伴隨的工具(Tools/Utilities)。因為沒有任何兩家的流程,組織,策略目標是全然一樣的,因此怎樣才能從策略目標規劃到最後系統導入執行連貫一體,成功而有效地完成建置所依賴的才是合適的方法論。

目前各家BPM廠商所提出的生命週期不盡相同,乃是因為解決方案所訴求的產業或應用領域不同,所以有了各自強調與專注的重點。例如,IBM HoloSofx 提出的是:建構 (Create)、管理(Manage)、自動 (Automate)、協同 (Collaborate);Howard Smith & Peter Fingar在 『BPM - The Third Wave』一書所提出的是;建模 (Model)、佈署 (Deploy)、與管理 (Manage);Italio 提出的是發掘 (Discovery)、建模 (Modeling)、支援(Supporting)、Monitoring (監控)、及Improvement (改善)。在此我會提出較為完整的流程步驟,但不見得每家BPM廠商的都符合,讀者可參考下圖-BPM生命週期。

BPM 生命週期

圖一、BPM 生命週期

階段一、 流程發掘 (Discovery):

要導入BPM第一步驟當然要先清楚知道現行流程的作業方式與狀況,尤其是流程內的訊息流 (Message flow)、事件流(Event flow) 、或控制流 (Control flow)。哪些流程可以自動化?哪些是人工流程?有哪些人參與?流程是在組織內部或外部被執行?BPMS在此步驟的主要特徵是如何自動找出系統的商業邏輯。通常企業會聘請外部顧問師或領域專家來協助輔導,這個動作有人稱為流程評估 (BPA, Business Process Assessment),評估範圍可能涵蓋策略與管理目標與流程的連結。同時企業也會配合導入一些管理的主題而作流程再造(BPR, Business Process Reengineering),例如評分計分卡 (BSC, Balance Score Card)、六個標準差 (Six Sigma) 、或 ISO 9000品質管理系統。

階段二、 流程設計 (Design):

此階段是一個包含四幾個步驟的反覆式的小循環 (Iterative mini-cycle):建模(Modeling)、 (分析Analyzing)、模擬 (Simulation)、重構(Redesigning) 流程。如前所述,面對外部的競爭壓力與商機,為了讓企業可以快速重構流程, 因此一些細緻的流程變革(Fine-grained process change)只需利用此階段的步驟就能作出即時的反應。

流程建模 所運用的工具稱作Process Designer 通常包含三個模組:組織(Organization Chart)、流程圖 (Activity Diagram) 、與表單(e-Form)設計工具。它們分別對應流程中三個最重要的元素:人、活動與文件 (有興趣的讀者可參閱Process Modeling Conceptual Framework有關的資料,後續容我在適當機會再做介紹)。建模之後可以作執行動作前的分析與模擬來驗證設計的流程是否正確合適或最佳化;此外它能還提供現行流程可能遇到的瓶頸資訊,以避免執行後才發現問題進而導致很大的營運損失。如果分析模擬出來的結果並不滿意,可以反覆重構 流程直到產出滿意的結果。分析指的是從流程定義的語意與理論上的推論分析,模擬則可設定機率變數與行為假設讓系統自動跑出期望值或變異差數據,有些則僅提供自動執行(Animation)或手動逐步執行以觀測流程行為。

此階段BPMS的主要特徵是圖形化的介面,讓非IT背景的使用者可藉由拖曳方式也能輕鬆組裝或分解流程;此外運用流程資產(Process assets) 的觀念,讓流程定義隱含業界的最佳實務(Best practices)或流程樣版 (Process Pattern),並且儲存於流程倉儲 (Process Repository)以供隨時再利用 (reuse)。

階段三、流程執行(Execution):

意指新上線的流程能被參與者順利執行完成。負責控制執行的模組可稱為工作流程引擎(Workflow Engine)或流程伺服器(Process Server)。在此階段BPMS主要的訴求是分散式交易(Distributed transaction)的管理,因為這些交易可能是複雜度高的跨巢狀流程(Nested process)而且交織著新舊系統,甚至將既有的應用系統當成流程元件來執行。至於流程的執行者通常多是應用系統,可以不用人的參與(human intervention)而自動執行,也就是一般所稱流程自動化 (BPA, Business Process Automation)。

此外,排程工具(Scheduler) 可以應用來設定自動啟動流程的時間與週期頻率。有些BPMS的產品會提供規則引擎 (Rule Engine)來負責商業規則判別與推理。此階段另一個重要的特點就是在不用技術人員的參與下,依然可以讓流程使用者自行編輯與修改商業邏輯。例如,代理人的指派規則通常相當複雜,背後就需要有Rule-based的機制來支援。

流程佈署(Deployment):意指將設計好的流程推出上線讓所有參與者(Participant,可能是人,應用系統,或其他流程)來執行。這個步驟的主要特徵就是能以最小的力氣﹙effort﹚達成運算資源(Computing Resource)與組織人員的結合(binding),如事先整合應用系統元件(Application components)。

與人互動(Interaction):在流程的執行中很重要的就是與人的互動。並非所有流程都可以自動化,所以BPMS讓人能管理自動流程與人工流程之間的介面。負責與人互動的介面稱為工作項目的處理程式 (Workitem Handler)。有時候流程介面本身也是一個流程,例如動態加會簽或在表單輸入下一步流程的分派。過去Workitem Handler相當簡單,然而現在有傾向豐富化與細緻化的趨勢。必要的時候還能讓使用者客製化或整合在不同系統的介面中。由於這個需求有快速提升的趨勢,所以各家廠商紛紛提出豐富且個人化的流程入口網站(Personalized process Portal)。

礙於篇幅,下集我會繼續將最後兩個階段介紹完,並把BPMS的系統架構與各功能模組作個整理,讓讀者輕易瞭解,

原创粉丝点击