專利名稱::組合業(yè)務(wù)處理、替換、具體業(yè)務(wù)調(diào)用的方法和裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,特別是涉及一種組合業(yè)務(wù)處理、組合業(yè)務(wù)替換、具體業(yè)務(wù)調(diào)用的方法、裝置以及組合業(yè)務(wù)系統(tǒng)。
背景技術(shù):
:業(yè)務(wù)組合有靜態(tài)業(yè)務(wù)組合和動態(tài)業(yè)務(wù)組合之分。其中,靜態(tài)業(yè)務(wù)組合中組合業(yè)務(wù)邏輯事先指定需要調(diào)用的具體業(yè)務(wù),即在組合業(yè)務(wù)邏輯運(yùn)行前指定業(yè)務(wù)調(diào)用,例如可通過圖形或文本編輯界面手工生成組合業(yè)務(wù)邏輯,并提交業(yè)務(wù)組合引擎。有的業(yè)務(wù)組合環(huán)境提供了圖形化用戶界面,讓用戶使用鼠標(biāo)拖拉從業(yè)務(wù)目錄中選擇合適的業(yè)務(wù)來構(gòu)建組合業(yè)務(wù)邏輯。這種機(jī)制不能在運(yùn)行時(shí)動態(tài)地選擇合適的業(yè)務(wù)來提供給請求者,特別在業(yè)務(wù)不可訪問時(shí)存在嚴(yán)重缺陷。動態(tài)業(yè)務(wù)組合中組合業(yè)務(wù)邏輯在運(yùn)行時(shí)指定調(diào)用的業(yè)務(wù),能解決靜態(tài)業(yè)務(wù)組合的一些缺陷。目前動態(tài)業(yè)務(wù)組合主要基于語義技術(shù),可以分為半自動組合和自動組合。所述半自動組合在用戶定義組合業(yè)務(wù)邏輯時(shí)提供業(yè)務(wù)語義上的描述,但用戶仍需要事先描述被調(diào)用業(yè)務(wù)之間的執(zhí)行順序。所述自動組合則只需要提供一些必要參數(shù),就可以自動生成組合業(yè)務(wù)邏輯,即自動生成業(yè)務(wù)的調(diào)用順序,并自動選擇合適的業(yè)務(wù),一般使用AIplanning(人工智能推理)等技術(shù)進(jìn)行自動地選擇業(yè)務(wù)和生成業(yè)務(wù)組合邏輯。目前,現(xiàn)有技術(shù)提供兩種將抽象組合業(yè)務(wù)邏輯轉(zhuǎn)換為具體組合業(yè)務(wù)邏輯的實(shí)現(xiàn)機(jī)制。一種是先定義業(yè)務(wù)組合的不同階段,即設(shè)計(jì)階段、業(yè)務(wù)選擇階段、流程生成階段和運(yùn)行階段。其中,先通過使用語義描述的活動(activity)的模板設(shè)計(jì)業(yè)務(wù)組合流程;其次,為每個(gè)activity動態(tài)選擇服務(wù),并生成具體的數(shù)據(jù)流,重復(fù)該步驟直到所有activity都被具體業(yè)務(wù)替換,再次,根據(jù)所有具體業(yè)務(wù)生成可執(zhí)行的流程;最后,運(yùn)行可執(zhí)行的組合業(yè)務(wù)邏輯。另一種將activity替換成具體業(yè)務(wù)的過程為用服務(wù)的Web本體語言(OWL-S,OntologyWebLanguageforService)來描述activity,通過語義描述匹配具體業(yè)務(wù),生成商業(yè)流程執(zhí)行語言腳本(BPEL,BusinessProcessExecutionLanguage)。主要特點(diǎn)是采用OWL-S來描述業(yè)務(wù)調(diào)用。業(yè)務(wù)組合引擎遍歷組合業(yè)務(wù)邏輯;當(dāng)遍歷到由OWL-S描述的業(yè)務(wù)調(diào)用時(shí),觸發(fā)"抽象生成具體,,流程;業(yè)務(wù)組合引擎根據(jù)OWL-S的業(yè)務(wù)描述去動態(tài)發(fā)現(xiàn)具體的業(yè)務(wù);組合引擎將具體業(yè)務(wù)的調(diào)用描述來替換OWL-S的業(yè)務(wù)調(diào)用描述;直到替換所有的OWL-S的業(yè)務(wù)調(diào)用描述后生成BPEL腳本。因此,由上述過程可知,該過程都需要人為提供業(yè)務(wù)語義上的描述,且實(shí)現(xiàn)過程復(fù)雜。都是間接將抽象組合業(yè)務(wù)邏輯轉(zhuǎn)換成具體組合業(yè)務(wù)邏輯,而不能直接執(zhí)行抽象組合業(yè)務(wù)邏輯的機(jī)制。同樣,在現(xiàn)有技術(shù)中,沒有涉及到從具體組合業(yè)務(wù)邏輯生成抽象組合業(yè)務(wù)邏輯的機(jī)制;也不能解決組合業(yè)務(wù)邏輯執(zhí)行過程中所調(diào)用服務(wù)不能訪問時(shí)的問題。
發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種組合業(yè)務(wù)處理、組合業(yè)務(wù)替換、具體業(yè)務(wù)調(diào)用的方法及裝置,解決組合業(yè)務(wù)邏輯執(zhí)行時(shí)能動態(tài)選擇具體業(yè)務(wù)的問題。本發(fā)明實(shí)施例解決的另一技術(shù)問題為解決在組合業(yè)務(wù)執(zhí)行過程中調(diào)用具體業(yè)務(wù)失敗時(shí),動態(tài)將具體業(yè)務(wù)替換成另一種同功能的具體業(yè)務(wù)的問題。為解決上述問題,本發(fā)明實(shí)施例提供一種組合業(yè)務(wù)處理方法,所述方法包括步驟獲取組合業(yè)務(wù)邏輯中業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù),其中所述業(yè)務(wù)調(diào)用片段為抽象業(yè)務(wù)調(diào)用片段或業(yè)務(wù)模板的片段;觸發(fā)業(yè)務(wù)替換,請求將所述業(yè)務(wù)調(diào)用片段替換成所獲取具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段;或觸發(fā)業(yè)務(wù)調(diào)用,請求根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。本發(fā)明實(shí)施例還提供一種組合業(yè)務(wù)替換方法,所述方法包括步驟獲取組合業(yè)務(wù)邏輯中具體業(yè)務(wù)調(diào)用片段信息對應(yīng)的業(yè)務(wù)模板信息;用所述模板信息替換所述組合業(yè)務(wù)邏輯中的具體業(yè)務(wù)調(diào)用片段信息。本發(fā)明實(shí)施例再提供一種具體業(yè)務(wù)調(diào)用方法,所述方法包括步驟當(dāng)具體業(yè)務(wù)調(diào)用片段所描述的業(yè)務(wù)不能提供服務(wù)時(shí),獲取具體業(yè)務(wù)調(diào)用片段描述對應(yīng)的業(yè)務(wù)模板信息;根據(jù)所述業(yè)務(wù)一莫板信息查詢獲得具體業(yè)務(wù);根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。相應(yīng)的,本發(fā)明實(shí)施例提供一種組合業(yè)務(wù)處理裝置,所述裝置包括獲取單元,用于獲取所述業(yè)務(wù)組合邏輯中抽象業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù);觸發(fā)生成單元,用于觸發(fā)業(yè)務(wù)組合適配,請求將抽象業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片^:;或用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。本發(fā)明實(shí)施例還提供一種組合業(yè)務(wù)替換裝置,所述裝置包括模板信息獲取單元,用于在檢測到具體組合邏輯中的服務(wù)業(yè)務(wù)調(diào)用片段時(shí),獲取具體組合邏輯中具體業(yè)務(wù)描述的業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息;適配觸發(fā)單元,用于觸發(fā)業(yè)務(wù)組合適配,請求將所述模板信息替換所述具體組合邏輯中的具體業(yè)務(wù)調(diào)用。本發(fā)明實(shí)施例再提供一種具體業(yè)務(wù)調(diào)用裝置,所述裝置包括模板信息獲取單元,用于在具體服務(wù)調(diào)用片段不能提供服務(wù)時(shí),獲取具體業(yè)務(wù)描述對應(yīng)的業(yè)務(wù)才莫板信息;具體業(yè)務(wù)獲取單元,用于根據(jù)所述業(yè)務(wù)模板信息向注冊中心查詢,獲得符合業(yè)務(wù)才莫板的具體業(yè)務(wù);服務(wù)調(diào)用生成單元,用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。本發(fā)明實(shí)施例還提供一種一種組合業(yè)務(wù)系統(tǒng),其特征在于,包括業(yè)務(wù)注冊中心,組合業(yè)務(wù)子系統(tǒng),其中,所述注冊中心包括業(yè)務(wù)中心,用于存儲業(yè)務(wù)信息;模板中心,用于存儲模板信息,以及業(yè)務(wù)和業(yè)務(wù)模板之間的映射關(guān)系;所述組合業(yè)務(wù)子系統(tǒng)包括包括組合業(yè)務(wù)處理裝置、組合業(yè)務(wù)替換裝置和具體業(yè)務(wù)調(diào)用裝置的一個(gè)或多個(gè)其中,所述組合業(yè)務(wù)處理裝置包括獲取單元,用于獲取所述業(yè)務(wù)組合邏輯中抽象業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù);觸發(fā)生成單元,用于觸發(fā)業(yè)務(wù)組合適配,請求將抽象業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段;或用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。所述組合業(yè)務(wù)替換裝置包括模板信息獲取單元,用于在檢測到具體組合邏輯中的服務(wù)業(yè)務(wù)調(diào)用片段時(shí),獲取具體組合邏輯中具體業(yè)務(wù)描述的業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息;適配觸發(fā)單元,用于觸發(fā)業(yè)務(wù)組合適配,請求將所述模板信息替換所述具體組合邏輯中的具體業(yè)務(wù)調(diào)用。所述具體業(yè)務(wù)調(diào)用裝置包括模板信息獲取單元,用于在具體服務(wù)調(diào)用片段不能提供服務(wù)時(shí),獲取具體業(yè)務(wù)描述對應(yīng)的業(yè)務(wù)模板信息;具體業(yè)務(wù)獲取單元,用于根據(jù)所述業(yè)務(wù)模板信息向注冊中心查詢,獲得符合業(yè)務(wù)模板的具體業(yè)務(wù);月良務(wù)調(diào)用生成單元,用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。由上述技術(shù)方案可知,本發(fā)明實(shí)施例通過將抽象組合業(yè)務(wù)邏輯轉(zhuǎn)換成具體組合業(yè)務(wù)邏輯的機(jī)制,實(shí)現(xiàn)了動態(tài)的業(yè)務(wù)組合、動態(tài)的業(yè)務(wù)選擇。能根據(jù)業(yè)務(wù)抽象描述直接生成服務(wù)調(diào)用,省去了轉(zhuǎn)換成具體組合業(yè)務(wù)邏輯的步驟。此外,當(dāng)組合業(yè)務(wù)邏輯執(zhí)行過程中調(diào)用的業(yè)務(wù)不能用時(shí),能動態(tài)進(jìn)行回溯,根據(jù)具體業(yè)務(wù)描述獲取相應(yīng)模板信息,進(jìn)而動態(tài)選擇一個(gè)合適的業(yè)務(wù)來替換。解決了所調(diào)用的業(yè)務(wù)不可訪問時(shí)的動態(tài)替換。還能根據(jù)具體業(yè)務(wù)組合邏輯自動生成抽象業(yè)務(wù)組合邏輯.圖1為本發(fā)明實(shí)施例中組合業(yè)務(wù)處理的裝置的結(jié)構(gòu)示意圖2為本發(fā)明實(shí)施例中組合業(yè)務(wù)替換的裝置的結(jié)構(gòu)示意圖3為本發(fā)明實(shí)施例中具體業(yè)務(wù)調(diào)用的裝置的結(jié)構(gòu)示意圖4為本發(fā)明實(shí)施例中組合業(yè)務(wù)處理方法的流程圖5為本發(fā)明實(shí)施例中業(yè)務(wù)組合引擎根據(jù)抽象描述生成具體描述的流程圖6為本發(fā)明實(shí)施例中業(yè)務(wù)注冊中心的查詢過程的流程圖;圖7為本發(fā)明實(shí)施例中組合業(yè)務(wù)替換方法的流程圖;圖8為本發(fā)明實(shí)施例中具體組合邏輯生成抽象組合邏輯的流程圖;圖9為本發(fā)明實(shí)施例中具體業(yè)務(wù)調(diào)用方法的流程圖;圖10為本發(fā)明實(shí)施例中具體業(yè)務(wù)替換方法的信令流程圖。具體實(shí)施例方式本發(fā)明實(shí)施例通過抽象業(yè)務(wù)描述機(jī)制以及業(yè)務(wù)模板機(jī)制,不但提供一種將抽象組合業(yè)務(wù)邏輯轉(zhuǎn)換成具體業(yè)務(wù)邏輯的機(jī)制;還提供一種直接執(zhí)行抽象組合業(yè)務(wù)邏輯的機(jī)制。同時(shí),還提供抽象組合業(yè)務(wù)邏輯的自動生成過程,能直接根據(jù)具體組合業(yè)務(wù)邏輯生成抽象組合業(yè)務(wù)邏輯。當(dāng)組合業(yè)務(wù)邏輯執(zhí)行過程中所調(diào)用的業(yè)務(wù)不能使用時(shí),能動態(tài)進(jìn)行回溯(即替換),即將具體業(yè)務(wù)描述轉(zhuǎn)換成模板描述,再根據(jù)模板與業(yè)務(wù)的映射關(guān)系動態(tài)選擇一個(gè)合適的具體業(yè)務(wù)來替換。本發(fā)明實(shí)施例在調(diào)用具體業(yè)務(wù)時(shí),需要提供三部分信息業(yè)務(wù)(service)、才喿作(operation)、變量(variable)。其中所述variable可分為輸入變量(inputVariable)和輸出變量(outputVariable),在本發(fā)明實(shí)施例中以variable統(tǒng)稱,例如在業(yè)務(wù)處理執(zhí)行語言腳本BPEL中partnerLink、operation、variable指定了相應(yīng)的service、operation、variable。但BPEL只實(shí)現(xiàn)靜態(tài)的業(yè)務(wù)組合。在實(shí)際應(yīng)用中,存在動態(tài)業(yè)務(wù)組合的需求,即在業(yè)務(wù)運(yùn)行的過程中需要動態(tài)的調(diào)用合適的業(yè)務(wù)來滿足用戶需求。為了滿足動態(tài)業(yè)務(wù)組合的需求,本發(fā)明實(shí)施例提供一種抽象業(yè)務(wù)描述機(jī)制,該抽象業(yè)務(wù)描述機(jī)制能支持動態(tài)的業(yè)務(wù)組合。所述抽象業(yè)務(wù)描述機(jī)制需要在描述業(yè)務(wù)調(diào)用時(shí)不指定具體業(yè)務(wù),即不能同時(shí)指定service、operation,variable的具體值,但能才艮據(jù)service、operation,variable提供的信息發(fā)現(xiàn)合適的業(yè)務(wù),將此類動態(tài)的業(yè)務(wù)組合稱為基于抽象業(yè)務(wù)描述的業(yè)務(wù)組合。若service、operation,variable都沒有指定具體值,則稱為基于模板的業(yè)務(wù)組合。所述抽象業(yè)務(wù)描述可分為基本標(biāo)準(zhǔn)描述和擴(kuò)展標(biāo)準(zhǔn)描述(以下縮寫為基本描述和擴(kuò)展描述)。所述基本描述包4舌service標(biāo)準(zhǔn)描述、operation標(biāo)準(zhǔn)描述、variable標(biāo)準(zhǔn)描述;而擴(kuò)展描述則指除service標(biāo)準(zhǔn)描述、operation標(biāo)準(zhǔn)描述、variable標(biāo)準(zhǔn)描述之外的描述,例如服務(wù)質(zhì)量QoS描述。基本描述用于動態(tài)業(yè)務(wù)組合時(shí)從業(yè)務(wù)目錄發(fā)現(xiàn)符合要求的業(yè)務(wù);而擴(kuò)展描述則用于從發(fā)現(xiàn)的業(yè)務(wù)列表中篩選符合條件的業(yè)務(wù)。其所述業(yè)務(wù)描述具體如表l所示表l<table>tableseeoriginaldocumentpage15</column></row><table>在抽象業(yè)務(wù)描述的基本描述中,所述serviceCriteria可包括多個(gè)業(yè)務(wù)類別的描述信息,例如使用XML描述時(shí)可以包括多個(gè)屬性組(attributeGroup)子元素,每個(gè)子元素包括兩個(gè)屬性,分別指明了服務(wù)的類別以及該類別的值,比如某服務(wù)按地域分屬于深圳,則其類別為area,其值為shenzhen,描述為<attributeGroupcategory="area"name="shenzhen"/>)。戶斤述OperationCriteria包括一個(gè)屬性name,通過該屬性值可以模糊搜索。所述VariableCriteria/inputVariable/outputVariable包才舌一個(gè)屬性type,用于表示變量的類型。在抽象業(yè)務(wù)描述的擴(kuò)展描述中,可以含有多個(gè)子元素,其中,Qos是一個(gè)重要子元素,它又有多個(gè)屬性,其中包括delaytime等。在基于抽象描述的動態(tài)組合中,具體業(yè)務(wù)描述中的service、operation,variable中或service、operation、i叩utVariable、outputVariable中至少有一個(gè)值不能指定具體值,此時(shí)才需要abstractServiceDescription的基本描述所對應(yīng)的抽象描述(service、operation、variable、inputVariable、outputVariable分另ll對應(yīng)serviceCriteria、operationCriteria、variableCriteria、inputVariableCriteria、outputVariableCriteria),而沒指定具體值的屬性由抽象業(yè)務(wù)描述中的基本描述的相應(yīng)描述來指定.此外,由擴(kuò)展描述提供相應(yīng)的信息輔助發(fā)現(xiàn)業(yè)務(wù)。對于業(yè)務(wù)的抽象描述示例如下,其中service與serviceCriteria、opemtion與operationCriteria、variable與variableCriteria是相對應(yīng)的,只有在前者Y直為"##,,時(shí)才會對應(yīng)存在后者的擴(kuò)展描述,即只有在service、serviceCriteria、operation中至少一個(gè)為"絲"時(shí),才有擴(kuò)展描述extentionCriteria。如下例所示,描述了一個(gè)抽象業(yè)務(wù)<serviceDescriptionservice="##,,operation=,,##"variable="##"><baseCriteria><serviceCriteria><attributeGroupcategory="categoryName"name="keywordValue7></serviceCriteria>〈operationCriterianame="keywordValue7><variableCriteriatype-"typeName7〉</baseCriteria><extentionCriteria><qos〉<delaytimeunit="timeUnit',>value</delaytime></qos></cxtentionCriteria></serviceDescription>模板由抽象業(yè)務(wù)描述中的基本描述的相應(yīng)屬性提供描述,每個(gè)模板都對應(yīng)著特定類別的業(yè)務(wù),可以直接利用業(yè)務(wù)描述的serviceCriteria來描述模板類別(category)。模板本身無擴(kuò)展描述部分,但所述擴(kuò)展描述部分可以配合才莫板用來選擇具體業(yè)務(wù)。當(dāng)然沖莫板具有自己的一些屬性,例如沖莫板名等,所述模#反的信息包括業(yè)務(wù)類別、操作、參數(shù)等信息。下述示例描述了一個(gè)模板〈templateDescriptiontemplate="templateName"><serviceCriteria><attributeGroupcategory="categoryName"name="keywordValue"/></serviceCriteria><operationCriterianame="keywordValue7>〈variableCriteriatype="typeName,7〉</templateDescription>在基于才莫板的動態(tài)組合中,具體業(yè)務(wù)描述中的service、operation、variable中或service、operation、inputVariable、outputVariable中全都沒指定具體值,可以只提供模板名;或提供模板描述;或?qū)⒛0迕c模板描述一起提供。例如,基于模板名的業(yè)務(wù)調(diào)用片段描述如下。<serviceDescription>〈baseCriteriatemplate=,,templateName,7><extentionCriteria><qos><delaytimeunit="timeUnit">value</delaytinie></qos></extentionCriteria></serviceDescription〉例如,基于沖莫^1詳細(xì)描述的業(yè)務(wù)調(diào)用片段描述如下,不需要提供業(yè)務(wù)描述中的具體業(yè)務(wù)描述。該模板的詳細(xì)描述同上例的才莫板名保持一致。<serviceDescription><baseCriteria><serviceCriteria><attributeGroupeategory="categoryName"name="keywordValue"/></serviceCriteria〉<operationCriterianame="keywordValue7>〈variableCriteriatype="typeName"/〉</baseCriteria><extentionCriteria><qos〉<delaytimeunit="timeUnit">value</delaytime></qos></extentionCriteria></serviceDescription〉由此可知,模板和業(yè)務(wù)存在一種映射關(guān)系,該映射關(guān)系表示該模板所能涵蓋的業(yè)務(wù),即通過該模板可以動態(tài)選擇那些與模板具有映射關(guān)系的業(yè)務(wù)。此外,通過業(yè)務(wù)名也可以查找到一個(gè)業(yè)務(wù)模板。為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合附圖及實(shí)施例對本發(fā)明作詳細(xì)的i兌明。請參閱圖l,為本發(fā)明實(shí)施例業(yè)務(wù)組合處理的裝置的結(jié)構(gòu)示意圖,用于實(shí)現(xiàn)業(yè)務(wù)組合的功能,能執(zhí)行具體組合業(yè)務(wù)和抽象組合業(yè)務(wù)。所述裝置包括業(yè)務(wù)組合引擎ll、業(yè)務(wù)發(fā)現(xiàn)單元12、業(yè)務(wù)篩選單元13和組合邏輯適配單元14,其中所述業(yè)務(wù)組合引擎ll又包括獲取單元112和觸發(fā)生成單元113。優(yōu)選的,所述業(yè)務(wù)組合引擎11還可以包括觸發(fā)單元111。其中,所述觸發(fā)單元lll,用于觸發(fā)基于包括模板的業(yè)務(wù)抽象描述的業(yè)務(wù)組合邏輯的處理方式,包括觸發(fā)調(diào)用和觸發(fā)替換;所述獲取單元112,用于獲取所述業(yè)務(wù)組合邏輯中抽象業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù);所述觸發(fā)生成單元113,用于觸發(fā)組合業(yè)務(wù)適配,請求將抽象業(yè)務(wù)調(diào)用片l殳替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段;或用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。所述業(yè)務(wù)組合引擎ll用于辨別具體組合邏輯和抽象組合邏輯;能根據(jù)組合邏輯類型執(zhí)行具體組合邏輯或觸發(fā)基于抽象描述/模板的動態(tài)業(yè)務(wù)組合;能根據(jù)業(yè)務(wù)組合邏輯中的業(yè)務(wù)抽象描述或模板信息觸發(fā)業(yè)務(wù)發(fā)現(xiàn)請求,查詢業(yè)務(wù)目錄;能根據(jù)業(yè)務(wù)發(fā)現(xiàn)單元12獲得的業(yè)務(wù)觸發(fā)業(yè)務(wù)篩選請求,向業(yè)務(wù)篩選單元13請求篩選請求;能根據(jù)業(yè)務(wù)篩選單元13獲得的業(yè)務(wù),觸發(fā)組合邏輯適配,向組合邏輯適配單元14請求將抽象組合邏輯中的抽象描述或模板替換成具體業(yè)務(wù)。能根據(jù)調(diào)用的具體業(yè)務(wù),獲取相應(yīng)模板信息,可應(yīng)用于自動生成抽象組合邏輯或調(diào)用業(yè)務(wù)失敗時(shí)的回溯。自動生成抽象組合邏輯是指能根據(jù)具體組合邏輯生成抽象組合邏輯,使得組合邏輯能動態(tài)綁定業(yè)務(wù)?;厮葜冈谡{(diào)用業(yè)務(wù)失敗時(shí),能根據(jù)該業(yè)務(wù)獲取相應(yīng)模板信息,并根據(jù)該模板獲取功能一致的業(yè)務(wù)。優(yōu)選的,所述業(yè)務(wù)組合引擎ll還可以包括業(yè)務(wù)調(diào)用片段生成單元,用于根據(jù)所述替換后的具體業(yè)務(wù)調(diào)用片段生成服務(wù)調(diào)用。需要說明的是,所述觸發(fā)單元lll、獲取單元112和觸發(fā)生成單元113可以集成在業(yè)務(wù)組合引擎中,也可以獨(dú)立存在。所述業(yè)務(wù)發(fā)現(xiàn)單元12,與觸發(fā)單元lll相連,用于根據(jù)抽象業(yè)務(wù)描述或模板信息生成業(yè)務(wù)發(fā)現(xiàn)請求,根據(jù)所述業(yè)務(wù)發(fā)現(xiàn)請求向業(yè)務(wù)注冊中心進(jìn)行業(yè)務(wù)查詢,獲取到符合要求的業(yè)務(wù)列表,并將所述業(yè)務(wù)列表發(fā)送給業(yè)務(wù)組合引擎;所述業(yè)務(wù)發(fā)現(xiàn)單元12包括生成子單元、發(fā)送子單元、接收子單元和反饋?zhàn)訂卧?。其中所述生成子單元、用于根?jù)抽象業(yè)務(wù)描述或模板信息生成業(yè)務(wù)發(fā)現(xiàn)請求;所述發(fā)送子單元,用于向業(yè)務(wù)注冊中心發(fā)送業(yè)務(wù)查詢信息,所述查詢信息包括查詢類型、業(yè)務(wù)描述和限定條件;或者包括查詢類型、模板描述和限定條件;所述接收子單元,用于接收所述業(yè)務(wù)注冊中心反饋符合查詢信息的業(yè)務(wù)列表,所述業(yè)務(wù)列表包括一個(gè)或多個(gè)具體業(yè)務(wù);所述反饋?zhàn)訂卧?,用于反饋業(yè)務(wù)列表。也就是說,所述業(yè)務(wù)發(fā)現(xiàn)單元12,用于根據(jù)抽象組合邏輯中提供的抽象業(yè)務(wù)描述信息或模板信息,生成業(yè)務(wù)發(fā)現(xiàn)請求,并根據(jù)業(yè)務(wù)發(fā)現(xiàn)請求向業(yè)務(wù)注冊中心查詢,即在發(fā)現(xiàn)符合要求的具體業(yè)務(wù)列表,并返回給業(yè)務(wù)組合引擎11(對于根據(jù)抽象業(yè)務(wù)描述信息的發(fā)現(xiàn),可以直接查找業(yè)務(wù);也可以先查找模板,再根據(jù)模板查找業(yè)務(wù))。能根據(jù)具體業(yè)務(wù)信息發(fā)現(xiàn)相應(yīng)模板。所述業(yè)務(wù)篩選單元13,用于在接收到業(yè)務(wù)組合引擎觸發(fā)的業(yè)務(wù)篩選時(shí),能根據(jù)自身的篩選條件篩選所述業(yè)務(wù)列表,得到符合篩選條件的業(yè)務(wù)列表,從所述符合篩選條件的業(yè)務(wù)列表中選擇一個(gè)具體業(yè)務(wù)反饋給所述業(yè)務(wù)組合引擎11中獲取單元112。所述組合邏輯適配單元14,用于在接收到業(yè)務(wù)組合引擎ll請求的組合邏輯適配時(shí),將抽象業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段。也就是說,根據(jù)業(yè)務(wù)組合引擎ll提供的一個(gè)具體業(yè)務(wù),將抽象組合邏輯中該業(yè)務(wù)的抽象描述或模板替換成具體業(yè)務(wù)。根據(jù)業(yè)務(wù)組合引擎提供的模板信息將組合邏輯中該業(yè)務(wù)的具體描述替換成模板。其中,在本實(shí)施例中,所述業(yè)務(wù)發(fā)現(xiàn)單元12向業(yè)務(wù)注冊中心15查詢的具體過程為所述業(yè)務(wù)注冊中心15,用于存儲業(yè)務(wù)信息和業(yè)務(wù)才莫板信息。包括業(yè)務(wù)中心151和模板中心152。其中,所述業(yè)務(wù)中心151和模板中心152可以看作是業(yè)務(wù)注冊中心的兩個(gè)視圖,通過映射關(guān)系將業(yè)務(wù)和模板聯(lián)系在一起,模板中心中有業(yè)務(wù)唯一標(biāo)識符與模板標(biāo)識符對應(yīng),而業(yè)務(wù)中心則有業(yè)務(wù)唯一標(biāo)識符同業(yè)務(wù)信息對應(yīng),當(dāng)然模板中心還有與才莫板標(biāo)識符對應(yīng)的模板信息。其中模板信息至少包括基本信息業(yè)務(wù)分類信息、操作和參數(shù);業(yè)務(wù)信息至少包括基本信息業(yè)務(wù)分類信息、操作和參數(shù);還可以包括擴(kuò)展信息服務(wù)質(zhì)量QoS等。所述業(yè)務(wù)中心151,用于存儲業(yè)務(wù)信息,其中所述業(yè)務(wù)信息分為兩類原子業(yè)務(wù)和組合業(yè)務(wù)。所述原子業(yè)務(wù)完成的功能不需要調(diào)用其它業(yè)務(wù);組合業(yè)務(wù)由組合邏輯描述,調(diào)用其它業(yè)務(wù)配合完成該功能。所述組合業(yè)務(wù)又可分兩類具體組合業(yè)務(wù)和抽象組合業(yè)務(wù)。具體組合業(yè)務(wù)由具體組合邏輯描述,指定了調(diào)用的具體業(yè)務(wù);而抽象組合業(yè)務(wù)由抽象組合邏輯描述,沒指定調(diào)用的具體業(yè)務(wù),但提供了相應(yīng)的抽象業(yè)務(wù)描述信息或業(yè)務(wù)一莫板信息,通過抽象業(yè)務(wù)描述信息或業(yè)務(wù)模板信息來確定所調(diào)用的業(yè)務(wù)。所述模板中心152,用于存儲業(yè)務(wù)模板信息,以及業(yè)務(wù)模板和業(yè)務(wù)的映射信息。業(yè)務(wù)模板是一種業(yè)務(wù)的抽象描述方式,一個(gè)業(yè)務(wù)模板可以對應(yīng)一個(gè)或多個(gè)業(yè)務(wù)。此外,在該實(shí)施例中,所述業(yè)務(wù)發(fā)現(xiàn)單元12和業(yè)務(wù)篩選單元13也可以直接交互,即不通過業(yè)務(wù)組合引擎ll來控制。還請參閱圖2,為本發(fā)明實(shí)施例中組合業(yè)務(wù)替換裝置的結(jié)構(gòu)示意圖,所述裝置包括業(yè)務(wù)組合引擎21和組合邏輯適配單元23,還可以包括業(yè)務(wù)發(fā)現(xiàn)單元22。為了便于理解,在該圖中,還包括業(yè)務(wù)注冊中心24及其模板中心241。所述業(yè)務(wù)組合引擎21包括模板信息獲取單元211和適配觸發(fā)單元212。所述組合邏輯適配單元23包括增加子單元231和刪除子單元232。其中,所述模板信息獲取單元211,用于在檢測到具體組合邏輯中的服務(wù)業(yè)務(wù)調(diào)用片段時(shí),獲取具體組合邏輯中具體業(yè)務(wù)描述的業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息;所述適配觸發(fā)單元212,用于觸發(fā)業(yè)務(wù)組合適配,請求將所述模板信息替換所述具體組合邏輯中的具體業(yè)務(wù)調(diào)用。需要說明是,所述模板信息獲取單元211和適配觸發(fā)單元212可以集成在業(yè)務(wù)組合引擎中,也可以獨(dú)立存在。所述組合邏輯適配單元23,用于在接收到適配觸發(fā)單元請求的組合邏輯適配時(shí),將所述模板信息替換所述具體組合邏輯中的具體業(yè)務(wù)調(diào)用片段。具體包括增加子單元,用于在具體組合邏輯中的具體業(yè)務(wù)調(diào)用片段中增加業(yè)務(wù)抽象描述的基本描述部分,并在基本描述部分增加模板名及對應(yīng)的模板描述;刪除子單元,用于在增加子單元添加完成時(shí)刪除對應(yīng)的具體業(yè)務(wù)描述。所述才莫板信息獲取單元211:用于根據(jù)具體業(yè)務(wù)描述向業(yè)務(wù)發(fā)現(xiàn)單元22觸發(fā)業(yè)務(wù)模板查詢請求;業(yè)務(wù)發(fā)現(xiàn)單元22,用于根據(jù)接收到的模板查詢請求向業(yè)務(wù)注冊中心24中的模板中心發(fā)送查詢信息,所述查信信息包括具體業(yè)務(wù)描述的業(yè)務(wù)名,業(yè)務(wù)發(fā)現(xiàn)單元22還包括模板信息接收單元和模板信息反饋單元;模板信息接收單元,用于接收模板中心241反饋所述業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息,所述業(yè)務(wù)模板信息,包括模板名及模板描述;模板信息反饋單元,用于向業(yè)務(wù)組合引擎反饋所述業(yè)務(wù)模板信息。再請參閱圖3,為本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)用裝置的結(jié)構(gòu)示意圖,所述裝置包括業(yè)務(wù)組合引擎31,所述業(yè)務(wù)組合引擎31包括才莫板信息獲取單元311、具體業(yè)務(wù)獲取單元312和服務(wù)調(diào)用生成單元313。所述裝置還可以包括業(yè)務(wù)發(fā)現(xiàn)單元32,組合邏輯適配單元33。為了便于描述,該圖中還包括業(yè)務(wù)注冊中心34,所述注冊中心34包括業(yè)務(wù)中心341和模板中心342。其中,所述模板信息獲取單元311,用于在具體組合邏輯中的服務(wù)調(diào)用片段不能提供服務(wù)時(shí),獲取具體組合邏輯中具體業(yè)務(wù)描述對應(yīng)的業(yè)務(wù)模板信息;所述具體業(yè)務(wù)獲取單元312,用于根據(jù)所述業(yè)務(wù)模板信息通過業(yè)務(wù)發(fā)現(xiàn)單元向模板中心查詢,獲得符合業(yè)務(wù)模板的具體業(yè)務(wù),進(jìn)而查詢業(yè)務(wù)中心獲得具體業(yè)務(wù)信息;所述服務(wù)調(diào)用生成單元313,用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。優(yōu)選的,所述模板信息獲取單元311包括查詢請求發(fā)送單元、模板信息接收單元和模板信息反饋單元。其中,所述查詢請求發(fā)送單元,用于根據(jù)具體業(yè)務(wù)描述向業(yè)務(wù)發(fā)現(xiàn)單元發(fā)送業(yè)務(wù)模板查詢請求;所述業(yè)務(wù)發(fā)現(xiàn)單元,用于根據(jù)所述模板查信請求向模板中心發(fā)送業(yè)務(wù)查詢信息,所述業(yè)務(wù)查詢信息包括具體業(yè)務(wù)調(diào)用描述的業(yè)務(wù)名(即為業(yè)務(wù)標(biāo)識符);所述模板信息接收單元,用于接收模板中心反饋所述業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息,所述業(yè)務(wù)模板信息,包括模板名及模板描述;所述模板信息反饋單元,用于向業(yè)務(wù)組合引擎反饋所述業(yè)務(wù)模板信息。因此,所述業(yè)務(wù)組合引擎能支持具體組合邏輯和抽象組合邏輯(包括模板)兩種模式。業(yè)務(wù)組合引擎不但支持抽象組合邏輯自動生成具體組合邏輯,也支持根據(jù)抽象描述片段生成服務(wù)調(diào)用;還支持業(yè)務(wù)調(diào)用失敗時(shí)動態(tài)選擇其它業(yè)務(wù)來替換;還支持具體組合邏輯自動生成抽象組合邏輯。業(yè)務(wù)組合引擎支持抽象組合邏輯的直接執(zhí)行模式和間接執(zhí)行模式。其中直接執(zhí)行模式指業(yè)務(wù)組合引擎能直接執(zhí)行抽象組合邏輯,不需要先將抽象組合邏輯轉(zhuǎn)換成具體組合邏輯,業(yè)務(wù)組合引擎檢測到抽象描述后直接調(diào)用相應(yīng)服務(wù)。間接執(zhí)行;漠式指業(yè)務(wù)組合引擎先將抽象組合邏輯替換成具體組合邏輯,然后再執(zhí)行具體組合邏輯,調(diào)用相應(yīng)服務(wù)。其中,直接執(zhí)行模式也可以支持生成具體組合邏輯,業(yè)務(wù)組合引擎檢測到抽象描述后先將該處抽象描述替換成具體業(yè)務(wù)調(diào)用然后直接調(diào)用業(yè)務(wù),不同于間接模式之處在于間接模式需要把抽象組合邏輯中的所有抽象描述替換成具體業(yè)務(wù)后在運(yùn)行,而直接模式的這種具體組合邏輯方式生成則不需要等待替換所有的抽象組合邏輯。其中,直接執(zhí)行模式也支持調(diào)用具體業(yè)務(wù)失敗時(shí)選擇其它業(yè)務(wù)來提供服務(wù)的機(jī)制。業(yè)務(wù)組合?1擎支持根據(jù)具體組合邏輯生成抽象組合邏輯的過程。業(yè)務(wù)組合引擎能支持具體組合邏輯調(diào)用和抽象組合邏輯(包括模板)調(diào)用兩種模式。業(yè)務(wù)組合邏輯中由眾多業(yè)務(wù)調(diào)用片段組成,每個(gè)業(yè)務(wù)調(diào)用片段可以用具體業(yè)務(wù)描述,也可以用抽象業(yè)務(wù)描述(包括模板),把前者稱為具體業(yè)務(wù)調(diào)用片段,后者稱為抽象業(yè)務(wù)(包括模板)調(diào)用片段。相應(yīng)的,本發(fā)明實(shí)施例還提供一種組合業(yè)務(wù)處理方法,所述方法的流程圖如圖4所示,所述方法包括步驟步驟401:獲取組合業(yè)務(wù)邏輯中業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù),其中所述業(yè)務(wù)調(diào)用片段為抽象業(yè)務(wù)調(diào)用片段或業(yè)務(wù)模板片段;步驟402:觸發(fā)業(yè)務(wù)替換,請求將所述業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段;或觸發(fā)業(yè)務(wù)調(diào)用,請求根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。在步驟401中,所述獲取所述業(yè)務(wù)組合邏輯中抽象業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù)的過程為根據(jù)所述業(yè)務(wù)發(fā)現(xiàn)請求向業(yè)務(wù)注冊中心進(jìn)行業(yè)務(wù)查詢,所述業(yè)務(wù)查詢的信息包括查詢類型、業(yè)務(wù)描述和限定條件;或者包括查詢類型、模板描述和限定條件;接收所述業(yè)務(wù)注冊中心反饋符合查詢信息的業(yè)務(wù)列表,所述業(yè)務(wù)列表包括一個(gè)或多個(gè)具體業(yè)務(wù);選擇并反饋業(yè)務(wù)列表中的一個(gè)具體業(yè)務(wù)。優(yōu)選的,所述根據(jù)抽象業(yè)務(wù)調(diào)用片段描述生成業(yè)務(wù)發(fā)現(xiàn)請求的過程為根據(jù)抽象業(yè)務(wù)調(diào)用片段信息中的基本描述信息生成業(yè)務(wù)模板發(fā)現(xiàn)請求,其中,所述基本描述信息包括業(yè)務(wù)類別、操作信息、參數(shù)信息;根據(jù)所述業(yè)務(wù)模板發(fā)現(xiàn)請求進(jìn)行業(yè)務(wù)模板查詢,獲得匹配所述基本描述信息的業(yè)務(wù)模板4呂息。優(yōu)選的,所述根據(jù)具體業(yè)務(wù)生成服務(wù)調(diào)用的過程中用具體業(yè)務(wù)替換抽象業(yè)務(wù)調(diào)用片段,包括在生成業(yè)務(wù)調(diào)用前或調(diào)用時(shí)或調(diào)用后進(jìn)行業(yè)務(wù)替換。另外,在替換過程中生成服務(wù)調(diào)用,具體為在替換前,根據(jù)獲得的具體業(yè)務(wù)生成服務(wù)調(diào)用;或者在替換后,根據(jù)獲得的具體業(yè)務(wù)或替換后的具體業(yè)務(wù)調(diào)用片段生成服務(wù)調(diào)用;或者在替換的同時(shí),根據(jù)獲得的具體業(yè)務(wù)生成服務(wù)調(diào)用。所述方法還可以包括在請求替換前,觸發(fā)對所述業(yè)務(wù)列表的篩選,得到符合篩選條件的具體業(yè)務(wù)。然后可以根據(jù)具體業(yè)務(wù)生成服務(wù)調(diào)用,還可以根據(jù)替換后的具體業(yè)務(wù)調(diào)用片段生成服務(wù)調(diào)用。其生成服務(wù)調(diào)用的過程為觸發(fā)業(yè)務(wù)調(diào)用,提取所述具體業(yè)務(wù)中的必要信息,根據(jù)所述必要信息生成服務(wù)調(diào)用;或者,根據(jù)所述具體業(yè)務(wù)調(diào)用片段直接生成服務(wù)調(diào)用,所述必要信息包括業(yè)務(wù)地址、業(yè)務(wù)名、操作或參數(shù)。對于本實(shí)施例的具體實(shí)現(xiàn)過程詳見圖5。為本發(fā)明實(shí)施例中業(yè)務(wù)組合?1擎對抽象組合服務(wù)邏輯的間接執(zhí)行(即根據(jù)抽象描述生成具體描述)的流程圖。如圖5所示,業(yè)務(wù)組合引擎每檢測到抽象描述時(shí),就執(zhí)行"根據(jù)抽象描述生成具體描述,,流程,直到所有的抽象描述都替換成具體業(yè)務(wù)。具體包括步驟步驟501:業(yè)務(wù)組合引擎觸發(fā)基于抽象描述的業(yè)務(wù)組合;業(yè)務(wù)組合引擎檢查組合邏輯,若發(fā)現(xiàn)組合邏輯中無抽象描述,即具體業(yè)務(wù)描述的service,operation、variable(或service、operation、inputVariable、outputVariable)都指定了具體值,即表明該組合邏輯是具體組合邏輯,不觸發(fā)基于抽象描述的業(yè)務(wù)組合,流程結(jié)束。若組合邏輯中某段腳本有抽象描述,即具體業(yè)務(wù)描述的service、operation、variable(或service、operation、inputVariable、outputVariable)中有一個(gè)未指定具體值(例如,可以值為特定值"##"),即表明該段腳本是抽象描述腳本,則業(yè)務(wù)組合引擎觸發(fā)基于抽象描述的業(yè)務(wù)組合。步驟502:業(yè)務(wù)組合引擎注冊中心進(jìn)行業(yè)務(wù)查信;即業(yè)務(wù)組合引擎在判斷該處腳本是抽象描述后,業(yè)務(wù)組合引擎觸發(fā)業(yè)務(wù)發(fā)現(xiàn)單元向業(yè)務(wù)注冊中心進(jìn)行業(yè)務(wù)查詢,其中查詢信息中包括查詢類型、業(yè)務(wù)描述和限定條件;或查詢類型、模板描述和限定條件。其中業(yè)務(wù)描述包括具體業(yè)務(wù)描述和抽象業(yè)務(wù)描述的基本描述;限定條件即為抽象業(yè)務(wù)描述的擴(kuò)展描述部分;模板描述可為模板名,或?yàn)槟0宓木唧w描述,即利用抽象業(yè)務(wù)描述的基本描述部分。查詢類型包括根據(jù)業(yè)務(wù)描述查詢、根據(jù)模板描述查詢。步驟503:業(yè)務(wù)注冊中心反饋查信結(jié)果;即業(yè)務(wù)注冊中心根據(jù)業(yè)務(wù)發(fā)現(xiàn)單元遞交的查詢信息進(jìn)行查詢,并返回符合查詢條件的業(yè)務(wù)列表,其具體的查詢過程詳見圖6中的描述。步驟504:業(yè)務(wù)發(fā)現(xiàn)單元向業(yè)務(wù)組合引擎反饋業(yè)務(wù)列表;即業(yè)務(wù)發(fā)現(xiàn)單元將獲得的查詢結(jié)果,即符合查詢條件的業(yè)務(wù)列表,反饋給業(yè)務(wù)組合引擎。步驟505:業(yè)務(wù)組合引擎向業(yè)務(wù)篩選單元觸發(fā)篩選流程,將業(yè)務(wù)列表發(fā)送給業(yè)務(wù)篩選單元。步驟506:所述業(yè)務(wù)篩選單元反饋具體業(yè)務(wù);即根據(jù)自身的篩選條件,篩選業(yè)務(wù)列表,過濾不符合篩選條件的業(yè)務(wù)。篩選條件包括業(yè)務(wù)可達(dá)性等,這些篩選條件具有一定的業(yè)務(wù)無關(guān)性,同業(yè)務(wù)抽象描述的限定條件具有一定互補(bǔ)性。若有多個(gè)業(yè)務(wù),則隨機(jī)選擇一個(gè)業(yè)務(wù)提供給業(yè)務(wù)組合引擎。步驟507:業(yè)務(wù)組合引擎根據(jù)獲得的業(yè)務(wù)觸發(fā)組合邏輯適配,請求組合邏輯適配單元一艮據(jù)提供的具體業(yè)務(wù)替換抽象描述。步驟508:替換抽象描述;即所述組合邏輯適配單元提取業(yè)務(wù)信息中的必要信息,例如業(yè)務(wù)名、操作、參數(shù)等,將抽象業(yè)務(wù)描述中的具體業(yè)務(wù)描述補(bǔ)充完整,同時(shí)刪除抽象業(yè)務(wù)描述的基本描述和擴(kuò)展描述。在步驟其中,在步驟503中,所述業(yè)務(wù)注冊中心的查詢過程如圖6所示,具體包括步驟步驟601:業(yè)務(wù)注冊中心判斷根據(jù)模板查詢還是根據(jù)業(yè)務(wù)抽象描述查詢;若抽象描述中提供了模板名或模板信息,則是根據(jù)模板查詢,則執(zhí)行步驟602;否則根據(jù)業(yè)務(wù)抽象描述查詢,執(zhí)行步驟606。步驟602:若查詢類型是根據(jù)模板查詢,則業(yè)務(wù)注冊中心檢測是否指定模板名。若指定模板名則執(zhí)行步驟603,否則執(zhí)行步驟604。步驟603:如果模板描述中指定了具體的模板名,則查詢才莫板中心獲得該模板相應(yīng)的業(yè)務(wù)列表。轉(zhuǎn)610。步驟604:如果模板描述中沒指定具體的模板名,則根據(jù)模板描述的service部分(例如類型)查詢模板中心,獲取相應(yīng)的模板列表。步驟605:根據(jù)模板描述中的操作以及參數(shù)信息過濾模板列表,獲得符合模板描述的模板列表,從而獲得模板列表中的所有模板相對應(yīng)的業(yè)務(wù)列表。然后執(zhí)行步驟610。步驟606:若查詢類型是根據(jù)業(yè)務(wù)描述查詢,則業(yè)務(wù)注冊中心檢測是否指定業(yè)務(wù)名。若指定業(yè)務(wù)名則執(zhí)行步驟607,否則執(zhí)行步驟608。步驟607:若業(yè)務(wù)描述中指定了具體的業(yè)務(wù)名,則直接查找業(yè)務(wù)中心獲得相應(yīng)的業(yè)務(wù)列表。然后執(zhí)行步驟609。步驟608:若業(yè)務(wù)描述中沒指定具體的業(yè)務(wù)名,則根據(jù)抽象描述中基本描述的service部分(例如業(yè)務(wù)類型)查詢業(yè)務(wù)中心獲得相應(yīng)的業(yè)務(wù)列表。步驟609:根據(jù)具體業(yè)務(wù)描述的操作、參數(shù)部分或抽象描述中基本描述的操作、參數(shù)部分或其組合,過濾業(yè)務(wù)列表中不符合條件的。步驟610:根據(jù)限定條件(即業(yè)務(wù)抽象描述的擴(kuò)展部分)對獲得業(yè)務(wù)列表進(jìn)行過濾生成符合查詢條件的業(yè)務(wù)列表;若無限定條件則跳過此過程。也就^:說,所述業(yè)務(wù)注冊過程為1、向注冊中心請求注冊業(yè)務(wù),請求消息中包括業(yè)務(wù)信息以及才莫^反信息,其中業(yè)務(wù)信息包括業(yè)務(wù)標(biāo)識符、業(yè)務(wù)類別、操作、參數(shù)以及QoS等擴(kuò)展參數(shù)等,模板信息包括模板標(biāo)識符。其中模板信息為可選信息。2、業(yè)務(wù)中心接收注冊請求后進(jìn)行業(yè)務(wù)注冊。在業(yè)務(wù)注冊中心添加所述業(yè)務(wù)信息,在模板中心添加同該模板標(biāo)識符相對應(yīng)的映射表中添加業(yè)務(wù)標(biāo)識符信息。所述模板注冊的過程為1、向注冊中心請求注冊模板,請求消息中包括模板信息和業(yè)務(wù)信息,其中模板信息包括模板標(biāo)識符、業(yè)務(wù)類別、操作、參數(shù)等,業(yè)務(wù)信息包括業(yè)務(wù)標(biāo)識符或標(biāo)識符列表,其中業(yè)務(wù)信息可選。2、模板中心接收注冊請求后進(jìn)行模板注冊。在模板注冊中心添加所述模^!信息,在才莫^1中心添加同該才莫^1標(biāo)識符相對應(yīng)的映射表中添加業(yè)務(wù)標(biāo)識符4呂息。所述通過模板查相應(yīng)業(yè)務(wù)信息1、向注冊中心請求業(yè)務(wù)信息查詢,請求消息中包括才莫+反信息,其中沖莫*反信息包括模板標(biāo)識符等2、注冊中心接收查詢請求后,通過模板標(biāo)識符向模板注冊中心的映射表中查詢,獲得相應(yīng)的業(yè)務(wù)標(biāo)識符列表;3、通過業(yè)務(wù)標(biāo)識符列表向業(yè)務(wù)注冊中心查詢,獲得業(yè)務(wù)標(biāo)識符列表相應(yīng)的業(yè)務(wù)信息列表通過業(yè)務(wù)查相應(yīng)一莫^1信息1、向注冊中心請求4莫板信息查詢,請求消息中包括業(yè)務(wù)信息,其中業(yè)務(wù)信息包括業(yè)務(wù)標(biāo)識符等2、注冊中心接收查詢請求后,通過業(yè)務(wù)標(biāo)識符向模板注冊中心的映射表中查詢,獲得相應(yīng)的才莫^1標(biāo)識符;3、通過模板標(biāo)識符向模板注冊中心查詢,獲得模板標(biāo)識符相應(yīng)的模板信臺另外,本發(fā)明實(shí)施例還可以根據(jù)抽象描述生成服務(wù)調(diào)用(即直接執(zhí)行)。即組合服務(wù)的執(zhí)行包括可執(zhí)行腳本的執(zhí)行和抽象描述的執(zhí)行,對于可執(zhí)行腳本的執(zhí)行是現(xiàn)有技術(shù),此處不再描述,當(dāng)組合引擎檢測到可執(zhí)行腳本時(shí)就直接調(diào)用服務(wù)。當(dāng)可執(zhí)行腳本和抽象描述都執(zhí)行完畢時(shí),整個(gè)組合服務(wù)才執(zhí)行完畢。組合引擎對抽象組合服務(wù)邏輯的直接執(zhí)行過程同間接執(zhí)行過程類似,每檢測到抽象描述就執(zhí)行步驟501至步驟506,然后生成服務(wù)調(diào)用。在不需要生成具體組合邏輯的情況下,具體包括圖5中的步驟501至506,具體詳見上述,在此不再贅述;在執(zhí)行步驟506后,執(zhí)行步驟業(yè)務(wù)組合引擎觸發(fā)業(yè)務(wù)調(diào)用。業(yè)務(wù)組合引擎根據(jù)獲取的業(yè)務(wù)提取業(yè)務(wù)信息中的必要信息,例如業(yè)務(wù)地址、業(yè)務(wù)名、操作、參數(shù)等,生成服務(wù)調(diào)用。此外,本發(fā)明實(shí)施例為了能滿足后續(xù)快速執(zhí)行該組合業(yè)務(wù)的需求,需要在執(zhí)行抽象組合邏輯后生成具體組合邏輯,方便將具體組合邏輯作為下次調(diào)用該業(yè)務(wù)時(shí)的組合邏輯。在需要生成具體組合邏輯的情況下,具體包括步驟圖5中的步驟501至508,具體詳見上述,在此不再贅述;在執(zhí)行步驟508后或執(zhí)行步驟508過程中,執(zhí)行步驟業(yè)務(wù)組合引擎觸發(fā)業(yè)務(wù)調(diào)用。業(yè)務(wù)組合引擎根據(jù)獲取的業(yè)務(wù)提取業(yè)務(wù)信息中的必要信息,例如業(yè)務(wù)地址、業(yè)務(wù)名、操作、參數(shù)等,生成服務(wù)調(diào)用;或者業(yè)務(wù)組合引擎根據(jù)生成的具體組合邏輯片段直接生成服務(wù)調(diào)用。相應(yīng)的,本發(fā)明實(shí)施例對具體業(yè)務(wù)的處理流程包括具體組合邏輯生成抽象組合邏輯流程和回溯。請參閱圖7,本發(fā)明實(shí)施例中組合業(yè)務(wù)替換方法的流程圖,所述方法包括步驟701:獲取組合業(yè)務(wù)邏輯中具體業(yè)務(wù)調(diào)用片段信息對應(yīng)的業(yè)務(wù)模板信自其中,所述獲取的過程為根據(jù)具體業(yè)務(wù)描述向業(yè)務(wù)發(fā)現(xiàn)單元觸發(fā)業(yè)務(wù)模板查詢請求;所述業(yè)務(wù)發(fā)現(xiàn)單元向模板中心發(fā)送查詢信息,所述查信信息包括具體業(yè)務(wù)描述的業(yè)務(wù)名(即業(yè)務(wù)標(biāo)識符);所述業(yè)務(wù)發(fā)現(xiàn)單元接收模板中心反饋所述業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息,所述業(yè)務(wù)才莫板信息,包括模板名及模板描述,并反饋所述業(yè)務(wù)模板信息步驟702:用所述才莫板信息替換所述組合業(yè)務(wù)邏輯中的具體業(yè)務(wù)調(diào)用片段4呂息。其中,在具體組合邏輯中的具體業(yè)務(wù)調(diào)用片段中增加業(yè)務(wù)抽象描述的基本描述部分,并在基本描述部分增加才莫板名及對應(yīng)的沖莫板描述,同時(shí)刪除對應(yīng)的具體業(yè)務(wù)描述。本實(shí)施例的具體實(shí)現(xiàn)過程詳見圖8。如圖8所示,為本發(fā)明實(shí)施例中具體組合邏輯生成抽象組合邏輯的流程圖,也就是說,業(yè)務(wù)組合系統(tǒng)提供抽象組合邏輯的自動生成過程。以下流程描述了將具體組合邏輯中的一個(gè)服務(wù)調(diào)用片段替換成抽象描述(此處是模板描述)的過程。在抽象組合邏輯生成過程中,只要按序替換具體組合邏輯中的一個(gè)具體服務(wù)調(diào)用就生成了一個(gè)抽象組合邏輯。業(yè)務(wù)組合引擎檢測到具體組合邏輯中的一個(gè)服務(wù)調(diào)用片段時(shí),觸發(fā)業(yè)務(wù)纟莫板替換過程。具體包括步驟801:業(yè)務(wù)組合引擎根據(jù)具體組合邏輯中的業(yè)務(wù)具體描述向業(yè)務(wù)發(fā)現(xiàn)單元觸發(fā)模板查詢請求。步驟802:業(yè)務(wù)發(fā)現(xiàn)單元根據(jù)業(yè)務(wù)具體描述中的業(yè)務(wù)名查詢模板中心,獲得一個(gè)業(yè)務(wù)模板,并抽取模板名以及相應(yīng)模板描述。步驟803:模板中心給業(yè)務(wù)發(fā)現(xiàn)單元返回業(yè)務(wù)模板信息,包括模板名以及相應(yīng)模板描述。步驟804:業(yè)務(wù)發(fā)現(xiàn)單元給業(yè)務(wù)組合引擎返回業(yè)務(wù)才莫板信息。步驟805:業(yè)務(wù)組合引擎觸發(fā)組合邏輯適配過程,請求組合邏輯適配單元根據(jù)獲取的業(yè)務(wù)模板信息替換具體組合邏輯中的具體業(yè)務(wù)調(diào)用。業(yè)務(wù)抽象描述的基本描述部分,并在基本描述部分增加模板名或者增加模板的描述。同時(shí)刪除相應(yīng)的具體業(yè)務(wù)描述,即省略具體業(yè)務(wù)描述部分的業(yè)務(wù)名、業(yè)務(wù)操作、參數(shù)信息。即如下基于模板名的抽象邏輯<serviceDescription>〈baseCriteriatemplate:"templateName,V〉</serviceDescription>或如下基于詳細(xì)模板描述的抽象邏輯<serviceDescription〉<baseCriteria><serviceCriteria><attributeGroupcategory二"categoryName"name二"keywordValue'V〉</serviceCriteria><operationCriterianame="keywordValue7>〈variableCriteriatype="typeName7〉</baseCriteria〉</serviceDescription〉在執(zhí)行具體組合邏輯時(shí),會遇到所調(diào)用的業(yè)務(wù)不能提供服務(wù)的情況,此時(shí)就需要一種回溯機(jī)制來保證此時(shí)組合邏輯的正常運(yùn)行,需要尋找一個(gè)替換業(yè)務(wù)來提供服務(wù)。但該回溯機(jī)制不局限于業(yè)務(wù)組合中。還請參閱圖9,為本發(fā)明實(shí)施例中業(yè)務(wù)替換方法的流程圖,所述方法包括步驟901:當(dāng)具體業(yè)務(wù)調(diào)用片段所描述的業(yè)務(wù)不能提供服務(wù)時(shí),獲取具體業(yè)務(wù)調(diào)用片段描述對應(yīng)的業(yè)務(wù)模板信息;其中,所述獲取具體業(yè)務(wù)描述的業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息的過程為根據(jù)具體業(yè)務(wù)描述向業(yè)務(wù)發(fā)現(xiàn)單元觸發(fā)業(yè)務(wù)纟莫板查詢請求;所述業(yè)務(wù)發(fā)現(xiàn)單元向模板中心發(fā)送業(yè)務(wù)查詢信息,所述業(yè)務(wù)查詢信息包括具體業(yè)務(wù)描述的業(yè)務(wù)名;所述業(yè)務(wù)發(fā)現(xiàn)單元接收模板中心反饋所述業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息,所述業(yè)務(wù)模板信息包括模板名及對應(yīng)的模板描述,并反饋所述業(yè)務(wù);^莫板信息。步驟902:根據(jù)所述業(yè)務(wù)纟莫板信息查詢獲得具體業(yè)務(wù);步驟903:根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。對于本實(shí)施例其具體的實(shí)現(xiàn)過程詳見圖IO。如圖10所示,為本發(fā)明實(shí)施例中所述回溯(替換)的具體流程圖。也就是說,當(dāng)業(yè)務(wù)組合引擎檢測到一個(gè)具體服務(wù)調(diào)用片段時(shí),若遇到所調(diào)用的服務(wù)不能提供服務(wù),就觸發(fā)回溯機(jī)制。此處不能提供服務(wù)包括業(yè)務(wù)返回調(diào)用失敗,或者業(yè)務(wù)響應(yīng)超時(shí)等,其具體業(yè)務(wù)替換的過程包括步驟1001至步驟1003:業(yè)務(wù)組合引擎根據(jù)具體業(yè)務(wù)描述向業(yè)務(wù)發(fā)現(xiàn)單元觸發(fā)模板查詢請求,業(yè)務(wù)發(fā)現(xiàn)單元根據(jù)業(yè)務(wù)具體描述獲得一個(gè)業(yè)務(wù)模板,其中包括模板名以及相應(yīng)模板描述。具體同具體組合邏輯生成抽象組合邏輯流程的步驟801至803。步驟1004:業(yè)務(wù)發(fā)現(xiàn)單元向業(yè)務(wù)注冊中心進(jìn)行業(yè)務(wù)查詢,其中查詢類型為根據(jù)模板描述查詢;模板信息為模板名或?yàn)槟0宓木唧w描述;限定條件為工o步驟1005:業(yè)務(wù)注冊中心根據(jù)業(yè)務(wù)發(fā)現(xiàn)單元遞交的查詢信息進(jìn)行查詢,并返回符合查詢條件的業(yè)務(wù)列表。其業(yè)務(wù)注冊中心具體的查詢過程詳見圖6中步驟601、602、603和步驟610;或者步驟601、602、604、605和610。在此不再贅述。步驟1006:業(yè)務(wù)發(fā)現(xiàn)單元將獲得的查詢結(jié)果,即業(yè)務(wù)列表,提供給業(yè)務(wù)組合引擎。該步驟的實(shí)現(xiàn)過程與步驟504相同,在此不再贅述。步驟1007和1008:業(yè)務(wù)組合引擎觸發(fā)業(yè)務(wù)篩選單元進(jìn)行業(yè)務(wù)篩選,獲得符合條件的一個(gè)業(yè)務(wù)。該步驟的實(shí)現(xiàn)過程與步驟505和506相同,在此不再贅述。在獲得符合條件的業(yè)務(wù)后,即可進(jìn)行服務(wù)調(diào)用。此外,在本實(shí)施例中。步驟1004也可以替換上述步驟中步驟1004和1005。即在經(jīng)過業(yè)務(wù)發(fā)現(xiàn)單元的模板查詢后,模板中心直接獲得符合條件的模板,并查詢模板中心獲得同該模板綁定的業(yè)務(wù)名;并根據(jù)該業(yè)務(wù)名查詢業(yè)務(wù)中心獲取相應(yīng)的所有業(yè)務(wù)描述信息。此外,本發(fā)明實(shí)施例還提供一種組合業(yè)務(wù)系統(tǒng),所述系統(tǒng)包括業(yè)務(wù)注冊中心,組合業(yè)務(wù)子系統(tǒng),其中,所述注冊中心包括業(yè)務(wù)中心,用于存儲業(yè)務(wù)信息;模板中心,用于存儲模板信息,以及業(yè)務(wù)和業(yè)務(wù)模板之間的映射關(guān)系;所述組合業(yè)務(wù)子系統(tǒng)包括包括組合業(yè)務(wù)處理裝置、組合業(yè)務(wù)替換裝置和具體業(yè)務(wù)調(diào)用裝置的一個(gè)或多個(gè)其中,所述組合業(yè)務(wù)處理裝置包括獲取單元,用于獲取所述業(yè)務(wù)組合邏輯中抽象業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù);觸發(fā)生成單元,用于觸發(fā)業(yè)務(wù)組合適配,請求將抽象業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段;或用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。所述組合業(yè)務(wù)替換裝置包括模板信息獲取單元,用于在檢測到具體組合邏輯中的服務(wù)業(yè)務(wù)調(diào)用片段時(shí),獲取具體組合邏輯中具體業(yè)務(wù)描述的業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息;適配觸發(fā)單元,用于觸發(fā)業(yè)務(wù)組合適配,請求將所述模板信息替換所述具體組合邏輯中的具體業(yè)務(wù)調(diào)用。所述具體業(yè)務(wù)調(diào)用裝置包括模板信息獲取單元,用于在具體服務(wù)調(diào)用片段不能提供服務(wù)時(shí),獲取具體業(yè)務(wù)描述對應(yīng)的業(yè)務(wù)才莫壽反信息;具體業(yè)務(wù)獲取單元,用于4艮據(jù)所述業(yè)務(wù)^t板信息向注冊中心查詢,獲得符合業(yè)務(wù)模板的具體業(yè)務(wù);服務(wù)調(diào)用生成單元,用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。優(yōu)選的,所述組合業(yè)務(wù)子系統(tǒng)還包括業(yè)務(wù)發(fā)現(xiàn)單元,用于根據(jù)抽象業(yè)務(wù)描述或模板信息生成業(yè)務(wù)發(fā)現(xiàn)請求,根據(jù)所述業(yè)務(wù)發(fā)現(xiàn)請求向注冊中心進(jìn)行業(yè)務(wù)查詢,獲取到符合要求的業(yè)務(wù)列表,并反饋所述業(yè)務(wù)列表;業(yè)務(wù)篩選單元,用于在接收到業(yè)務(wù)篩選請求時(shí),篩選所述業(yè)務(wù)列表,得到符合篩選條件的業(yè)務(wù)列表,從所述符合篩選條件的業(yè)務(wù)列表中選擇一個(gè)具體業(yè)務(wù),并反饋所述具體業(yè)務(wù);組合邏輯適配單元,用于在接收到組合邏輯適配請求時(shí),將抽象業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段。其中,所述業(yè)務(wù)注冊中心、組合業(yè)務(wù)處理裝置、組合業(yè)務(wù)替換裝置和具體業(yè)務(wù)調(diào)用裝置的具體功能和作用詳見上述,在此不再贅述。為了便于本領(lǐng)域技術(shù)人員的進(jìn)一步理解本發(fā)明,下面以基于BPEL的具體實(shí)施例來說明。在描述實(shí)施例之前,先介紹一下概念BPEL擴(kuò)展描述在BPEL中,調(diào)用業(yè)務(wù)時(shí)一般需要提供四部分信息activity、partnerLink(指定了具體的業(yè)務(wù),相當(dāng)于上述的service)、operation、variable(在invoke才喿4乍時(shí)可有inputVariable和outputVariable兩種,在jt匕處合牙爾為variable),而同業(yè)務(wù)相關(guān)的信息包才舌partnerLink、operation、variable,示例如下<invokepartnerLink="plName"operation="opName"inputVariable="variableName"outputVariable="variableName"/>表示調(diào)用一個(gè)業(yè)務(wù);<receivepartnerLink="plName"operation="opName"variable="variableName"/>表示接收一個(gè)業(yè)務(wù)調(diào)用請求;<replypartnerLink="plName"operation="opName"variable="variableName"/>表示回復(fù)給一個(gè)業(yè)務(wù);在可執(zhí)行的BPEL腳本中,詳細(xì)指定了activity,partnerLink、operation、variable,即相當(dāng)于指定了具體業(yè)務(wù)調(diào)用,是一種靜態(tài)的業(yè)務(wù)組合。在實(shí)際應(yīng)用中,存在動態(tài)業(yè)務(wù)組合的需求,即在業(yè)務(wù)運(yùn)行的過程中動態(tài)地進(jìn)行業(yè)務(wù)調(diào)用。為滿足動態(tài)業(yè)務(wù)組合的需求,需要對現(xiàn)有BPEL進(jìn)行擴(kuò)展,使其能支持動態(tài)的業(yè)務(wù)組合。此時(shí)就需要在設(shè)計(jì)流程描述腳本時(shí)不能指定具體的業(yè)務(wù),即不能同時(shí)指定partnerLink、operation、variable的具體值,寸旦能才艮據(jù)partnerLink、operation、variable提供的綜合信息以及附加的業(yè)務(wù)描述信息發(fā)現(xiàn)合適的業(yè)務(wù),將此類動態(tài)的業(yè)務(wù)組合稱為基于BPEL才莫板的業(yè)務(wù)組合。業(yè)務(wù)描述可分為基本描述和擴(kuò)展描述。此處的基本描述包括service描述、operation4苗述、variable4葛述(variable可分為inputVariable和outputVariable,;t匕處統(tǒng)稱為variable);而擴(kuò)展描述則指除service、operation、variable之外的描述,例如QoS描述?;久枋鲇糜趧討B(tài)業(yè)務(wù)組合時(shí)從業(yè)務(wù)目錄發(fā)現(xiàn)符合要求的業(yè)務(wù);而擴(kuò)展描述則用于/人發(fā)現(xiàn)的業(yè)務(wù)中篩選符合條件的業(yè)務(wù)。在基于模板的業(yè)務(wù)組合中,需要擴(kuò)展現(xiàn)有BPEL語言。Activity的attribute描述相當(dāng)于上述的concreteServiceDescription,activity的element描述相當(dāng)于上述的abstractServiceDescription。^口表2聲斤示<table>tableseeoriginaldocumentpage33</column></row><table>在基于BPEL模板的動態(tài)組合中,partnerLink、operation、variable中或partnerLink、operation、inputVariable、outputVariable中至少有一個(gè)屬性的值不能指定實(shí)際值。對于不能指定實(shí)際值的屬性用"絲"來替代其真實(shí)值。對于activity中屬性值為"絲"的屬性,需要在對應(yīng)baseCriteria的元素中進(jìn)行描述。BPEL的activivy中partnerLink指定名稱,該partnerLinks名稱的聲明中指定了partnerLinkType,該partnerLinkType聲明中指定了WSDL的portType,而描述所調(diào)用的業(yè)務(wù)真正由protType聲明。因此本實(shí)施所說partnerLink沒指定實(shí)際值,實(shí)際上指沒有指定portType。對于activity的描述示例如下,其中partnerLink和serviceCriteria、operation和operationCriteria、variable和variableCriteria是相對應(yīng)的,只有在前者值為,,##,,時(shí)才會乂于應(yīng)存在后者的4卜充描述,只有在partnerLink、serviceCriteria、operation中至少一個(gè)為時(shí),才有擴(kuò)展描述extentionCriteria。該示例表示擴(kuò)展BPEL的一個(gè)服務(wù)調(diào)用描述。<activitypartnerLink="##"operation=',##"variable="##"><baseCriteria><serviceCriteria><attributeGroupcategory="categoryName"name="keywordValue'V></serviceCriteria><operationCriterianame="keywordValue7><variableCriteriatype="typeName'V></baseCriteria><extentionCriteria〉<qos><delaytimeunit="timeUnit',>value</delaytime></qos〉</extentionCriteria></activity>本發(fā)明第一應(yīng)用實(shí)施例在業(yè)務(wù)注冊中心的業(yè)務(wù)中心中有如下業(yè)務(wù),由業(yè)務(wù)名、業(yè)務(wù)分類、操作、輸入、輸出、QoS組成。此處用業(yè)務(wù)名作為業(yè)務(wù)標(biāo)識符。如表3所示表3<table>tableseeoriginaldocumentpage34</column></row><table><table>tableseeoriginaldocumentpage35</column></row><table>在業(yè)務(wù)注冊中心的才莫板中心有同業(yè)務(wù)中心相對應(yīng)的才莫板,并描述了業(yè)務(wù)與模板的映射關(guān)系。圖表4所示表4<table>tableseeoriginaldocumentpage35</column></row><table>假如在BPEL的腳本中,有一處要調(diào)用一個(gè)天氣預(yù)報(bào)業(yè)務(wù),此處假設(shè)不提供具體的業(yè)務(wù),而只提供業(yè)務(wù)的抽象描述,而在執(zhí)行過程中調(diào)用具體業(yè)務(wù)。BPEL腳本如下所示,只提供一個(gè)activity作為示例〈processname="combinationservice">i明整個(gè)腳本描述了一個(gè)名為combinationService的組合業(yè)務(wù)?!磒artnerLinkTypename="weatherQueryLT">〈plnk:rolename="weatherReportService"portType="##"/><partnerLinkType>描述伙伴類型,指定被調(diào)用的業(yè)務(wù),主要通過webservice中的porttype來描述。<partnerLinks><partnerLinkname="customer"partnerLinkType="weatherQueryLT7></partnerLinks>表明同該組合業(yè)務(wù)具有伙伴關(guān)系的業(yè)務(wù),此例中為customer,真實(shí)身份由partnerlinks來實(shí)現(xiàn),實(shí)際上間接由porttype指定。<variables><variablename="weatherRequest"messageType二',weatherRequestType"〉<complexTypename="weatherRequestType">〈elementname二',address"type="string7>〈elementname="time"type="date"/></complexType></variable〉<variablename="weatherResponse"messageType="weatherResponseType"〉<complexTypename="weatherResponseType">〈elementname="temperature"type="string'V><elementname="weather"type="string7></complexType></variable></variables〉定義了相關(guān)變量。<scqusncc>其中,所述Sequence表明內(nèi)部是一個(gè)流程<invokepartnerLink="customer"operation="query"inputVariable="weatherRequest"outputVariable="weatherResponse"〉<baseCriteria><serviceCriteria>〈attributeGroupcategory="area"name="Shenzhen7><attributeGroupcategory="serviceType"name="WeatherReport7></serviceCriteria〉</baseCriteria〉<extentionCriteria><qos><delaytimeunit="s"〉6</delaytime〉</qos></extentionCriteria></invoke>上述為一個(gè)服務(wù)調(diào)用的描述。</scqucncc></process>在經(jīng)過業(yè)務(wù)組合引擎處理之后,會生成具體的BPEL腳本,其中業(yè)務(wù)的抽象描述都被具體描述所替換。BPEL參考如下。即具體BPEL腳本示例〈processname="combinationService"xmlns:sif="http:〃example'com/SZWeatherReport/interface/"><partnerLinkTypename="weatherQueryLT">〈rolename二"weatherReportService"portType="sif:shippingServicePT"/><partnerIinkType><partnerLinks>〈partnerLinkname="customer"partnerLinkType="weatherQueryLT7></partnerLinks><variables>〈variablename二"weatherRequest"messageType="weatherRequestType"><complexTypename="weatherRequestType',><elementname="address"type="string7><elementname=MtimeMtype="date"/></complexType〉</variable><variablename="weatherResponse"messageType="weatherResponseType"><complexTypename="weatherResponseType"><elementname="temperature"type="string"/〉〈elementname二"weather"type="string7></complexType></variable></variables><ssqucnc6><invokepartnerLink="customer"operation:"query"inputVariable=',weatherRequest"outputVariable="weatherResponse',></invoke〉</scqu6ncc〉</proc6ss>本發(fā)明第二應(yīng)用實(shí)施例抽象BPEL生成具體BPEL假設(shè)一位深圳的用戶要調(diào)用一個(gè)組合業(yè)務(wù),其中組合業(yè)務(wù)中調(diào)用到一個(gè)天氣預(yù)報(bào)業(yè)務(wù),該實(shí)施例流程描述動態(tài)尋找一個(gè)天氣預(yù)報(bào)業(yè)務(wù)、并替換抽象業(yè)務(wù)描述的過程。其BPEL腳本如上述"抽象BPEL腳本示例"。業(yè)務(wù)篩選單元定義如下策略在同等條件下選擇QoS好的業(yè)務(wù)。1、業(yè)務(wù)組合引擎檢查BPEL腳本,檢測到partnerLink未指定具體值(雖然partnerLink的值為customer,但customer所指定的partnerLinkType為weatherQueryLT,但weatherQueryLT所指定的portType為空。),即沒有指定具體的調(diào)用業(yè)務(wù),即表明該BPEL腳本是抽象BPEL,業(yè)務(wù)組合引擎觸發(fā)基于抽象描述的業(yè)務(wù)組合。2、業(yè)務(wù)組合引擎在判斷該處腳本是抽象描述后,根據(jù)該處所調(diào)用的業(yè)務(wù)的抽象描述向業(yè)務(wù)發(fā)現(xiàn)單元進(jìn)行業(yè)務(wù)查詢。抽象描述如下。<serviceDescriptionpartnerLink="customer"operation="query"inputVariable="weatherRequest',outputVariable="weatherResponse"><baseCriteria><serviceCriteria><attributeGroupcategory="area"name="Shenzhen7><attributeGroupcategory二"serviceType"name="WeatherReport'V></serviceCriteria></baseCriteria〉<extentionCriteria><qos><delaytimeunit="s"〉6</delaytime〉</qos〉</extentionCriteria></serviceDescription〉業(yè)務(wù)組合引擎生成的查詢信息包括查詢類型、業(yè)務(wù)描述和限定條件。因?yàn)槌橄竺枋鲋刑峁┝司唧w的操作、參數(shù),所以此處查詢類型是根據(jù)業(yè)務(wù)描述查詢,而不是根據(jù)模板查詢(提供模板名或抽象描述中具體業(yè)務(wù)、操作、參數(shù)都沒提供,則屬于根據(jù)模板查詢)。其中具體業(yè)務(wù)描述除service夕卜,operation、inputVariable、outputVariable都指定具體值,抽取除service外的具體描述如下。operation="query"inputVariable="weatherRequest"outputVariable=''weatherResponse"抽象業(yè)務(wù)描述的基本部分為<baseCriteria><serviceCriteria><attributeGroupcategory<attributeGroupcategory</serviceCriteria></baseCriteria>由上述的基本部分和具體描述部分組成了業(yè)務(wù)描述。抽取抽象業(yè)務(wù)描述的擴(kuò)展部分作為限定條件,如下<extentionCriteria><qos><delaytimeunit="s">6</delaytime></qos></extentionCriteria>3、業(yè)務(wù)注冊中心根據(jù)業(yè)務(wù)組合引擎提供的查詢信息進(jìn)行查詢。由于查詢類型為才艮據(jù)業(yè)務(wù)描述查詢,且業(yè)務(wù)描述中沒指定具體的業(yè)務(wù)名,所以4艮據(jù)抽38="area"name="Shenzhen"/>="serviceType"name="WeatherReport7>象描述中基本描述的業(yè)務(wù)部分查詢業(yè)務(wù)中心。根據(jù)范圍area是Shenzhen、業(yè)務(wù)類型serviceType是WeatherReport查詢業(yè)務(wù)注冊中心的業(yè)務(wù)中心,有"問天天氣預(yù)報(bào)"、"深圳天氣預(yù)報(bào)"符合條件。再根據(jù)具體業(yè)務(wù)描述的操作(operation="query")、參數(shù)(inputVariable="weatherRequest"outputVariable="weatherResponse")進(jìn)4亍業(yè)務(wù)過濾,兩個(gè)業(yè)務(wù)都滿足需求。再根據(jù)限定條件的QoS需求進(jìn)行業(yè)務(wù)過濾,兩個(gè)業(yè)務(wù)都滿足需求,生成業(yè)務(wù)列表,其中包括兩個(gè)業(yè)務(wù)"問天天氣預(yù)報(bào)"、"深圳天氣預(yù)報(bào)"。業(yè)務(wù)注冊中心返回業(yè)務(wù)列表給業(yè)務(wù)發(fā)現(xiàn)單元。4、業(yè)務(wù)發(fā)現(xiàn)單元將獲得的查詢結(jié)果,即業(yè)務(wù)列表,提供給業(yè)務(wù)組合引擎。5、業(yè)務(wù)組合引擎根據(jù)獲得的業(yè)務(wù)列表觸發(fā)業(yè)務(wù)篩選,將業(yè)務(wù)列表傳遞給業(yè)務(wù)篩選單元。6、業(yè)務(wù)篩選單元根據(jù)自身的篩選條件篩選業(yè)務(wù)列表,過濾不符合條件的業(yè)務(wù)。由于業(yè)務(wù)篩選單元定義"在同等條件下選擇QoS好的業(yè)務(wù),,策略,在比較"問天天氣預(yù)報(bào)"和"深圳天氣預(yù)報(bào)"的QoS,發(fā)現(xiàn)"深圳天氣預(yù)報(bào)"能提供更好的QoS,于是選擇"深圳天氣預(yù)報(bào),,提供給業(yè)務(wù)組合引擎。7、業(yè)務(wù)組合引擎根據(jù)獲得的"深圳天氣預(yù)報(bào),,觸發(fā)組合邏輯適配,請求業(yè)務(wù)適配單元根據(jù)提供的具體業(yè)務(wù)替換抽象描述。8、組合邏輯適配單元提取業(yè)務(wù)信息中的必要信息(此處即為portType信息,包括其命名空間),將抽象業(yè)務(wù)描述中的具體業(yè)務(wù)描述補(bǔ)充完整(此處為partnerLinkType中的portType),同時(shí)刪除刪除抽象業(yè)務(wù)描述的基本描述和擴(kuò)展描述。生成的BPEL腳本如上述"具體BPEL腳本示例"。本發(fā)明第三應(yīng)用實(shí)施例,即根據(jù)抽象BPEL生成服務(wù)調(diào)用該實(shí)施例布i設(shè)同上,該實(shí)施例流程描述動態(tài)尋找一個(gè)天氣預(yù)^t艮業(yè)務(wù)、并生成服務(wù)調(diào)用的過程。其BPEL腳本如上述"抽象BPEL腳本示例"。1-6:同"抽象BPEL生成具體BPEL",省略。7,業(yè)務(wù)組合引擎觸發(fā)業(yè)務(wù)調(diào)用。業(yè)務(wù)組合引擎根據(jù)獲取的業(yè)務(wù)提取業(yè)務(wù)信息中的必要信息,例如業(yè)務(wù)名、業(yè)務(wù)地址、操作、參數(shù)等,生成SOAP用。SOAP消息示例如下?!碨OAP-ENV:Envelopexmlns:SOAP-ENV="http:〃schemas.xmlsoap.org/soap/envelope/"SOAP-ENV:encodingStyle="http:〃schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body>〈SZWeatherReport:Queryxmlns:SZWeatherReport="Some-URI"><addrcss>Shenzh6n</addrsss><time>20070520</time></SZWeatherReport:Query></SOAP-ENV:Body></SOAP-ENV:Envelope>若需要在執(zhí)行抽象BPEL后生成具體組合邏輯,流程如下1-8:同"抽象BPEL生成具體BPEL",省略。9:業(yè)務(wù)組合引擎觸發(fā)業(yè)務(wù)調(diào)用。業(yè)務(wù)組合引擎根據(jù)獲取的業(yè)務(wù)提取業(yè)務(wù)信息中的必要信息,例如業(yè)務(wù)地址、業(yè)務(wù)名、才喿作、參數(shù)等,生成服務(wù)調(diào)用;或者業(yè)務(wù)組合引擎根據(jù)生成的BPEL片段直接生成服務(wù)調(diào)用。本發(fā)明第四應(yīng)用實(shí)施例,即具體BPEL生成抽象BPEL布i設(shè)有一具體BPEL腳本如上述"具體BPEL腳本示例",在經(jīng)過抽象BPEL流程處理后自動生成抽象BPEL腳本。本實(shí)施例中將具體的"深圳天氣預(yù)報(bào)"業(yè)務(wù)替換成"天氣預(yù)報(bào)"模板。業(yè)務(wù)組合引擎檢測到具體BPEL腳本中的一個(gè)服務(wù)調(diào)用片段時(shí),觸發(fā)業(yè)務(wù)模板替換過程。業(yè)務(wù)組合引擎根據(jù)具體BPEL腳本中的業(yè)務(wù)具體描述向業(yè)務(wù)發(fā)現(xiàn)單元觸發(fā)模板查詢請求。相關(guān)業(yè)務(wù)具體描述如下<processname-"combinationService"xmlns:sif="http:〃example.com/SZWeatherReport/interface/"><partnerLinkTypename:"weatherQueryLT"><rolename="weatherReportService"portType="sif:shippingServicePT"/><partncrLinkType><partnerLinks><partnerLinkname="customer"partnerLinkType="weatherQueryLT7></partnerLinks><invokepartnerLink="customer"operation="query',inputVariable=,,weatherRequest"outputVariable="weatherResponse"></invoke>1、業(yè)務(wù)發(fā)現(xiàn)單元從業(yè)務(wù)具體描述中獲取業(yè)務(wù)名。此處partnerLink為"customer",但"customer"并不是真正的調(diào)用業(yè)務(wù);從"customer"獲得其partnerLinkType為"weatherQueryLT";乂人"weatherQueryLT"獲4尋其一目應(yīng)的portType為"sif:shippingservicePT";再根據(jù)portType的值以及名字空間獲取業(yè)務(wù)描述,從而確定業(yè)務(wù)名。此處業(yè)務(wù)名為SZWeatherReport(深圳天氣預(yù)報(bào))。2、根據(jù)獲取的業(yè)務(wù)名查詢模板中心,獲得"深圳天氣預(yù)報(bào),,查詢業(yè)務(wù)的一個(gè)模板,并抽取模板名以及相應(yīng)模板描述。模板如下。<templateDescriptiontemplate="weatherReportTemplate"><serviceCriteria><attributeGroupcategory="serviceType"name="weatherReport"/></serviceCriteria><operationCriterianame="Query7〉<inputVariableCriteriatype="weatherRequest7><outputVariableCriteriatype="weatherResponse7></templateDescription>1、模板中心給業(yè)務(wù)發(fā)現(xiàn)單元返回業(yè)務(wù)模板信息,包括模板名以及相應(yīng)模板描述。2、業(yè)務(wù)發(fā)現(xiàn)單元給業(yè)務(wù)組合引擎返回業(yè)務(wù)才莫寺反信息。3、業(yè)務(wù)組合引擎觸發(fā)組合邏輯適配過程,請求組合邏輯適配單元根據(jù)獲取的業(yè)務(wù)模板信息替換具體組合邏輯中的具體業(yè)務(wù)調(diào)用。4、組合邏輯適配單元在具體組合邏輯的具體業(yè)務(wù)調(diào)用片段中增加業(yè)務(wù)抽象描述的基本描述部分,由于次數(shù)是基于模板的替換,所以基本描述的字段都為空,即portType、operation、inputVariable、outputVariable都用"弁弁,,替換;在基本描述部分增加抽象業(yè)務(wù)的基本描述,用于描述service(即portType)、operation、inputVariable、outputVariable信息,其描述內(nèi)容由才莫+反信息#是供。生成的抽象BPEL描述如下〈processname="combinationService''xmlns:sif="##"><partnerLinkTypename="weatherQueryLT"><rolename="weatherReportService"portType二"sif:##"/><partnerLinkType><partnerLinks>〈partnerLinkname="customer"partnerLinkType="weatherQueryLT7></partnerLinks>〈scqu6ncc〉〈invokepartnerLink="customer"operation-"##"i叩utVariable="##"outputVariable="##"〉<baseCriteria><serviceCriteria><attributeGroupcategory="serviceType"name="WeatherReport7></serviceCriteria><operationCriterianame="Query"/><inputVariableCriteriatype="weatherRequest7><outputVariableCriteriatype="weatherResponse7></baseCriteria></invoke〉</scqucncc></proc6ss>本本發(fā)明第五應(yīng)用實(shí)施例,即回溯的實(shí)現(xiàn)過程在執(zhí)行具體BPEL時(shí),由于BPEL只能提供靜態(tài)的業(yè)務(wù)組合。所以在4丸行BPEL腳本時(shí)可能會存在所調(diào)用的業(yè)務(wù)已失效的情況。本實(shí)施例描述在執(zhí)行BPEL腳本時(shí),調(diào)用的"深圳天氣預(yù)報(bào)"業(yè)務(wù)失效,業(yè)務(wù)組合引擎提供另外一個(gè)業(yè)務(wù)來調(diào)用。假設(shè)BPEL腳本為"具體BPEL腳本示例"。具體過程為1、業(yè)務(wù)組合引擎執(zhí)行具體BPEL中的"深圳天氣預(yù)報(bào)"時(shí),遇到所調(diào)用的服務(wù)不能提供訪問,就觸發(fā)回溯機(jī)制。2、業(yè)務(wù)組合引擎才艮據(jù)具體BPEL腳本中的業(yè)務(wù)具體描述向業(yè)務(wù)發(fā)現(xiàn)單元觸發(fā)業(yè)務(wù)查詢請求,業(yè)務(wù)發(fā)現(xiàn)單元才艮據(jù)業(yè)務(wù)具體描述中的業(yè)務(wù)名查詢才莫^^中心,獲得該服務(wù)相應(yīng)的一個(gè)模板,此處即"天氣預(yù)報(bào)"模板。該步驟的實(shí)現(xiàn)過程同具體BPEL生成抽象BPEL步驟2,3,4。3、模板中心根據(jù)"天氣預(yù)報(bào)"模板獲得對應(yīng)的業(yè)務(wù),即"問天天氣預(yù)報(bào)"、"廣東天氣預(yù)才艮"、"深圳天氣預(yù)報(bào)",并向業(yè)務(wù)中心獲取具體的業(yè)務(wù)描述,包括業(yè)務(wù)名、操作、參數(shù)以及QoS信息等。在該步驟中,模板中心的業(yè)務(wù)只是一個(gè)引用,沒具體的業(yè)務(wù)描述。4、業(yè)務(wù)注冊中心給業(yè)務(wù)發(fā)現(xiàn)單元返回業(yè)務(wù)列表,業(yè)務(wù)發(fā)現(xiàn)單元給業(yè)務(wù)組合引擎返回業(yè)務(wù)列表。5、業(yè)務(wù)組合引擎向業(yè)務(wù)篩選單元請求篩選業(yè)務(wù),由于"深圳天氣預(yù)報(bào),,不能訪問,被過濾;再比較QoS情況,"問天天氣預(yù)報(bào)"優(yōu)于"廣東天氣預(yù)報(bào)",所以業(yè)務(wù)篩選單元選擇"問天天氣預(yù)報(bào),,來提供服務(wù)。6、業(yè)務(wù)組合引擎根據(jù)業(yè)務(wù)篩選單元提供的"問天天氣預(yù)報(bào),,生成服務(wù)調(diào)用。該步驟的實(shí)現(xiàn)過程同抽象BPEL生成服務(wù)調(diào)用步驟7、8、9,在此不再贅述。由此可見,本發(fā)明實(shí)施例通過抽象業(yè)務(wù)描述機(jī)制以及業(yè)務(wù)模板機(jī)制,提供了一種將抽象組合業(yè)務(wù)邏輯轉(zhuǎn)換成具體組合業(yè)務(wù)邏輯的機(jī)制,實(shí)現(xiàn)了動態(tài)的業(yè)務(wù)組合、動態(tài)的業(yè)務(wù)選擇。本發(fā)明實(shí)施例還提供直接執(zhí)行抽象業(yè)務(wù)組合邏輯的機(jī)制,能根據(jù)業(yè)務(wù)抽象描述直接生成服務(wù)調(diào)用,省去了轉(zhuǎn)換成具體組合業(yè)務(wù)邏輯的步驟。同時(shí)還提供一種機(jī)制在直接執(zhí)行抽象業(yè)務(wù)組合邏輯時(shí)附帶生成具體組合業(yè)務(wù)邏輯。本發(fā)明實(shí)施例還提供抽象組合邏輯的自動生成過程,能直接根據(jù)具體業(yè)務(wù)組合邏輯生成抽象業(yè)務(wù)組合邏輯,為自動業(yè)務(wù)組合提供抽象組合業(yè)務(wù)邏輯。當(dāng)執(zhí)行組合業(yè)務(wù)邏輯執(zhí)行過程中調(diào)用的業(yè)務(wù)不能用時(shí),能動態(tài)進(jìn)行回溯,將具體業(yè)務(wù)描述轉(zhuǎn)換成模板描述,進(jìn)而動態(tài)選擇一個(gè)合適的業(yè)務(wù)來替換。解決了所調(diào)用的業(yè)務(wù)不可訪問時(shí)的動態(tài)替換。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。權(quán)利要求1、一種組合業(yè)務(wù)處理方法,其特征在于,包括步驟:獲取組合業(yè)務(wù)邏輯中業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù),其中所述業(yè)務(wù)調(diào)用片段為抽象業(yè)務(wù)調(diào)用片段或業(yè)務(wù)模板的片段;觸發(fā)業(yè)務(wù)替換,請求將所述業(yè)務(wù)調(diào)用片段替換成所獲取具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段;或觸發(fā)業(yè)務(wù)調(diào)用,請求根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。2、根據(jù)權(quán)利要求l所述組合業(yè)務(wù)處理方法,其特征在于,所述方法還包括根據(jù)抽象業(yè)務(wù)調(diào)用片段信息中的基本描述信息生成業(yè)務(wù)模板發(fā)現(xiàn)請求,其中,所述基本描述信息包括業(yè)務(wù)類別、操作信息和參數(shù)信息;根據(jù)所述業(yè)務(wù)模板發(fā)現(xiàn)請求進(jìn)行業(yè)務(wù)模板查詢,獲得匹配所述基本描述信息的業(yè)務(wù)模板信息,。3、根據(jù)權(quán)利要求2所述組合業(yè)務(wù)處理方法,其特征在于,所述獲取業(yè)務(wù)組合邏輯中業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù)的過程為根據(jù)抽象業(yè)務(wù)調(diào)用片段描述、業(yè)務(wù)模板片段描述或業(yè)務(wù)模板信息生成業(yè)務(wù)發(fā)現(xiàn)請求;根據(jù)所述業(yè)務(wù)發(fā)現(xiàn)請求進(jìn)行業(yè)務(wù)查詢,獲取符合查詢信息的具體業(yè)務(wù)的業(yè)務(wù)列表;選擇業(yè)務(wù)列表中的一個(gè)具體業(yè)務(wù)。4、根據(jù)權(quán)利要求3所述組合業(yè)務(wù)處理方法,其特征在于,所述查詢信息包括查詢類型、業(yè)務(wù)描述和限定條件;或者包括查詢類型、沖莫板描述和限定條件。5、根據(jù)權(quán)利要求l所述組合業(yè)務(wù)處理方法,其特征在于,所述具體業(yè)務(wù)與業(yè)務(wù)才莫板之間存在映射關(guān)系,根據(jù)所述映射關(guān)系查找到對應(yīng)的具體業(yè)務(wù)。6、根據(jù)權(quán)利要求2或3所述組合業(yè)務(wù)處理方法,其特征在于,所述查詢的過程包括若根據(jù)模板查詢,則判斷是否指定模板名,若是,則根據(jù)模板名查詢模板中心,獲取模板列表中對應(yīng)的業(yè)務(wù)列表;否則,根據(jù)模板描述的業(yè)務(wù)信息查詢模板中心,獲取模板列表中對應(yīng)的業(yè)務(wù)列表。7、根據(jù)權(quán)利要求3所述組合業(yè)務(wù)處理方法,其特征在于,所述查詢的過程包括若根據(jù)業(yè)務(wù)描述查詢,則判斷是否指定具體的業(yè)務(wù)名,若是,則直接查找業(yè)務(wù)中心獲得對應(yīng)的業(yè)務(wù)列表;否則,根據(jù)業(yè)務(wù)抽象描述中基本描述的業(yè)務(wù)信息查詢,獲得對應(yīng)的業(yè)務(wù)列表;根據(jù)業(yè)務(wù)抽象描述的具體業(yè)務(wù)描述、抽象描述中基本描述或二者結(jié)合進(jìn)行過慮所述業(yè)務(wù)列表,得到符合條件的業(yè)務(wù)列表。8、根據(jù)權(quán)利要求6或7所述組合業(yè)務(wù)處理方法,其特征在于,所述查詢的過程還包括根據(jù)業(yè)務(wù)抽象描述的擴(kuò)展部分對所獲得的業(yè)務(wù)列表進(jìn)行過濾,生成符合查詢條件的業(yè)務(wù)列表。9、根據(jù)權(quán)利要求7所述組合業(yè)務(wù)處理方法,其特征在于,所述根據(jù)業(yè)務(wù)抽象描述中基本描述的業(yè)務(wù)信息查詢,獲得對應(yīng)的業(yè)務(wù)列表的過程為根據(jù)業(yè)務(wù)抽象描述中基本描述的業(yè)務(wù)信息進(jìn)行查詢,獲得對應(yīng)的模板信息;根據(jù)所述模板信息進(jìn)行查詢,得到對應(yīng)的業(yè)務(wù)列表。10、根據(jù)權(quán)利要求2所述組合業(yè)務(wù)處理方法,其特征在于,所述選擇業(yè)務(wù)列表中的一個(gè)具體業(yè)務(wù)的過程為觸發(fā)對所述業(yè)務(wù)列表的篩選,得到符合篩選條件的具體業(yè)務(wù)。11、根據(jù)權(quán)利要求l所述組合業(yè)務(wù)處理方法,其特征在于,在具體業(yè)務(wù)生成服務(wù)調(diào)用的過程中用具體業(yè)務(wù)替換抽象業(yè)務(wù)調(diào)用片#殳,具體包括在生成服務(wù)調(diào)用前或者在生成業(yè)務(wù)調(diào)用后或者在生成服務(wù)調(diào)用的同時(shí),根據(jù)獲得的具體業(yè)務(wù)生成服務(wù)調(diào)用。12、根據(jù)權(quán)利要求l所述組合業(yè)務(wù)處理方法,其特征在于,所述方法還包括在替換過程中生成服務(wù)調(diào)用,具體為在替換前,根據(jù)獲得的具體業(yè)務(wù)生成服務(wù)調(diào)用;或者在替換后,根據(jù)獲得的具體業(yè)務(wù)或替換后的具體業(yè)務(wù)調(diào)用片段生成服務(wù)調(diào)用;或者在替換的同時(shí),根據(jù)獲得的具體業(yè)務(wù)生成服務(wù)調(diào)用。13、根據(jù)權(quán)利要求l、2、6、7、9、11或12所述組合業(yè)務(wù)處理方法,其特征在于,所述抽象業(yè)務(wù)描述包括所調(diào)用的業(yè)務(wù)、業(yè)務(wù)操作和操作對應(yīng)的參數(shù)中至少有一個(gè)未指定具體值;所述具體業(yè)務(wù)描述包括所調(diào)用的業(yè)務(wù)、業(yè)務(wù)操作和操作對應(yīng)的參數(shù)中全部指定具體值。14、一種組合業(yè)務(wù)替換方法,其特征在于,包括步驟獲取組合業(yè)務(wù)邏輯中具體業(yè)務(wù)調(diào)用片l殳信息對應(yīng)的業(yè)務(wù)才莫板信息;用所述業(yè)務(wù)模板信息替換所述組合業(yè)務(wù)邏輯中的具體業(yè)務(wù)調(diào)用片段信息。15、根據(jù)權(quán)利要求14所述組合業(yè)務(wù)替換方法,其特征在于,所述業(yè)務(wù)模板信息包括模板名及對應(yīng)的模板描述,模板描述;或者包括業(yè)務(wù)類別、業(yè)務(wù)操作和參數(shù)。16、根據(jù)權(quán)利要求15所述組合業(yè)務(wù)替換方法,其特征在于,用所述模板信息替換所述組合業(yè)務(wù)邏輯中的具體業(yè)務(wù)調(diào)用片段信息的過程為在組合業(yè)務(wù)邏輯的具體業(yè)務(wù)調(diào)用片段中的具體業(yè)務(wù)調(diào)用片段替換業(yè)務(wù)抽象描述的基本描述部分,并在基本描述部分增加模板名或?qū)?yīng)的模板描述,同時(shí)刪除所述具體業(yè)務(wù)調(diào)用片l殳對應(yīng)的具體業(yè)務(wù)描述。17、根據(jù)權(quán)利要求16所述組合業(yè)務(wù)替換方法,其特征在于,所述獲取組合業(yè)務(wù)邏輯中具體業(yè)務(wù)調(diào)用片段對應(yīng)的業(yè)務(wù)模板信息的過程為根據(jù)具體業(yè)務(wù)描述觸發(fā)業(yè)務(wù)模板查詢請求;接收對應(yīng)業(yè)務(wù)模板查詢請求業(yè)務(wù)模板查詢請求的查詢信息,所述查信信息包括具體業(yè)務(wù)描述的業(yè)務(wù)名;根據(jù)所述業(yè)務(wù)名觸發(fā)業(yè)務(wù)模板查詢請求,獲得模板中心反饋所述業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息,所述業(yè)務(wù)模板信息包括模板名及模板描述;或者包括業(yè)務(wù)類別、業(yè)務(wù)操作和參數(shù)。18、根據(jù)權(quán)利要求17所述組合業(yè)務(wù)替換方法,其特征在于,所述模板中心根據(jù)業(yè)務(wù)名進(jìn)行查詢的過程為模板中心根據(jù)所述業(yè)務(wù)名,查找映射表,獲得對應(yīng)的業(yè)務(wù)模板信息,其中,所述映射表為存儲業(yè)務(wù)名與業(yè)務(wù)模板之間的映射關(guān)系。19、一種具體業(yè)務(wù)調(diào)用方法,其特征在于,包括當(dāng)具體業(yè)務(wù)調(diào)用片段所描述的業(yè)務(wù)不能提供服務(wù)時(shí),獲取具體業(yè)務(wù)調(diào)用片段描述對應(yīng)的業(yè)務(wù)模板信息;根據(jù)所述業(yè)務(wù)模板信息查詢獲得具體業(yè)務(wù);根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。20、根據(jù)權(quán)利要求19所述具體業(yè)務(wù)調(diào)用方法,其特征在于,所述獲取具體業(yè)務(wù)調(diào)用片段描述對應(yīng)的業(yè)務(wù)模板信息的過程為根據(jù)具體業(yè)務(wù)描述發(fā)送業(yè)務(wù)模板查詢請求,所述業(yè)務(wù)模板查詢請求包括具體業(yè)務(wù)描述的業(yè)務(wù)名;獲得所述業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息,所述業(yè)務(wù)模板信息包括模板名及模板描述;或者包括業(yè)務(wù)類別、業(yè)務(wù)操作和參數(shù)。21、根據(jù)權(quán)利要求20所述具體業(yè)務(wù)調(diào)用方法,其特征在于,所述根據(jù)所業(yè)務(wù)模板信息獲得具體業(yè)務(wù)的過程為根據(jù)所述業(yè)務(wù)模板信息向模板中心查詢,獲得符合業(yè)務(wù)模板的業(yè)務(wù)列表;觸發(fā)對所述業(yè)務(wù)列表的篩選,得到符合篩選條件的具體業(yè)務(wù)。22、根據(jù)權(quán)利要求21所述具體業(yè)務(wù)調(diào)用方法,其特征在于,所述模板中心根據(jù)業(yè)務(wù)模板信息進(jìn)行查詢的過程包括若根據(jù)業(yè)務(wù)模板查詢,則判斷是否指定模板名,若是,則根據(jù)模板名查詢模板中心,獲取對應(yīng)的模板列表中業(yè)務(wù)列表;否則根據(jù)模板描述的業(yè)務(wù)信息查詢模板中心,獲取符合描述的模板列表中對應(yīng)的業(yè)務(wù)列表。23、根據(jù)權(quán)利要求22所述具體業(yè)務(wù)調(diào)用方法,其特征在于,所述模板中心根據(jù)所述業(yè)務(wù)查詢信息查詢的過程還包括根據(jù)業(yè)務(wù)擴(kuò)展部分對所獲得的業(yè)務(wù)列表進(jìn)行過濾,生成符合查詢條件的業(yè)務(wù)列表。24、一種組合業(yè)務(wù)處理裝置,其特征在于,包括獲取單元,用于獲取業(yè)務(wù)組合邏輯中抽象業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù);觸發(fā)生成單元,用于觸發(fā)業(yè)務(wù)組合適配,請求將抽象業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段;或用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。25、根據(jù)權(quán)利要求24所述組合業(yè)務(wù)處理裝置,其特征在于,所述判斷單元、獲取單元和觸發(fā)生成單元集成在業(yè)務(wù)組合引擎中。26、根據(jù)權(quán)利要求24所述組合業(yè)務(wù)處理裝置,其特征在于,所述裝置還包括業(yè)務(wù)發(fā)現(xiàn)單元,用于根據(jù)抽象業(yè)務(wù)描述或模板信息生成業(yè)務(wù)發(fā)現(xiàn)請求,根據(jù)所述業(yè)務(wù)發(fā)現(xiàn)請求向注冊中心進(jìn)行業(yè)務(wù)查詢,獲取到符合要求的業(yè)務(wù)列表,并將所述業(yè)務(wù)列表發(fā)送給業(yè)務(wù)組合引擎;業(yè)務(wù)篩選單元,用于在接收到業(yè)務(wù)組合引擎觸發(fā)的業(yè)務(wù)篩選時(shí),篩選所述業(yè)務(wù)列表,得到符合篩選條件的業(yè)務(wù)列表,從所述符合篩選條件的業(yè)務(wù)列表中選擇一個(gè)具體業(yè)務(wù)反饋給所述獲取單元;組合邏輯適配單元,用于在接收到業(yè)務(wù)組合引擎請求的組合邏輯適配時(shí),將抽象業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段。27、根據(jù)權(quán)利要求26所述組合業(yè)務(wù)處理裝置,其特征在于,所述裝置還包括業(yè)務(wù)調(diào)用片段生成單元,集成在業(yè)務(wù)組合引擎中,用于根據(jù)所述替換后的具體業(yè)務(wù)調(diào)用片段生成服務(wù)調(diào)用。28、根據(jù)權(quán)利要求24所述組合業(yè)務(wù)處理裝置,其特征在于,所述業(yè)務(wù)發(fā)現(xiàn)單元生成子單元,用于根據(jù)抽象業(yè)務(wù)描述或模板信息生成業(yè)務(wù)發(fā)現(xiàn)請求發(fā)送子單元,用于向注冊中心發(fā)送業(yè)務(wù)查詢信息,所述查詢信息包括查詢類型、業(yè)務(wù)描述和限定條件;或者包括查詢類型、纟莫板描述和限定條件;接收子單元,用于接收所述注冊中心反饋符合查詢信息的業(yè)務(wù)列表,所述業(yè)務(wù)列表包括一個(gè)或多個(gè)具體業(yè)務(wù);反饋?zhàn)訂卧?,用于反饋業(yè)務(wù)列表。29、一種組合業(yè)務(wù)替換裝置,其特征在于,包括模板信息獲取單元,用于在檢測到具體組合邏輯中的服務(wù)業(yè)務(wù)調(diào)用片段時(shí),獲取具體組合邏輯中具體業(yè)務(wù)描述的業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息;適配觸發(fā)單元,用于觸發(fā)業(yè)務(wù)組合適配,請求將所述模板信息替換所述具體組合邏輯中的具體業(yè)務(wù)調(diào)用。30、根據(jù)權(quán)利要求29所述組合業(yè)務(wù)替換裝置,其特征在于,模板信息獲取單元和適配觸發(fā)單元集成在業(yè)務(wù)組合引擎中。31、根據(jù)權(quán)利要求29所述組合業(yè)務(wù)替換裝置,其特征在于,所述裝置還包括組合邏輯適配單元,用于在接收到適配觸發(fā)單元請求的組合邏輯適配時(shí),將所述模板信息替換所述具體組合邏輯中的具體業(yè)務(wù)調(diào)用。32、根據(jù)權(quán)利要求31所述組合業(yè)務(wù)替換裝置,其特征在于,所述組合邏輯適配單元包括增加子單元,用于在具體組合邏輯中的具體業(yè)務(wù)調(diào)用片段中增加業(yè)務(wù)抽象描述的基本描述部分,并在基本描述部分增加模板名及對應(yīng)的沖莫板描述;刪除子單元,用于在增加子單元添加完成時(shí)刪除對應(yīng)的具體業(yè)務(wù)描述。33、根據(jù)權(quán)利要求29所述組合業(yè)務(wù)替換裝置,其特征在于,所述模板信息獲取單元包括查詢請求發(fā)送單元,用于根據(jù)具體業(yè)務(wù)描述發(fā)送業(yè)務(wù)模板查詢請求;所述業(yè)務(wù)模板查詢請求包括具體業(yè)務(wù)描述的業(yè)務(wù)名;模板信息接收單元,用于接收所述業(yè)務(wù)名對應(yīng)的業(yè)務(wù)才莫板信息,所述業(yè)務(wù)模板信息,包括模板名及模板描述。34、一種具體業(yè)務(wù)調(diào)用裝置,其特征在于,包括模板信息獲取單元,用于在具體服務(wù)調(diào)用片段不能提供服務(wù)時(shí),獲取具體業(yè)務(wù)描述對應(yīng)的業(yè)務(wù)模板信息;具體業(yè)務(wù)獲取單元,用于根據(jù)所述業(yè)務(wù)模板信息向注冊中心查詢,獲得符合業(yè)務(wù)模板的具體業(yè)務(wù);服務(wù)調(diào)用生成單元,用于根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。35、根據(jù)權(quán)利要求34所述具體業(yè)務(wù)調(diào)用裝置,其特征在于,所述模板信息獲取單元包括查詢請求發(fā)送單元,用于根據(jù)具體業(yè)務(wù)描述發(fā)送業(yè)務(wù)模板查詢請求,所述業(yè)務(wù)才莫板查詢請求包括具體業(yè)務(wù)描述的業(yè)務(wù)名;模板信息接收單元,用于接收所述業(yè)務(wù)名對應(yīng)的業(yè)務(wù)模板信息,所述業(yè)務(wù)模板信息包括模板名及模板描述。36、根據(jù)權(quán)利要求34所述具體業(yè)務(wù)調(diào)用裝置,其特征在于,所述模板信息獲取單元、具體業(yè)務(wù)獲取單元和服務(wù)調(diào)用生成單元集成在業(yè)務(wù)組合引擎中。37、一種組合業(yè)務(wù)系統(tǒng),其特征在于,包括業(yè)務(wù)注冊中心,組合業(yè)務(wù)子系統(tǒng),其中,所述注冊中心包括業(yè)務(wù)中心,用于存儲業(yè)務(wù)信息;模板中心,用于存儲模板信息,以及業(yè)務(wù)和業(yè)務(wù)模板之間的映射關(guān)系;所述組合業(yè)務(wù)子系統(tǒng)包括包括組合業(yè)務(wù)處理裝置、組合業(yè)務(wù)替換裝置和具體業(yè)務(wù)調(diào)用裝置的一個(gè)或多個(gè)其中,所述組合業(yè)務(wù)處理裝置為權(quán)利要求24所述組合業(yè)務(wù)處理裝置;所述組合業(yè)務(wù)替換裝置為權(quán)利要求29所述組合業(yè)務(wù)替換裝置;所述具體業(yè)務(wù)調(diào)用裝置為權(quán)利要求34所述具體業(yè)務(wù)調(diào)用裝置。38、根據(jù)權(quán)利要求37所述組合業(yè)務(wù)系統(tǒng),其特征在于,所述組合業(yè)務(wù)子系統(tǒng)還包括業(yè)務(wù)發(fā)現(xiàn)單元,用于根據(jù)抽象業(yè)務(wù)描述或模板信息生成業(yè)務(wù)發(fā)現(xiàn)請求,根據(jù)所述業(yè)務(wù)發(fā)現(xiàn)請求向注冊中心進(jìn)行業(yè)務(wù)查詢,獲取到符合要求的業(yè)務(wù)列表,并反饋所述業(yè)務(wù)列表;業(yè)務(wù)篩選單元,用于在接收到業(yè)務(wù)篩選請求時(shí),篩選所述業(yè)務(wù)列表,得到符合篩選條件的業(yè)務(wù)列表,從所述符合篩選條件的業(yè)務(wù)列表中選擇一個(gè)具體業(yè)務(wù),并反饋所述具體業(yè)務(wù);組合邏輯適配單元,用于在接收到組合邏輯適配請求時(shí),將抽象業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段。全文摘要本發(fā)明涉及一種組合業(yè)務(wù)處理和組合業(yè)務(wù)替換的方法。所述組合業(yè)務(wù)處理的方法包括步驟獲取組合業(yè)務(wù)邏輯中業(yè)務(wù)調(diào)用片段描述所對應(yīng)的具體業(yè)務(wù),其中業(yè)務(wù)調(diào)用片段為抽象業(yè)務(wù)調(diào)用片段或業(yè)務(wù)模板片段;觸發(fā)業(yè)務(wù)替換,請求將所述業(yè)務(wù)調(diào)用片段替換成所獲得的具體業(yè)務(wù)的具體業(yè)務(wù)調(diào)用片段;或觸發(fā)業(yè)務(wù)調(diào)用,請求根據(jù)所述具體業(yè)務(wù)生成服務(wù)調(diào)用。所述組合業(yè)務(wù)替換方法包括獲取組合業(yè)務(wù)邏輯中具體業(yè)務(wù)調(diào)用片段信息對應(yīng)的業(yè)務(wù)模板信息;用所述模板信息替換所述組合業(yè)務(wù)邏輯中的具體業(yè)務(wù)調(diào)用片段信息。本發(fā)明還提供一種組合業(yè)務(wù)處理、替換以及具體業(yè)務(wù)的替換裝置和方法,本發(fā)明還提供一種組合業(yè)務(wù)系統(tǒng)。以解決在組合業(yè)務(wù)邏輯執(zhí)行時(shí)能動態(tài)選擇具體業(yè)務(wù)的問題。文檔編號H04L12/16GK101378324SQ200710148480公開日2009年3月4日申請日期2007年8月31日優(yōu)先權(quán)日2007年8月31日發(fā)明者劉見鋒,徐文華,彥李,石曉旻申請人:華為技術(shù)有限公司