本發(fā)明涉及計算機領域,尤其涉及一種基于SOA的資源協(xié)作系統(tǒng)和方法。
背景技術:
面向服務的體系結構(Service-oriented architecture,SOA)是構造分布式系統(tǒng)的應用程序的方法。它將應用程序功能作為服務發(fā)送給最終用戶或者其他服務。
它可以根據(jù)需求通過網(wǎng)絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用。服務層是SOA的基礎,可以直接被應用調用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種基于SOA的資源協(xié)作系統(tǒng)和方法,能夠基于不同服務,實現(xiàn)服務間服務數(shù)據(jù)的獲取和共享使用,使得系統(tǒng)變得更加靈活,交互性更好。
第一方面,本發(fā)明實施例提供了一種基于SOA的資源協(xié)作系統(tǒng),所述資源協(xié)作系統(tǒng)包括:
多個服務數(shù)據(jù)管理模塊,用于提供不同的業(yè)務服務;其中,每個所述服務數(shù)據(jù)管理模塊中存儲有面向不同服務的服務數(shù)據(jù);
接口管理模塊,包括中央管理模塊和多個數(shù)據(jù)接口,每個數(shù)據(jù)接口對應一個服務數(shù)據(jù)管理模塊;
所述中央管理模塊用于面向所述服務數(shù)據(jù)管理模塊配置相應的數(shù)據(jù)接口;
所述數(shù)據(jù)接口用于,將所述服務數(shù)據(jù)管理模塊中的服務數(shù)據(jù)封裝為標準化服務數(shù)據(jù);所述標準化服務數(shù)據(jù)為標準數(shù)據(jù)格式的服務數(shù)據(jù);
SOA資源總線,通過所述數(shù)據(jù)接口與所述服務數(shù)據(jù)管理模塊相連接,用于所述標準化服務數(shù)據(jù)在不同服務數(shù)據(jù)管理模塊之間的傳輸。
優(yōu)選的,所述服務數(shù)據(jù)管理模塊還用于,接收服務數(shù)據(jù)請求指令;所述服務數(shù)據(jù)請求指令包括被請求的服務數(shù)據(jù)的數(shù)據(jù)屬性信息;
所述中央管理模塊還用于,根據(jù)所述數(shù)據(jù)屬性信息,確定所述被請求的服務數(shù)據(jù)對應的標準化服務數(shù)據(jù);
所述服務數(shù)據(jù)管理模塊對應的數(shù)據(jù)接口還用于,從所述SOA資源總線上獲取所述標準化服務數(shù)據(jù),并進行處理,將處理得到的所述被請求的服務數(shù)據(jù)發(fā)送給所述服務數(shù)據(jù)管理模塊。
優(yōu)選的,所述多個服務數(shù)據(jù)管理模塊中存儲的服務數(shù)據(jù)的數(shù)據(jù)格式相同或不同。
優(yōu)選的,所述中央管理模塊還用于,捕獲所述資源協(xié)作系統(tǒng)中服務數(shù)據(jù)管理模塊上線的信息,生成所述服務數(shù)據(jù)管理模塊的業(yè)務屬性信息,發(fā)送給其他服務數(shù)據(jù)管理模塊。
優(yōu)選的,所述中央管理模塊還用于,獲取所述資源協(xié)作系統(tǒng)中服務數(shù)據(jù)管理模塊下線的信息,生成所述服務數(shù)據(jù)管理模塊的業(yè)務失效信息,發(fā)送給其他服務數(shù)據(jù)管理模塊。
第二方面,本發(fā)明實施例提供了一種基于SOA的資源協(xié)作方法,所述方法包括:
中央管理模塊根據(jù)第一服務數(shù)據(jù)管理模塊發(fā)送的服務數(shù)據(jù)請求指令,在SOA資源總線上查找所請求的服務數(shù)據(jù);所述服務數(shù)據(jù)請求指令包括所請求的服務數(shù)據(jù)的屬性信息;
所述中央管理模塊面向所述第一服務數(shù)據(jù)管理模塊配置第一數(shù)據(jù)接口;
所述第一數(shù)據(jù)接口根據(jù)所述服務數(shù)據(jù)的屬性信息從SOA資源總線上獲取的標準化服務數(shù)據(jù);所述標準化服務數(shù)據(jù)為標準數(shù)據(jù)格式的服務數(shù)據(jù);
所述第一數(shù)據(jù)接口將所述標準化服務數(shù)據(jù)處理為所述服務數(shù)據(jù);所述服務數(shù)據(jù)的數(shù)據(jù)格式與所述第一服務數(shù)據(jù)管理模塊的預設數(shù)據(jù)格式相符;
所述第一服務數(shù)據(jù)管理模塊根據(jù)所述服務數(shù)據(jù)為用戶提供業(yè)務服務。
優(yōu)選的,在所述第一數(shù)據(jù)接口根據(jù)所述服務數(shù)據(jù)的屬性信息從SOA資源總線上獲取的標準化服務數(shù)據(jù)之前,所述方法還包括:
所述中央管理模塊面向所述第二服務數(shù)據(jù)管理模塊配置第二數(shù)據(jù)接口;
所述第二數(shù)據(jù)接口將所述第二服務數(shù)據(jù)管理模塊中的與所述第二服務數(shù)據(jù)管理模塊的預設數(shù)據(jù)格式相符的服務數(shù)據(jù)封裝為所述標準化服務數(shù)據(jù),發(fā)送到所述SOA資源總線。
優(yōu)選的,當所述資源協(xié)作系統(tǒng)中加入第三服務數(shù)據(jù)管理模塊時,所述中央管理模塊捕獲所述第三服務數(shù)據(jù)管理模塊上線的信息,生成所述第三服務數(shù)據(jù)管理模塊的業(yè)務屬性信息,發(fā)送給系統(tǒng)中其他服務數(shù)據(jù)管理模塊。
優(yōu)選的,當所述資源協(xié)作系統(tǒng)中第四服務數(shù)據(jù)管理模塊下線時,所述中央管理模塊獲取所述第四服務數(shù)據(jù)管理模塊下線的信息,發(fā)送給系統(tǒng)中其他服務數(shù)據(jù)管理模塊。
本發(fā)明實施例提供的基于SOA的資源協(xié)作系統(tǒng)和方法,能夠基于不同服務,實現(xiàn)服務間服務數(shù)據(jù)的獲取和共享使用,使得系統(tǒng)變得更加靈活,交互性更好。
附圖說明
圖1為本發(fā)明實施例一提供的基于SOA的資源協(xié)作系統(tǒng)的示意圖;
圖2為本發(fā)明實施例二提供的基于SOA的資源協(xié)作方法流程圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖對本發(fā)明具體實施例作進一步的詳細描述。
下面以圖1為例詳細說明本發(fā)明實施例提供的基于SOA的資源協(xié)作系統(tǒng),圖1為本發(fā)明實施例提供的基于SOA的資源協(xié)作系統(tǒng)的示意圖。
如圖1所示,本實施例的基于SOA的資源協(xié)作系統(tǒng)包括:多個服務數(shù)據(jù)管理模塊(本實施例中以服務數(shù)據(jù)管理模塊10-1、服務數(shù)據(jù)管理模塊10-2、服務數(shù)據(jù)管理模塊10-N為例進行說明)、接口管理模塊20和SOA資源總線30。
每個服務數(shù)據(jù)管理模塊用于提供不同的業(yè)務服務。
其中,每個服務數(shù)據(jù)管理模塊中存儲有面向不同服務的服務數(shù)據(jù)。不同服務數(shù)據(jù)管理模塊之間可以為同構或異構的,它們中存儲或運行的服務數(shù)據(jù)的數(shù)據(jù)格式可以是相同或者不同的。
數(shù)據(jù)格式不同可以具體包括:數(shù)據(jù)名稱的定義、存儲結構、字段長度、執(zhí)行的安全機制等等。
服務數(shù)據(jù)管理模塊在這里可以理解為應用程序的不同功能單元。
接口管理模塊20包括中央管理模塊2和多個數(shù)據(jù)接口,每個數(shù)據(jù)接口對應一個服務數(shù)據(jù)管理模塊。
在圖1中,數(shù)據(jù)接口20-1對應服務數(shù)據(jù)管理模塊10-1,數(shù)據(jù)接口20-2對應服務數(shù)據(jù)管理模塊10-2,……,數(shù)據(jù)接口20-N對應服務數(shù)據(jù)管理模塊10-N。
其中,中央管理模塊2用于面向服務數(shù)據(jù)管理模塊配置相應的數(shù)據(jù)接口;
數(shù)據(jù)接口用于服務數(shù)據(jù)的發(fā)送和接收;在數(shù)據(jù)發(fā)送時通過數(shù)據(jù)接口將服務數(shù)據(jù)管理模塊中的服務數(shù)據(jù)封裝為標準化服務數(shù)據(jù)。
在SOA系統(tǒng)中,服務數(shù)據(jù)的傳輸采用標準化的數(shù)據(jù),可擴展標記語言(Extens ible Markup Language,XML)。XML是SOA的基石,它規(guī)定了服務之間以及服務內部數(shù)據(jù)交換的格式和結構。
在這里所述的標準化服務數(shù)據(jù)即為標準數(shù)據(jù)格式(XML)的服務數(shù)據(jù)。
SOA資源總線30,通過數(shù)據(jù)接口與服務數(shù)據(jù)管理模塊相連接,用于標準化服務數(shù)據(jù)在不同服務數(shù)據(jù)管理模塊之間的傳輸。
下面以一個具體的過程中,說明服務數(shù)據(jù)管理模塊間資源協(xié)作的過程:
在該過程中,服務數(shù)據(jù)管理模塊10-1請求服務數(shù)據(jù)管理模塊10-2中的服務數(shù)據(jù)。
首先,服務數(shù)據(jù)管理模塊10-1接收或生成服務數(shù)據(jù)請求指令;服務數(shù)據(jù)請求指令包括被請求的服務數(shù)據(jù)的數(shù)據(jù)屬性信息;數(shù)據(jù)屬性信息可以為與服務和外界之間交互的數(shù)據(jù)報文頭信息相對應的信息。相應的,服務數(shù)據(jù)的業(yè)務內容就是數(shù)據(jù)報文體信息。
服務數(shù)據(jù)管理模塊10-1通過數(shù)據(jù)接口20-1將服務數(shù)據(jù)請求指令發(fā)送到中央管理模塊2。中央數(shù)據(jù)管理模塊2根據(jù)數(shù)據(jù)屬性信息,路由到被請求的服務數(shù)據(jù)對應的標準化服務數(shù)據(jù);該標準化服務數(shù)據(jù),具體可以是服務數(shù)據(jù)管理模塊10-2將其所具有的服務數(shù)據(jù)通過所對應的數(shù)據(jù)接口20-2進行封裝后生成的標準化服務數(shù)據(jù)。
服務數(shù)據(jù)管理模塊10-1對應的數(shù)據(jù)接口20-1從SOA資源總線30上獲取標準化服務數(shù)據(jù),并進行處理,將處理得到的被請求的服務數(shù)據(jù)發(fā)送給服務數(shù)據(jù)管理模塊10-1。其中,處理后的服務數(shù)據(jù)的數(shù)據(jù)格式,符合服務數(shù)據(jù)管理模塊10-1規(guī)定的數(shù)據(jù)格式。
除了管理數(shù)據(jù)接口、路由服務數(shù)據(jù)之外,中央管理模塊2還用于捕獲資源協(xié)作系統(tǒng)中服務數(shù)據(jù)管理模塊上線的信息,生成服務數(shù)據(jù)管理模塊的業(yè)務屬性信息,發(fā)送給其他服務數(shù)據(jù)管理模塊。
比如,當服務數(shù)據(jù)管理模塊10-2在系統(tǒng)中上線時,會發(fā)送上線提示消息到SOA資源總線30,中央管理模塊2獲取在SOA資源總線30傳送的上線提示消息,從而得到服務數(shù)據(jù)管理模塊10-2上線的信息。中央管理模塊2發(fā)送業(yè)務屬性請求消息到服務數(shù)據(jù)管理模塊10-2,并接收服務數(shù)據(jù)管理模塊10-2返回的業(yè)務屬性信息。中央管理模塊2對服務數(shù)據(jù)管理模塊10-2的業(yè)務屬性信息進行存儲,并且通過SOA資源總線30發(fā)送到系統(tǒng)中的其他服務數(shù)據(jù)管理模塊,比如服務數(shù)據(jù)管理模塊10-1。
此外,中央管理模塊2還用于獲取資源協(xié)作系統(tǒng)中服務數(shù)據(jù)管理模塊下線的信息,生成服務數(shù)據(jù)管理模塊的業(yè)務失效信息,發(fā)送給其他服務數(shù)據(jù)管理模塊。
在一種具體的實現(xiàn)方式中,中央管理模塊2定期向系統(tǒng)中的各個服務數(shù)據(jù)管理模塊輪詢發(fā)送消息,并接收各個服務數(shù)據(jù)管理模塊的反饋信息,當在設定時間內收不到服務數(shù)據(jù)管理模塊的反饋信息時,判定該服務數(shù)據(jù)管理模塊下線。優(yōu)選的,在設定時間內,可以向該服務數(shù)據(jù)管理模塊多次發(fā)送消息。
當中央管理模塊2判定一個服務數(shù)據(jù)管理模塊下線時,生成該服務數(shù)據(jù)管理模塊的業(yè)務失效信息,發(fā)送給在線的其他服務數(shù)據(jù)管理模塊。
本發(fā)明實施例的基于SOA的資源協(xié)作系統(tǒng)提供的能夠基于不同服務,實現(xiàn)服務間服務數(shù)據(jù)的獲取和共享使用,使得系統(tǒng)變得更加靈活,交互性更好。
相應的,本發(fā)明實施例還提供了一種基于SOA的資源協(xié)作方法,如圖2所示,所述方法包括如下步驟:
步驟210,中央管理模塊根據(jù)第一服務數(shù)據(jù)管理模塊發(fā)送的服務數(shù)據(jù)請求指令,在SOA資源總線上查找所請求的服務數(shù)據(jù);
其中,所述服務數(shù)據(jù)請求指令包括所請求的服務數(shù)據(jù)的屬性信息。
步驟220,中央管理模塊面向第一服務數(shù)據(jù)管理模塊配置第一數(shù)據(jù)接口;
步驟230,第一數(shù)據(jù)接口根據(jù)服務數(shù)據(jù)的屬性信息從SOA資源總線上獲取的標準化服務數(shù)據(jù);
其中,標準化服務數(shù)據(jù)為標準數(shù)據(jù)格式的服務數(shù)據(jù);如XML數(shù)據(jù)。
步驟240,第一數(shù)據(jù)接口將標準化服務數(shù)據(jù)處理為服務數(shù)據(jù);
其中,所述服務數(shù)據(jù)的數(shù)據(jù)格式與所述第一服務數(shù)據(jù)管理模塊的預設數(shù)據(jù)格式相符。
步驟250,第一服務數(shù)據(jù)管理模塊根據(jù)所述服務數(shù)據(jù)為用戶提供業(yè)務服務。
進一步的,在步驟210之前,所述方法還包括:
由中央管理模塊面向所述第二服務數(shù)據(jù)管理模塊配置第二數(shù)據(jù)接口;以及
第二數(shù)據(jù)接口將所述第二服務數(shù)據(jù)管理模塊中的與所述第二服務數(shù)據(jù)管理模塊的預設數(shù)據(jù)格式相符的服務數(shù)據(jù)封裝為所述標準化服務數(shù)據(jù),發(fā)送到所述SOA資源總線。
此外,當所述資源協(xié)作系統(tǒng)中加入一個新的服務數(shù)據(jù)管理模塊時,中央管理模塊捕獲所述該服務數(shù)據(jù)管理模塊上線的信息,生成該服務數(shù)據(jù)管理模塊的業(yè)務屬性信息,發(fā)送給系統(tǒng)中其他服務數(shù)據(jù)管理模塊。
當所述資源協(xié)作系統(tǒng)中某一服務數(shù)據(jù)管理模塊下線時,中央管理模塊獲取該服務數(shù)據(jù)管理模塊下線的信息,發(fā)送給系統(tǒng)中其他服務數(shù)據(jù)管理模塊。
本實例提供的基于SOA的資源協(xié)作方法,可以執(zhí)行于上述實施例所述的基于SOA的資源協(xié)作系統(tǒng)中,具體執(zhí)行過程已經在上述系統(tǒng)實施例中進行了詳細說明,此處不再贅述。
通過本實施例提供的基于SOA的資源協(xié)作方法,能夠基于不同服務,實現(xiàn)服務間服務數(shù)據(jù)的獲取和共享使用,使得系統(tǒng)變得更加靈活,交互性更好。
專業(yè)人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明實施例的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。
以上所述的具體實施方式,對本發(fā)明實施例的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明實施例的具體實施方式而已,并不用于限定本發(fā)明實施例的保護范圍,凡在本發(fā)明實施例的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明實施例的保護范圍之內。