當(dāng)前我國(guó)社會(huì)經(jīng)濟(jì)的發(fā)展正進(jìn)入到“信息化”與“工業(yè)化”相融合的階段,這不但對(duì)信息化與業(yè)務(wù)的結(jié)合提出了更高的要求,也對(duì)信息化的集成整合提出了更高的要求。在“兩化融合”的背景下,企業(yè)信息化的發(fā)展越來(lái)越注重信息系統(tǒng)的集成和信息資源的整合,集成整合程度的高低已成評(píng)價(jià)信息化水平的一個(gè)極為重要的標(biāo)志。
1.集成整合技術(shù)的發(fā)展分析
集成整合技術(shù)主要經(jīng)歷了從點(diǎn)對(duì)點(diǎn)集成技術(shù)、企業(yè)應(yīng)用集成技術(shù)(EntERPrise Application Integration,EAI)到目前主流的面向服務(wù)架構(gòu)(Service-Oriented Architecture,SOA)及業(yè)務(wù)流程管理(Business Process Management,BPM)的發(fā)展過(guò)程,如圖1所示。
圖1 集成整合技術(shù)的發(fā)展過(guò)程
集成整合技術(shù)的發(fā)展經(jīng)歷傳統(tǒng)的點(diǎn)對(duì)點(diǎn)的集成方式、企業(yè)應(yīng)用集成方式(EAI)、面向服務(wù)架構(gòu)(SOA)、業(yè)務(wù)流程管理(BPM)、協(xié)作、無(wú)處不在的服務(wù)等六個(gè)過(guò)程。
2.面向服務(wù)架構(gòu)SOA
SOA是一種軟件系統(tǒng)架構(gòu),這種架構(gòu)使應(yīng)用系統(tǒng)能夠按照統(tǒng)一的標(biāo)準(zhǔn)來(lái)封裝自己的功能單元和接口,使之成為一個(gè)個(gè)的服務(wù),并且以一個(gè)標(biāo)準(zhǔn)協(xié)議對(duì)外發(fā)布。應(yīng)用系統(tǒng)的服務(wù)與服務(wù)之間通過(guò)定義良好的接口和契約聯(lián)系起來(lái),實(shí)現(xiàn)系統(tǒng)及功能模塊之間的集成整合。
3.業(yè)務(wù)流程管理BPM
BPM 是利用人員、系統(tǒng)和信息之間的協(xié)作使軟件能力與業(yè)務(wù)、技術(shù)相融合的方法和IT工具,能夠快速實(shí)現(xiàn)業(yè)務(wù)流程的優(yōu)化,促進(jìn)業(yè)務(wù)不斷創(chuàng)新。BPM 的出現(xiàn)解決了企業(yè)業(yè)務(wù)流程實(shí)時(shí)改變所帶來(lái)的敏捷性、實(shí)時(shí)效果評(píng)估、資源整合與優(yōu)化等問(wèn)題。
3.1 BPM的架構(gòu)體系
完整的BPM 架構(gòu)由BPM 平臺(tái)、業(yè)務(wù)流程管理模式和圖形化流程設(shè)計(jì)環(huán)境以及整合各種資源的底層SOA平臺(tái)等主要元素組成。BPM 基于SOA 架構(gòu),它通過(guò)捆綁其它應(yīng)用系統(tǒng)的服務(wù)來(lái)制作并提供跨應(yīng)用系統(tǒng)的BPM 流程,也可以組合已有的業(yè)務(wù)服務(wù)來(lái)生成新的服務(wù),對(duì)其基本要素進(jìn)行模塊化管理,并且可以循環(huán)使用。
3.2 BPM的優(yōu)勢(shì)和局限型
BPM 近年來(lái)備受關(guān)注,緣于技術(shù)具有的特點(diǎn)和優(yōu)勢(shì),主要體現(xiàn)在:
(1)以業(yè)務(wù)為主導(dǎo)
(2)能提供有效適應(yīng)業(yè)務(wù)流程變化的能力
(3)實(shí)現(xiàn)了業(yè)務(wù)活動(dòng)的監(jiān)控
(4)能夠與以流程為中心的企業(yè)管理相結(jié)合
BPM 在實(shí)際應(yīng)用中,仍然存在一定的局限性,主要表現(xiàn)在:
(1)與業(yè)務(wù)系統(tǒng)接口的緊耦合帶來(lái)實(shí)施和應(yīng)用的困難
(2)應(yīng)用系統(tǒng)的接口設(shè)計(jì)難度大
(3)問(wèn)題處理的難度增加
4.基于SOA和BPM的集成整合平臺(tái)
SOA 和BPM 是在各自獨(dú)立的背景下產(chǎn)生并發(fā)展起來(lái)的,而當(dāng)它們的發(fā)展出現(xiàn)交匯時(shí),促使集成整合進(jìn)化到一個(gè)新的階段。
4.1 SOA和BPM的融合
從技術(shù)特點(diǎn)看,SOA 和BPM 是相通和互補(bǔ)的。業(yè)務(wù)流程本身就是一系列的服務(wù),因此BPM 與SOA 面向服務(wù)的基本理念在根本上是一致的。SOA 具備的松散耦合、靈活變化和可重用機(jī)制,是BPM 所帶來(lái)的流程優(yōu)化和流程重組所需要的,而BPM 提供的流程編排和流程重組的能力,也正是SOA 所期待的。因此將SOA與BPM 相結(jié)合,先以SOA 實(shí)現(xiàn)應(yīng)用系統(tǒng)的服務(wù)化,再以此為基礎(chǔ)實(shí)施BPM,形成服務(wù)與流程協(xié)作的機(jī)制,其結(jié)果是使企業(yè)能夠?qū)⒔M成業(yè)務(wù)流程和底層IT 基礎(chǔ)架構(gòu)的各個(gè)要素視為可以重用或組合的標(biāo)準(zhǔn)組件(服務(wù)),從而可以隨時(shí)改進(jìn)或重組業(yè)務(wù)流程,適應(yīng)市場(chǎng)的變化和獲得業(yè)務(wù)的競(jìng)爭(zhēng)優(yōu)勢(shì)。
4.2 基于SOA和BPM的集成整合平臺(tái)架構(gòu)
將SOA 和BPM 相互結(jié)合,可以構(gòu)建以流程集成為核心的集成整合平臺(tái)。SOA 通過(guò)信息系統(tǒng)抽象,提供標(biāo)準(zhǔn)接口的服務(wù),BPM 指導(dǎo)業(yè)務(wù)流程創(chuàng)建, 使用服務(wù)。通過(guò)“服務(wù)”,業(yè)務(wù)和技術(shù)獲得了統(tǒng)一,而集成主要是以BPM 為中心進(jìn)行業(yè)務(wù)流程集成。基于SOA 和BPM 的集成整合平臺(tái)的架構(gòu)如圖2所示。
圖2 基于SOA和BPM的集成整合平臺(tái)架構(gòu)
在集成整合平臺(tái)中,底層是基礎(chǔ)構(gòu)件,提供集成整合所需的系統(tǒng)平臺(tái)和應(yīng)用系統(tǒng)的元素,包括Web 服務(wù)、技術(shù)組件和從應(yīng)用系統(tǒng)中抽象出來(lái)的應(yīng)用組件,還可以提供支撐云計(jì)算應(yīng)用的云服務(wù);中間層是SOA 架構(gòu),包括企業(yè)服務(wù)總線、業(yè)務(wù)邏輯服務(wù)和控制服務(wù),為上層的BPM 提供封裝為服務(wù)的業(yè)務(wù)系統(tǒng)功能和IT 基礎(chǔ)架構(gòu)的功能;上層是BPM 平臺(tái),包括業(yè)務(wù)流程建模標(biāo)注、業(yè)務(wù)活動(dòng)監(jiān)控、業(yè)務(wù)規(guī)則管理和流程引擎,它根據(jù)預(yù)先制定的流程模型,將一系列服務(wù)組成業(yè)務(wù)流程,并由流程引擎驅(qū)動(dòng)流程運(yùn)作,完成用戶所需的業(yè)務(wù)功能。
在基于SOA 和BPM 的流程管理中,企業(yè)業(yè)務(wù)流程中的功能單元被封裝為服務(wù),統(tǒng)一由流程引擎來(lái)驅(qū)動(dòng),流程是銜接和連續(xù)的,具備較好的靈活性,通過(guò)可視化工具即可維護(hù)。在圖3的例子中,傳統(tǒng)的業(yè)務(wù)流程經(jīng)過(guò)SOA 和BPM 的改造后,業(yè)務(wù)流程是可編排和可管理的,因此業(yè)務(wù)流程發(fā)生變化時(shí),通過(guò)流程管理工具可以將服務(wù)重新按業(yè)務(wù)要求進(jìn)行編排或重組,快速實(shí)現(xiàn)新的業(yè)務(wù)流程。
圖3 以流程集成為核心的集成整合示例
4.3 基于SOA和BPM的集成整合平臺(tái)的關(guān)鍵技術(shù)
SOA 和BPM 各自都有成熟的技術(shù)架構(gòu),將兩者結(jié)合起來(lái)構(gòu)建的集成整合平臺(tái),主要是要解決SOA 與BPM 的交互。在BPM 中,主要與SOA 交互的是流程設(shè)計(jì)器和流程引擎。SOA 架構(gòu)是由企業(yè)服務(wù)總線ESB 負(fù)責(zé)為SOA 提供連通服務(wù)的,因此解決問(wèn)題的關(guān)鍵是解決BPM 的流程設(shè)計(jì)器和流程引擎與ESB 的交互,包括ESB 的連通服務(wù)技術(shù)、流程設(shè)計(jì)器和流程引擎與ESB交互技術(shù)。
(1)ESB 連通服務(wù)技術(shù)
ESB是傳統(tǒng)中間件技術(shù)與XML、Web服務(wù)等技術(shù)結(jié)合的產(chǎn)物。ESB 提供了網(wǎng)絡(luò)中最基本的連接中樞,使軟件服務(wù)和應(yīng)用程序組件在其上流動(dòng)和交互,是構(gòu)筑企業(yè)神經(jīng)系統(tǒng)的必要元素。ESB 的作用是實(shí)現(xiàn)企業(yè)內(nèi)部信息的準(zhǔn)確、高效和安全傳遞。它可以消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)協(xié)調(diào)運(yùn)作,實(shí)現(xiàn)不同服務(wù)之間的通信與整合。ESB 可以連接企業(yè)各種紛繁復(fù)雜的應(yīng)用,并且將它們整合在一起。ESB 能夠以合理、符合業(yè)務(wù)需要的節(jié)奏連接應(yīng)用程序和調(diào)節(jié)消息流量,從而達(dá)到提高效率和可靠性、加快響應(yīng)速度的目的。
ESB 的架構(gòu)如圖4所示。在ESB 的架構(gòu)中,服務(wù)路由目錄和業(yè)務(wù)服務(wù)目錄負(fù)責(zé)路由服務(wù)請(qǐng)求。Web 服務(wù)在服務(wù)路由目錄和業(yè)務(wù)服務(wù)目錄的角色中都放置了一個(gè)UDDI 目錄,因而可以動(dòng)態(tài)發(fā)現(xiàn)和調(diào)用服務(wù)。這樣的目錄可以視為ESB 的一部分;業(yè)務(wù)服務(wù)編排的作用是通過(guò)若干業(yè)務(wù)服務(wù)來(lái)組合業(yè)務(wù)流程, 因此它將通過(guò)ESB 調(diào)用服務(wù),然后再通過(guò)ESB 將業(yè)務(wù)流程公開為客戶端可用的其它服務(wù);ESB 網(wǎng)關(guān)組件的作用是使兩個(gè)或多個(gè)組織的服務(wù)在受控且安全的方式下對(duì)彼此可用,這有助于查看這些連接到ESB 的組件,但它們并不屬于ESB,而是一個(gè)附加的部分。
圖4 企業(yè)服務(wù)總線(ESB)的架構(gòu)
(2)流程設(shè)計(jì)器和流程引擎與ESB 交互技術(shù)在BPM 中主要與SOA 交互的是流程引擎和流程設(shè)計(jì)器,它們都是采用業(yè)務(wù)流程執(zhí)行語(yǔ)言(BPEL),并通過(guò)連接ESB 與SOA 進(jìn)行交互。流程設(shè)計(jì)器首先通過(guò)圖形化的設(shè)計(jì)界面,用業(yè)務(wù)流程建模標(biāo)注(BPMN)設(shè)計(jì)出流程模型,并從流程模型自動(dòng)生成BPEL。用BPEL描述的流程交給流程引擎執(zhí)行。因此從流程設(shè)計(jì)到執(zhí)行,都是由BPEL 作為與SOA 交互的媒介。BPEL 流程執(zhí)行時(shí)與Web 服務(wù)交互應(yīng)用的過(guò)程如圖5 所示。
圖5 BPEL 與ESB 及Web 服務(wù)交互示意圖
首先由客戶端(JSP)通過(guò)消息發(fā)起流程,創(chuàng)建流程實(shí)例并傳入相關(guān)參數(shù);流程在Receive節(jié)點(diǎn)將參數(shù)存入與BPEL 流程綁定的WSDL 接口的輸入變量BO中;添加invoke節(jié)點(diǎn)調(diào)用外部的Web服務(wù)。Web服務(wù)根據(jù)輸入變量BO完成查詢數(shù)據(jù)庫(kù)、啟動(dòng)其他工作流等相關(guān)業(yè)務(wù)處理并返回輸出值給BPEL流程;流程在Reply節(jié)點(diǎn)把輸出值返回給前臺(tái)JSP,至此流程結(jié)束。
5.以流程集成為核心的集成整合的實(shí)施路徑
在煙草行業(yè)企業(yè)的流程集成中, 主要采用了三條路徑來(lái)達(dá)到高效的業(yè)務(wù)價(jià)值,分別是“服務(wù)關(guān)注型”、“流程/服務(wù)迭代型”和“流程關(guān)注型”,如圖6所示。
圖6 服務(wù)關(guān)注型、流程關(guān)注型和服務(wù)/流程迭代型實(shí)施策略的示意圖
(1)服務(wù)關(guān)注型
這種模式主要關(guān)注服務(wù)平臺(tái)的建設(shè)。它針對(duì)企業(yè)已經(jīng)存在著很多大型“煙囪式”應(yīng)用的情況,因此服務(wù)的集成和整合在SOA 架構(gòu)部署中有著很高的優(yōu)先級(jí);企業(yè)需要啟動(dòng)一個(gè)很大的集成項(xiàng)目,對(duì)現(xiàn)有的大型的企業(yè)遺留應(yīng)用進(jìn)行集成和重用,并通過(guò)一個(gè)堅(jiān)實(shí)的外部服務(wù)平臺(tái)實(shí)現(xiàn)和業(yè)務(wù)合作伙伴進(jìn)行企業(yè)協(xié)同;這種模式下的SOA 項(xiàng)目將會(huì)演變成一個(gè)個(gè)服務(wù)平臺(tái)的建設(shè);雖然主要關(guān)注點(diǎn)是服務(wù)平臺(tái)的建設(shè),但隨著企業(yè)的發(fā)展業(yè)務(wù)流程優(yōu)化的需求將逐步浮出水面。
(2)流程關(guān)注型
這種模式下,企業(yè)并不重視服務(wù)的部署,相反會(huì)直接在應(yīng)用系統(tǒng)內(nèi)部部署新的業(yè)務(wù)流程;基礎(chǔ)服務(wù)平臺(tái)的項(xiàng)目將被滯后部署,這樣做意味著業(yè)務(wù)流程和應(yīng)用之間的集成工作有可能會(huì)重做,并有可能導(dǎo)致服務(wù)復(fù)用的失敗;這種模式適用于短期速贏的業(yè)務(wù)流程優(yōu)化項(xiàng)目,在中長(zhǎng)期項(xiàng)目中一般很少使用這樣的模式。
(3)流程/服務(wù)迭代型
這種方式從一個(gè)相對(duì)簡(jiǎn)單的流程開始,好處是一方面能減輕底層服務(wù)層的復(fù)雜性,另一方面會(huì)降低項(xiàng)目的風(fēng)險(xiǎn);實(shí)施的初期將主要關(guān)注一個(gè)核心的業(yè)務(wù)流程,成功后將逐漸鋪開到其它的核心流程;在項(xiàng)目推進(jìn)過(guò)程中企業(yè)對(duì)ROI(投入產(chǎn)出比)較為關(guān)注;到了項(xiàng)目中后期,業(yè)務(wù)流程將逐步復(fù)雜,因而對(duì)應(yīng)的SOA 服務(wù)的部署會(huì)變得困難,但這種復(fù)雜性恰恰能提升企業(yè)的價(jià)值;隨著業(yè)務(wù)流程的增加和相關(guān)服務(wù)的實(shí)現(xiàn),企業(yè)將積累相當(dāng)有用的成功經(jīng)驗(yàn),并對(duì)下一階段的項(xiàng)目推進(jìn)有積極的作用。
從以上對(duì)三種實(shí)施路徑特點(diǎn)的比較可以看出,流程/服務(wù)迭代型具有較好的特點(diǎn),因此可以作為企業(yè)信息化建設(shè)的首選。當(dāng)然如何選擇還是應(yīng)當(dāng)根據(jù)自身的實(shí)際,選擇適合企業(yè)自己特點(diǎn)和需求的實(shí)施路徑。
6.結(jié)語(yǔ)
本文針對(duì)當(dāng)前企業(yè)信息化的重點(diǎn)和難題——信息化集成整合的技術(shù)進(jìn)行了探討, 在對(duì)主流的集成整合技術(shù)SOA 和BPM 進(jìn)行分析的基礎(chǔ)上,著重提出了兩者結(jié)合的集成整合平臺(tái)方案, 重點(diǎn)描述了集成整合平臺(tái)的架構(gòu), 可以為企業(yè)的信息化集成整合提供一個(gè)有效的解決方案。目前我國(guó)企業(yè)信息化的集成整合程度還不高,在實(shí)施過(guò)程中也遇到很多難題。本文雖然提出了三個(gè)實(shí)施的途徑, 但具體的實(shí)施方法、步驟還需要細(xì)化,這有待于后續(xù)的進(jìn)一步研究探討。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://m.lukmueng.com/
本文標(biāo)題:基于SOA和BPM的集成整合平臺(tái)研究
本文網(wǎng)址:http://m.lukmueng.com/html/support/11121513033.html