關(guān)于業(yè)務(wù)流程管理(BPM)和面向服務(wù)架構(gòu)(SOA)之間關(guān)系的討論熱鬧非凡。二者也是多年來(lái)的熱門話題,但是關(guān)于它們的討論通常都出現(xiàn)在互不相關(guān)的論壇上,討論它們的人通常也屬于不同的圈子。不過(guò)現(xiàn)在這種情況正在改變,因?yàn)檫@兩個(gè)概念以及相關(guān)技術(shù)的使用者和提供者正日漸將二者結(jié)合起來(lái)看待。
BPM陣營(yíng)通常聲稱,SOA對(duì)于實(shí)現(xiàn)BPM來(lái)說(shuō)不是必需的。只需部署一個(gè)BPM套件,就可以更快地實(shí)現(xiàn)目標(biāo)而不會(huì)帶來(lái)多少?gòu)?fù)雜性。SOA陣營(yíng)則注重于如何從一般意義上解決企業(yè)IT的復(fù)雜性。該陣營(yíng)通常聲稱BPM是SOA的一個(gè)特性,但是它是SOA解決方案的一部分,而不是一個(gè)單獨(dú)的東西。當(dāng)SOA領(lǐng)域的人士談到BPM時(shí),該術(shù)語(yǔ)通常與服務(wù)編排或流程整合同義,而不強(qiáng)調(diào)對(duì)業(yè)務(wù)分析人員友好的建;蛉藛T交互,而后者對(duì)BPM陣營(yíng)來(lái)說(shuō)非常重要。
為了澄清這些誤解,我認(rèn)為有必要闡明BPM與SOA的不同本質(zhì):SOA是一種架構(gòu)方法;BPM則是一組協(xié)調(diào)活動(dòng)。
因此,可以很容易地得到使用SOA或不使用SOA的BPM,反之亦然。我們來(lái)看看不同組合的優(yōu)點(diǎn)。
如果部署一個(gè)不使用SOA的BPM套件,則可以獲得快速創(chuàng)建、執(zhí)行和監(jiān)控/管理業(yè)務(wù)流程的能力。業(yè)務(wù)流程的模型可以由業(yè)務(wù)分析人員創(chuàng)建,但是其完整實(shí)現(xiàn)則需要與底層IT系統(tǒng)的集成(以及定義用戶如何與該流程交互,但是現(xiàn)在我們暫不考慮)。BPM套件(如BEA的AquaLogic BPM Suite)支持使用各種不同的技術(shù)(面向服務(wù)的或不是面向服務(wù)的)對(duì)應(yīng)用程序和數(shù)據(jù)庫(kù)進(jìn)行輕松訪問。實(shí)現(xiàn)由代碼和來(lái)自于并依賴于底層系統(tǒng)接口的元數(shù)據(jù)組成,因此,對(duì)底層數(shù)據(jù)庫(kù)和應(yīng)用程序的任何更改都將導(dǎo)致對(duì)業(yè)務(wù)流程的更改。
如果組織和IT環(huán)境規(guī)模比較小,并且由同樣一組人來(lái)控制所有的系統(tǒng)(包括BPM套件)的話,這是完全可以的。如果底層系統(tǒng)完全不更改的話,這種方法同樣運(yùn)行良好。
但是,如果BPM套件由一個(gè)小組部署,并消費(fèi)來(lái)自另一個(gè)小組的系統(tǒng)的服務(wù),那么協(xié)調(diào)和管理每個(gè)小組中的更改的任務(wù)很快就會(huì)變得非常困難。這是SOA要解決的典型問題,因此,SOA可以應(yīng)用于BPM套件的部署,就像應(yīng)用于其它地方一樣。
如果BPM作為SOA的一部分進(jìn)行部署,這意味著當(dāng)一個(gè)業(yè)務(wù)流程連接到底層系統(tǒng)時(shí),它連接到由企業(yè)服務(wù)總線所提供的代理服務(wù),這樣就隱藏了底層應(yīng)用程序和數(shù)據(jù)庫(kù)的復(fù)雜性。這具有以下優(yōu)點(diǎn):
將業(yè)務(wù)流程連接到系統(tǒng)的過(guò)程會(huì)更簡(jiǎn)單,因?yàn)镮T可以公開更有用的接口,比如聚合的數(shù)據(jù)服務(wù)或使用標(biāo)準(zhǔn)協(xié)議而不是專有協(xié)議的服務(wù)。這減少了實(shí)現(xiàn)流程所需的IT工作量,并允許流程人員將精力集中于流程,而不是粘合流程與底層系統(tǒng)所需的技術(shù)。
它使得實(shí)現(xiàn)更為健壯,因?yàn)閷?duì)底層IT系統(tǒng)的更改不必影響流程所使用的接口。
它在BPM套件之外提供了一個(gè)獨(dú)立的控制和管理層。這允許IT小組更好地管理他們所擁有和維護(hù)的服務(wù)的策略和資源。
SOA還支持從BPM套件中獲得對(duì)它所連接到的系統(tǒng)的更好可見度。IT小組可以在服務(wù)注冊(cè)庫(kù)中注冊(cè)服務(wù),流程開發(fā)人員(甚至可能是業(yè)務(wù)分析師)可以在構(gòu)建流程時(shí)瀏覽這樣的注冊(cè)庫(kù)。這確保了服務(wù)可以被正確地使用和重用,而且通常簡(jiǎn)化了業(yè)務(wù)流程,因?yàn)槭褂谜_的服務(wù)可以將流程本身的復(fù)雜性降至最低。
無(wú)疑,這些優(yōu)點(diǎn)只有在IT基礎(chǔ)架構(gòu)足夠復(fù)雜,并且/或者BPM項(xiàng)目達(dá)到一定的范圍和規(guī)模時(shí)才能顯現(xiàn)出來(lái)。因此,在很多情況下,應(yīng)該首先開發(fā)出BPM,而將SOA組件留待以后考慮。
最好的方法是一開始就讓業(yè)務(wù)運(yùn)作團(tuán)隊(duì)和IT企業(yè)架構(gòu)小組保持良好的對(duì)話,并針對(duì)未來(lái)進(jìn)行規(guī)劃,同時(shí)支持戰(zhàn)術(shù)性執(zhí)行。這就需要正確地組合產(chǎn)品。例如,BPM套件本身應(yīng)該能夠提供豐富的連通性,以便無(wú)需全面應(yīng)用完善的SOA來(lái)使得BPM運(yùn)行,這一點(diǎn)非常重要。類似地,BPM套件應(yīng)該支持SOA,這樣BPM與SOA才不至于存在于獨(dú)立的豎井中,這也很重要。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:BPM與SOA之間的區(qū)別及聯(lián)系
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/1082068107.html