建構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 開發,並且提供完整的WebService API , 因此亦可透過其它語言開發表單或其它外部系統透過Web Service API 與AgilePoint 整合.
除了表單以外,AgilePoint 亦強調元件化的整合觀念,對外部系統或內部處理的邏輯,都可以作成獨立的元件,而這些元件都可以使用.net 來開發,或透過Dot.Net 呼叫其它系統所提供的服務,因此再流程開發時亦可採用物件導向的流程開發方式。
流程管理
BPM-Enable 的應用系統除了資訊管理外,另一個重點在於流程整合的範圍,不同於一般的電子表單,只是在於單一表單的流程,BPM-Enable的流程範圍可能更廣泛,因此在流程平台的彈性相形的重要,流程的彈性表現在兩方面,一部份是流程中各個步驟的銜接,也就是流程可以達到那些功能,例如請購單、採購單、驗收單、付款單都可視為單一電子表單,但是並不是只要將其串聯在一起就可以達到流程整合的目的,傳統的採購系統就可以作到分批採購、分批驗收、分批付款,只是這些功能是以資料的方式整合,例如請購的項目是否皆以完成採購需以資料庫的方式查詢、統計,才能取得最新的狀態。在一個BPM-Enable 的應用系統中,我們認為應該以流程的方式,控管整個採購程序,因此在一個BPM 的平台需能夠以動態的方式啟動子流程,以配合應用系統的需求, 另外每個企業可能都有不同的內部審核的規則或特性,因此採用人工簽核具有很高的彈性,但也亦流於形式,因此電子化的目的一方面在於執行流程的規範,另一方面也要保留一些重要的彈性。
在AgilePoint 中每個流程都可以單獨存在,亦可作為其它流程的子流程,並且這些流程間的關系無需事先定義,可以在需要時再透過web service 的API 動態啟動.
AgilePoint 支援各種流程的活動,所支援的程活動可參考http://www.workflowpatterns.com/ 所定議的Flow Pattern。
在AgilePoint 的流程中不論是人工的步驟或自動化的步驟其在流程中的位階都是一樣的,因此一個流程可以只有人工的步驟亦可以只有自動化的步驟,亦可由人工與自動化的步驟搭配組合,這些步驟都是可以透過客制化的方式自行開法,更重要的是這些元件不僅可用在單一流程,亦可作為所有流程共用的元件.
結論
一個適合開發BPM-Enable 的BPM 平台,除了要符合傳統應用系統對資料管理的需求外,在流程定義上亦要具有高度的彈性,AgilePoint 採用Asp.net 或其它語言透過Web Service 與流程引擎整合,在流程上亦具有高度彈性,因此是一個建構BPM-Enable 良好的解決方案的。
在下一期的電子報中我們將就AgilePoint 的特性作較詳細的介紹。
留言
張貼留言