專利名稱:一種業(yè)務(wù)處理執(zhí)行語(yǔ)言流程部署方法
技術(shù)領(lǐng)域:
本發(fā)明涉及工作流中間件技術(shù)架構(gòu)領(lǐng)域,尤其涉及一種業(yè)務(wù)處理執(zhí)行語(yǔ)言流程部署方法。
背景技術(shù):
隨著網(wǎng)頁(yè)服務(wù)ffeb Service技術(shù)日益成熟,許多企業(yè)的很多部門相應(yīng)地創(chuàng)建了 Web Service服務(wù),如何在不改變這些W^eb Service獨(dú)立正常運(yùn)行的情況下,將這些Web Service集成起來(lái)創(chuàng)造出新的業(yè)務(wù)模型、業(yè)務(wù)流程成為了一個(gè)比較突出的業(yè)務(wù)需求,可通過(guò)業(yè)務(wù)處理執(zhí) 亍語(yǔ)言(Business Process Excution Langue, BPEL)實(shí)現(xiàn) Web Service 的集成。通過(guò)BPEL將Wfeb Service集成并部署的過(guò)程如圖1所示,包括以下步驟S101,業(yè)務(wù)流程分析,根據(jù)業(yè)務(wù)需求進(jìn)行流程分析,確定流程各ffeb Service節(jié)點(diǎn)之間的邏輯關(guān)系;S102,自動(dòng)流程建模,根據(jù)流程分析結(jié)果,使用BPEL設(shè)計(jì)器進(jìn)行BPEL流程建模;S103,部署單元生成,將BPEL流程需要的資源文件存放到一個(gè)文件夾下,資源文件可包括流程定義文件(.bpel),流程部署文件(.cbploy.xml),流程服務(wù)描述文件 (· wsdl)以及一個(gè)或多個(gè)伙伴連接文件(· wsdl);S104,流程部署,將生成的部署單元拷貝到部署目錄下,根據(jù)算法進(jìn)行流程部署或更新。目前存在多種流程部署方式,比如基于壓縮文件的方法,需要將BPEL流程所需資源文件打包成一個(gè)壓縮文件進(jìn)行部署,部署時(shí)需要將壓縮文件解壓到一個(gè)文件目錄,部署過(guò)程復(fù)雜性較高,部署效率低。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種業(yè)務(wù)處理執(zhí)行語(yǔ)言流程部署方法,用于實(shí)現(xiàn)BPEL流程的部署,同時(shí)可進(jìn)一步實(shí)現(xiàn)流程部署更新。本發(fā)明實(shí)施例提供了一種業(yè)務(wù)處理執(zhí)行語(yǔ)言(Business Process Execution Language, BPEL)流程部署方法,包括以下步驟BPEL部署監(jiān)聽(tīng)器監(jiān)聽(tīng)流程部署目錄,并將為新部署單元?jiǎng)?chuàng)建的新增子目錄發(fā)送給 BPEL目錄分析器;BPEL目錄分析器接收新增子目錄,并檢測(cè)新增子目錄是否包含流程部署文件,如果不包含所述流程部署文件,則向所述BPEL流程部署監(jiān)聽(tīng)器發(fā)送部署報(bào)錯(cuò)信息,所述流程部署監(jiān)聽(tīng)器接收到部署報(bào)錯(cuò)信息后,繼續(xù)檢測(cè)所述部署目錄下是否有新增子目錄,如果包含所述流程部署文件,則進(jìn)一步檢測(cè)所述部署單元是否包含部署標(biāo)記,若沒(méi)有部署標(biāo)記,則為所述部署單元?jiǎng)?chuàng)建部署標(biāo)記,向BPEL引擎發(fā)送創(chuàng)建部署標(biāo)
3記信息,所述BPEL引擎讀取部署單元進(jìn)行流程部署,若有部署標(biāo)記,則檢查部署單元是否發(fā)生變更,若部署單元存在變更,進(jìn)行流程部署更新。優(yōu)選地,BPEL目錄分析器接收BPEL流程部署監(jiān)聽(tīng)器檢測(cè)到部署目錄下有新增子目錄后發(fā)送的信息前進(jìn)一步包括在BPEL引擎下創(chuàng)建BPEL引擎部署目錄;將BPEL流程部署單元的部署文件拷貝至所述BPEL引擎部署目錄下,建立新增子目錄;BPEL流程部署監(jiān)聽(tīng)器檢測(cè)BPEL引擎部署目錄下是否有新增子目錄。優(yōu)選地,BPEL目錄分析器向BPEL引擎發(fā)送創(chuàng)建部署標(biāo)記信息,所述BPEL引擎讀取部署文件進(jìn)行流程部署后進(jìn)一步包括BPEL引擎發(fā)布部署流程;BPEL引擎存儲(chǔ)部署流程。優(yōu)選地,若有部署標(biāo)記,則檢查是否部署單元是否發(fā)生變更,若部署單元存在變更,進(jìn)行流程部署更新具體過(guò)程為BPEL目錄分析器收到子目錄變更消息,所述子目錄變更信息由所述BPEL流程部署監(jiān)聽(tīng)器檢測(cè)所述部署目錄下有所述子目錄變更后發(fā)送;BPEL目錄分析器檢測(cè)所述子目錄變更后是否包含流程部署文件,如果不包含所述流程部署文件,則向所述BPEL流程部署監(jiān)聽(tīng)器發(fā)送部署報(bào)錯(cuò)信息,所述BPEL流程部署監(jiān)聽(tīng)器繼續(xù)檢測(cè)所述部署目錄下是否子目錄變更,如果包含所述流程部署文件,則進(jìn)一步檢測(cè)所述部署單元是否變更,若存在變更, 則進(jìn)行流程部署更新。從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)(1)在BPEL引擎下建立一個(gè)部署目錄,BPEL引擎部署流程時(shí)只需將部署單元的資源文件拷貝到部署目錄形成部署單元子目錄即可進(jìn)行流程部署;(2)通過(guò)對(duì)部署單元子目錄進(jìn)行部署標(biāo)記判斷部署單元是否需要進(jìn)行部署,實(shí)現(xiàn)方法簡(jiǎn)單高效。
圖1是ffeb Service集成并部署的流程示意圖;圖2是本發(fā)明實(shí)施例的BPEL流程部署方法流程部署的流程示意圖;圖3是本發(fā)明實(shí)施例的BPEL流程部署方法流程更新的流程示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供了一種業(yè)務(wù)處理執(zhí)行語(yǔ)言流程部署方法,用于實(shí)現(xiàn)BPEL流程的部署,同時(shí)可進(jìn)一步實(shí)現(xiàn)流程部署更新。參考圖2,所示為本發(fā)明實(shí)施例的一種業(yè)務(wù)處理執(zhí)行語(yǔ)言流程部署方法,包括以下步驟S201,BPEL部署監(jiān)聽(tīng)器監(jiān)聽(tīng)流程部署目錄,并將為新部署單元?jiǎng)?chuàng)建的新增子目錄發(fā)送給BPEL目錄分析器;BPEL引擎下都有一個(gè)部署目錄,部署目錄下每個(gè)子目錄存放一個(gè)BPEL流程部署單元依賴的資源文件,資源文件中包括流程定義文件(.bpel)、流程部署文件(cbploy. xml)、流程服務(wù)描述文件(.wsdl)以及一個(gè)或多個(gè)伙伴鏈接文件(.wsdl)。BPEL引擎的BPEL 流程部署監(jiān)聽(tīng)器對(duì)部署目錄下的子目錄進(jìn)行實(shí)時(shí)的掃描,如果掃描到有新增的子目錄,表示有新增的流程部署單元進(jìn)入,此時(shí)會(huì)向BPEL目錄分析器發(fā)送一個(gè)新增子目錄信息。S202, BPEL目錄分析器接收新增子目錄,并檢測(cè)新增子目錄是否包含流程部署文件,BPEL目錄分析器收到BPEL流程部署監(jiān)聽(tīng)器發(fā)送來(lái)的新增子目錄信息后,判斷此新增的子目錄是否包含流程部署文件,流程部署文件以cbploy. xml為后綴。 S203a,如果不包含流程部署文件,則向BPEL流程部署監(jiān)聽(tīng)器發(fā)送部署報(bào)錯(cuò)信息, 流程部署監(jiān)聽(tīng)器接收到部署報(bào)錯(cuò)信息后,繼續(xù)檢測(cè)部署目錄下是否有新增子目錄,如果檢測(cè)到不包含流程部署文件,說(shuō)明部署單元缺少資源文件,BPEL目錄分析器向BPEL流程部署監(jiān)聽(tīng)器發(fā)送部署報(bào)錯(cuò)信息,不需要進(jìn)行流程部署。S203b,如果包含流程部署文件,則進(jìn)一步檢測(cè)部署單元是否包含部署標(biāo)記,如果包含流程部署文件,說(shuō)明部署單元的資源文件完整,則可以進(jìn)行進(jìn)一步的判斷和處理,先需要檢測(cè)部署文件是否包含部署標(biāo)記,部署標(biāo)記為.cbploy。S204a,若沒(méi)有部署標(biāo)記,則為部署單元?jiǎng)?chuàng)建部署標(biāo)記,向BPEL引擎發(fā)送創(chuàng)建部署標(biāo)記信息,BPEL引擎讀取部署單元進(jìn)行流程部署,S204b,若有部署標(biāo)記,則檢查部署單元是否發(fā)生變更,若部署單元存在變更,進(jìn)行流程部署更新。流程部署后進(jìn)一步包括BPEL引擎發(fā)布部署流程和BPEL引擎存儲(chǔ)部署流程。從以上步驟可以看出,通過(guò)基于目錄與標(biāo)記的方法簡(jiǎn)單的實(shí)現(xiàn)BPEL流程的自動(dòng)部署,提高了 BPEL流程部署的效率。進(jìn)一步的,在步驟S204b中的若有部署標(biāo)記,則檢查部署單元是否發(fā)生變更,若部署單元存在變更,參考圖3,進(jìn)行流程部署更新的具體過(guò)程為S30LBPEL目錄分析器收到子目錄變更消息,子目錄變更信息由BPEL流程部署監(jiān)聽(tīng)器檢測(cè)部署目錄下有子目錄變更后發(fā)送;S302, BPEL目錄分析器檢測(cè)子目錄變更后是否包含流程部署文件,S303a,如果包含流程部署文件,則進(jìn)一步檢測(cè)部署單元是否變更,若存在變更,則進(jìn)行流程部署更新,S303b,如果不包含流程部署文件,則向BPEL流程部署監(jiān)聽(tīng)器發(fā)送部署報(bào)錯(cuò)信息, BPEL流程部署監(jiān)聽(tīng)器繼續(xù)檢測(cè)部署目錄下是否子目錄變更。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。以上對(duì)本發(fā)明所提供的一種業(yè)務(wù)處理執(zhí)行語(yǔ)言流程部署方法進(jìn)行了詳細(xì)介紹,對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種業(yè)務(wù)處理執(zhí)行語(yǔ) g (Business Process Execution Language,BPEL)流禾呈部署方法,其特征在于,包括以下步驟BPEL部署監(jiān)聽(tīng)器監(jiān)聽(tīng)流程部署目錄,并將為新部署單元?jiǎng)?chuàng)建的新增子目錄發(fā)送給 BPEL目錄分析器;BPEL目錄分析器接收新增子目錄,并檢測(cè)新增子目錄是否包含流程部署文件, 如果不包含所述流程部署文件,則向所述BPEL流程部署監(jiān)聽(tīng)器發(fā)送部署報(bào)錯(cuò)信息,所述流程部署監(jiān)聽(tīng)器接收到部署報(bào)錯(cuò)信息后,繼續(xù)檢測(cè)所述部署目錄下是否有新增子目錄, 如果包含所述流程部署文件,則進(jìn)一步檢測(cè)所述部署單元是否包含部署標(biāo)記, 若沒(méi)有部署標(biāo)記,則為所述部署單元?jiǎng)?chuàng)建部署標(biāo)記,向BPEL引擎發(fā)送創(chuàng)建部署標(biāo)記信息,所述BPEL引擎讀取部署單元進(jìn)行流程部署,若有部署標(biāo)記,則檢查部署單元是否發(fā)生變更,若部署單元存在變更,進(jìn)行流程部署更新。
2.根據(jù)權(quán)利要求1所述的BPEL流程部署方法,其特征在于,BPEL目錄分析器接收BPEL 流程部署監(jiān)聽(tīng)器檢測(cè)到部署目錄下有新增子目錄后發(fā)送的信息前進(jìn)一步包括在BPEL引擎下創(chuàng)建BPEL引擎部署目錄;將BPEL流程部署單元的部署文件拷貝至所述BPEL引擎部署目錄下,建立新增子目錄;BPEL流程部署監(jiān)聽(tīng)器檢測(cè)BPEL引擎部署目錄下是否有新增子目錄。
3.根據(jù)權(quán)利要求1所述的BPEL流程部署方法,其特征在于,BPEL目錄分析器向BPEL 引擎發(fā)送創(chuàng)建部署標(biāo)記信息,所述BPEL引擎讀取部署文件進(jìn)行流程部署后進(jìn)一步包括BPEL引擎發(fā)布部署流程; BPEL引擎存儲(chǔ)部署流程。
4.根據(jù)權(quán)利要求1所述的BPEL流程部署方法,其特征在于,若有部署標(biāo)記,則檢查是否部署單元是否發(fā)生變更,若部署單元存在變更,進(jìn)行流程部署更新具體過(guò)程為BPEL目錄分析器收到子目錄變更消息,所述子目錄變更信息由所述BPEL流程部署監(jiān)聽(tīng)器檢測(cè)所述部署目錄下有所述子目錄變更后發(fā)送;BPEL目錄分析器檢測(cè)所述子目錄變更后是否包含流程部署文件, 如果不包含所述流程部署文件,則向所述BPEL流程部署監(jiān)聽(tīng)器發(fā)送部署報(bào)錯(cuò)信息,所述BPEL流程部署監(jiān)聽(tīng)器繼續(xù)檢測(cè)所述部署目錄下是否子目錄變更,如果包含所述流程部署文件,則進(jìn)一步檢測(cè)所述部署單元是否變更,若存在變更,則進(jìn)行流程部署更新。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種業(yè)務(wù)處理執(zhí)行語(yǔ)言流程部署方法,用于實(shí)現(xiàn)BPEL流程的部署,同時(shí)可進(jìn)一步實(shí)現(xiàn)流程部署更新。本發(fā)明實(shí)施例方法包括BPEL部署監(jiān)聽(tīng)器監(jiān)聽(tīng)流程部署目錄,并將為新的部署單元?jiǎng)?chuàng)建的新增子目錄發(fā)送給BPEL目錄分析器;BPEL目錄分析器接收新增子目錄;BPEL目錄分析器檢測(cè)新增子目錄是否包含流程部署文件,如果不包含流程部署文件,則向BPEL流程部署監(jiān)聽(tīng)器發(fā)送部署報(bào)錯(cuò)信息,如果包含流程部署文件,則進(jìn)一步檢測(cè)部署單元是否包含部署標(biāo)記,若沒(méi)有部署標(biāo)記,則為部署單元?jiǎng)?chuàng)建部署標(biāo)記,向BPEL引擎發(fā)送部署單元信息,BPEL引擎讀取部署單元信息進(jìn)行流程部署,若有部署標(biāo)記,則檢查部署單元是否發(fā)生變更,若部署單元存在變更,進(jìn)行流程部署更新。
文檔編號(hào)G06F9/44GK102279754SQ20111027849
公開(kāi)日2011年12月14日 申請(qǐng)日期2011年9月19日 優(yōu)先權(quán)日2011年9月19日
發(fā)明者劉春 , 馬亮 申請(qǐng)人:山東中創(chuàng)軟件商用中間件股份有限公司, 山東中創(chuàng)軟件工程股份有限公司