產品特寫

建構BPM-Enable 的應用系統(下)

更新於

一個企業標準作業程序 (Standard Operation Procedure) 可分為兩部份,傳遞的資訊 (資訊管理)及作業流程,傳統的資訊系統主要是在處理流程中的資訊部份,作業的流程中的每一個環節是由人來銜接,也因此產生許多不便與容易產生弊端,或許也有人稱為彈性,但對一個成熟的企業說,如何讓作業更標準化,但又保留必要彈性成為一個很重要的課題。

新一代的BPM-Enable 應用系統,建構的基本原則在於保留應用系統原本該有的功能,在加上以自動化的程序,取代原來靠人傳遞資訊的作業,因此簡單的說,就是以BPM平台來建構應用系統,為了加強讀者的理解,在此我們以新一代的BPM平台AgilePoint來說明,何種的BPM平台適合建構BPM-Enable的應用系統。

自動化流程

前面我們提到一個企業的企業標準作業程序 (Standard Operation Procedure) 可分為兩部份,就是資訊管理及作業流程,因此再建構一個BPM-Enable 的應用系統時,亦需滿足這兩方面的需求。

資訊管理

傳統的應用系統主要的功能在於資訊管理,因此常需要呼叫或引用其它系統或廠商所提供的元件,對於一般資料處理或系統整合的能力要求較高,轉換至BPM平台上開發應用系統時,相較於一般工作流程(Workflow)所使用的電子表單更複雜,原本既有的需求一定要能夠滿足,因此在流程平台所使用的表單或元件必需使用一般的程式語言開發如Java或 .NET,而非僅是單純的表單設計工具就能滿足;使用一般程式語言,一方面可保持程式開發的彈性,另一方面亦可減少企業內部同仁進入的障礙。

AgilePoint強調表單與流程引擎分離的概念,不僅是表單可使用Asp.net 開發,並且提供完整的Web Service API,因此亦可透過其它語言開發表單或其它外部系統透過Web Service API 與AgilePoint 整合。

除了表單以外,AgilePoint 亦強調元件化的整合觀念,對外部系統或內部處理的邏輯,都可以作成獨立的元件,而這些元件都可以使用 .NET 開發,或透過Dot.Net 呼叫其它系統所提供的服務,因此在流程開發時亦可採用物件導向的流程開發方式。

流程管理

BPM-Enable 的應用系統除了資訊管理外,另一個重點在於流程整合的範圍,不同於一般的電子表單,只在於單一表單的流程,BPM-Enable的流程範圍可能更廣泛,因此在流程平台的彈性相形的重要,流程的彈性表現在兩方面,一部份是流程中各個步驟的銜接,也就是流程可以達到那些功能,例如請購單、採購單、驗收單、付款單都可視為單一電子表單,但並不是只要將其串聯在一起就可以達到流程整合的目的,傳統的採購系統就可以作到分批採購、分批驗收、分批付款,只是這些功能是以資料的方式整合,例如請購的項目是否皆以完成採購需以資料庫的方式查詢、統計,才能取得最新的狀態。在一個BPM-Enable 的應用系統中,我們認為應該以流程的方式,控管整個採購程序,因此在一個BPM的平台需能夠以動態的方式啟動子流程,以配合應用系統的需求,另外每個企業可能都有不同的內部審核的規則或特性,因此採用人工簽核具有很高的彈性,但也易流於形式,因此電子化目的一方面在於執行流程的規範,另一方面也要保留一些重要的彈性。

在AgilePoint中,每個流程都可以單獨存在,亦可作為其它流程的子流程,並且這些流程間的關係無需事先定義,可以在需要時再透過web service 的API 動態啟動。

AgilePoint 支援各種流程的活動,所支援的流程活動可參考 www.workflowpatterns.com 所定義的Flow Pattern。

在AgilePoint 的流程中,不論是人工的步驟或自動化的步驟;其在流程中的位階都是一樣的,因此一個流程可以只有人工的步驟,亦可以只有自動化的步驟,亦可由人工與自動化的步驟搭配組合,這些步驟都是可以透過客制化的方式自行開法,更重要的是這些元件不僅可用在單一流程,亦可作為所有流程共用的元件。

一個適合開發BPM-Enable的BPM平台,除了要符合傳統應用系統對資料管理的需求外,在流程定義上亦要具有高度的彈性,AgilePoint 採用ASP.NET 或其它語言透過Web Service 與流程引擎整合,在流程上亦具有高度彈性,因此是一個建構BPM-Enable 良好的解決方案。

閱讀更多