作者是 葉宏謨教授   

NEO SOA-ERP是企業建立SOA的最佳基礎

 

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

 

一個企業的SOA包含一群服務,這些服務並非為了某一特定功能而設,而是企業基於長期發展而建立的一套軟體資產,它們可重複的被應用在現在及未來的需求。每一個企業都應該有適合自己的獨特SOANEO SOA-ERP中的近4,000個服務只是一個起點,企業開始使用NEO之後,必然會陸續開發出重用性更高、顆粒大小更適中的新服務,逐漸發展出屬於自己的獨特SOA

 

1.  企業ERP新功能開發

 

隨著環境的變化,企業會不斷的產生新需求,也會不斷的要求ERP系統提供新功能。發展新功能時首先尋找是否有現成服務可用,若找不到則看看是否可以組合現成服務來使用,再找不到才考慮發展新服務。在發展新服務時,要檢討為何目前的SOA不能滿足此需求,要如何擴充SOA才能滿足此需求以及未來可能發生的需求,不能只為了滿足一個新需求而發展服務。需求是短期的,而SOA是長期的。NEO SOA-ERP是寶盛公司根據15年導入各行各業ERP系統的經驗而發展出來的SOA,包含搜尋服務、組合服務、及開發服務的自動化機制—NEO軟體工廠,可以協助使用者迅速找到或發展出適合自己的服務並納入企業的SOA之中。NEO軟體工廠包括UI框架、服務框架、程式產生器、系統管理服務模組、ERP核心服務模組,再加上NEO SOA-ERP中的近4,000服務,必能協助企業在很短的時間內建立效果強大的SOANEO軟體工廠的軟體製造程序稱為服務導向軟體工程(SOSE, service-oriented software engineering),從需求分析開始到系統導入上線為止,其中包括服務搜尋、服務組合、及服務評估,它的特色是先組好後端與商務流程有關的服務,實際測試流程效率和正確性,再發展前端介面。而且在搜尋、組合、及評估服務的過程中,會因遷就現成服務而修改系統規格。如下圖所示:

 

 

 

2.      企業內外部流程整合

 

由於NEO SOA-ERP是完全用服務建立起來的ERP系統,本來就沒有固定的商務流程。企業可以隨心所欲組合服務支援最適合自己的商務流程。除了ERP以外,企業通常會有其他系統,例如PLM系統。以設計變更為例,設計變更流程必橫跨ERPPLM系統。設變流程首先呼叫PLM系統的「查詢項目」及「查詢材料表」服務,回傳PLM發展出來的項目(item)及材料表(BOM)資料,將它們包成ERP系統的服務輸入訊息,再呼叫ERP系統的「新增項目」及「新增材料表」服務,即可一氣呵成完成設計變更。

 

商務流程也能延伸到企業外部。例如,客戶用的是SAPOracle等大型ERP系統,企業用的是NEO SOA-ERP,則可透過NetWeaver, WebSphpere, WebLogic等中介軟體,呼叫對方的「查詢採購訂單」服務,將回傳資料包成輸入訊息,再呼叫NEO的「新增銷售訂單」服務,即可完成企業外部商務流程整合。中介軟體是不同系統彼此呼叫服務時的訊息傳遞高速公路,包括ESB(enterprise service bus)BPM(business process maangement)、和服務組合器,如下圖所示:

 

 

3. 非侵入式客製大型ERP系統

 

更進一步的做法是在NEO軟體工廠上客製國際品牌大型ERP系統的新功能,這樣做的好處是一方面可以避免「侵入式客製」,完全不更動大型ERP系統,以提供系統的穩定度,二方面可以快速客製使用者提出的新需求。如下圖所示,圖中圓角方形為UI,白色正方形為系統原有功能,白色圓形為系統原有服務,灰色圓角方形為客製UI,灰色正方形為客製服務。

 

 

 

因為能讓使用者快速搜尋服務、組合服務、及開發服務;也能提供服務給其他系統或呼叫其他系統的服務,藉以整合企業內外部流程;又能將複雜ERP系統的客製拉到外掛客製平台,NEO SOA-ERP確實是企業建立SOA的最佳工具及基礎。