專利名稱:一種實(shí)現(xiàn)組合服務(wù)的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù),特別是指一種實(shí)現(xiàn)組合服務(wù)的系統(tǒng)及方法。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,為了滿足用戶在不同發(fā)展階段中不同的業(yè)務(wù)需求, 企業(yè)級(jí)應(yīng)用系統(tǒng)也在不斷地發(fā)展和完善。在此過程中,產(chǎn)生了大量釆用不同軟 件產(chǎn)品、不同設(shè)計(jì)思想構(gòu)建的系統(tǒng),從而形成了系統(tǒng)的分布、異構(gòu),進(jìn)而引發(fā) 了各系統(tǒng)之間的互聯(lián)互通問題。因此,提高計(jì)算機(jī)軟件應(yīng)用的復(fù)用能力,加強(qiáng) 計(jì)算機(jī)軟件技術(shù)之間的協(xié)作能力成為關(guān)鍵。
目前,為了解決這一 問題,采用面向服務(wù)架構(gòu)(Service-Oriented Architecture, SOA)成為信息技術(shù)(IT)領(lǐng)域內(nèi)的企業(yè)和組織的共識(shí)。其中,圍繞SOA的兩 種比較著名的組件技術(shù)為服務(wù)組件架構(gòu)(Service Component Architecture, SCA ) 和Windows通訊基礎(chǔ)(Windows Communication Foundation, WCF )。具體來說, SCA是2005年提出的 一套可構(gòu)建基于SOA的應(yīng)用系統(tǒng)模型,其核心是服務(wù)的 定義及其相關(guān)實(shí)現(xiàn)。WCF是2006年提出的使用托管代碼建立和運(yùn)行面向服務(wù) 應(yīng)用程序的統(tǒng)一框架,整合了.Net平臺(tái)下所有與分布式應(yīng)用有關(guān)的技術(shù),是分 布式應(yīng)用開發(fā)的集大成者。這兩種組件技術(shù)均可以將不同系統(tǒng)的不同功能通過 組件之間定義良好的接口和契約聯(lián)系起來,并且接口是釆用中立的方式進(jìn)行定 義的,能夠獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言。這樣,構(gòu)建在 各種這樣系統(tǒng)中的服務(wù)就能夠以統(tǒng) 一 和通用的方式進(jìn)行交互。
在實(shí)際應(yīng)用中,經(jīng)濟(jì)的快速發(fā)展、市場(chǎng)的實(shí)時(shí)多變和客戶靈活的需求直接 決定了不同規(guī)模的業(yè)務(wù)應(yīng)用要求不同程度的交互方式。但是目前,在組件技術(shù) 的服務(wù)交互機(jī)制上,特別是在服務(wù)組合方面,如何讓具有相同業(yè)務(wù)邏輯接口的
多個(gè)服務(wù)同時(shí)提供業(yè)務(wù)邏輯處理,以合理分配和充分利用有限的計(jì)算機(jī)資源; 如何在運(yùn)行過程中調(diào)整現(xiàn)有的系統(tǒng)功能,實(shí)現(xiàn)系統(tǒng)功能的動(dòng)態(tài)擴(kuò)展,而無需停
機(jī)對(duì)系統(tǒng)進(jìn)行維護(hù);如何讓SOA與事件驅(qū)動(dòng)的體系結(jié)構(gòu)(Event Driven Architecture, EDA)兼顧執(zhí)行等問題,均未得到很好的解決。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種實(shí)現(xiàn)組合服務(wù)的系統(tǒng)及方法, 方便快捷地提供組合服務(wù)。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的
一種實(shí)現(xiàn)組合服務(wù)的系統(tǒng),該系統(tǒng)包括Web服務(wù)單元和注冊(cè)管理單元, 其中,所述Web服務(wù)單元用于接收服務(wù)請(qǐng)求;所述注冊(cè)管理單元用于根據(jù)所述 服務(wù)請(qǐng)求在存儲(chǔ)的服務(wù)注冊(cè)信息中進(jìn)行搜索,根據(jù)搜索到的服務(wù)注冊(cè)信息列表 控制Web服務(wù)單元對(duì)服務(wù)請(qǐng)求進(jìn)行處理。
該系統(tǒng)進(jìn)一步包括服務(wù)封裝單元,所述服務(wù)封裝單元用于根據(jù)Web服務(wù) 描述語言WSDL對(duì)服務(wù)進(jìn)行封裝,并將所封裝服務(wù)的服務(wù)注冊(cè)信息注冊(cè)于注冊(cè) 管理單元;所述注冊(cè)管理單元,進(jìn)一步用于對(duì)所述服務(wù)注冊(cè)信息進(jìn)行存儲(chǔ);所 述服務(wù)注冊(cè)信息,是在服務(wù)封裝單元根據(jù)WSDL對(duì)服務(wù)進(jìn)行封裝后,由注冊(cè)管 理單元進(jìn)行添加、修改或刪除產(chǎn)生的。
所述注冊(cè)管理單元包括信息存儲(chǔ)模塊和服務(wù)公布接口,或信息存儲(chǔ)模塊 和注冊(cè)管理模塊,其中,所述信息存儲(chǔ)模塊用于存儲(chǔ)所述服務(wù)注冊(cè)信息;所述 服務(wù)公布接口用于根據(jù)所述服務(wù)請(qǐng)求在存儲(chǔ)的所述服務(wù)注冊(cè)信息中進(jìn)行搜索, 根據(jù)搜索到的服務(wù)注冊(cè)信息列表控制Web服務(wù)單元對(duì)服務(wù)請(qǐng)求進(jìn)行處理;所述 注冊(cè)管理模塊用于對(duì)所述服務(wù)注冊(cè)信息進(jìn)行添加、修改或刪除。
所述服務(wù)注冊(cè)信息包括但不限于WSDL信息、執(zhí)行順序、過濾條件、執(zhí) 行方式和需要響應(yīng)服務(wù)請(qǐng)求的指定服務(wù)。
所述WSDL信息包括但不限于Web服務(wù)的命名空間、服務(wù)名稱、方法名
一種實(shí)現(xiàn)組合服務(wù)的方法,該方法包含
A、 根據(jù)收到的服務(wù)請(qǐng)求在存儲(chǔ)的服務(wù)注冊(cè)信息中進(jìn)行搜索,得到服務(wù)注
冊(cè)信息列表;
B、 根據(jù)搜索到的服務(wù)注冊(cè)信息列表對(duì)服務(wù)請(qǐng)求進(jìn)行處理。
所述步驟A之前進(jìn)一步包括服務(wù)封裝單元根據(jù)WSDL對(duì)服務(wù)進(jìn)行封裝, 然后通過注冊(cè)管理單元對(duì)所封裝服務(wù)的服務(wù)注冊(cè)信息進(jìn)行注冊(cè)并存儲(chǔ)。
所述服務(wù)請(qǐng)求為服務(wù)簡(jiǎn)單對(duì)象訪問協(xié)議SOAP請(qǐng)求,所述步驟A包括根 據(jù)服務(wù)SOAP請(qǐng)求的Header頭節(jié)點(diǎn)下的Action動(dòng)作節(jié)點(diǎn)的內(nèi)容確定描述該服 務(wù)SOAP請(qǐng)求的對(duì)應(yīng)服務(wù)接口 ,并搜索該服務(wù)接口對(duì)應(yīng)實(shí)現(xiàn)的 一個(gè)或多個(gè)服務(wù) 的服務(wù)注冊(cè)信息,得到服務(wù)注冊(cè)信息列表。
所述步驟B包括
Bl、根據(jù)執(zhí)行順序判斷搜索到的服務(wù)注冊(cè)信息列表中是否含有待處理的服 務(wù)注冊(cè)信息,如果含有,則繼續(xù)執(zhí)行步驟B2,如果未含有,則繼續(xù)執(zhí)行步驟 B5;
B2、判斷該服務(wù)注冊(cè)信息是否已被設(shè)置了過濾條件,如果設(shè)置了,則繼續(xù) 執(zhí)行步驟B3,如果未設(shè)置,則繼續(xù)執(zhí)行步驟B4;
B3、判斷過濾條件是否滿足服務(wù)請(qǐng)求,如果滿足,則繼續(xù)執(zhí)行步驟B4,如 果不滿足,則返回執(zhí)行步驟B1;
B4、對(duì)注冊(cè)服務(wù)信息進(jìn)行解析后,按照已設(shè)定的執(zhí)行方式和WSDL信息中 的服務(wù)地址對(duì)服務(wù)請(qǐng)求進(jìn)行轉(zhuǎn)發(fā),然后判斷是否需要立即響應(yīng)服務(wù)請(qǐng)求,如果 需要,則繼續(xù)執(zhí)行步驟B5,如果不需要,則返回執(zhí)行步驟B1;
B5、對(duì)服務(wù)請(qǐng)求進(jìn)行響應(yīng)。
所述服務(wù)請(qǐng)求為服務(wù)SOAP請(qǐng)求,步驟B3中所述判斷過濾條件是否滿足 服務(wù)請(qǐng)求,包括從服務(wù)SOAP請(qǐng)求的Body正文部分提取出具體業(yè)務(wù)信息,
與預(yù)先設(shè)定的過濾條件進(jìn)行邏輯計(jì)算,當(dāng)且僅當(dāng)邏輯計(jì)算結(jié)果為真時(shí)表明過濾 條件滿足服務(wù)SOAP請(qǐng)求;否則不滿足。
本發(fā)明中,具有相同服務(wù)接口的服務(wù)中的 一個(gè)或多個(gè)服務(wù)在運(yùn)行過程中根
據(jù)服務(wù)請(qǐng)求和服務(wù)注冊(cè)信息被動(dòng)態(tài)的委派,以提供相應(yīng)的業(yè)務(wù)邏輯處理。 具體來說,本發(fā)明具有以下的優(yōu)點(diǎn)和特點(diǎn)
1) 一個(gè)系統(tǒng)包括多個(gè)系統(tǒng)功能, 一個(gè)系統(tǒng)功能設(shè)計(jì)為一個(gè)服務(wù)接口,通過 一個(gè)服務(wù)接口可封裝 一個(gè)服務(wù)或多個(gè)服務(wù),即 一個(gè)業(yè)務(wù)邏輯由 一個(gè)服務(wù)或多個(gè) 服務(wù)實(shí)現(xiàn)。這樣,允許具有相同系統(tǒng)功能的多個(gè)服務(wù)同時(shí)提供業(yè)務(wù)邏輯處理, 就能夠合理分配和充分利用有限的計(jì)算機(jī)資源。
2) 根據(jù)業(yè)務(wù)邏輯的需求、即業(yè)務(wù)需求,通過服務(wù)注冊(cè)信息的注冊(cè)、管理、 配置,兼顧SOA的線性同步執(zhí)行方式和EDA的并行異步執(zhí)行方式。系統(tǒng)中的 注冊(cè)管理單元提供了同步和異步兩種執(zhí)行方式,根據(jù)服務(wù)注冊(cè)信息以指定的一 種執(zhí)行方式轉(zhuǎn)發(fā)每一個(gè)服務(wù)請(qǐng)求,以滿足業(yè)務(wù)對(duì)于順序執(zhí)行或并發(fā)執(zhí)行的不同 需求。
3) 通過注冊(cè)來擴(kuò)展功能,注冊(cè)一個(gè)服務(wù)即擴(kuò)展一項(xiàng)功能。這樣,就可以在 系統(tǒng)運(yùn)行過程中調(diào)整現(xiàn)有的系統(tǒng)功能,即實(shí)現(xiàn)了系統(tǒng)功能的動(dòng)態(tài)擴(kuò)展。系統(tǒng)維 護(hù)時(shí),只需要注冊(cè)新的服務(wù),而無需停機(jī),以此避免了因停機(jī)而造成的不必要 損失。
本發(fā)明提供的方案中,通過Web服務(wù)描述語言(Web Service Description Language, WSDL )與簡(jiǎn)單對(duì)象訪問協(xié)議(Simple Object Access Protocol, SOAP ) 結(jié)合起作用,WSDL被用作動(dòng)態(tài)委派的準(zhǔn)則,在注冊(cè)過程中提供;SOAP被用 作承載業(yè)務(wù)邏輯請(qǐng)求和響應(yīng)的容器,由Web服務(wù)單元在運(yùn)行過程中獲取和回復(fù)。
圖1為本發(fā)明中實(shí)現(xiàn)組合服務(wù)的系統(tǒng)結(jié)構(gòu)示意圖2為本發(fā)明中注冊(cè)管理單元的結(jié)構(gòu)示意圖3為本發(fā)明中實(shí)現(xiàn)組合服務(wù)的流程圖4為本發(fā)明中服務(wù)請(qǐng)求處理流程圖5A為本發(fā)明實(shí)例中M整合前結(jié)構(gòu)示意圖5B為本發(fā)明實(shí)例中M整合后銷售服務(wù)結(jié)構(gòu)示意圖5C為本發(fā)明實(shí)例中M整合后庫(kù)管服務(wù)結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明中,將至少一個(gè)服務(wù)的服務(wù)注冊(cè)信息注冊(cè)于注冊(cè)管理單元中,封裝
為至少一個(gè)服務(wù)的實(shí)現(xiàn);然后將封裝好的服務(wù)配置在指定的服務(wù)器端;處理由
適配器發(fā)送的服務(wù)請(qǐng)求時(shí),Web服務(wù)單元根據(jù)注冊(cè)管理單元中存儲(chǔ)的服務(wù)注冊(cè)
信息對(duì)服務(wù)請(qǐng)求進(jìn)行處理。
圖1為本發(fā)明中實(shí)現(xiàn)組合服務(wù)的系統(tǒng)結(jié)構(gòu)示意圖,如圖1所示,該系統(tǒng)包
括 一個(gè)Web服務(wù)單元、 一個(gè)服務(wù)封裝單元和一個(gè)注冊(cè)管理單元,并進(jìn)一步包 括至少一個(gè)適配器和至少一個(gè)業(yè)務(wù)處理單元。該系統(tǒng)的處理主要包括兩個(gè)過程 初始的注冊(cè)過程和后續(xù)的請(qǐng)求處理過程,其中,初始的注冊(cè)過程由服務(wù)封裝單 元和注冊(cè)管理單元參與處理;后續(xù)的請(qǐng)求處理過程由適配器、Web服務(wù)單元、 注冊(cè)管理單元和業(yè)務(wù)處理單元參與處理。
其中,注冊(cè)過程中,服務(wù)封裝單元根據(jù)WSDL對(duì)服務(wù)進(jìn)行封裝,具體可為 根據(jù)應(yīng)用情況針對(duì)每個(gè)服務(wù)接口將其封裝為一個(gè)或多個(gè)服務(wù),然后將所封裝服 務(wù)的服務(wù)注冊(cè)信息注冊(cè)于注冊(cè)管理單元;注冊(cè)管理單元用于對(duì)來自于服務(wù)封裝 單元的服務(wù)注冊(cè)信息進(jìn)行存儲(chǔ)。各服務(wù)接口可采用相同的平臺(tái)技術(shù)封裝,也可 釆用不同的平臺(tái)技術(shù)封裝,具體根據(jù)應(yīng)用情況而定。服務(wù)注冊(cè)信息包括但不限 于WSDL信息、執(zhí)行順序、過濾條件、執(zhí)行方式和需要響應(yīng)服務(wù)請(qǐng)求的指定服 務(wù)等信息。WSDL信息、執(zhí)行順序、過濾條件、執(zhí)行方式和需要響應(yīng)服務(wù)請(qǐng)求 的指定服務(wù)等信息都是根據(jù)業(yè)務(wù)需求進(jìn)行設(shè)定的。其中,WSDL信息包括但不 限于Web服務(wù)的命名空間、服務(wù)名稱、方法名稱、方法參數(shù)和服務(wù)地址等信息; 執(zhí)行方式為同步執(zhí)行方式或異步執(zhí)行方式。
請(qǐng)求處理過程中,適配器用于向Web服務(wù)單元發(fā)送服務(wù)請(qǐng)求,適配器能夠 對(duì)用戶的各種格式的服務(wù)請(qǐng)求進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換為Web服務(wù)單元能夠識(shí)別的格式; Web服務(wù)單元用于接收由適配器發(fā)送的服務(wù)請(qǐng)求,將該服務(wù)請(qǐng)求發(fā)送至注冊(cè)管 理單元,并根據(jù)注冊(cè)管理單元的控制對(duì)服務(wù)請(qǐng)求進(jìn)行處理,將服務(wù)請(qǐng)求發(fā)送至
業(yè)務(wù)處理單元;注冊(cè)管理單元用于根據(jù)來自于Web服務(wù)單元的服務(wù)請(qǐng)求在存儲(chǔ) 的服務(wù)注冊(cè)信息中進(jìn)行搜索,根據(jù)搜索到的服務(wù)注冊(cè)信息列表控制Web服務(wù)單
元對(duì)服務(wù)請(qǐng)求進(jìn)行處理;業(yè)務(wù)處理單元于根據(jù)業(yè)務(wù)邏輯對(duì)服務(wù)請(qǐng)求進(jìn)行處理。
服務(wù)請(qǐng)求可以為服務(wù)SOAP請(qǐng)求。
注冊(cè)管理單元又包括注冊(cè)管理模塊、信息存儲(chǔ)模塊和服務(wù)公布接口,如 圖2所示,其中,注冊(cè)管理模塊和信息存儲(chǔ)模塊在初始的注冊(cè)過程中發(fā)揮作用, 服務(wù)公布接口和信息存儲(chǔ)模塊在后續(xù)的請(qǐng)求處理過程中發(fā)揮作用。
注冊(cè)過程中,注冊(cè)管理模塊用于添加、修改或刪除服務(wù)注冊(cè)信息,并將該 服務(wù)注冊(cè)信息存儲(chǔ)于信息存儲(chǔ)模塊;信息存儲(chǔ)模塊用于存儲(chǔ)來自于注冊(cè)管理模 塊的服務(wù)注冊(cè)信息。
請(qǐng)求處理過程中,服務(wù)公布接口用于根據(jù)來自于Web服務(wù)單元的服務(wù)請(qǐng)求 在信息存儲(chǔ)模塊中存儲(chǔ)的服務(wù)注冊(cè)信息中進(jìn)行搜索,根據(jù)搜索到的服務(wù)注冊(cè)信 息列表控制Web服務(wù)單元對(duì)服務(wù)請(qǐng)求進(jìn)行處理;信息存儲(chǔ)模塊用于存儲(chǔ)來自于 注冊(cè)管理模塊的服務(wù)注冊(cè)信息。
另外,在系統(tǒng)的運(yùn)行過程中,注冊(cè)管理單元還可以對(duì)服務(wù)注冊(cè)信息隨時(shí)進(jìn) 行動(dòng)態(tài)管理,如動(dòng)態(tài)修改、動(dòng)態(tài)增加和動(dòng)態(tài)刪除等,以實(shí)現(xiàn)系統(tǒng)功能的動(dòng)態(tài)擴(kuò) 展。這樣,服務(wù)注冊(cè)信息可看作是在服務(wù)封裝單元根據(jù)WSDL對(duì)服務(wù)進(jìn)行封裝 后,由注冊(cè)管理單元進(jìn)行添加、修改或刪除產(chǎn)生的。
圖3為本發(fā)明中實(shí)現(xiàn)組合服務(wù)的流程圖,如圖3所示,實(shí)現(xiàn)組合服務(wù)的處 理過程包括以下步驟
步驟301~步驟302:服務(wù)封裝單元根據(jù)WSDL對(duì)服務(wù)進(jìn)行封裝,具體可為 根據(jù)應(yīng)用情況針對(duì)每個(gè)服務(wù)接口將其封裝為 一個(gè)或多個(gè)服務(wù),然后對(duì)所封裝服 務(wù)的服務(wù)注冊(cè)信息進(jìn)行注冊(cè)并存儲(chǔ)。服務(wù)注冊(cè)信息包括但不限于WSDL信息、 執(zhí)行順序、過濾條件、執(zhí)行方式和需要響應(yīng)服務(wù)請(qǐng)求的指定服務(wù)等信息。WSDL 信息、執(zhí)行順序、過濾條件、執(zhí)行方式和需要響應(yīng)服務(wù)請(qǐng)求的指定服務(wù)等信息 都是根據(jù)業(yè)務(wù)需求進(jìn)行設(shè)定的。其中,WSDL信息包括但不限于通過Web服務(wù) 的命名空間、服務(wù)名稱、方法名稱、方法參數(shù)和服務(wù)地址等信息;執(zhí)行方式為
同步執(zhí)行方式或異步執(zhí)行方式。
步驟301~步驟302為初始的注冊(cè)過程的具體處理。
步驟303:根據(jù)注冊(cè)的服務(wù)注冊(cè)信息對(duì)接收到的服務(wù)請(qǐng)求進(jìn)行處理,即執(zhí)
行服務(wù)請(qǐng)求處理流程。
圖4為本發(fā)明中服務(wù)請(qǐng)求處理流程圖,如圖4所示,根據(jù)搜索到的服務(wù)注
冊(cè)信息列表對(duì)服務(wù)請(qǐng)求進(jìn)行處理的具體實(shí)現(xiàn)過程包括以下步驟
步驟401 步驟402:接收服務(wù)請(qǐng)求,根據(jù)服務(wù)請(qǐng)求在存儲(chǔ)的服務(wù)注冊(cè)信息 中進(jìn)行搜索,得到服務(wù)信息列表。根據(jù)服務(wù)請(qǐng)求在存儲(chǔ)的服務(wù)注冊(cè)信息中進(jìn)行 搜索的具體處理為結(jié)合該服務(wù)請(qǐng)求的具體內(nèi)容,從服務(wù)請(qǐng)求的Header頭節(jié)點(diǎn) 下的Action動(dòng)作節(jié)點(diǎn)部分提取出Web服務(wù)方法的命名空間,根據(jù)該信息進(jìn)行搜 索。搜索到的服務(wù)注冊(cè)信息列表中可以至少包含一條服務(wù)注冊(cè)信息,也可以不 包含任何服務(wù)注冊(cè)信息。接收的服務(wù)請(qǐng)求可以由Web服務(wù)單元通過即時(shí)監(jiān)聽的 方式來獲取。服務(wù)請(qǐng)求可以為SOAP請(qǐng)求。
步驟403:根據(jù)執(zhí)行順序判斷搜索到的服務(wù)注冊(cè)信息列表中是否含有待處 理的服務(wù)注冊(cè)信息,如果含有,則繼續(xù)執(zhí)行步驟404;如果未含有,則繼續(xù)執(zhí) 行步驟408。
步驟404:判斷該服務(wù)注冊(cè)信息是否已被設(shè)置了過濾條件,如果設(shè)置了, 則繼續(xù)執(zhí)行步驟405;如果未設(shè)置,則繼續(xù)執(zhí)行步驟406。
步驟405:判斷過濾條件是否滿足服務(wù)請(qǐng)求,即將具體業(yè)務(wù)信息與預(yù)先設(shè) 定的一個(gè)或多個(gè)服務(wù)的過濾條件進(jìn)行邏輯計(jì)算,得到的邏輯計(jì)算結(jié)果是否為真, 如果滿足,即邏輯計(jì)算結(jié)果為真,則繼續(xù)執(zhí)行步驟406;如果不滿足,即邏輯 計(jì)算結(jié)果為假,則返回執(zhí)行步驟403。
步驟406:對(duì)注冊(cè)服務(wù)信息進(jìn)行解析,然后按照已設(shè)定的執(zhí)行方式和WSDL 信息中的服務(wù)地址將服務(wù)請(qǐng)求轉(zhuǎn)發(fā)至響應(yīng)服務(wù)器端,然后繼續(xù)執(zhí)行步驟407。
將服務(wù)請(qǐng)求轉(zhuǎn)發(fā)至Web服務(wù)端的處理具體包括注冊(cè)管理單元通過Web 服務(wù)單元將服務(wù)請(qǐng)求轉(zhuǎn)發(fā)至相應(yīng)業(yè)務(wù)處理單元。
步驟407:判斷是否需要立即響應(yīng)服務(wù)請(qǐng)求,如果需要,則繼續(xù)執(zhí)行步驟408;如果不需要,則返回執(zhí)行步驟403。
步驟408:對(duì)服務(wù)請(qǐng)求進(jìn)行響應(yīng),具體可以通過Web服務(wù)單元的監(jiān)聽響應(yīng) 當(dāng)前服務(wù)請(qǐng)求,至此,完成整個(gè)業(yè)務(wù)邏輯的處理。
另外,在系統(tǒng)的運(yùn)行過程中還可以對(duì)服務(wù)注冊(cè)信息隨時(shí)進(jìn)行動(dòng)態(tài)管理,如 動(dòng)態(tài)修改、動(dòng)態(tài)增加和動(dòng)態(tài)刪除等,以實(shí)現(xiàn)系統(tǒng)功能的動(dòng)態(tài)擴(kuò)展。
以上處理由圖l所示系統(tǒng)中的注冊(cè)管理單元來完成,其接收到的服務(wù)請(qǐng)求 來自于Web服務(wù)單元。
下面通過構(gòu)建書店管理系統(tǒng)的具體實(shí)例來對(duì)本發(fā)明的具體實(shí)現(xiàn)進(jìn)行更為詳 細(xì)的說明。
本實(shí)例中,主要是對(duì)書店的銷售管理和庫(kù)存管理進(jìn)行了整合。某家書店M, 是當(dāng)?shù)匾患颐嫦蛄闶?、高中學(xué)校和電子商務(wù)的主要供應(yīng)商,主營(yíng)文史類教科書 與參考書。隨著企業(yè)的不斷發(fā)展壯大,最近M又收購(gòu)了一家主營(yíng)理工類教科書 與參考書的書店N,進(jìn)一步擴(kuò)大了 M在巿場(chǎng)的份額。
但是,幾項(xiàng)主要業(yè)務(wù)在IT管理上的交叉與重復(fù),阻礙了M實(shí)現(xiàn)利潤(rùn)的最 大化,如圖5A所示,主要體現(xiàn)在
一、 獨(dú)立的應(yīng)用系統(tǒng)之間缺乏溝通,銷售人員不得不輾轉(zhuǎn)于各區(qū)域經(jīng)理之 間,使得辦公效率大大降低,上游供應(yīng)和交叉銷售面臨著重大挑戰(zhàn);
二、 原有的數(shù)據(jù)中心形成了數(shù)據(jù)孤島,數(shù)據(jù)冗余的現(xiàn)象大大增加,使得數(shù) 據(jù)匯總的速度更加緩慢,營(yíng)銷策略投放到巿場(chǎng)的周期延長(zhǎng)。
通過專業(yè)技術(shù)團(tuán)隊(duì)的幫助,M 了解到了阻礙他們實(shí)現(xiàn)其目標(biāo)的關(guān)鍵問題所 在,并希望可以通過實(shí)施SOA提供的靈活性來完成系統(tǒng)之間的整合以降低運(yùn)營(yíng) 成本和提高整體價(jià)值。此時(shí),可以采用本發(fā)明提供的實(shí)現(xiàn)組合服務(wù)的方案,其 中主要包括系統(tǒng)設(shè)計(jì)與部署和系統(tǒng)運(yùn)行兩個(gè)階段。
系統(tǒng)設(shè)計(jì)與部署階段主要包括系統(tǒng)初步設(shè)計(jì)、詳細(xì)設(shè)計(jì)和實(shí)施過程等三個(gè) 步驟。經(jīng)過詳細(xì)的調(diào)研,專業(yè)技術(shù)團(tuán)隊(duì)提出如下解決方案
維持現(xiàn)有IT基礎(chǔ)架構(gòu),避免分布、異構(gòu)系統(tǒng)大規(guī)模的遷移和重建,只將必 要的功能封裝為Web服務(wù)以實(shí)現(xiàn)重用;
以Web服務(wù)的形式為各銷售渠道,如店面、批發(fā)和網(wǎng)上購(gòu)物,提供統(tǒng)一的 銷售接口,并使用該接口封裝已有功能;
以Web服務(wù)的形式為分散在不同位置的庫(kù)存管理提供統(tǒng)一的查詢接口,并 使用該接口封裝已有功能。
系統(tǒng)初步設(shè)計(jì),將用戶提出的業(yè)務(wù)需求轉(zhuǎn)化為一系列WSDL描述的服務(wù)接 口,為技術(shù)平臺(tái)無關(guān)的處理業(yè)務(wù)需求的業(yè)務(wù)邏輯提供可能。對(duì)于銷售渠道部分 的整合,需要制定出銷售接口,包括銷售訂單、銷售訂單明細(xì)等內(nèi)容;對(duì)于庫(kù) 存管理部分的整合,需要制定出銷售接口,包括銷售訂單、銷售訂單明細(xì)等內(nèi) 容。
詳細(xì)設(shè)計(jì),結(jié)合實(shí)際情況根據(jù)系統(tǒng)功能定義出服務(wù)接口,然后將服務(wù)接口 封裝為一個(gè)或多個(gè)服務(wù)的實(shí)現(xiàn),其中,封裝時(shí)可以選用不同的平臺(tái)技術(shù),以便 于使各項(xiàng)資源能夠被合理的分配。對(duì)于銷售渠道部分的整合,如圖5B所示, 使用該服務(wù)接口分別封裝表示原M、 N門店銷售管理的銷售服務(wù)1。根據(jù)業(yè)務(wù) 需求,當(dāng)銷售金額或銷售數(shù)量超過一定數(shù)量,如金額5萬元以上或門店庫(kù)存500 本以上時(shí),訂單需要經(jīng)過區(qū)域經(jīng)理的審批才能生效,因此,我們還需要封裝用 于總部審批流程的銷售服務(wù)2。為在第一時(shí)間將重要的待審批訂單通知到區(qū)域 經(jīng)理,還封裝了移動(dòng)通信的銷售服務(wù)3,以便在審批訂單產(chǎn)生后,同時(shí)以短信 的形式通知到相應(yīng)的區(qū)域經(jīng)理。對(duì)于庫(kù)存管理部分的整合,如圖5C所示,使 用該服務(wù)接口分別封裝表示原M、 N庫(kù)存管理的庫(kù)管服務(wù)1、新的庫(kù)管服務(wù)2 和庫(kù)管服務(wù)3。
實(shí)施過程,將封裝好的一個(gè)或多個(gè)服務(wù)的實(shí)現(xiàn)部署到指定服務(wù)器端,然后 在組件模型中通過注冊(cè)管理單元維護(hù)這些服務(wù)注冊(cè)信息。服務(wù)注冊(cè)信息包括但 不限于WSDL信息、執(zhí)行順序、過濾條件、執(zhí)行方式、需要響應(yīng)服務(wù)請(qǐng)求的指 定服務(wù)等信息。WSDL信息、執(zhí)行順序、過濾條件、執(zhí)行方式和需要響應(yīng)服務(wù) 請(qǐng)求的指定服務(wù)等信息都是根據(jù)業(yè)務(wù)需求進(jìn)行設(shè)定的。其中,WSDL信息包括 但不限于Web服務(wù)的命名空間、服務(wù)名稱、方法名稱、方法參數(shù)和服務(wù)地址等 信息;執(zhí)行方式為同步執(zhí)行方式或異步執(zhí)行方式。指定業(yè)務(wù)處理單元可由WSDL 信息中包含的服務(wù)地址來確定。
對(duì)于銷售渠道部分的整合,如圖5B所示,需要將部署好的銷售服務(wù)1和
銷售服務(wù)2在注冊(cè)管理單元中注冊(cè),并將銷售服務(wù)l的過濾條件設(shè)置為"金額 小于等于5萬元或庫(kù)存小于等于5百本"、銷售服務(wù)2的過濾條件設(shè)置為"金額 大于5萬元或庫(kù)存大于5百本"。
對(duì)于庫(kù)存管理部分的整合,如圖5C所示,需要將部署好的庫(kù)管服務(wù)l、庫(kù) 管服務(wù)2和庫(kù)管服務(wù)3在注冊(cè)管理單元中注冊(cè),并將庫(kù)管服務(wù)1的過濾條件設(shè) 置為"圖書分類等于文史類"、庫(kù)管服務(wù)2的過濾條件設(shè)置為"圖書分類等于理 工類"、庫(kù)管服務(wù)3的過濾條件設(shè)置為"圖書分類等于其他類"。
另外,在系統(tǒng)的運(yùn)行過程中還可以對(duì)服務(wù)注冊(cè)信息隨時(shí)進(jìn)行動(dòng)態(tài)管理,如 動(dòng)態(tài)修改、動(dòng)態(tài)增加和動(dòng)態(tài)刪除等。
對(duì)于具有不同銷售管理或庫(kù)存管理業(yè)務(wù)需求的部門,只需要利用相應(yīng)的服 務(wù)接口封裝實(shí)現(xiàn),然后再注冊(cè)到注冊(cè)管理單元中即可與現(xiàn)有系統(tǒng)進(jìn)行集成,而 不需要再次變動(dòng)。所有應(yīng)用系統(tǒng)的適配器也均可以以一致的方式使用原有的系 統(tǒng)功能。
系統(tǒng)運(yùn)行階段主要包括請(qǐng)求過程、轉(zhuǎn)發(fā)過程和響應(yīng)過程等三個(gè)階段。注冊(cè) 管理單元將根據(jù)服務(wù)SOAP請(qǐng)求與過濾條件的匹配結(jié)果,自動(dòng)導(dǎo)向到所需要的
銷售服務(wù)完成訂單處理或所需要的庫(kù)管服務(wù)完成圖書檢索。
請(qǐng)求過程,通過監(jiān)聽的方式由Web服務(wù)單元接收到服務(wù)SOAP請(qǐng)求,然后 將該服務(wù)SOAP請(qǐng)求交由注冊(cè)管理單元進(jìn)行處理。例如,Web服務(wù)單元監(jiān)聽到 一個(gè)服務(wù)SOAP請(qǐng)求,該服務(wù)SOAP請(qǐng)求中包含"金額4萬元及庫(kù)存200本" 的信息。服務(wù)SOAP請(qǐng)求是根據(jù)預(yù)定義信息、由用于發(fā)送業(yè)務(wù)請(qǐng)求的適配器生 成,即根據(jù)一定的業(yè)務(wù)規(guī)則,對(duì)要轉(zhuǎn)發(fā)到的服務(wù)地址等信息通過WSDL進(jìn)行標(biāo) 記,形成信息標(biāo)記項(xiàng),并將商品的名稱、金額、庫(kù)存等作為變化的業(yè)務(wù)對(duì)象, 形成業(yè)務(wù)標(biāo)記項(xiàng)。
轉(zhuǎn)發(fā)過程,根據(jù)服務(wù)SOAP請(qǐng)求的Header頭節(jié)點(diǎn)下的Action動(dòng)作節(jié)點(diǎn)的 內(nèi)容在注冊(cè)管理單元中確定描述該服務(wù)SOAP請(qǐng)求的對(duì)應(yīng)服務(wù)接口,并搜索該
服務(wù)接口對(duì)應(yīng)的實(shí)現(xiàn)一個(gè)或多個(gè)服務(wù)的服務(wù)注冊(cè)信息,即通過注冊(cè)管理單元搜 索處理要發(fā)送的該服務(wù)SOAP請(qǐng)求所實(shí)現(xiàn)的一個(gè)或多個(gè)服務(wù)的服務(wù)注冊(cè)信息列 表。對(duì)于銷售訂單請(qǐng)求,通過檢索返回的服務(wù)注冊(cè)信息列表中包括銷售服務(wù)l、
銷售服務(wù)2和銷售服務(wù)3的服務(wù)注冊(cè)信息。對(duì)于庫(kù)存檢索請(qǐng)求,通過檢索返回 的服務(wù)注冊(cè)信息列表中包括庫(kù)管服務(wù)1、庫(kù)管服務(wù)2和庫(kù)管服務(wù)3的服務(wù)注冊(cè) 信息。例如,根據(jù)銷售訂單請(qǐng)求"金額4萬元及庫(kù)存200本"搜索到銷售服務(wù) 1 、銷售服務(wù)2和銷售服務(wù)3的服務(wù)注冊(cè)信息。
從服務(wù)注冊(cè)信息列表中根據(jù)執(zhí)行順序讀取其中的服務(wù)注冊(cè)信息,如果服務(wù) 注冊(cè)信息列表為空,表示無法提供針對(duì)該系統(tǒng)功能的服務(wù),則進(jìn)行異常處理, 直接對(duì)服務(wù)SOAP請(qǐng)求進(jìn)行響應(yīng)。注冊(cè)管理單元結(jié)合服務(wù)SOAP請(qǐng)求的具體內(nèi) 容,從服務(wù)SOAP請(qǐng)求的Body正文部分提取出具體業(yè)務(wù)信息,與預(yù)先設(shè)定的 一個(gè)或多個(gè)服務(wù)的過濾條件進(jìn)行邏輯計(jì)算,當(dāng)且僅當(dāng)邏輯計(jì)算結(jié)果為真的一個(gè) 或多個(gè)服務(wù)的實(shí)現(xiàn)才允許被作為該服務(wù)SOAP請(qǐng)求的處理,否則都將根據(jù)圖3 所示的流程進(jìn)行異常處理。
對(duì)于銷售訂單請(qǐng)求,如圖5B所示,當(dāng)服務(wù)SOAP請(qǐng)求中包含的對(duì)應(yīng)搜索 條件為"金額小于等于5萬元或庫(kù)存小于等于5百本"時(shí),該服務(wù)SOAP請(qǐng)求 將僅由銷售服務(wù)l處理;當(dāng)服務(wù)SOAP請(qǐng)求中包含的對(duì)應(yīng)搜索條件為"金額大 于5萬元或庫(kù)存大于5百本"時(shí),該服務(wù)SOAP請(qǐng)求將由銷售服務(wù)2和銷售服 務(wù)3共同處理。
對(duì)于庫(kù)存檢索請(qǐng)求,如圖5C所示,當(dāng)服務(wù)SOAP請(qǐng)求中包含的搜索條件 為"圖書分類等于文史類"時(shí),該服務(wù)SOAP請(qǐng)求將僅由庫(kù)管服務(wù)l處理;當(dāng) SOAP請(qǐng)求中包含的搜索條件為"圖書分類等于理工類"時(shí),該服務(wù)SOAP請(qǐng) 求將僅由庫(kù)管服務(wù)2處理;當(dāng)SOAP請(qǐng)求中包含的搜索條件為"圖書分類等于 其他類"時(shí),該服務(wù)SOAP請(qǐng)求將僅由庫(kù)管服務(wù)3處理。
注冊(cè)管理單元提供了同步和異步兩種執(zhí)行方式。根據(jù)服務(wù)注冊(cè)信息以指定 的一種執(zhí)行方式轉(zhuǎn)發(fā)每一個(gè)服務(wù)SOAP請(qǐng)求,以滿足順序或并發(fā)執(zhí)行的不同需 求。同步執(zhí)行方式是指服務(wù)SOAP請(qǐng)求轉(zhuǎn)發(fā)到業(yè)務(wù)的一個(gè)服務(wù)的實(shí)現(xiàn)后,需要
等待相應(yīng)的服務(wù)響應(yīng)結(jié)果才能繼續(xù)下一次轉(zhuǎn)發(fā)過程。同步執(zhí)行方式適用于需要 等待服務(wù)響應(yīng)結(jié)果或兩次轉(zhuǎn)發(fā)的服務(wù)之間有嚴(yán)格邏輯順序的情況。異步執(zhí)行方 式是指服務(wù)SOAP請(qǐng)求轉(zhuǎn)發(fā)到業(yè)務(wù)的一個(gè)服務(wù)的實(shí)現(xiàn)后,不需要等待服務(wù)響應(yīng) 結(jié)果就可以繼續(xù)下一次轉(zhuǎn)發(fā)過程。異步執(zhí)行方式適用于不需要等待服務(wù)響應(yīng)結(jié) 果或兩次轉(zhuǎn)發(fā)的服務(wù)之間沒有嚴(yán)格邏輯順序的情況。根據(jù)不同的業(yè)務(wù)需求,采 取不同的執(zhí)行方式或執(zhí)行方式的組合,可以在整體上縮短與系統(tǒng)的交互時(shí)間。 對(duì)于銷售訂單請(qǐng)求,如圖5B所示,可以根據(jù)實(shí)際業(yè)務(wù)所劃分的兩種服務(wù)
組合釆取不同的執(zhí)行方式對(duì)用于門店的銷售服務(wù)1采取同步執(zhí)行方式,以提 供可以實(shí)時(shí)的處理門店內(nèi)零售交易的能力;對(duì)用于審批的銷售服務(wù)2和銷售服 務(wù)3釆取異步執(zhí)行方式,以提供對(duì)實(shí)時(shí)性要求不高的批量交易的能力。
在轉(zhuǎn)發(fā)操作執(zhí)行完成后,注冊(cè)管理單元根據(jù)服務(wù)注冊(cè)信息中預(yù)先設(shè)定的執(zhí) 行方式判斷是否需要立即提取服務(wù)SOAP響應(yīng)將其交由Web服務(wù)單元進(jìn)行處 理。對(duì)于需要立即返回服務(wù)SOAP響應(yīng)且具有多個(gè)服務(wù)的實(shí)現(xiàn)的系統(tǒng)功能,需 要通過注冊(cè)管理單元指定一個(gè)用于提供該服務(wù)SOAP響應(yīng)的服務(wù)的實(shí)現(xiàn),該服 務(wù)SOAP響應(yīng)最終通過Web服務(wù)單元返回給適配器。對(duì)于銷售訂單請(qǐng)求,當(dāng)服 務(wù)SOAP請(qǐng)求滿足過濾條件"金額大于5萬元或庫(kù)存大于5百本"時(shí),銷售服 務(wù)2和銷售服務(wù)3支持異步的處理能力,注冊(cè)管理單元根據(jù)服務(wù)注冊(cè)信息將選 取銷售服務(wù)2的服務(wù)SOAP響應(yīng)信息作為對(duì)服務(wù)SOAP請(qǐng)求的回復(fù)。
響應(yīng)過程,根據(jù)系統(tǒng)的整體運(yùn)行情況,由Web服務(wù)單元將服務(wù)SOAP響應(yīng) 再次通過監(jiān)聽建立的網(wǎng)絡(luò)連接回復(fù)給適配器。至此,完成整個(gè)業(yè)務(wù)邏輯的處理。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種實(shí)現(xiàn)組合服務(wù)的系統(tǒng),其特征在于,該系統(tǒng)包括Web服務(wù)單元和注冊(cè)管理單元,其中,所述Web服務(wù)單元用于接收服務(wù)請(qǐng)求;所述注冊(cè)管理單元用于根據(jù)所述服務(wù)請(qǐng)求在存儲(chǔ)的服務(wù)注冊(cè)信息中進(jìn)行搜索,根據(jù)搜索到的服務(wù)注冊(cè)信息列表控制Web服務(wù)單元對(duì)服務(wù)請(qǐng)求進(jìn)行處理。
2、 根據(jù)權(quán)利要求l所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括服務(wù)封 裝單元,所述服務(wù)封裝單元用于根據(jù)Web服務(wù)描述語言WSDL對(duì)服務(wù)進(jìn)行封裝,并將所封裝服務(wù)的服務(wù)注冊(cè)信息注冊(cè)于注冊(cè)管理單元;所述注冊(cè)管理單元,進(jìn)一步用于對(duì)所述服務(wù)注冊(cè)信息進(jìn)行存儲(chǔ); 所述服務(wù)注冊(cè)信息,是在服務(wù)封裝單元根據(jù)WSDL對(duì)服務(wù)進(jìn)行封裝后,由注冊(cè)管理單元進(jìn)行添加、修改或刪除產(chǎn)生的。
3、 根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述注冊(cè)管理單元包括信 息存儲(chǔ)模塊和服務(wù)公布接口 ,或信息存儲(chǔ)模塊和注冊(cè)管理模塊,其中,所述信息存儲(chǔ)模塊用于存儲(chǔ)所述服務(wù)注冊(cè)信息;所述服務(wù)公布接口用于根據(jù)所述服務(wù)請(qǐng)求在存儲(chǔ)的所述服務(wù)注冊(cè)信息中進(jìn)行搜索,根據(jù)搜索到的服務(wù)注冊(cè)信息列表控制Web服務(wù)單元對(duì)服務(wù)請(qǐng)求進(jìn)行處 理;所述注冊(cè)管理模塊用于對(duì)所述服務(wù)注冊(cè)信息進(jìn)行添加、修改或刪除。
4、 根據(jù)權(quán)利要求1至3任一所述的系統(tǒng),其特征在于,所述服務(wù)注冊(cè)信息 包括但不限于WSDL信息、執(zhí)行順序、過濾條件、執(zhí)行方式和需要響應(yīng)服務(wù) 請(qǐng)求的指定服務(wù)。
5、 根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述WSDL信息包括但不 限于Web服務(wù)的命名空間、服務(wù)名稱、方法名稱、方法參數(shù)和服務(wù)地址。
6、 一種實(shí)現(xiàn)組合服務(wù)的方法,其特征在于,該方法包含以下步驟A、根據(jù)收到的服務(wù)請(qǐng)求在存儲(chǔ)的服務(wù)注冊(cè)信息中進(jìn)行搜索,得到服務(wù)注 冊(cè)信息列表;B 、根據(jù)搜索到的服務(wù)注冊(cè)信息列表對(duì)服務(wù)請(qǐng)求進(jìn)行處理。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟A之前進(jìn)一步包 括服務(wù)封裝單元根據(jù)WSDL對(duì)服務(wù)進(jìn)行封裝,然后通過注冊(cè)管理單元對(duì)所封裝服務(wù)的服務(wù)注冊(cè)信息進(jìn)行注冊(cè)并存儲(chǔ)。
8、 根據(jù)權(quán)利要求6所述的方法,其特征在于, 所述服務(wù)請(qǐng)求為服務(wù)簡(jiǎn)單對(duì)象訪問協(xié)議SOAP請(qǐng)求,所述步驟A包括根據(jù)服務(wù)SOAP請(qǐng)求的Header頭節(jié)點(diǎn)下的Action動(dòng)作 節(jié)點(diǎn)的內(nèi)容確定描述該服務(wù)SOAP請(qǐng)求的對(duì)應(yīng)服務(wù)接口 ,并搜索該服務(wù)接口對(duì) 應(yīng)實(shí)現(xiàn)的一個(gè)或多個(gè)服務(wù)的服務(wù)注冊(cè)信息,得到服務(wù)注冊(cè)信息列表。
9、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟B包括Bl、根據(jù)執(zhí)行順序判斷搜索到的服務(wù)注冊(cè)信息列表中是否含有待處理的服 務(wù)注冊(cè)信息,如果含有,則繼續(xù)執(zhí)行步驟B2,如果未含有,則繼續(xù)執(zhí)行步驟 B5;B2、判斷該服務(wù)注冊(cè)信息是否已被設(shè)置了過濾條件,如果設(shè)置了,則繼續(xù) 執(zhí)行步驟B3,如果未設(shè)置,則繼續(xù)執(zhí)行步驟B4;B3、判斷過濾條件是否滿足服務(wù)請(qǐng)求,如果滿足,則繼續(xù)執(zhí)行步驟B4,如 果不滿足,則返回執(zhí)行步驟B1;B4、對(duì)注冊(cè)服務(wù)信息進(jìn)行解析后,按照已設(shè)定的執(zhí)行方式和WSDL信息中 的服務(wù)地址對(duì)服務(wù)請(qǐng)求進(jìn)行轉(zhuǎn)發(fā),然后判斷是否需要立即響應(yīng)服務(wù)請(qǐng)求,如果 需要,則繼續(xù)執(zhí)行步驟B5,如果不需要,則返回執(zhí)行步驟B1;B5、對(duì)服務(wù)請(qǐng)求進(jìn)行響應(yīng)。
10、 根據(jù)權(quán)利要求9所述的方法,其特征在于, 所述服務(wù)請(qǐng)求為服務(wù)SOAP請(qǐng)求,步驟B3中所述判斷過濾條件是否滿足服務(wù)請(qǐng)求,包括從服務(wù)SOAP請(qǐng) 求的Body正文部分提取出具體業(yè)務(wù)信息,與預(yù)先設(shè)定的過濾條件進(jìn)行邏輯計(jì)算,當(dāng)且僅當(dāng)邏輯計(jì)算結(jié)果為真時(shí)表明過濾條件滿足服務(wù)SOAP請(qǐng)求;否則不 滿足。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)組合服務(wù)的系統(tǒng)及方法。本發(fā)明提供的方案中,將至少一個(gè)服務(wù)的服務(wù)注冊(cè)信息注冊(cè)于注冊(cè)管理單元中,封裝為至少一個(gè)服務(wù)的實(shí)現(xiàn);然后將封裝好的服務(wù)配置在指定的服務(wù)器端;處理由適配器發(fā)送的服務(wù)請(qǐng)求時(shí),根據(jù)注冊(cè)管理單元中存儲(chǔ)的服務(wù)注冊(cè)信息對(duì)服務(wù)請(qǐng)求進(jìn)行處理。根據(jù)本發(fā)明提供的方案,允許具有相同系統(tǒng)功能的多個(gè)服務(wù)同時(shí)提供業(yè)務(wù)邏輯處理,就能夠合理分配和充分利用有限的計(jì)算機(jī)資源;能夠滿足系統(tǒng)對(duì)于順序執(zhí)行或并發(fā)執(zhí)行的不同需求;系統(tǒng)維護(hù)時(shí),只需要注冊(cè)新的服務(wù),而無需停機(jī),以此避免了因停機(jī)而造成的不必要損失。
文檔編號(hào)H04L29/08GK101388910SQ20081022530
公開日2009年3月18日 申請(qǐng)日期2008年10月29日 優(yōu)先權(quán)日2008年10月29日
發(fā)明者晗 劉, 張克鵬 申請(qǐng)人:北京中企開源信息技術(shù)有限公司