對(duì)于BPM軟件的實(shí)施,我們首先可以從通過(guò)BPM系統(tǒng)全新構(gòu)建業(yè)務(wù)應(yīng)用基于BPM系統(tǒng)進(jìn)行流程整合兩個(gè)場(chǎng)景來(lái)討論BPM軟件實(shí)施過(guò)程中的異同。
全新構(gòu)建業(yè)務(wù)應(yīng)用
一個(gè)完整的BPM系統(tǒng)本身就可以理解為一個(gè)既開(kāi)放,又相當(dāng)封閉的SOA架構(gòu)平臺(tái)。開(kāi)放主要是說(shuō)該系統(tǒng)能夠很好的集成和復(fù)用已有的SOA共享服務(wù)能力,封閉則是說(shuō)BPM軟件可以從設(shè)計(jì)建模、到測(cè)試、到部署上線(xiàn)端到端的完成一個(gè)業(yè)務(wù)應(yīng)用的構(gòu)建?梢钥吹饺聵(gòu)建業(yè)務(wù)應(yīng)用相當(dāng)來(lái)說(shuō)反而容易,這個(gè)時(shí)候沒(méi)有和企業(yè)內(nèi)部遺留IT系統(tǒng)集成和協(xié)同的麻煩。在這種情況下應(yīng)用基礎(chǔ)數(shù)據(jù)完全可以以BPM系統(tǒng)為最初的源頭,很多跨流程的業(yè)務(wù)單據(jù)信息也直接在BPM系統(tǒng)中進(jìn)行建模和設(shè)計(jì)。對(duì)于界面和展現(xiàn)即完全利用BPM軟件本身提供的一整套快捷開(kāi)發(fā)工具進(jìn)行,本身也不存在單獨(dú)構(gòu)建一個(gè)IT系統(tǒng)時(shí)候還需進(jìn)行基礎(chǔ)技術(shù)框架構(gòu)建的問(wèn)題。但是在這種場(chǎng)景下構(gòu)建BPM,仍然存在一些問(wèn)題無(wú)法解決,具體包括如下:
首先對(duì)于業(yè)務(wù)系統(tǒng),即以工單和流程驅(qū)動(dòng)的系統(tǒng),還有就是以核心共享數(shù)據(jù)為基礎(chǔ)驅(qū)動(dòng)的系統(tǒng)。前者類(lèi)似OA,ITIL類(lèi)業(yè)務(wù)系統(tǒng);后者類(lèi)似資產(chǎn),資源管理等系統(tǒng)。注意對(duì)于后者我們期望的一個(gè)完整的全局?jǐn)?shù)據(jù)模型,這個(gè)數(shù)據(jù)模型往往會(huì)應(yīng)用到多個(gè)業(yè)務(wù)流程中,而不是簡(jiǎn)單的工單。在這種情況下采用BPM軟件是很難實(shí)現(xiàn)完整的業(yè)務(wù)功能的。因此BPM更多的還是適用于流程驅(qū)動(dòng)的業(yè)務(wù)應(yīng)用。
其次,通過(guò)BPM軟件構(gòu)建出來(lái)的系統(tǒng)往往是跨越了多個(gè)業(yè)務(wù)部門(mén)的一個(gè)端到端的業(yè)務(wù)流程管理,在這種情況可能并不會(huì)再具備原有的項(xiàng)目系統(tǒng),采購(gòu)系統(tǒng),物流系統(tǒng)等嚴(yán)格的業(yè)務(wù)系統(tǒng)劃分,而是這些業(yè)務(wù)都完整的實(shí)現(xiàn)在了一個(gè)端到端的業(yè)務(wù)流程上。那么這個(gè)BPM系統(tǒng)的業(yè)務(wù)管理和責(zé)任部門(mén)是誰(shuí)?這個(gè)時(shí)候我們往往找不到一個(gè)主導(dǎo)的責(zé)任部門(mén),那么這個(gè)BPM系統(tǒng)后續(xù)如何推廣實(shí)施?靠IT部門(mén)的力量往往是很難真正落地的。這也是我們常說(shuō)的BPM系統(tǒng)的推廣難點(diǎn)已經(jīng)不在技術(shù)上,而在于業(yè)務(wù)上。
最后即使是流程驅(qū)動(dòng)的業(yè)務(wù)系統(tǒng),如果期望通過(guò)BPM軟件提供的功能完全通過(guò)可配置和可視化設(shè)計(jì)的方式完全實(shí)現(xiàn)出來(lái)還是存在困難,即使有相關(guān)的規(guī)則引擎,但是仍然很難做到完全可配置的快速開(kāi)發(fā)。這就自然涉及到了即使全新構(gòu)建BPM系統(tǒng),在BPM的底層仍然需要有實(shí)現(xiàn)核心能力和業(yè)務(wù)組件和技術(shù)組件,這些組件重點(diǎn)變成提供領(lǐng)域服務(wù)能力,而不是前臺(tái)界面展現(xiàn)和協(xié)同。這個(gè)點(diǎn)必須要意識(shí)到,否則容易理解為BPM是萬(wàn)能的,啥流程都可以很簡(jiǎn)單的建模和配置設(shè)計(jì)出來(lái),那就大大的犯錯(cuò)了。
遺留系統(tǒng)通過(guò)BPM來(lái)整合場(chǎng)景
這個(gè)相當(dāng)于前者來(lái)說(shuō)往往更加困難,困難點(diǎn)就再在于期望通過(guò)BPM來(lái)解決原有的端到端流程中的協(xié)同斷點(diǎn),同時(shí)又需要最大化地保留歷史遺留系統(tǒng)的IT資產(chǎn)。大家看SOA架構(gòu)好像覺(jué)得這個(gè)問(wèn)題已經(jīng)很簡(jiǎn)單地解決了,即歷史的遺留系統(tǒng)都會(huì)識(shí)別為組件,組件應(yīng)該將遺留系統(tǒng)的業(yè)務(wù)和數(shù)據(jù)服務(wù)能力提供出來(lái),然后通過(guò)BPM層對(duì)服務(wù)進(jìn)行組合,服務(wù)進(jìn)行編排,形成一個(gè)端到端的完整流程。但是這個(gè)本質(zhì)問(wèn)題還是BPM和遺留業(yè)務(wù)的關(guān)系問(wèn)題。
如果基于BPM是來(lái)實(shí)現(xiàn)一個(gè)完整的端到端流程,這個(gè)端到端流程在構(gòu)建過(guò)程中確實(shí)可以調(diào)用遺留系統(tǒng)的服務(wù)能力,但是這個(gè)端到端流程是否涉及到單據(jù)和數(shù)據(jù)的產(chǎn)生,是否涉及到人工流程的處理?如果流程會(huì)產(chǎn)生單據(jù)和數(shù)據(jù)信息,那么根據(jù)原有IT架構(gòu)這些業(yè)務(wù)單據(jù)仍然應(yīng)該產(chǎn)生和存儲(chǔ)在遺留IT系統(tǒng)而不是BPM系統(tǒng),對(duì)于人工流程的處理同樣的道理,仍然應(yīng)該是在原有業(yè)務(wù)系統(tǒng)中統(tǒng)一處理而不是在BPM系統(tǒng)。
這個(gè)一分析清楚我們就容易理解,遺留系統(tǒng)場(chǎng)景下BPM進(jìn)行整合,不能憑空地再找出一個(gè)BPM系統(tǒng)出來(lái),BPM的重點(diǎn)是將原有業(yè)務(wù)系統(tǒng)中的單據(jù)和流程整合和集成起來(lái),而不是替代原有系統(tǒng)的能力。最終集成的效果可以通過(guò)Portlet形式展示到門(mén)戶(hù),而不是新增加一個(gè)業(yè)務(wù)系統(tǒng)。把這個(gè)理解清楚了,就清楚在這種場(chǎng)景下BPM實(shí)施的重點(diǎn)應(yīng)該是由業(yè)務(wù)系統(tǒng)提供完整的領(lǐng)域服務(wù)層能力出來(lái),而B(niǎo)PM重點(diǎn)是來(lái)統(tǒng)一實(shí)現(xiàn)界面層和展現(xiàn),實(shí)現(xiàn)各個(gè)業(yè)務(wù)系統(tǒng)中服務(wù)能力的組合。即使在這種情況下都還需要考慮如何解決門(mén)戶(hù)層應(yīng)用功能和原有IT系統(tǒng)間功能的統(tǒng)一工作臺(tái)展現(xiàn),這個(gè)問(wèn)題沒(méi)有解決好就會(huì)變成業(yè)務(wù)部門(mén)人員需要兩處處理業(yè)務(wù),在實(shí)施層面是很難推廣的。
實(shí)施BPM有個(gè)很重要的內(nèi)容,就是應(yīng)用系統(tǒng)或者叫模塊的實(shí)施,以及原有的工作流引擎是否已經(jīng)成功實(shí)施。如果這些沒(méi)有實(shí)施,那么BPM將作為為應(yīng)用和工作流的基礎(chǔ)支撐,如果已經(jīng)實(shí)施那么就存在如何同步原有的應(yīng)用數(shù)據(jù),是棄用原有各個(gè)業(yè)務(wù)系統(tǒng)不統(tǒng)一的流程引擎還是保留資產(chǎn)進(jìn)行整合的問(wèn)題。對(duì)原有的IT資產(chǎn)保留的越多,你會(huì)看到BPM本身在實(shí)施過(guò)程中能夠用到的能力越是減少和退化。
對(duì)于一個(gè)已經(jīng)相當(dāng)成熟的內(nèi)部IT來(lái)說(shuō),BPM還存在哪些價(jià)值和意義。
第一個(gè)方面是通過(guò)BPM來(lái)實(shí)現(xiàn)端到端流程執(zhí)行的監(jiān)控和流程績(jī)效評(píng)估,注意這本身在完整的應(yīng)用架構(gòu)里面就是在執(zhí)行層上面的事情,這樣可以減少和已有的業(yè)務(wù)系統(tǒng)之間的功能性沖突。
第二是對(duì)于企業(yè)內(nèi)部的很多職能管理部門(mén),如審計(jì)部門(mén),風(fēng)控部門(mén),流程管理部門(mén)等,這些部門(mén)本身不承載核心業(yè)務(wù)價(jià)值鏈上的單據(jù)產(chǎn)生和業(yè)務(wù),而重點(diǎn)是基于已有業(yè)務(wù)系統(tǒng)能力進(jìn)行的IT管控和治理,因此對(duì)于這些部門(mén)新建設(shè)的業(yè)務(wù)系統(tǒng)是最適合通過(guò)BPM工具來(lái)完成的。對(duì)于BPM本身在進(jìn)行流程建模設(shè)計(jì)的時(shí)候,也要注意到最好采用子流程的模式進(jìn)行分層建模和設(shè)計(jì),即對(duì)于BPM流程的頂層重點(diǎn)是自動(dòng)化的端到端業(yè)務(wù)流程,而對(duì)于下層才是人工審批流流程,否則一個(gè)完整的端到端BPM流程將很難進(jìn)行后續(xù)的執(zhí)行監(jiān)控。
當(dāng)前很多企業(yè)就IT成熟度來(lái)說(shuō)都沒(méi)有到能夠理解和實(shí)施BPM的程度,這也是為何很多企業(yè)的BPM實(shí)施僅僅變成了一個(gè)企業(yè)內(nèi)部的統(tǒng)一工作流引擎平臺(tái)實(shí)施的原因。
對(duì)于一個(gè)BPM項(xiàng)目的成功實(shí)施,最重要的就是分析和建模方法的轉(zhuǎn)變,如果仍然是按照傳統(tǒng)的方法已經(jīng)將業(yè)務(wù)分解到多個(gè)業(yè)務(wù)系統(tǒng),那么面對(duì)的又將是遺留系統(tǒng)流程整合問(wèn)題,而不是直接通過(guò)BPM+SOA方式來(lái)構(gòu)建業(yè)務(wù)系統(tǒng)的問(wèn)題。流程驅(qū)動(dòng)IT是分析建模中的一個(gè)重要點(diǎn),從流程開(kāi)始自頂向下分析和分解,劃分組件和識(shí)別服務(wù);再?gòu)慕M件開(kāi)始自底向上進(jìn)行服務(wù)組合和編排,形成應(yīng)用或流程。這是一個(gè)完整的閉環(huán)路線(xiàn),沒(méi)有前者我們就很難真正的保證我們最終劃分的組件,識(shí)別的服務(wù)能夠真正應(yīng)用到后續(xù)的服務(wù)組合和編排上面。
不應(yīng)該太早地進(jìn)入到業(yè)務(wù)系統(tǒng)的概念,對(duì)于SOA整個(gè)咨詢(xún)和建模方法論里面的,我們是弱化業(yè)務(wù)系統(tǒng)的概念,而是進(jìn)一步強(qiáng)化了業(yè)務(wù)組件和技術(shù)組件的概念。這樣做的目的主要是在SOA參考架構(gòu)里面原有的業(yè)務(wù)系統(tǒng)已經(jīng)變成一個(gè)弱邊界,業(yè)務(wù)系統(tǒng)僅僅是多個(gè)組件的靈活組合或組裝;其次當(dāng)我們以業(yè)務(wù)系統(tǒng)出發(fā)進(jìn)行考慮的時(shí)候,我們思維里面仍然是縱向架構(gòu)模式,但是當(dāng)我們以組件,服務(wù)和流程角度來(lái)考慮的時(shí)候,思維里面是一種橫向分層架構(gòu)模式。對(duì)于橫向架構(gòu)模式本身重要的目的就是要打破傳統(tǒng)業(yè)務(wù)系統(tǒng)縱向的強(qiáng)劃分。
上面談的是BPM實(shí)施中相當(dāng)關(guān)鍵的一點(diǎn),把這點(diǎn)想清楚了就清楚了BPM流程建模的真正意義。在流程建模過(guò)程中我們是按照流程驅(qū)動(dòng)的思路在分解流程,在規(guī)劃流程應(yīng)該涉及到的流程環(huán)節(jié)和活動(dòng)節(jié)點(diǎn),在設(shè)計(jì)每個(gè)流程節(jié)點(diǎn)應(yīng)該業(yè)務(wù)自動(dòng)化和人工化處理的事情,在考慮相關(guān)的流程節(jié)點(diǎn)是否應(yīng)該有前臺(tái)的展現(xiàn)和交互界面,表單所涉及到的數(shù)據(jù)對(duì)象結(jié)構(gòu);這塊想通了我們才會(huì)進(jìn)一步考慮這些需要的數(shù)據(jù)或業(yè)務(wù)規(guī)則邏輯處理能力究竟應(yīng)該由下層的哪些業(yè)務(wù)組件或技術(shù)組件來(lái)提供這些服務(wù)。
上面這句話(huà)如何理解?即就業(yè)務(wù)組件或技術(shù)組件本身來(lái)說(shuō)還是按業(yè)務(wù)域,數(shù)據(jù)或技術(shù)域分開(kāi)的,底層是組件化和服務(wù)化的,但是這些組件本身更偏服務(wù)能力提供,這些組件并不關(guān)系前端對(duì)應(yīng)了什么流程,應(yīng)該有什么樣的人機(jī)界面交互,這些組件的職責(zé)相當(dāng)簡(jiǎn)單,就是提供業(yè)務(wù)或技術(shù)服務(wù)能力而已。但是在組件或服務(wù)的上層,我們最終涉及完成的前端或業(yè)務(wù)流程流轉(zhuǎn)所需要的界面卻是不分業(yè)務(wù)組件或系統(tǒng)的,其本身就是流程化和一體化的,這些前端界面,交互和展現(xiàn)不屬于任何一個(gè)業(yè)務(wù)系統(tǒng),而應(yīng)該屬于BPM系統(tǒng)。
這就是一個(gè)理想化的BPM構(gòu)建的方法和思路,把這個(gè)思路想明白后做過(guò)傳統(tǒng)IT系統(tǒng)開(kāi)發(fā)的就比較容易理解為啥BPM系統(tǒng)實(shí)施如此困難,為何BPM系統(tǒng)實(shí)施看到的很多都是單純的HWF人工工作流引擎的實(shí)施。這個(gè)的本質(zhì)就是分析和建模思路沒(méi)有轉(zhuǎn)變,沒(méi)有從傳統(tǒng)圍繞業(yè)務(wù)系統(tǒng)為核心轉(zhuǎn)換為橫向的圍繞組件和服務(wù)為中心來(lái)思考。
BPM構(gòu)建和實(shí)施層面
當(dāng)前各個(gè)國(guó)際大廠(chǎng)商的BPM工具和產(chǎn)品套件已經(jīng)相當(dāng)成熟,但是在這里要說(shuō)明的是BPM軟件產(chǎn)品雖然可以靈活地通過(guò)配置、可視化建模設(shè)計(jì)方式來(lái)構(gòu)建業(yè)務(wù)系統(tǒng)前端流程,但是其配置的繁瑣和復(fù)雜程度往往超過(guò)了直接寫(xiě)代碼的模式。也就是說(shuō)很多時(shí)候可配置的方法雖然看似很美好,能夠靈活地應(yīng)對(duì)業(yè)務(wù)的變化,但是很多時(shí)候往往開(kāi)發(fā)配置效率是降低的,同時(shí)對(duì)于BPM本身新設(shè)計(jì)完成的流程仍然涉及到需重新發(fā)布的過(guò)程,也遠(yuǎn)遠(yuǎn)無(wú)法達(dá)到我們期望的零部署模式。
一個(gè)BPM建模和執(zhí)行工具平臺(tái),更多地是從服務(wù)層開(kāi)始流程整合,而不是從遺留系統(tǒng)的界面層。如果已經(jīng)有成熟的業(yè)務(wù)系統(tǒng)和前端功能界面,那么實(shí)際問(wèn)題僅僅是兩個(gè)系統(tǒng)的兩個(gè)功能間的業(yè)務(wù)或數(shù)據(jù)交互問(wèn)題,這類(lèi)問(wèn)題是不需要用BPM工具來(lái)解決的,直接用到ESB服務(wù)總線(xiàn)這層就足夠了。對(duì)于BPM平臺(tái)一定要注意到其擅長(zhǎng)的并不是單個(gè)業(yè)務(wù)系統(tǒng)內(nèi)部的功能構(gòu)建,如果一個(gè)業(yè)務(wù)系統(tǒng)本身不涉及到外部交互,僅僅涉及到內(nèi)部功能或數(shù)據(jù)流轉(zhuǎn),我們其實(shí)強(qiáng)烈不推薦采用BPM產(chǎn)品和建模方法,能夠有人工工作流引擎就足夠了。一個(gè)稍微復(fù)雜點(diǎn)的業(yè)務(wù)如果全部用BPM可視化建模和配置來(lái)實(shí)現(xiàn)出來(lái),超過(guò)幾十個(gè)節(jié)點(diǎn)是常事。這種BPM建模維護(hù)的難度反而不如邏輯清晰的源代碼。不要把BPM產(chǎn)品理解為快速開(kāi)發(fā)平臺(tái),雖然很多BPM產(chǎn)品想朝這個(gè)方向走,但是確實(shí)不是BPM擅長(zhǎng)的事情。
真正BPM產(chǎn)品最擅長(zhǎng)的還是在跨系統(tǒng)的業(yè)務(wù)流程場(chǎng)景出現(xiàn)的時(shí)候,這種業(yè)務(wù)場(chǎng)景顯然放在任何一個(gè)已有的業(yè)務(wù)系統(tǒng)都不合適,但是這種端到端流程本身在業(yè)務(wù)上又需要統(tǒng)一管理和管控。在這種場(chǎng)景下是最需要BPM的能力,即前端交互和流程流轉(zhuǎn)統(tǒng)一規(guī)劃和設(shè)計(jì),原有的業(yè)務(wù)系統(tǒng)僅僅為上層提供數(shù)據(jù)和業(yè)務(wù)服務(wù)能力。
大家可以考慮下,如何我們要構(gòu)建一個(gè)企業(yè)電商的客戶(hù)自服務(wù)平臺(tái),這個(gè)自服務(wù)平臺(tái)需要能夠方便客戶(hù)實(shí)現(xiàn)對(duì)從訂單到交互的全流程跟蹤和管理。這種平臺(tái)往往本身并不產(chǎn)生大量的基礎(chǔ)數(shù)據(jù)和存儲(chǔ)邏輯,而是需要大量的調(diào)用或系統(tǒng)企業(yè)內(nèi)部已有的CRM系統(tǒng),
ERP系統(tǒng),PDM系統(tǒng),MDM系統(tǒng)的能力。對(duì)于這些遺留系統(tǒng)能夠提供的能力根據(jù)客戶(hù)需求和流程的需要進(jìn)行組合和編排。同時(shí)基于這些能力,重新設(shè)計(jì)端到端的前端界面交互和流程流轉(zhuǎn),這就是一個(gè)BPM相當(dāng)理想的實(shí)施環(huán)境。從這個(gè)層面來(lái)說(shuō)企業(yè)內(nèi)部常見(jiàn)的風(fēng)險(xiǎn)管控系統(tǒng),合同端到端跟蹤系統(tǒng),財(cái)務(wù)共享服務(wù)平臺(tái)等都是比較適合BPM的應(yīng)用場(chǎng)景。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:ERP/BPM的那些事:BPMS適合做些啥
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10820617821.html