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