全面瞭解企業資料服務(14/24)
文/葉宏謨
SOA-ERP的一萬多個服務元件相當於一萬多顆積體電路(IC, integrated Circuit),每個服務元件的規格都記錄在服務文件(LCServiceDoc)中,相當於IC的Data Book。服務文件詳細描述每個服務元件的輸入Key和輸出Key之型態、規格,相當於IC的Pin Assignment中的輸入Pin和輸出Pin。SOA-ERP是軟體積體電路。
SOA-ERP服務元件
寶盛數位科技從復盛集團分拆(spin-off)成集團旗下子公司之後,團隊就引進SOA的觀念和技術,2013年完成SOA-ERP系統和NEO系統,SOA-ERP系統包含一萬多個可組合(Composable)服務元件,NEO則是一套ERP應用程式。SOA-ERP服務元件就是積木,組合服務元件就可寫出應用程式(Application),稱為服務組合(Service Composition)。服務元件可自由組合,多個服務元件的輸出合併成需要的資料稱為編曲(Orchestration),相當於電路並聯(Parallel Circuit);前面服務元件的輸出變成後面服務元件的輸入稱為編舞(Choreography),相當於電路串聯(Series Circuit)。SOA-ERP除了有各種功能的服務元件,也有串聯和並聯服務元件的服務元件。
[ 加入 CIO Taiwan 官方 LINE 與 Facebook ,與全球 CIO 同步獲取精華見解 ]
SOA-ERP服務元件的開發是極深奧的工作,不只是技術問題。服務元件的切割不能太大也不能太小,必須能適合各種行業和各種規模的企業,才會有很高的可重用性(Reusability)。復盛集團有全球知名的壓縮機,是組裝製造(Discrete-Part-Manufacturing)的機械業,包括訂單生產(MTO, Make-To-Order)和計劃生產(MTS, Make-To-Stock);復盛集團也有全球佔有率最高的高爾夫球桿頭,是流程製造(Process Manufacturing)的精密鑄造業;復盛集團也有積體電路導線架(IC Lead-Frame),是電子業。
SOA-ERP的經驗除了來自復盛集團,也沒有忘記理論的重要。理論來自實務,科學家從各種實務抽絲剝繭,歸納出理論,所以理論是放諸四海而皆準的。APICS是製造業管理理論的集成,寶盛的NEO SOA-ERP和SAP或Oracle一樣,都是建立在APICS的理論基礎之上。
除了復盛經驗和APICS理論基礎,SOA-ERP也深知科技離不開人性,所以開發過程也融入認知心理學、組織行為學等科學,將企業功能切割成類似IC的一萬多個服務元件,讓開發者可以隨心所欲的快速開發出合乎人性的介面和流程之應用程式。
NEO應用程式
SOA-ERP服務元件可被任何程式語言呼叫,NEO是用Java開發的應用程式,其畫面上的欄位配置完全依照SOA-ERP服務元件的輸入Key和輸出Key,故可用來理解SOA-ERP服務元件的構造,也可以用來驗證任何語言開發出來的客製程式之正確性。
[ 閱讀更多 【全面瞭解企業資料服務】系列文章 ]
NEO有「無程式客製化(NPC, No Program Customization)」工具,可設定(Configure)畫面和流程,包括隱藏欄位、隱藏按鈕、縮短流程(多個作業合併成一個作業)、增加服務(除了原來的作業又多執行一些作業)等;也可以動態注入(Dynamically Inject)程式指令來改變報表或畫面。
不論用何種語言組合SOA-ERP服務元件開發應用程式,都可以直接用NEO來維護核心基本資料。只要利用NPC客製,NEO也適用於各企業的各種單據流程。
組合服務元件客製應用程式
利用手機感測器和各種「低碼開發」工具客製應用程式,可滿足對方便性和行動性要求極高的作業。所有客製程式都只是設計畫面和流程,再組裝如同IC的SOA-ERP服務元件。正如3C產品中都有IC和各種電子零件一樣,企業應用程式都由SOA-ERP服務元件和各種畫面元件構成,SOA-ERP是軟體積體電路。
除了NEO應用程式,目前已有獨立開發者設計出Android行動應用程式、響應式網頁(RWD, Responsible Web Design)應用程式、和醫療業網頁應用程式。這些開發者都使用他們熟悉的語言,包括Java, Python, JavaScript, PHP, MIT AI2等。期待未來會有越來越多獨立開發者設計各種應用程式,放在企業雲平台(ECP, Enterprise Cloud Platform)供企業使用者「隨插即用(Plug and Play)」。
資料的安全性
SOA-ERP降低開發應用程式的技術門檻,甚至連完全不懂資料庫的一般員工也可以寫應用程式給自己用。這樣做會不會有資安的問題?不會,反而更安全。
SOA-ERP的一萬多個服務元件背後的資料庫被封裝(Encapsulated)起來,只有少數獲得授權的資訊主管才能碰到。開發者只能呼叫服務元件,完全看不到資料庫,所以不懂資料庫的人也能寫應用程式。
開發應用程式時,開發者只能呼叫服務元件,而服務元件也被封裝起來,每個服務元件都必須傳入帳號和密碼,没有被授權的開發者,就算會寫程式呼叫服務元件也無法取得回傳資料。
SOA-ERP的一萬多個服務元件,都各自被封裝起來,如同每個積體電路都被封裝起來一樣。應用程式開發者只能查閱服務文件(Service Doc)寫程式,如同3C產品開發者只能查閱IC的Data Book不能動裡面的晶片一樣。
SOA-ERP是軟體積體電路。
(本文授權非營利轉載,請註明出處:CIO Taiwan)