作者是 葉宏謨教授   

服務導向軟體工程—SOA-ERP客製流程與系統導入流程

 

葉宏謨 Ph.D., CPIM
輔仁大學資訊管理系教授
2008/06/16

前言

解決任何管理問題的程序都是先確定目標,定義問題範圍,然後是分析問題,接著是尋找、評估、並決定解決方案,最後是實施方案解決問題。導入ERP系統也是一樣,要先確定導入的目標、再定義系統範圍、接下來是分析並找出最適合的商務流程、然後找出支援商務流程須實作的系統功能並排定優先次序、最後是進行實作。實作時,以儘量使用ERP系統標準流程為原則,必要時才進行客製。經驗顯示,多數企業導入ERP系統都需要客製。本文以NEO SOA-ERP系統為例討論服務導向軟體工程(SOSE, Service-Oriented Software Engineering),其特色是利用服務組合來客製系統功能,可兼顧系統的彈性及穩定性。本文並比較SAP、Oracle和NEO等3個系統的導入流程。

一、 NEO客製流程

企業無論導入何種ERP系統,客製是在所難免的。NEO系統是SOA,故其客製流程是一種服務導向軟體工程,也就是利用現成的服務來開發軟體的流程。NEO包含ERP相關服務超過3,500個,客製時可以直接呼叫現成的服務,或以現成的服務組裝成新的服務,滿足使用者的特殊需求。客製流程如圖1所示。

圖1:NEO客製流程圖

客製發生在系統導入階段或導入後的使用階段。在導入階段因標準系統欠缺使用者需要的功能而必須客製;在使用階段則因使用者有新的需求必須修改系統功能或製作新的功能。前者是整批客製,後者是零星客製。

使用者有新的需求,第1個步驟「需求分析」就是定義目標、確定問題範圍、和分析問題,第2至4步驟就是尋找解決問題的方案。所以,SOSE的特色就在這前4個步驟,而方案就是可以滿足需求的各種可能服務組合,評估後選擇最佳方案。從圖1可以看出,SOSE客製流程必須寫程式之實作僅限於前端介面程式。客製流程之前4個步驟產生系統規格,是一種雛型化設計(prototyping)的過程,說明如下:

1. 需求分析
(1) 瞭解客製需求,定義目標,確定範圍。
(2) 瞭解範圍內之標準系統流程,以及相關的服務。
(3) 分析客製需求與標準系統的差異。
(4) 產生詳細規格文件。
2. 根據需求規格搜尋適用之服務元件
(1) 可從NEO的操作記錄(system log)查出與客製流程相關的服務元件名稱。
(2) 可從NEO的服務說明(NeoDoc)瞭解服務細節。
(3) 因服務元件的選取有可能會修改需求規格。
3. 根據需求規格組合服務
(1) 利用BPM和NEO的WSDL,或NEO的服務組合功能組合服務,滿足新流程的需求。
(2) 服務組合的過程不需要寫程式。
4. 測試及評估服務組合
(1) 直接執行BPM自動產生的預設介面,測試服務組合及新流程的正確性及效率。
(2) 與使用者檢討選取的服務及服務組合是否適用,若不適用則重新搜尋或組合服務;若適用,則進行介面程式開發。
(3) 服務評估的結果有可能會修改系統規格。

二、 NEO系統導入流程

NEO SOA-ERP系統導入流程(NEOWAY)包含第一次導入及上線後的系統維護階段,它的精神是持續改善(continuous improvement)。NEO SOA-ERP系統導入流程包含整批的客製流程,導入流程先由上而下(top-down)產生客製需求、再由下而上(bottom-up)實作客製需求,如圖2所示。大部分ERP系統的導入流程都很類似,SAP、Oracle和NEO導入流程的比較如表1。

圖2:NEO系統導入流程圖

表1:系統導入流程比較表

ASAP (SAP)

AIM (Oracle)

NEOWAY (寶盛)

專 案準備

定 義

確 定目標、定義範圍

企 業藍圖

作 業分析

商 務流程改善、再造

解 決方案規劃

決 定客製需求及優先次序

實 作

設 計客製需求之系統規格

解 決方案建構

服 務搜尋、組合、評估

客 製系統介面製作

客 製系統測試

上 線準備

上 線準備

上 線準備與系統驗證

上 線與支援

正 式上線

系 統上線與系統維護

