BPM及BPM Enable
何謂BPM
BPM就是把所有業務流程中涉及的資源包括人與應用系統都連接起來,以保證工作流程無縫執行,並更有效率。
把業務流程中的控制部分提取到業務流程層,這樣它就可以重新建模、重複使用,從而協調所有的人員、應用程式和系統元件,達成更高效率的工作。
何謂BPM-Enable的應用系統
BPM-Enable 的應用系統簡單來說就是應用BPM平台來開發應用系統 。並將應用系統切割為一個個的服務元件,再以BPM的平台來整合或串連這些元件 。以一個企業中跨應用系統來說,BPM 可應用於系統與系統間,服務或程序的整合,在單一應用系統內部,亦可用來整合內部的服務元件。
簡單的來說就是以流程平台取代原來應用系統人工銜接的工作,因此BPM Enable 的應用系統可以說是運用BPM 平台的特性,建構應用系統。
建構BPM Enable 的應用系統
應用系統開發通常分成線上交易與批次處理兩種模式,在大型主機的時代,線上的程式雖然使用者介面不是很豐富,但亦能滿足使用者的需求,對於批次處理的系統,因為通常大型主機都具有背景處理的機制,因此具有良好的解決方案。
主從式的架構下,前端具有完整的使用者介面,但對於批次處理的能力較為薄弱,但仍能達到某種程度的要求。但因每一台電腦皆需安裝客戶端的程式,因此很快的就被Web 化的應用系統所取代,Web 化的應用系統具有優良又豐富的使用者界面,同是又因為只要有一個Browse 就可操作系統,可享受服務無所不在的便利性,但是對於批次的處理並無較好的解決方案。
BPM Enable 的應用系統不只對於線上交易的系統,具有良好的架構,對於批次處理的作業,將其設計成流程的元件,組合成一個自動化的流程,是一個最佳的解決方案。
傳統Workflow-enable 的應用系統,Workflow 的應用範圍大多是應用在表單傳簽或審核上,對於應用系統自動化作業如批次交易並未具有良好的解決方案,因此應用的範圍並不是很廣。
BPM-Enable 的應用系統不僅可人工表單輸入審核的作業,而因為在一個BPM的系統中,人工作業(Manual activity)與電腦自動化作業(Automatic Activity)是並重的,因此除了原本傳統應用系統該有的行為外,可以享受BPM所帶來的附加價值。
在傳統應用系統中大約可分為幾個部份:
- 線上交易(登錄、審核) 可運用企業流程中的人工輸入、審核的步驟,並可達成資料登錄後自動送審,可避免被動查詢方能審核的困擾。
- 線上查詢可使用企業流程管理中的歷史資料查詢的功能,除了查詢資料內容外亦可取得資料處理過程的記錄。
- 批次交易(轉檔、批次審核)可使用流程中的自動化的流程元件所組合成的自動步驟達成,並且可以將多個自動化元件串連成一個流程,配合排程的機制,定時啟動運行。
在一個完整的BPM環境中,上述線上的交易與批次的作業可混合於同一個流程中交互作用,因此可以作到將整個企業的作業流程整合在一起。
BPM 與一般應用程式開發的差異
項目 | BPM Enable | 一般應用程式 |
---|---|---|
記錄每個步驟或每個人完成時間 |
自動記錄 | 1.設計記錄的Database schema 2.AP需自行撰寫記錄的API 3.需自行決定記錄時間 |
代理人機制 | 1.具有代理人設定機制 2.自動判斷代理人,自動轉派 |
1.通常是將帳號/密碼交給代理人,不符安管之規定 |
使用者介面權限控管 | 內建 | 1.無 2.每處理角色需建一個使用者介面 |
使用者介面與處理邏輯分割 | 使用者介面只負責資料輸入,業務邏輯可設於流程圖中或寫成單一可重覆利用之元件 | 所有邏輯皆需寫於網頁中,使用者介面的處理與邏輯混雜 |
Email 通知 | 1.可定義各種Email 發送時機(通知、完成、重新指定、取消) 2.可自定Email 樣版 |
需自行撰寫Mail 發送功能 |
派送機制 | 以人或職務 | 1.無 2.通常以人為傳送機制 |
組織管理 | 內建 | 需自行開發 |
使用者權限控管 | 內建 | 無 |
逾時處理 | 可設定逾時流程或提醒 | 無 |
工作曆 | 內建 | 無 |
轉送(Reassign) | 內建 | 無 |
加簽 | 內建 | 無 |
取消 | 已有既定管理介面 | 需自行開發AP |
項目 | BPM Enable | 一般應用程式 |
---|---|---|
流程監控 | 提供流程及作業監控程式 圖形化界面 |
需自行設計監控界面 |
流程彈性/流程調整 | 圖形化界面 | 修改程式 |
績效統計表 | 內定報表 | 無 |
處理時效設定 | 1.可依工作曆判斷 2.流程塑模(Modeling)時時可定義 |
無 |
版本管理 | 內建 | 無 |
元件化、模組化 | 將工程領域之模組轉化為Business User可了解之元件 | 以Class 呼叫方式整合,模組化困難 |
例外處理-派送失敗 | 傳送人員不存在,可自動轉送管理者,再重新分派 | 需自行撰寫異常處理程式 |
例外處理-異常當機 | 啟動後自動重新執行 | 無 |
適合開發BPM Enable 的平台
任何的應用系統不論是線上交易或批次處理都離不開流程,BPM Enable是未來軟體發展的驅勢,但因為所處理的人與應用系統不同,在建構BPM Enable 的系統時該如何尋找一套適合的BPM平台呢?
- 表單、流程、資料分離。
- 具有完整的Web Service API,所提供的SDK不只是流程單一步驟的處理,亦可作為流程管理介面的開發。
- 表單或自動化元件的開發工具需採用通用性的開發工具,如Java、 Dot.net。
- 人與自動化元件都可作為流程的一個步驟。