本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種基于soa的動(dòng)態(tài)路由方法和一種基于soa的動(dòng)態(tài)路由系統(tǒng)。
背景技術(shù):
soa(service-orientedarchitecture,面向服務(wù)的體系結(jié)構(gòu))在某些大型項(xiàng)目中,存在如下業(yè)務(wù)情況:
以藥品分發(fā)為例:為了實(shí)現(xiàn)對(duì)某地區(qū)內(nèi)藥品的監(jiān)控與管理,在某地區(qū)內(nèi)建立五個(gè)分布在不同區(qū)域的藥品倉庫(其中,一個(gè)中心倉庫,其余為區(qū)域倉庫)的基礎(chǔ)上,所有藥品統(tǒng)一通過中心倉庫采購,根據(jù)醫(yī)療機(jī)構(gòu)的藥品實(shí)際使用需求以及自身藥品存量情況,合理的將各個(gè)藥品分配到各個(gè)區(qū)域倉庫。
相關(guān)技術(shù)中,中心倉庫與區(qū)域倉庫間的交互:
提供一個(gè)采購訂單導(dǎo)入的webservice接口,在不同地點(diǎn)的應(yīng)用服務(wù)器部署,由中心倉庫封裝不同區(qū)域倉庫的接口url(uniformresourcelocator,統(tǒng)一資源定位符)地址,業(yè)務(wù)在調(diào)用的時(shí)候,通過不同的接口地址來進(jìn)行訪問即可,這一調(diào)用方式加大了中心接口的工作量,中心接口需要提供的接口數(shù)量=單個(gè)接口×n個(gè)中心接口,針對(duì)每個(gè)區(qū)域倉庫都需要開發(fā)一個(gè)對(duì)應(yīng)的接口與中心接口一一對(duì)應(yīng),這種通過中心接口服務(wù)名字來實(shí)現(xiàn)不同接口的調(diào)用缺點(diǎn)很明顯,增加了開發(fā)成本和維護(hù)成本,對(duì)此,目前還沒有有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明正是基于上述技術(shù)問題至少之一,提出了一種新的基于soa的動(dòng)態(tài)路由方案,通過在soa總線平臺(tái)上部署webservice接口,可動(dòng)態(tài)路由到不同webservice接口,避免重復(fù)開發(fā)接口,提高了開發(fā)效率,降低了開發(fā)成本和維護(hù)成本。
有鑒于此,本發(fā)明提出了一種基于soa的動(dòng)態(tài)路由方法,包括:在soa總線平臺(tái)上部署webservice接口,其中,所述webservice接口的預(yù)置接口地址可被正常訪問;當(dāng)獲取到訂單申請(qǐng)時(shí),從所述訂單申請(qǐng)中讀取目標(biāo)路由配置信息;基于所述目標(biāo)路由配置信息生成目標(biāo)接口地址;將所述預(yù)置接口地址替換為所述目標(biāo)接口地址,以構(gòu)建路由服務(wù)。
在該技術(shù)方案中,通過在soa總線平臺(tái)上部署webservice接口,webservice接口配置有可正常訪問的接口地址,當(dāng)獲取到訂單申請(qǐng)時(shí),基于從訂單申請(qǐng)中讀取到的目標(biāo)路由配置信息生成目標(biāo)接口地址,并將預(yù)置接口地址替換為目標(biāo)接口地址,無需重復(fù)開發(fā)接口,可動(dòng)態(tài)路由到不同webservice接口,提高了開發(fā)效率,降低了開發(fā)成本和維護(hù)成本。
在上述技術(shù)方案中,優(yōu)選地,所述在soa總線平臺(tái)上部署webservice接口的步驟,具體包括:獲取接口輸入?yún)?shù)信息和接口輸出參數(shù)信息;基于所述接口輸入?yún)?shù)信息和所述接口輸出參數(shù)信息,創(chuàng)建所述webservice接口;將所述webservice接口部署在所述soa總線平臺(tái)上。
在該技術(shù)方案中,通過獲取到的接口輸入?yún)?shù)信息和接口輸出參數(shù)信息來創(chuàng)建webservice接口,并將其部署在soa總線平臺(tái)上,而無需在不同地點(diǎn)的應(yīng)用服務(wù)器分別進(jìn)行部署,為后續(xù)實(shí)現(xiàn)接口地址的動(dòng)態(tài)綁定提供前提保證。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述從所述訂單申請(qǐng)中讀取目標(biāo)路由配置信息的步驟具體包括:基于數(shù)據(jù)庫適配器讀取所述目標(biāo)路由配置信息。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述預(yù)置接口地址信息包括url地址信息。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述目標(biāo)路由配置信息包括:服務(wù)名稱、訪問區(qū)域代碼、訪問區(qū)域用戶名、訪問區(qū)域密碼、備注信息。
根據(jù)本發(fā)明的第二方面,提出了一種基于soa的動(dòng)態(tài)路由系統(tǒng)包括:部署單元,用于在soa總線平臺(tái)上部署webservice接口,其中,所述webservice接口的預(yù)置接口地址可被正常訪問;讀取單元,用于當(dāng)獲取到訂單申請(qǐng)時(shí),從所述訂單申請(qǐng)中讀取目標(biāo)路由配置信息;生成單元,用于基于所述目標(biāo)路由配置信息生成目標(biāo)接口地址;處理單元,用于將所述預(yù)置接口地址替換為所述目標(biāo)接口地址,以構(gòu)建路由服務(wù)。
在該技術(shù)方案中,通過在soa總線平臺(tái)上部署webservice接口,webservice接口配置有可正常訪問的接口地址,當(dāng)獲取到訂單申請(qǐng)時(shí),基于從訂單申請(qǐng)中讀取到的目標(biāo)路由配置信息生成目標(biāo)接口地址,并將預(yù)置接口地址替換為目標(biāo)接口地址,無需重復(fù)開發(fā)接口,可動(dòng)態(tài)路由到不同webservice接口,提高了開發(fā)效率,降低了開發(fā)成本和維護(hù)成本。
在上述技術(shù)方案中,優(yōu)選地,所述部署單元具體用于:獲取接口輸入?yún)?shù)信息和接口輸出參數(shù)信息;基于所述接口輸入?yún)?shù)信息和所述接口輸出參數(shù)信息,創(chuàng)建所述webservice接口;將所述webservice接口部署在所述soa總線平臺(tái)上。
在該技術(shù)方案中,通過獲取到的接口輸入?yún)?shù)信息和接口輸出參數(shù)信息來創(chuàng)建webservice接口,并將其部署在soa總線平臺(tái)上,而無需在不同地點(diǎn)的應(yīng)用服務(wù)器分別進(jìn)行部署,為后續(xù)實(shí)現(xiàn)接口地址的動(dòng)態(tài)綁定提供前提保證。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述讀取單元具體用于:基于數(shù)據(jù)庫適配器讀取所述目標(biāo)路由配置信息。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述預(yù)置接口地址信息包括url地址信息。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述目標(biāo)路由配置信息包括:服務(wù)名稱、訪問區(qū)域代碼、訪問區(qū)域用戶名、訪問區(qū)域密碼、備注信息。
通過以上技術(shù)方案,通過在soa總線平臺(tái)上部署webservice接口,可動(dòng)態(tài)路由到不同webservice接口,避免重復(fù)開發(fā)接口,提高了開發(fā)效率,降低了開發(fā)成本和維護(hù)成本。
附圖說明
圖1示出了根據(jù)本發(fā)明的實(shí)施例的基于soa的動(dòng)態(tài)路由方法的示意流程圖;
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的基于soa的動(dòng)態(tài)路由系統(tǒng)的示意框圖;
圖3示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的基于soa的動(dòng)態(tài)路由系統(tǒng)的示意框圖。
具體實(shí)施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
圖1示出了根據(jù)本發(fā)明的實(shí)施例的基于soa的動(dòng)態(tài)路由方法的示意流程圖。
如圖1所示,根據(jù)本發(fā)明的實(shí)施例的基于soa的動(dòng)態(tài)路由方法,包括:
步驟102,在soa總線平臺(tái)上部署webservice接口,其中,所述webservice接口的預(yù)置接口地址可被正常訪問。
步驟104,當(dāng)獲取到訂單申請(qǐng)時(shí),從所述訂單申請(qǐng)中讀取目標(biāo)路由配置信息。
步驟106,基于所述目標(biāo)路由配置信息生成目標(biāo)接口地址。
步驟108,將所述預(yù)置接口地址替換為所述目標(biāo)接口地址,以構(gòu)建路由服務(wù)。
在該技術(shù)方案中,通過在soa總線平臺(tái)上部署webservice接口,webservice接口配置有可正常訪問的接口地址,當(dāng)獲取到訂單申請(qǐng)時(shí),基于從訂單申請(qǐng)中讀取到的目標(biāo)路由配置信息生成目標(biāo)接口地址,并將預(yù)置接口地址替換為目標(biāo)接口地址,無需重復(fù)開發(fā)接口,可動(dòng)態(tài)路由到不同webservice接口,降低了開發(fā)成本和維護(hù)成本。
在上述技術(shù)方案中,優(yōu)選地,所述在soa總線平臺(tái)上部署webservice接口的步驟,具體包括:獲取接口輸入?yún)?shù)信息和接口輸出參數(shù)信息;基于所述接口輸入?yún)?shù)信息和所述接口輸出參數(shù)信息,創(chuàng)建所述webservice接口;將所述webservice接口部署在所述soa總線平臺(tái)上。
在該技術(shù)方案中,通過獲取到的接口輸入?yún)?shù)信息和接口輸出參數(shù)信息來創(chuàng)建webservice接口,并將其部署在soa總線平臺(tái)上,而無需在不同地點(diǎn)的應(yīng)用服務(wù)器分別進(jìn)行部署,為后續(xù)實(shí)現(xiàn)接口地址的動(dòng)態(tài)綁定提供前提保證。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述從所述訂單申請(qǐng)中讀取目標(biāo)路由配置信息的步驟具體包括:基于數(shù)據(jù)庫適配器讀取所述目標(biāo)路由配置信息。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述預(yù)置接口地址信息包括url地址信息。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述目標(biāo)路由配置信息包括:服務(wù)名稱、訪問區(qū)域代碼、訪問區(qū)域用戶名、訪問區(qū)域密碼、備注信息。
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的基于soa的動(dòng)態(tài)路由系統(tǒng)的示意框圖。
如圖2所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的基于soa的動(dòng)態(tài)路由系統(tǒng)200,包括:部署單元202、讀取單元204、生成單元206和處理單元208。
其中,部署單元202用于在soa總線平臺(tái)上部署webservice接口,其中,所述webservice接口的預(yù)置接口地址可被正常訪問;讀取單元204用于當(dāng)獲取到訂單申請(qǐng)時(shí),從所述訂單申請(qǐng)中讀取目標(biāo)路由配置信息;生成單元206用于基于所述目標(biāo)路由配置信息生成目標(biāo)接口地址;處理單元208用于將所述預(yù)置接口地址替換為所述目標(biāo)接口地址,以構(gòu)建路由服務(wù)。
在該技術(shù)方案中,通過在soa總線平臺(tái)上部署webservice接口,webservice接口配置有可正常訪問的接口地址,當(dāng)獲取到訂單申請(qǐng)時(shí),基于從訂單申請(qǐng)中讀取到的目標(biāo)路由配置信息生成目標(biāo)接口地址,并將預(yù)置接口地址替換為目標(biāo)接口地址,無需重復(fù)開發(fā)接口,可動(dòng)態(tài)路由到不同webservice接口,降低了開發(fā)成本和維護(hù)成本。
在上述技術(shù)方案中,優(yōu)選地,所述部署單元202具體用于:獲取接口輸入?yún)?shù)信息和接口輸出參數(shù)信息;基于所述接口輸入?yún)?shù)信息和所述接口輸出參數(shù)信息,創(chuàng)建所述webservice接口;將所述webservice接口部署在所述soa總線平臺(tái)上。
在該技術(shù)方案中,通過獲取到的接口輸入?yún)?shù)信息和接口輸出參數(shù)信息來創(chuàng)建webservice接口,并將其部署在soa總線平臺(tái)上,而無需在不同地點(diǎn)的應(yīng)用服務(wù)器分別進(jìn)行部署,為后續(xù)實(shí)現(xiàn)接口地址的動(dòng)態(tài)綁定提供前提保證。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述讀取單元204具體用于:基于數(shù)據(jù)庫適配器讀取所述目標(biāo)路由配置信息。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述預(yù)置接口地址信息包括url地址信息。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,所述目標(biāo)路由配置信息包括:服務(wù)名稱、訪問區(qū)域代碼、訪問區(qū)域用戶名、訪問區(qū)域密碼、備注信息。
以下結(jié)合圖3對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步說明。
如圖3所示,根據(jù)本發(fā)明的另一個(gè)實(shí)施例的基于soa的動(dòng)態(tài)路由系統(tǒng),包括:中心單元302,區(qū)域單元304以及soa總線平臺(tái)306。
其中,中心單元302負(fù)責(zé)路由列表的配置,動(dòng)態(tài)路由接口服務(wù)的部署,以及訂單導(dǎo)入接口服務(wù)啟動(dòng)時(shí)探查使用;區(qū)域單元304用于部署每個(gè)訂單接口導(dǎo)入的服務(wù),處理實(shí)際訂單接口導(dǎo)入事務(wù);區(qū)域單元304和中心單元302中包括有db(database,數(shù)據(jù)庫)和app(application,應(yīng)用)。
具體地,動(dòng)態(tài)路由系統(tǒng)的處理過程包括:
1)、中心單元302接受外部系統(tǒng)前端請(qǐng)求,發(fā)起采購訂單申請(qǐng)(其中,訂單申請(qǐng)中包括路由配置信息)。
2)、中心單元302獲取路由列表,并提取路由配置信息。其中,主要從訂單申請(qǐng)對(duì)應(yīng)的頭信息中讀取路由配置信息,具體地,根據(jù)數(shù)據(jù)庫的路由配置使用dbadapter(databaseadapter,數(shù)據(jù)庫適配器)讀取其路由表配置信息。其中,路由表配置信息包括srv_name(服務(wù)名稱)、area_code(訪問區(qū)域代碼)、url、username(訪問區(qū)域用戶名)、password(訪問區(qū)域密碼)、remark(備注)等字段配置。
3)、中心單元302替換開發(fā)的靜態(tài)路由地址(即接口對(duì)應(yīng)的wsdl文件的url地址),并動(dòng)態(tài)綁定到新的區(qū)域地址上。具體地,中心單元302根據(jù)采購訂單導(dǎo)入接口規(guī)范(主要包括接口輸入輸出參數(shù)定義)開發(fā)webservice接口,以及部署webservice接口服務(wù)到soa總線平臺(tái)306上,并確認(rèn)其wsdl(webservivesdescriptionlanguage,網(wǎng)絡(luò)服務(wù)描述語言)文件的url地址可以正常訪問。
4)、區(qū)域單元304完成調(diào)用,采購訂單數(shù)據(jù)入庫。
5)、區(qū)域單元304返回導(dǎo)入結(jié)果,中心倉庫根據(jù)反饋結(jié)果通知業(yè)務(wù)系統(tǒng)。
在接口調(diào)用的bpel(businessprocessexecutionlanguage,業(yè)務(wù)流程執(zhí)行語言)接口服務(wù)中使用動(dòng)態(tài)調(diào)用選擇已經(jīng)部署成功的并且可訪問的服務(wù)地址,其中,可采用動(dòng)態(tài)partnerlink(伙伴連接)方式動(dòng)態(tài)接入接口服務(wù),而接口服務(wù)是否能正常的進(jìn)行動(dòng)態(tài)路由取決于在soa總線平臺(tái)上部署的接口的接口地址是否能正常訪問。
以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,本發(fā)明的技術(shù)方案提出了一種新的基于soa的動(dòng)態(tài)路由方案,通過在soa總線平臺(tái)上部署e接口,可動(dòng)態(tài)路由到不同webservice接口,避免重復(fù)開發(fā)接口,降低了開發(fā)成本和維護(hù)成本。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。