導入ERP的關鍵成功因素之一是最少的客製。從表1可以看出SAP和Oracle都是以不客製為原則,在它們的實作或建構解決方案階段都是以組態設定的方式讓系統接近使用者需求。而NEO的作法卻是強調要根據使用者需求來客製,主要的原因是SOA。NEO的客製是以服務組合為主,也就是利用現成的服務來客製新功能及新流程,所以系統較有彈性。正因為是組合「現成的」服務,所以對使用者而言雖有客製,對ERP系統而言卻沒有客製,還是具備導入ERP的關鍵成功因素。同樣是SOA系統,NEO和SAP是有差別的。SAP是先有應用程式,再將應用程式「服務化」,做成服務供外界呼叫,如圖3所示。NEO是以SOA建構起來的ERP系統,不是先有系統再「服務化」,所以現有應用程式和新應用程式呼叫的都是相同的服務,如圖4所示。

圖3:SAP將現有應用程式服務化

 

圖4:NEO以服務做成現有應用程式

正因為NEO是建立在SOA上的ERP系統,所以在導入程序中可以應用服務導向軟體工程(SOSE),達到兼顧系統的彈性及穩定性的效果。

三、 NEOWAY流程說明

NEOWAY和ASAP的系統導入流程頗為接近,主要差別在於實作階段的內涵不同,NEOWAY包含參數設定和服務組合客製,ASAP則為組態設定。NEOWAY共有6個階段,分別說明如下:

1. 專案準備階段
(1) 定義專案目標:也就是為什麼要導入ERP,例如為了降低庫存。ERP導入專案應該要有具體目標,例如上線半年後庫存量降低10%。
(2) 定義專案範圍:初步瞭解需求,決定要做什麼、不做什麼,清楚的界定要上ERP的人事物。
(3) 成立專案小組:將專案範圍內的關鍵使用者納入專案小組,高階主管應親自參與。

2. 流程改善階段
(1) 現況分析:分析現有流程,瞭解可能存在的缺失。
(2) ERP標準系統訓練:對關鍵使用者實施ERP標準系統訓練,讓他們瞭解ERP標準系統的流程。
(3) 未來流程構想:在ERP顧問的協助下,跳脫慣性,構思未來理想的商務流程。
(4) 差異分析:分析未來理想流程和ERP標準流程之差異,決定何者要遵照ERP標準流程,何者要客製。
(5) 參數設定規格:要遵照標準流程的部分,須確定設定何種參數,並由顧問協助關鍵使用者做成參數設定規格書。
(6) 客製需求規格:要客製的部分,須決定客製項目的優先次序,由顧問協助關鍵使用者撰寫客製需求規格書。

3. 系統規格階段
(1) 系統規格設計:根據需求規格書,由規格人員撰寫系統規格書。系統規格書包含可展示的雛型、介面欄位定義、邏輯說明、以及將來可用來測試的範例。系統規格書必須能讓程式師頼以直接完成程式開發。
(2) 系統規格驗收:由顧問向關鍵使用者展示系統規格,推演範例,由使用者驗收系統規格書。

4. 系統實作階段
(1) 服務搜尋、組合、評估:程式師根據系統規格書搜尋、組合可用的服務,若有多種服務組合,則應測試其正確性及效率,選擇最佳服務組合。
(2) 介面程式製作:程式師根據系統規格書設計介面程式,直接呼叫服務組合。介面中不應該組合服務,也不應該有任何邏輯程式。
(3) 系統測試:由關鍵使用者根據系統規格書測試客製系統,檢視是否合乎系統規格書的規範。

5. 上線準備階段
(1) 整合測試:根據參數設定規格書調整系統參數,建立測試資料,整體測試最終ERP系統。
(2) 全員教育訓練:對所有使用者實施最終ERP系統的操作訓練,必要時應包含理論基礎,讓使用者瞭解為什麼要這樣操作。
(3) 開帳計畫:確認開帳原則,擬定開帳計畫,撰寫轉檔程式(從舊系統轉出服務所需輸入訊息)。
(4) 資料轉換:根據開帳計畫呼叫服務轉入舊系統資料,確認開帳結果。

6. 上線維護階段
(1) 上線評估:觀察上線情況,衡量商務流程的效率及正確性,評估專案目標的達成度。
(2) 後續支援:調整未盡完善的作業,直到所有商務流程均能順暢運作為止。
(3) 系統維護:使用階段中,持續改善流程,系統並配合客製調整。若使用者有新需求出現,也會隨時客製新功能。

結語

導入ERP系統不但是一次商務流程改善或改造,導入後更需要不斷的調整,因為企業環境的變化,並不會因為ERP導入專案的結束而終止。持續改善是任何企業都必須追求的,唯有可彈性客製的SOA-ERP系統才能讓企業不但不會受限於僵化的資訊系統,而且還能隨著需要調整系統功能,配合企業持續改善的目標。