茍曦 饒錫如
摘要:本文分析了BPEL下的業(yè)務(wù)流程集成,并用實例描述了具體流程。
關(guān)鍵詞:BPEL 業(yè)務(wù)流程執(zhí)行語言 業(yè)務(wù)流程 集成
近年來,隨著我國信息技術(shù)的不斷發(fā)展成熟,Web服務(wù)的應(yīng)用范圍也進一步擴展,它作為一種新型技術(shù),實現(xiàn)了分布式應(yīng)用,并以其獨立性、可復(fù)用性以及開放性等優(yōu)勢贏得了用戶的一致肯定和好評。但在此過程中,隨著用戶群體的劇增,用戶的需求和標(biāo)準(zhǔn)也越來越趨于多樣化,這就要求Web服務(wù)系統(tǒng)不斷更新?lián)Q代,以不斷完善系統(tǒng)功能,適應(yīng)復(fù)雜的外部環(huán)境。本文就BPEL下的業(yè)務(wù)流程作了系統(tǒng)介紹,并引入具體實例進行分析。
1 BPEL簡介
BEPL又稱業(yè)務(wù)流程執(zhí)行語言,它使用XML進行編寫,主要應(yīng)用于與Web服務(wù)密切相關(guān)的一系列開發(fā)項目中,具有可移植性。BPEL是目前使用最為廣泛的標(biāo)準(zhǔn)化流程語言[1],它實現(xiàn)了平臺服務(wù)、數(shù)據(jù)處理、故障診斷以及系統(tǒng)維護的一體化,極大地節(jié)約信息整理時間,提升了工作效率[2]。為進一步了解和掌握BPEL下的業(yè)務(wù)流程集成,現(xiàn)就BPEL的元模型節(jié)點及含義作簡要介紹與分析:①partnerLink伙伴鏈接: 在整個業(yè)務(wù)流程中,與其流程交互的服務(wù)均可以稱為BPEL的伙伴。在對伙伴進行定義時,要根據(jù)其連接類型來決定。②Variable變量:Variable變量不僅對流程中的中間數(shù)據(jù)進行了定義,還對系統(tǒng)信息進行了保管與存放。③Activity活動:在BPEL流程中,所有的步驟與操作被稱為活動,根據(jù)其構(gòu)成類型的不同可將其分為基本活動和結(jié)構(gòu)化活動兩大類。④CorrelationSet關(guān)聯(lián)集:即業(yè)務(wù)流程中與各業(yè)務(wù)具有交互關(guān)系的相關(guān)集合。
2 業(yè)務(wù)流程模型的BPEL轉(zhuǎn)換
為明確業(yè)務(wù)與業(yè)務(wù)需求的內(nèi)在關(guān)系,規(guī)范業(yè)務(wù)流程,提升業(yè)務(wù)處理效率,管理人員一般會采用構(gòu)建模型(通常是圖形模型)的方式分析和驗證業(yè)務(wù)流程的科學(xué)性與準(zhǔn)確性。這些圖形模型主要包括一些基本流程結(jié)構(gòu),對于那些構(gòu)成較為復(fù)雜的模型,管理人員則可以通過構(gòu)建多個模型并根據(jù)實際需求有機結(jié)合的方式完成,BPEL將專門的結(jié)構(gòu)化定義用于表達流程模型間的映射關(guān)系,最終分析實現(xiàn)了用戶的實際需要。
3 案例研究
以電子政務(wù)系統(tǒng)為例,整個流程主要包括申請、審核以及審批三部分,假設(shè)該流程主要涉及ABC三個部門,則其流程定義如下:
3.1 定義BPEL流程的接口WSDL 首先要對流程的接口WSDL進行定義,其WSD文件代碼片段如下:
<!--定義部門服務(wù)端口類型-->
3.2 定義合作伙伴的鏈接 在進行連接時系統(tǒng)實現(xiàn)了服務(wù)與鏈接的結(jié)合,其代碼片段如下:
name=”ApplyInfo” partnerLinkType=”tns: ApplyInfoPL”/> <!--定義DepartA,DepartB,Rellease的合作伙伴--> … 3.3 BPEL主流程定義 最后調(diào)用接完成整個流程,其代碼片段如下: <!--BPEL主流程執(zhí)行活動定義--> PortType=”tns:ApplyInfo”operation=”getApplyInfo” variable=”request” createInstance=”yes”> portType=”dp:DepartPL” operation=”getExamInfo” inputVariable=”req-depA” outputVariable=”res- depA”/> <!—調(diào)用DepartA和DepartB的伙伴鏈接--> … operation=”getReleaseInfo” variable=”getReleaseInfoResponse”/>
參考文獻:
[1]Alsonso G,Casati F,Kuno H. Web Service-Concepts, Architectures and Applications[M]. Springer Verlag,2004.
[2]Tony Andrews,F(xiàn)rancisco Curbera,Yardon Goland. Business
Process Execution Language for Web Services(BPEL4WS),2003.3.
[3]張偉剛,谷建華,王云嵐,趙天海.BPEL工作流管理系統(tǒng)中人工交互的研究[J].科學(xué)技術(shù)與工程,2011(13).