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