專利名稱:組件的集成方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種組件的集成方法及裝置。
背景技術(shù):
近些年,隨著信息技術(shù)的廣泛應(yīng)用,軟件功能越來越復(fù)雜。典型的企業(yè)應(yīng)用通?;?層架構(gòu)。從后端到前端分別是數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和界面表示層。其中,業(yè)務(wù)邏輯層通常是由強(qiáng)類型靜態(tài)語言技術(shù)來實(shí)現(xiàn),如Java和C#技術(shù)等。在比較復(fù)雜的企業(yè)應(yīng)用中,模塊與模塊之間的往往存在業(yè)務(wù)上的耦合,直觀地表現(xiàn)在業(yè)務(wù)邏輯層的代碼就是,在一個(gè)方法中,存在著調(diào)用其它各個(gè)模塊服務(wù)的代碼,由于一個(gè)方法本身包含的處理邏輯在開發(fā)期就已經(jīng)確定了下來,這使得應(yīng)用的開發(fā)者沒有辦法根據(jù)需要來定制頁面中的界面邏輯包含的范圍,并根據(jù)特定的需要,來方便的增加或者減少已經(jīng)有方法中包含的服務(wù)調(diào)用代碼。
在相關(guān)技術(shù)中,主要涉及三種組件的集成方法 1.傳統(tǒng)開發(fā)方式開發(fā)者會在開發(fā)期就確定了各個(gè)方法的邏輯,比如一個(gè)應(yīng)用程序包含三個(gè)模塊A、B和C,其中在模塊A內(nèi),開發(fā)者開發(fā)了一個(gè)通用功能a,這個(gè)功能需要調(diào)用另外兩個(gè)模板的服務(wù)方法。 2. 0SGi方案由JCP組織(麗.jcp. org)提出的JSR_291。目前最成熟的應(yīng)用是Eclipse。通過0SGi方案能夠支持組件獨(dú)立開發(fā)和發(fā)布,并通過管理器可進(jìn)行組件的安裝、應(yīng)用、禁用和卸載,而不需要重啟系統(tǒng)。 3. SCA方案由0S0A組織提交的SCA方案。目前沒有成熟應(yīng)用。通過SCA方案可以支持組件獨(dú)立開發(fā)和發(fā)布,并且能通過管理工具進(jìn)行服務(wù)編排組織成為新的服務(wù)。
以下針對不同場景,分析三種方法的應(yīng)用過程
場景一 進(jìn)行全新開發(fā)時(shí)。 1.傳統(tǒng)開發(fā)方式分別開發(fā)三個(gè)模塊;開發(fā)功能a時(shí),在功能a中分別調(diào)用模塊B和C的程序接口。 2. 0SGi方案分別開發(fā)三個(gè)模塊;開發(fā)功能a時(shí),在功能a中設(shè)置調(diào)用點(diǎn),分別調(diào)用模塊B和C的程序接口 ;通過插件管理器將功能a的調(diào)用點(diǎn)結(jié)合B和C的程序接口 。
3. SCA方案分別開發(fā)三個(gè)模塊;開發(fā)功能a時(shí),在功能a中設(shè)置調(diào)用點(diǎn),分別調(diào)用模塊B和C的程序接口 ;通過服務(wù)編排工具將功能a的調(diào)用點(diǎn)結(jié)合B和C的程序接口 。
場景二 需要新增加一個(gè)模塊時(shí)。
1.傳統(tǒng)開發(fā)方式開發(fā)新的模塊;修改功能a代碼,新增調(diào)用新模塊的程序接口。
2. 0SGi方案開發(fā)新的模塊;通過插件管理器將功能a的調(diào)用點(diǎn)添加新模塊的程序接口。 3. SCA方案開發(fā)新的模塊;通過服務(wù)編排工具將功能a的調(diào)用點(diǎn)添加新模塊的程序接口。
場景三需要刪除一個(gè)模塊時(shí)。
1.傳統(tǒng)開發(fā)方式修改功能a代碼,刪除掉原來的調(diào)用該模塊的程序代碼。
2. 0SGi方案通過插件管理器將功能a的調(diào)用點(diǎn)去除模塊的程序接口 。
3. SCA方案通過服務(wù)編排工具將功能a的調(diào)用點(diǎn)去除模塊的程序接口。
場景四需要部署B(yǎng)模塊的定制修改時(shí)。 1.傳統(tǒng)開發(fā)方式修改功能a代碼,修改原有調(diào)用B模塊代碼為新代碼。 2. OSGi方案通過插件管理器發(fā)布新增新的程序接口為fragment類型。但是無
法屏蔽調(diào)用點(diǎn)本身。 3. SCA方案通過服務(wù)編排工具將功能a的調(diào)用點(diǎn)去除原有模塊的程序接口 ,新增
新的程序接口 ,但是無法屏蔽調(diào)用點(diǎn)本身。 場景五需要調(diào)整同步執(zhí)行策略為異步執(zhí)行策略時(shí)。 1.傳統(tǒng)開發(fā)方式修改功能a代碼,修改調(diào)用代碼方式為異步執(zhí)行方式。
2. OSGi方案不支持。
3. SCA方案不支持。
場景六需要調(diào)整執(zhí)行的事務(wù)控制策略。
1.傳統(tǒng)開發(fā)方式修改功能a代碼,修改原有的代碼調(diào)用事務(wù)控制方式。
2. OSGi方案不支持。 3. SCA方案通過修改配置文件,調(diào)整事務(wù)控制方式。 從上面的六個(gè)應(yīng)用開發(fā)過程常見的場景中可以看出在傳統(tǒng)開發(fā)方式下為了新增加、減少或者調(diào)整一個(gè)模塊,開發(fā)者需要頻繁地修改功能a,在修改中稍有不慎,將對整個(gè)應(yīng)用的運(yùn)行造成影響,導(dǎo)致系統(tǒng)運(yùn)行可靠性低。其方案對于模塊靈活增加或者減少的支持非常不好,每塊模塊的變動都要影響整個(gè)應(yīng)用,使系統(tǒng)不便于維護(hù)。這樣,如上面的場景,功能a成為了耦合各個(gè)模塊的問題滋生點(diǎn)之一。而OSGi方案和SCA方案,開發(fā)過程相對容易,但存在部分場景不支持的情況。 因此,無論OSGi還是SCA方案都對系統(tǒng)開發(fā)是強(qiáng)侵入, 一旦使用就變成強(qiáng)綁定,對后續(xù)方案切換帶來巨大影響;同時(shí)對系統(tǒng)開發(fā)和測試帶來一定的困難,也使得系統(tǒng)不便于維護(hù)。 針對相關(guān)技術(shù)中組件集成方案存在著影響系統(tǒng)可靠性和可維護(hù)性的不足并且不支持有些場景的應(yīng)用的問題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的主要目的在于提供一種組件的集成方法,以解決現(xiàn)有技術(shù)中的組件的集成方案所存在的影響系統(tǒng)可靠性和可維護(hù)性的不足、并且不支持有些場景的應(yīng)用的問題。 為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了 一種組件的集成方法。 本發(fā)明的組件的集成方法包括根據(jù)預(yù)存的代理程序的定義格式以及適配程序的
定義格式,分別生成對應(yīng)于第一組件的調(diào)用接口的代理程序以及對應(yīng)于第二組件的實(shí)現(xiàn)程
序的適配程序,并保存所述代理程序和所述適配程序之間的對應(yīng)關(guān)系;所述第一組件調(diào)用
所述代理程序,所述代理程序根據(jù)所述對應(yīng)關(guān)系確定自身對應(yīng)的適配程序并調(diào)用所述適配
程序,該適配程序調(diào)用自身對應(yīng)的第二組件的實(shí)現(xiàn)程序,以實(shí)現(xiàn)第一組件與第二組件的集成。
優(yōu)選地,所述代理程序的定義格式包括代理程序的標(biāo)識和接口類型;所述適配程序的定義格式包括適配程序的標(biāo)識和對應(yīng)的代理程序的接口類型,以及所述實(shí)現(xiàn)程序的獲取方式。 優(yōu)選地,分別生成對應(yīng)于第一組件的調(diào)用接口的代理程序以及對應(yīng)于第二組件的實(shí)現(xiàn)程序的適配程序之后,所述方法還包括確認(rèn)不需調(diào)用所述第二組件;刪除保存的所述適配程序的定義格式。 優(yōu)選地,分別生成對應(yīng)于第一組件的調(diào)用接口的代理程序以及對應(yīng)于第二組件的實(shí)現(xiàn)程序的適配程序之前,所述方法還包括保存第一組件的代理程序的定義格式以及所述適配程序的定義格式。 優(yōu)選地,保存第一組件的代理程序的定義格式以及所述適配程序的定義格式包
括根據(jù)系統(tǒng)支持的集成類型來保存代理程序的定義格式和適配程序的定義格式。
優(yōu)選地,第一組件調(diào)用所述代理程序之前,所述方法還包括保存所述代理程序與
適配程序的有效性信息;代理程序根據(jù)所述對應(yīng)關(guān)系確定自身對應(yīng)的適配程序包括所述
代理程序調(diào)用中介服務(wù)程序;所述中介服務(wù)程序根據(jù)所述有效性信息確認(rèn)所述代理程序?yàn)?br>
有效,然后根據(jù)所述有效性信息和所述對應(yīng)關(guān)系調(diào)用有效的適配程序。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了 一種組件的集成裝置。 本發(fā)明的組件的集成裝置包括生成模塊,用于根據(jù)所述代理程序的定義格式以
及所述適配程序的定義格式,分別生成對應(yīng)于第一組件的調(diào)用接口的代理程序以及對應(yīng)于
第二組件的實(shí)現(xiàn)程序的適配程序;存儲模塊,用于存儲所述代理程序和所述適配程序之間
的對應(yīng)關(guān)系;調(diào)用模塊,用于使所述代理程序根據(jù)所述對應(yīng)關(guān)系確定自身對應(yīng)的適配程序
并調(diào)用所述適配程序,以及使所述適配程序調(diào)用自身對應(yīng)的第二組件實(shí)現(xiàn)程序,以實(shí)現(xiàn)第
一組件與第二組件的集成。 優(yōu)選地,所述裝置還包括保存模塊,用于保存所述代理程序的定義格式以及所述適配程序的定義格式。 優(yōu)選地,所述存儲模塊還用于保存所述代理程序與適配程序的有效性信息;并且所述裝置還包括中介服務(wù)模塊,用于根據(jù)所述有效性信息確認(rèn)代理程序?yàn)橛行?,然后根?jù)所述有效性信息和所述對應(yīng)關(guān)系調(diào)用有效的適配程序;以及,所述調(diào)用模塊具體用于使所述代理程序調(diào)用所述中介服務(wù)模塊以調(diào)用有效的適配程序,以及使所述適配程序調(diào)用自身對應(yīng)的第二組件實(shí)現(xiàn)程序,以實(shí)現(xiàn)第一組件與第二組件的集成。 優(yōu)選地,所述裝置還包括確認(rèn)模塊,用于確認(rèn)不需調(diào)用第二組件;并且保存模塊還用于確認(rèn)模塊確認(rèn)后刪除保存的適配程序的定義格式;存儲模塊還用于確認(rèn)模塊確認(rèn)后在保存的有效性信息中設(shè)置對應(yīng)于第二組件實(shí)現(xiàn)程序的適配程序?yàn)闊o效。 通過本發(fā)明,采用根據(jù)預(yù)存的代理程序的定義格式以及適配程序的定義格式,分別生成對應(yīng)于第一組件的調(diào)用接口的代理程序以及對應(yīng)于第二組件的實(shí)現(xiàn)程序的適配程序;第一組件調(diào)用代理程序,代理程序根據(jù)對應(yīng)關(guān)系確定自身對應(yīng)的適配程序,該適配程序調(diào)用自身對應(yīng)的第二組件的實(shí)現(xiàn)程序,以實(shí)現(xiàn)第一組件與第二組件的集成,解決了現(xiàn)有技術(shù)中的組件集成方案所存在的影響系統(tǒng)可靠性和可維護(hù)性的不足、并且不支持有些場景的應(yīng)用的問題,進(jìn)而達(dá)到了提高應(yīng)用程序的靈活性以及提高系統(tǒng)的可靠性和可維護(hù)性的效果。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中
圖1是根據(jù)本發(fā)明實(shí)施例的組件的集成方法的基本步驟流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的第一組件、代理程序、適配程序以及第二組件的關(guān)系 示意圖; 圖3是根據(jù)本發(fā)明實(shí)施例的組件的集成方法的具體步驟流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的組件的集成裝置的基本結(jié)構(gòu)示意圖;
圖5是根據(jù)本發(fā)明實(shí)施例的組件的集成裝置的第二種結(jié)構(gòu)示意圖;
圖6是根據(jù)本發(fā)明實(shí)施例的組件的集成裝置的第三種結(jié)構(gòu)示意圖。
具體實(shí)施例方式
需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相
互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
圖1是根據(jù)本發(fā)明實(shí)施例的組件的集成方法的基本步驟流程圖。 需要說明的是,該圖中示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系
統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處
的順序執(zhí)行所示出或描述的步驟。 如圖1所示,該方法包括如下的步驟S102和步驟S104 : 步驟S102 :生成對應(yīng)于第一組件的調(diào)用接口的代理程序以及對應(yīng)于第二組件的 實(shí)現(xiàn)程序的適配程序,并保存生成的代理程序與適配程序之間的對應(yīng)關(guān)系。在本步驟中,具 體是根據(jù)預(yù)存的代理程序的定義格式以及適配程序的定義格式來生成代理程序和適配程 序。 步驟S104 :第一組件通過調(diào)用代理程序來實(shí)現(xiàn)第一組件與第二組件的集成。在本 步驟中,在第一組件調(diào)用代理程序之后,該被調(diào)用的代理程序根據(jù)代理程序與適配程序之 間的對應(yīng)關(guān)系確定自身對應(yīng)的適配程序并調(diào)用該適配程序,該適配程序調(diào)用自身對應(yīng)的第 二組件的實(shí)現(xiàn)程序,以實(shí)現(xiàn)第一組件與第二組件的集成。 圖2是根據(jù)本發(fā)明實(shí)施例的第一組件、代理程序、適配程序以及第二組件的關(guān)系 示意圖。 本實(shí)施例中的第一組件、代理程序、適配程序以及第二組件的關(guān)系如圖2所示,
從該圖中可以看出,本實(shí)施例中第一組件與第二組件之間呈現(xiàn)一種松耦合的關(guān)系,這樣在
組件集成時(shí)無需對組件本身作過多的修改,而是可以靈活地生成所需的代理程序與適配程
序,一方面提高了系統(tǒng)的可靠性,另一方面也使得系統(tǒng)的可維護(hù)性得到了增強(qiáng)。 圖3是根據(jù)本發(fā)明實(shí)施例的組件的集成方法的具體步驟流程圖。 如圖3所示,該方法包括如下的步驟S302至步驟S314 : 步驟S302 :保存第一組件的代理程序的定義格式以及適配程序的定義格式。 在本步驟中,代理程序的定義格式包括代理程序的標(biāo)識和接口類型,適配程序的
定義格式包括適配程序的標(biāo)識和對應(yīng)的代理程序的接口類型,以及實(shí)現(xiàn)程序的獲取方式。這里的獲取方式,例如可以是實(shí)現(xiàn)程序的標(biāo)識,根據(jù)該標(biāo)識,系統(tǒng)能夠獲取所述實(shí)現(xiàn)程序; 也可以是實(shí)現(xiàn)程序的名稱,根據(jù)該名稱,系統(tǒng)能夠把所述實(shí)現(xiàn)程序加載實(shí)例化。下面舉兩個(gè) 集成類型的例子對代理程序的定義格式以及適配程序的定義格式作出說明。
集成類型一 事件和監(jiān)聽器。 其中,事件是代理程序,監(jiān)聽器為適配程序,其對應(yīng)關(guān)系為1:n,此處n為不小于0
的整數(shù)。 事件的定義規(guī)格如下 〈component:event id =〃 commandDefinitionEvent〃 interface =〃 com. ruijie. dot. event. CommandDefinitionEvent〃 />表示這個(gè)事件全局唯一 id標(biāo)識是"commandDefinitionEvent",而接口類型為
CommandDefinitionEvent。 監(jiān)聽器的定義規(guī)格如下 〈component:listener id = 〃 commandDefinitionEventListener" event =〃 type:com. ruijie. dot. event. CommandDefinitionEvent〃 listener = 〃class:com.ruijie. dot. listener.
CommandDefinitionListener" />表示模塊B中存在一個(gè)ID標(biāo)識是"commandDefinitionEventListener"的監(jiān)聽器, 對應(yīng)的事件是上面提到的"commandDefinitionEvent",對應(yīng)的程序是"com. ruijie. dot. listener. CommandDefinitionListener,,。
集成類型二 依賴和適配器。 其中,依賴是代理程序,適配器為適配程序,其對應(yīng)關(guān)系為l:m,其中,m二 0或1。
依賴的定義規(guī)格如下 〈component:dependency id =〃 topoPerformanceProvider" interface = 〃com. ruijie. topology, internal.
TopoPerformanceProvider" /> 表示這個(gè)事件全局唯一 id標(biāo)識是"topoPerformanceProvider",而接口類型為
TopoPerform肌ceProvider。 適配器的定義規(guī)格如下 〈component: adapter id = 〃 topoPerformanceProviderAd即ter"
interface = 〃 com. ruijie. topology, internal. TopoPerformanceProvider"
adapter =〃class:com. ruijie. topology, integration. TopoPerfProviderlmpl〃 /> 上述XML文檔可以保存在組件的集成配置文件中。在系統(tǒng)能夠支持多種集成類型 的情況下,可以是根據(jù)當(dāng)前需要的一種或多種集成類型來保存對應(yīng)于其中每種集成類型的 代理程序的定義格式以及適配程序的定義格式。 步驟S304 :生成對應(yīng)于第一組件調(diào)用接口的代理程序以及對應(yīng)于第二組件實(shí)現(xiàn) 程序的適配程序。在本步驟中,掃描當(dāng)前所有組件的集成配置文件,根據(jù)文件中的內(nèi)容生成 代理程序和適配程序。本步驟通常在系統(tǒng)啟動之后首先進(jìn)行。 步驟S306 :保存代理程序和適配程序之間的對應(yīng)關(guān)系。這里的代理程序和適配程序是步驟S304中生成的,二者的對應(yīng)關(guān)系可以保存在集成關(guān)系注冊庫中。
步驟S308 :第一組件通過調(diào)用接口調(diào)用代理程序。 步驟S310 :代理程序根據(jù)和適配程序之間的對應(yīng)關(guān)系確定自身對應(yīng)的適配程序 并調(diào)用該適配程序。這里的代理程序?yàn)椴襟ES308中調(diào)用的代理程序。在本步驟中,代理程 序可以通過調(diào)用中介服務(wù)程序來確定自身對應(yīng)的適配程序,并且該中介服務(wù)程序可以判斷 適配程序的有效性。在本實(shí)施例中,在第一組件調(diào)用代理程序之前保存代理程序與適配程 序的有效性信息;當(dāng)代理程序調(diào)用中介服務(wù)程序后,該中介服務(wù)程序根據(jù)所述有效性信息 確認(rèn)代理程序?yàn)橛行В缓蟾鶕?jù)所述有效性信息和代理程序與適配程序之間的對應(yīng)關(guān)系獲 得所有有效的適配程序,接下來調(diào)用這些適配程序。對于這里的有效性信息,可以是根據(jù)系 統(tǒng)支持的集成類型確定所述代理程序與適配程序的有效性信息然后保存。例如以下面的方 式進(jìn)行保存 〈component: event-disable event = ,, commandDef initionEvent,,/> 〈component: listener—disablelistener =,,commandDef initionEventListener 本實(shí)施例中引入代理程序與適配程序有效性的屬性,這樣能夠通過對代理程序與 適配程序有效性的設(shè)置來實(shí)現(xiàn)對二者的有選擇性地調(diào)用,從而有助于組件集成的優(yōu)化。
步驟S312 :適配程序調(diào)用自身對應(yīng)的第二組件實(shí)現(xiàn)程序。這里的適配程序?yàn)椴襟E S310中確定的適配程序。至本步驟,實(shí)現(xiàn)了第一組件與第二組件的集成。在本步驟之后,如 果確認(rèn)不再需要集成第二組件時(shí),可以繼續(xù)執(zhí)行步驟S314。 步驟S314 :對第二組件的相關(guān)內(nèi)容作出修改。在本步驟中可以刪除保存的適配程 序的定義格式,或者在所述適配程序的有效性信息中設(shè)置對應(yīng)于第二組件實(shí)現(xiàn)程序的適配 程序?yàn)闊o效。在需要集成第二組件時(shí),還可將適配程序有效性信息修改為有效,這樣能夠靈 活地實(shí)現(xiàn)對第二組件的取舍。此外也可以移除第二組件的所有信息,以節(jié)省系統(tǒng)的存儲空 間。 圖4是根據(jù)本發(fā)明實(shí)施例的組件的集成裝置的基本結(jié)構(gòu)示意圖。 如圖4所示,該裝置包括生成模塊41、存儲模塊42和調(diào)用模塊43,其中 生成模塊41用于根據(jù)第一組件的代理程序的定義格式以及適配程序的定義格
式,分別生成對應(yīng)于第一組件調(diào)用接口的代理程序以及對應(yīng)于第二組件實(shí)現(xiàn)程序的適配程
序; 存儲模塊42用于保存代理程序和適配程序之間的對應(yīng)關(guān)系; 調(diào)用模塊43,用于使代理程序根據(jù)代理程序與適配程序的對應(yīng)關(guān)系確定自身對應(yīng)
的適配程序并調(diào)用所述適配程序,以及使適配程序調(diào)用自身對應(yīng)的第二組件實(shí)現(xiàn)程序,以
實(shí)現(xiàn)第一組件與第二組件的集成。 圖5是根據(jù)本發(fā)明實(shí)施例的組件的集成裝置的第二種結(jié)構(gòu)示意圖。 如圖5所示,該裝置可以進(jìn)一步包括保存模塊44,用于保存第一組件的代理程序
的定義格式以及適配程序的定義格式。該保存模塊44可進(jìn)一步用于根據(jù)系統(tǒng)支持的集成
類型確定代理程序的定義格式和適配程序的定義格式然后保存。 圖6是根據(jù)本發(fā)明實(shí)施例的組件的集成裝置的第三種結(jié)構(gòu)示意圖。 圖6中的組件的集成裝置同 包含存儲模塊42,與圖4和圖5相比,圖6中的組件的集成裝置還包含中介服務(wù)模塊45 。在圖6中,存儲模塊42還可以用于保存代理程序與適 配程序的有效性信息。 中介服務(wù)模塊45用于根據(jù)有效性信息確認(rèn)代理程序?yàn)橛行?,然后根?jù)代理程序 與適配程序的有效性信息和代理程序與適配程序的對應(yīng)關(guān)系來調(diào)用有效的適配程序,在此 處可以是獲得所有有效的適配程序。這樣,調(diào)用模塊43還用于調(diào)用中介服務(wù)模塊45以調(diào) 用有效的適配程序,以及使適配程序調(diào)用自身對應(yīng)的第二組件實(shí)現(xiàn)程序,以實(shí)現(xiàn)第一組件 與第二組件的集成。 圖6所示的組件集成裝置可以進(jìn)一步包括確認(rèn)模塊,用于確認(rèn)不需調(diào)用第二組 件。這樣,保存模塊44可進(jìn)一步用于在確認(rèn)模塊確認(rèn)后刪除保存的適配程序的定義格式, 存儲模塊42也可以進(jìn)一步用于在確認(rèn)模塊確認(rèn)后,在保存的有效性信息中設(shè)置對應(yīng)于第 二組件實(shí)現(xiàn)程序的適配程序?yàn)闊o效。 從以上的描述中,可以看出,應(yīng)用本實(shí)施例的技術(shù)方案,解除了模塊間的應(yīng)用程序 邏輯耦合,從而提高了應(yīng)用程序的靈活性,避免了已有組件技術(shù)方案的侵入性問題,提高了 系統(tǒng)的可靠性和可維護(hù)性。本實(shí)施例中的技術(shù)方案可以適配現(xiàn)有組件標(biāo)準(zhǔn)方案,有效利用 現(xiàn)有標(biāo)準(zhǔn)的成果,開發(fā)者也可以根據(jù)需要靈活地調(diào)整系統(tǒng)包含的模塊,從而支持各種場景 的應(yīng)用,能夠更好地滿足用戶的需求。 顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲 在存儲裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們 中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結(jié)合。 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種組件的集成方法,其特征在于,包括根據(jù)預(yù)存的代理程序的定義格式以及適配程序的定義格式,分別生成對應(yīng)于第一組件的調(diào)用接口的代理程序以及對應(yīng)于第二組件的實(shí)現(xiàn)程序的適配程序,并保存所述代理程序和所述適配程序之間的對應(yīng)關(guān)系;所述第一組件調(diào)用所述代理程序,所述代理程序根據(jù)所述對應(yīng)關(guān)系確定自身對應(yīng)的適配程序并調(diào)用所述適配程序,該適配程序調(diào)用自身對應(yīng)的第二組件的實(shí)現(xiàn)程序,以實(shí)現(xiàn)第一組件與第二組件的集成。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述代理程序的定義格式包括代理程序 的標(biāo)識和接口類型;所述適配程序的定義格式包括適配程序的標(biāo)識和對應(yīng)的代理程序的接 口類型,以及所述實(shí)現(xiàn)程序的獲取方式。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,分別生成對應(yīng)于第一組件的調(diào)用接口的 代理程序以及對應(yīng)于第二組件的實(shí)現(xiàn)程序的適配程序之后,所述方法還包括確認(rèn)不需調(diào)用所述第二組件; 刪除保存的所述適配程序的定義格式。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,分別生成對應(yīng)于第一組件的調(diào)用接口的 代理程序以及對應(yīng)于第二組件的實(shí)現(xiàn)程序的適配程序之前,所述方法還包括保存第一組 件的代理程序的定義格式以及所述適配程序的定義格式。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,保存第一組件的代理程序的定義格式以 及所述適配程序的定義格式包括根據(jù)系統(tǒng)支持的集成類型來保存代理程序的定義格式和適配程序的定義格式。
6. 根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,第一組件調(diào)用所述代理程序 之前,所述方法還包括保存所述代理程序與適配程序的有效性信息; 代理程序根據(jù)所述對應(yīng)關(guān)系確定自身對應(yīng)的適配程序包括 所述代理程序調(diào)用中介服務(wù)程序;所述中介服務(wù)程序根據(jù)所述有效性信息確認(rèn)所述代理程序?yàn)橛行В缓蟾鶕?jù)所述有效 性信息和所述對應(yīng)關(guān)系調(diào)用有效的適配程序。
7. —種組件的集成裝置,其特征在于,包括生成模塊,用于根據(jù)所述代理程序的定義格式以及所述適配程序的定義格式,分別生 成對應(yīng)于第一組件的調(diào)用接口的代理程序以及對應(yīng)于第二組件的實(shí)現(xiàn)程序的適配程序; 存儲模塊,用于存儲所述代理程序和所述適配程序之間的對應(yīng)關(guān)系; 調(diào)用模塊,用于使所述代理程序根據(jù)所述對應(yīng)關(guān)系確定自身對應(yīng)的適配程序并調(diào)用所 述適配程序,以及使所述適配程序調(diào)用自身對應(yīng)的第二組件實(shí)現(xiàn)程序,以實(shí)現(xiàn)第一組件與 第二組件的集成。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括 保存模塊,用于保存所述代理程序的定義格式以及所述適配程序的定義格式。
9. 根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述存儲模塊還用于保存所述代理程 序與適配程序的有效性信息;并且所述裝置還包括中介服務(wù)模塊,用于根據(jù)所述有效性信息確認(rèn)代理程序?yàn)橛行В缓蟾鶕?jù)所述有效性信息和所述對應(yīng)關(guān)系調(diào)用有效的適配程序;以及,所述調(diào)用模塊具體用于使所述代理程序調(diào)用所述中介服務(wù)模塊以調(diào)用有效的適配程 序,以及使所述適配程序調(diào)用自身對應(yīng)的第二組件實(shí)現(xiàn)程序,以實(shí)現(xiàn)第一組件與第二組件 的集成。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括確認(rèn)模塊,用于確認(rèn)不需調(diào)用第二組件;并且保存模塊還用于確認(rèn)模塊確認(rèn)后刪除保存的適配程序的定義格式; 存儲模塊還用于確認(rèn)模塊確認(rèn)后在保存的有效性信息中設(shè)置對應(yīng)于第二組件實(shí)現(xiàn)程序的適配程序?yàn)闊o效。
全文摘要
本發(fā)明公開了一種組件的集成方法和組件的集成裝置,以解決現(xiàn)有技術(shù)中的組件的集成方案所存在的影響系統(tǒng)可靠性和可維護(hù)性的不足、并且不支持有些場景的應(yīng)用的問題。本發(fā)明中的方法包括根據(jù)預(yù)存的代理程序的定義格式以及適配程序的定義格式,分別生成對應(yīng)于第一組件的調(diào)用接口的代理程序以及對應(yīng)于第二組件的實(shí)現(xiàn)程序的適配程序,并保存所述代理程序和所述適配程序之間的對應(yīng)關(guān)系;所述第一組件調(diào)用所述代理程序,所述代理程序根據(jù)所述對應(yīng)關(guān)系確定自身對應(yīng)的適配程序并調(diào)用所述適配程序,該適配程序調(diào)用自身對應(yīng)的第二組件的實(shí)現(xiàn)程序,以實(shí)現(xiàn)第一組件與第二組件的集成。
文檔編號G06F9/46GK101710284SQ20091024378
公開日2010年5月19日 申請日期2009年12月24日 優(yōu)先權(quán)日2009年12月24日
發(fā)明者林儀明 申請人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司