BPM是SOA架構(gòu)的核心組件之一,這意味著集成能力是BPM系統(tǒng)的必須能力,一個(gè)沒(méi)有集成能力的流程管理系統(tǒng)永遠(yuǎn)無(wú)法成為BPM。
很多人都認(rèn)為,做系統(tǒng)集成就是做接口,其實(shí),遠(yuǎn)遠(yuǎn)沒(méi)有那么簡(jiǎn)單。那么,怎樣是正確的思路呢?要回答這個(gè)問(wèn)題我們先討論下集成的目標(biāo)
- 實(shí)現(xiàn)業(yè)務(wù)自動(dòng)化;
- 降低IT架構(gòu)的總擁有成本;
- 同時(shí),系統(tǒng)與系統(tǒng)之間是松耦合的,可以任意替換其中的組件。
基于這些目標(biāo),我們來(lái)對(duì)比下兩種方式的優(yōu)劣勢(shì):
集成模式
現(xiàn)在市場(chǎng)上的流程管理產(chǎn)品的集成能力參差不齊,主要有以下幾種系統(tǒng)集成的方式:
從實(shí)際的應(yīng)用來(lái)看,我們看到絕大部分流程管理產(chǎn)品采用【系統(tǒng)集成節(jié)點(diǎn)】這種集成模式。這種模式只能用于做DEMO,一旦上生產(chǎn)環(huán)境就會(huì)發(fā)現(xiàn)是完全不可用的。我們看到,很多客戶采用了這種系統(tǒng)之后,不得不再自行開(kāi)發(fā)一個(gè)集成程序,專門用于流程引擎與第三方系統(tǒng)的交互,來(lái)保障集成的高可用。通常,內(nèi)置ESB的BPM系統(tǒng)默認(rèn)能跟第三方ESB集成。
所以,客戶如果需要選擇一款具備集成能力的流程管理產(chǎn)品,那么必須選擇一款內(nèi)置ESB的BPM。從實(shí)際來(lái)看,除了Lombardi和Oracle BPM以外,國(guó)內(nèi)一流的流程管理產(chǎn)品的集成能力,大大領(lǐng)先于國(guó)外的其他流程管理產(chǎn)品。
運(yùn)行環(huán)境
集成系統(tǒng)的運(yùn)行環(huán)境至關(guān)重要,如果集成組件本身的運(yùn)行環(huán)境都不是高可用的,那么一切都無(wú)從談起。常見(jiàn)的流程引擎運(yùn)行環(huán)境有:
- 流程引擎HOST在其他系統(tǒng)的進(jìn)程里,比如:IIS,SharePoint等。
- 流程引擎HOST在自己的Service里。
我們看到很多中國(guó)的二流的流程產(chǎn)品,采用的是HOST在其他進(jìn)程里的模式,這對(duì)于系統(tǒng)集成來(lái)說(shuō)是一個(gè)災(zāi)難。絕大部分國(guó)外的產(chǎn)品和中國(guó)的一流的流程管理產(chǎn)品,都采用的是HOST在自己的Service里面。
前端集成
前面介紹了集成的各種方式,對(duì)于最終用戶來(lái)說(shuō),他們關(guān)注的還是如何展現(xiàn),比如是否方便與門戶系統(tǒng)集成,統(tǒng)一組織架構(gòu),單點(diǎn)登錄。通常,主流的流程管理產(chǎn)品在這方面都不存在問(wèn)題。
開(kāi)發(fā)模式
我們看到有一些流程管理產(chǎn)品,做一個(gè)與SAP集成的流程需要寫一段代碼,下一次再做一個(gè)與SAP集成的流程又要寫一段代碼,這兩段代碼80%是一樣的,如果每做一個(gè)系統(tǒng)集成的流程都要寫一段代碼,那么開(kāi)發(fā)人員的工作量將非常大。
安全性
這個(gè)是一個(gè)重要的指標(biāo)。安全性包括很多方面,比如:密碼安全、數(shù)據(jù)安全、接口安全、帳戶管理等。通常,前面那些都可以通過(guò)基礎(chǔ)設(shè)施,比如:硬件、操作系統(tǒng)等實(shí)現(xiàn),ESB則需要自行實(shí)現(xiàn)帳戶管理,帳戶管理里面有一項(xiàng)重要的功能就是帳戶映射。
帳戶映射管理是指ESB需要記錄每個(gè)用戶與業(yè)務(wù)系統(tǒng)用戶的對(duì)應(yīng)關(guān)系,這個(gè)映射可能是M:N的關(guān)系。比如:一個(gè)上海的員工,在發(fā)起一個(gè)采購(gòu)訂單審批的時(shí)候,他只能選擇上海公司代碼下的物料號(hào),而不能選擇北京公司代碼下的物料。這意味著,用戶在BPM上的賬號(hào)要映射到ERP的賬戶上。
BPM里的ESB的其他基礎(chǔ)功能
集群、日志、數(shù)據(jù)處理(數(shù)據(jù)映射、數(shù)據(jù)轉(zhuǎn)換、XPat支持、內(nèi)聯(lián)函數(shù)和處理腳本支持等)、事務(wù)管理、BPEL、適配器、自定義擴(kuò)展、權(quán)限管理、帳戶管理、配置傳輸管理、性能監(jiān)控、會(huì)話管理、監(jiān)聽(tīng)服務(wù)、后臺(tái)作業(yè)管理、字段狀態(tài)管理、表單支持等。
增值服務(wù)
對(duì)于具備ESB能力的流程系統(tǒng),很多廠商在其中研發(fā)了大量的增值模塊,比如:SAP Connector、Master Data Management、SWIFT等。
這并不是簡(jiǎn)單的接口調(diào)用,而是一個(gè)完整的解決方案,比如:跟SAP集成,并不是簡(jiǎn)單的支持BAPI和RFC即可;跟SAP集成,其實(shí)是跟SAP環(huán)境集成,通常,SAP還會(huì)有大量的外掛程序,要實(shí)現(xiàn)跟SAP的集成,不但要實(shí)現(xiàn)跟SAP集成,還要實(shí)現(xiàn)跟SAP外掛程序的集成。
又比如實(shí)現(xiàn)主數(shù)據(jù)大集中,這并不只是技術(shù)問(wèn)題,還需要大量的行業(yè)經(jīng)驗(yàn)才能實(shí)現(xiàn),很顯然,金融行業(yè)的集中管理的客戶主數(shù)據(jù)跟制造行業(yè)的客戶主數(shù)據(jù)是完全不一樣的。實(shí)施人員需要清楚地知道在某個(gè)行業(yè)里要把哪些系統(tǒng)的哪些數(shù)據(jù)進(jìn)行集中,又分別采用哪種集中模式等等。
總結(jié)
系統(tǒng)集成絕不是調(diào)接口,高可用是必須的,否則一切都無(wú)從談起。雖然市場(chǎng)上有很多產(chǎn)品具備一定的集成能力,但是絕大多數(shù)只是淺度的集成,根本無(wú)法在生產(chǎn)環(huán)境中使用。如果客戶對(duì)流程自動(dòng)化有要求,那么只能選擇具有ESB模塊的流程產(chǎn)品。而且這種ESB要能支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),比如:訂單、XML類型等。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:CIO:系統(tǒng)集成怎么做?接口還是ESB
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/1082055701.html