1996年,GartnerGroup最早提出SOA理念,現(xiàn)在已經(jīng)成為風(fēng)靡IT領(lǐng)域的一個(gè)重要概念。對于SOA這個(gè)概念,一般認(rèn)為SOA是一種創(chuàng)新的應(yīng)用架構(gòu),它著眼于日常的業(yè)務(wù)應(yīng)用,并將它們劃分為單獨(dú)的業(yè)務(wù)功能和流程,即所謂的服務(wù)。一項(xiàng)調(diào)查顯示,表示愿意在2010年之前使用或者正在使用SOA的企業(yè)占68%。在全球2000強(qiáng)里,已經(jīng)采用SOA的企業(yè)占到了74%。采用SOA進(jìn)行企業(yè)IT構(gòu)建,已經(jīng)成為了一種趨勢。服務(wù)間通過網(wǎng)絡(luò)彼此通信,進(jìn)行分布式組合、部署。
另外一種觀點(diǎn),將SOA看做一個(gè)組件模型,它將應(yīng)用程序的不同功能單元,通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它獨(dú)立于現(xiàn)實(shí)的硬件平臺、操作系統(tǒng)和編程語言。
可以看出,服務(wù)在SOA中的地位至關(guān)重要。服務(wù)是一個(gè)提供特定功能的軟件應(yīng)用。描述它的另一種方式是在流程中可重復(fù)使用的任務(wù)。W3C指出:“服務(wù)提供者完成一組工作,為服務(wù)使用者交付所需的最終結(jié)果。最終結(jié)果通常會使使用者的狀態(tài)發(fā)生變化,但也可能使提供者的狀態(tài)發(fā)生改變,或者雙方都產(chǎn)生變化”。
SOA架構(gòu)下,服務(wù)恰恰為流程的動態(tài)化管理提供了條件與可能。
1、BPM在SOA中的角色
目前,人們對BPM和SOA持有兩大截然相反的觀點(diǎn)。
一種認(rèn)為,BPM和SOA是兩個(gè)相對的東西:一個(gè)是管理方法,是業(yè)務(wù)驅(qū)動措施,一種是系統(tǒng)架構(gòu),是IT驅(qū)動措施,兩者不可能相互兼容;另外一種觀點(diǎn)卻認(rèn)為SOA賦予BPM新的生命并幫助其實(shí)現(xiàn)靈活性。同時(shí),BPM也令SOA舊貌換新顏,將業(yè)務(wù)層面和IT層面緊密聯(lián)系在一起,F(xiàn)在,大量的事實(shí)傾向第二種觀點(diǎn),越來越多的中間件供應(yīng)商也將SOA和BPM產(chǎn)品聯(lián)合起來考慮。
IBM公司W(wǎng)ebSphere產(chǎn)品銷售部的經(jīng)理StephanieWilkinson認(rèn)為“BPM是SOA在業(yè)務(wù)方面的一個(gè)切入點(diǎn)。實(shí)現(xiàn)服務(wù)的重用是SOA的關(guān)鍵;而BPM則是對業(yè)務(wù)進(jìn)行管理,重點(diǎn)是對業(yè)務(wù)流程實(shí)現(xiàn)建模和監(jiān)控。要完成BPM的一些相關(guān)工作,需要基于一個(gè)靈活的IT架構(gòu),SOA就是一個(gè)不錯(cuò)的選擇,可以將服務(wù)和流程結(jié)合在一起。
ZapThink公司的高級分析師RonSchmelzer說“要想建立松耦合、復(fù)合的服務(wù)定向應(yīng)用,所有的供應(yīng)商都需要一個(gè)可靠的SOA解決方案,還要考慮其產(chǎn)品的業(yè)務(wù)流程方面。”他指出IBM和OracleandMicrosoft公司的產(chǎn)品可以提供SOA架構(gòu)下的流程管理方案。SonicSystems,F(xiàn)iorano和SOASoftware這樣的供應(yīng)商也可以勝任。甚至最近出臺的復(fù)合應(yīng)用供應(yīng)商如SEECSystems,WebifySolutions,Tenfold也在他們的SOA基礎(chǔ)設(shè)施中增加了BPM功能。
BPM在SOA架構(gòu)中扮演的角色。一個(gè)叫做“服務(wù)”的名詞作為銜接者,將BPM和SOA緊緊的聯(lián)系在了一起。
業(yè)務(wù)流程涉及一個(gè)或多個(gè)參與者、活動、業(yè)務(wù)規(guī)則以及跨多游道的商業(yè)規(guī)則。服務(wù)作為一個(gè)細(xì)粒度對象將執(zhí)行一個(gè)非常特殊的功能。服務(wù)可以以獨(dú)立的方式脫離上下文,而業(yè)務(wù)流程在已經(jīng)定義好上下文的基礎(chǔ)上才能執(zhí)行。
服務(wù)是一個(gè)提供特定功能的軟件應(yīng)用。描述它的另外一種方式是,服務(wù)是在業(yè)務(wù)流程中可重復(fù)的任務(wù)。服務(wù)可以用公開的接口來描述,而與它們的實(shí)現(xiàn)方式無關(guān)。業(yè)務(wù)流程就是由許多這樣的所謂松散耦合的軟件服務(wù)組合而成。
業(yè)界有一個(gè)很形象的比喻,將傳統(tǒng)的IT開發(fā),僵化流程比作“雕版印刷”;將基于SOA架構(gòu)下的BPM比作“活字印刷”;“活字”就是服務(wù);“排版”就是業(yè)務(wù)流程的編排;“替換活字"就是服務(wù)的重用或業(yè)務(wù)規(guī)則的改寫。
2、基于SOA架構(gòu)下的BPM的優(yōu)勢
最近ForresterResearch的一份中間件軟件市場報(bào)告中指出:“如果企業(yè)中的系統(tǒng)已經(jīng)采用了SOA,那么業(yè)務(wù)部門會非常重視BPM項(xiàng)目,因?yàn)樗麄冋J(rèn)識到這些BPM項(xiàng)目很容易實(shí)施,并且將帶來巨大的經(jīng)濟(jì)利益”。IBM的BPM副總AngelDiaz表示:與SOA的結(jié)合增強(qiáng)了BPM的適應(yīng)能力。“你可以在沒有SOA的情況下單獨(dú)實(shí)施BPM,但是當(dāng)你開始使用基礎(chǔ)設(shè)施,并且通過ESB和服務(wù)做投資的時(shí)候,會發(fā)現(xiàn)基于SOA架構(gòu)下的BPM是多么的靈活”。
研究SOA和BPM的關(guān)系時(shí),首先我們應(yīng)該明確一點(diǎn):SOA是一種架構(gòu),而BPM是一組協(xié)調(diào)活動。部署B(yǎng)PM,并不一定要基于SOA架構(gòu),以此可以快速的實(shí)現(xiàn)目標(biāo)。但由于SOA架構(gòu)下,具有易于集成、降低管理復(fù)雜性、消除信息孤島、增加重用和降低成本等特點(diǎn),在此結(jié)構(gòu)下實(shí)施BPM可以將其作用發(fā)揮的淋漓盡致。
在單獨(dú)部署B(yǎng)PM的情況下,流程可以被簡單而快速的挖掘、設(shè)計(jì)、執(zhí)行、管理和維護(hù)、最優(yōu)化。而BPM的真正實(shí)現(xiàn),還必須與底層的IT系統(tǒng)相集成。在底層的IT系統(tǒng)完全不更改,并且業(yè)務(wù)人員和IT技術(shù)人員一起控制所有的系統(tǒng)的情況下,是否基于SOA架構(gòu),沒有太大的影響。圖2是BPM的單獨(dú)應(yīng)用。
當(dāng)BPM由一個(gè)小組來部署,消費(fèi)來自另外一個(gè)小組的系統(tǒng)的服務(wù),那么協(xié)調(diào)和管理每個(gè)小組中的更改的任務(wù)就會相當(dāng)困難;蛘吣硞(gè)組織的IT基礎(chǔ)架構(gòu)十分復(fù)雜,并且經(jīng)常需要改動,在這兩種情況下,就應(yīng)該基于SOA架構(gòu)柬實(shí)施BPM。因?yàn)楫?dāng)BPM部署或業(yè)務(wù)改變時(shí),業(yè)務(wù)人員會以他們的角度來闡釋需求,而IT技術(shù)人員要考慮去怎樣實(shí)現(xiàn)這些需求。技術(shù)人員會將他們認(rèn)為可能重復(fù)出現(xiàn)的業(yè)務(wù)進(jìn)行代碼的封裝,以各重用,但技術(shù)人員常常不清楚哪些業(yè)務(wù)上的功能在將來可能會需要進(jìn)行頻繁修改和重復(fù)使用。所以在實(shí)現(xiàn)企業(yè)的業(yè)務(wù)邏輯時(shí),技術(shù)人員通常會使用面向過程的方法對現(xiàn)實(shí)業(yè)務(wù)進(jìn)行描述。
如此一來,最常見的情況就是實(shí)現(xiàn)不同“詳細(xì)流程”代碼常常會摻和在一起、共用一批內(nèi)存變量。這就直接導(dǎo)致了實(shí)現(xiàn)不同流程的程序代碼不可分離和重組,這在技術(shù)上稱為“高耦合”。最終,當(dāng)企業(yè)希望改變流程的順序時(shí),就不得不對代碼進(jìn)行大量的重新編寫和調(diào)整:當(dāng)希望在別的流程中希望使用另一個(gè)流程中已實(shí)現(xiàn)的詳細(xì)流程時(shí),代碼卻無法順利地從原來的流程中進(jìn)行分離。所以當(dāng)企業(yè)的業(yè)務(wù)流程發(fā)生變化時(shí),技術(shù)人員不得不花費(fèi)極大的精力去進(jìn)行維護(hù)和修改,這樣做不但增加了企業(yè)構(gòu)建IT的成本,對原先程序功能的修改可能還會帶來許多無法控制的風(fēng)險(xiǎn)。
總結(jié)一下,基于SOA架構(gòu)下的BPM有如下優(yōu)勢:
。1)屏蔽了底層應(yīng)用程序和數(shù)據(jù)庫的復(fù)雜性。當(dāng)BPM作為SOA的一部分進(jìn)行部署的時(shí)候,流程可以通過企業(yè)服務(wù)總線提供的代理服務(wù)來接入到底層的IT系統(tǒng)。
(2)業(yè)務(wù)流程連接到系統(tǒng)的過程會更簡單。IT可以公開更有用的接口,例如使用聚合的數(shù)據(jù)服務(wù)或使用標(biāo)準(zhǔn)協(xié)議而不是專有協(xié)議的服務(wù)。這樣減少了實(shí)現(xiàn)流程所需的IT任務(wù)量,從而使流程人員將注意力更傾向于流程本身,而不是流程接入到底層IT系統(tǒng)所用的技術(shù)。
(3)BPM的實(shí)現(xiàn)更為健壯。因?yàn)榈讓拥腎T系統(tǒng)的變動與更改都不會影響到流程所用的接口。
。4)簡化了流程的本身。在SOA架構(gòu)下,服務(wù)被注冊在服務(wù)注冊中心,流程開發(fā)人員可以在構(gòu)建流程時(shí)瀏覽注冊中心,確保了與流程相關(guān)的服務(wù)可以被正確的使用和重用。這樣流程本身的復(fù)雜度將降至最低。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(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)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:SOA:讓ERP業(yè)務(wù)流程管理更簡單
本文網(wǎng)址:http://www.oesoe.com/html/consultation/10820615439.html