一種跨中間件平臺的組件的實現(xiàn)方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種跨中間件平臺的組件的實現(xiàn)方法,根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類;中間件平臺生成中間件接口、中間件代理類、中間件實現(xiàn)類,通過中間件代理類繼承組件接口,并將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);并通過中間件實現(xiàn)類引用組件接口,調(diào)用組件實現(xiàn)類;本發(fā)明同時還公開了一種跨中間件平臺的組件的實現(xiàn)裝置,通過本發(fā)明的方案,能夠?qū)崿F(xiàn)組件接口和組件實現(xiàn)的分離,組件實現(xiàn)獨立于中間件平臺,在更換中間件平臺時,組件實現(xiàn)不需要改變即可實現(xiàn)更換中間件平臺,提升了組件應(yīng)用的靈活性。
【專利說明】一種跨中間件平臺的組件的實現(xiàn)方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及中間件平臺技術(shù),尤其涉及一種跨中間件平臺的組件的實現(xiàn)方法和裝置。
【背景技術(shù)】
[0002]目前,中間件環(huán)境下進行組件設(shè)計時,一般先根據(jù)業(yè)務(wù)需求設(shè)計組件接口,組件接口使用中間件平臺提供的接口定義語言(IDL)進行設(shè)計,然后根據(jù)中間件平臺提供的工具將設(shè)計的組件接口生成對應(yīng)的中間件代理接口和存根代碼,并將組件實現(xiàn)寫入所述存根代碼??蛻舳苏{(diào)用所述存根代碼使用中間件代理接口,通過所述中間件代理接口使用組件。這種設(shè)計導(dǎo)致的缺點如下:
[0003]I)對于客戶端應(yīng)用代碼使用本地組件時也需要用到中間件訪問本地的服務(wù)器,這樣性能上會有不必要的開銷;
[0004]2)在結(jié)構(gòu)上客戶端和服務(wù)器端都與中間件平臺綁定到一起,對于有的項目需要使用其他中間件平臺時,不能適應(yīng)其他中間件平臺,而必須修改組件相關(guān)的全部的客戶端和服務(wù)器端代碼。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明的主要目的在于提供一種跨中間件平臺的組件的實現(xiàn)方法和裝置,提升組件應(yīng)用的靈活性。
[0006]為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
[0007]本發(fā)明提供的一種跨中間件平臺的組件的實現(xiàn)方法,該方法包括:
[0008]根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類;
[0009]中間件平臺生成中間件接口、中間件代理類、中間件實現(xiàn)類,通過中間件代理類繼承組件接口,并將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);并通過中間件實現(xiàn)類引用組件接口,調(diào)用組件實現(xiàn)類。
[0010]上述方案中,所述根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類為:根據(jù)業(yè)務(wù)需求設(shè)置組件實現(xiàn)類,并使用中間件平臺的IDL,描述出調(diào)用所述組件實現(xiàn)類所需的組件接口 ;所述組件實現(xiàn)類包括實現(xiàn)業(yè)務(wù)需求的軟件模塊。
[0011 ] 上述方案中,所述中間件平臺生成中間件接口、中間件代理類,通過中間件代理類繼承組件接口,為:中間件平臺通過IDL編譯工具編譯組件接口,產(chǎn)生中間件接口,并通過IDL工具自動生成中間件代理類,修改所述中間件代理類中的繼承關(guān)系為繼承組件接口。
[0012]上述方案中,所述中間件平臺生成中間件實現(xiàn)類,通過中間件實現(xiàn)類引用組件接口,調(diào)用組件實現(xiàn)類,為:中間件平臺使用IDL工具生成中間件接口的實現(xiàn)框架代碼,所述實現(xiàn)框架代碼為中間件實現(xiàn)類,在所述實現(xiàn)框架代碼中增加一個到組件接口的引用關(guān)系,使自身的實現(xiàn)函數(shù)對應(yīng)到組件接口的實現(xiàn)函數(shù),通過組件接口的實現(xiàn)函數(shù)調(diào)用組件實現(xiàn)類。[0013]上述方案中,所述組件接口、組件實現(xiàn)類、中間件接口、中間件代理類、中間件實現(xiàn)類之間的調(diào)用關(guān)系為:所述中間件代理類以橋接結(jié)構(gòu)連接組件接口和中間件代理類,組件接口通過中間件代理類調(diào)用中間件接口,中間件接口調(diào)用中間件實現(xiàn)類;中間件實現(xiàn)類根據(jù)中間件接口的調(diào)用,調(diào)用自身引用的組件接口 ;組件接口根據(jù)中間件實現(xiàn)類的調(diào)用,調(diào)用組件實現(xiàn)類。
[0014]本發(fā)明提供的一種跨中間件平臺的組件的實現(xiàn)裝置,該裝置包括:設(shè)置單元和中間件平臺;其中,
[0015]設(shè)置單元,用于根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類;
[0016]中間件平臺,用于生成中間件接口、中間件代理類、中間件實現(xiàn)類,通過中間件代理類繼承組件接口,并將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);并通過中間件實現(xiàn)類弓I用組件接口,調(diào)用組件實現(xiàn)類。
[0017]上述方案中,所述中間件平臺包括:接口生成單元、代理類生成單元、實現(xiàn)類生成單元;其中,
[0018]接口生成單元,用于通過IDL編譯工具編譯組件接口,產(chǎn)生中間件接口 ;
[0019]代理類生成單元,用于通過IDL工具自動生成中間件代理類,修改所述中間件代理類中的繼承關(guān)系為繼承組件接口,將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);
[0020]實現(xiàn)類生成單元,用于使用IDL工具生成中間件接口的實現(xiàn)框架代碼,所述實現(xiàn)框架代碼為中間件實現(xiàn)類,在所述實現(xiàn)框架代碼中增加一個到組件接口的引用關(guān)系,使自身的實現(xiàn)函數(shù)對應(yīng)到組件接口的實現(xiàn)函數(shù),通過組件接口的實現(xiàn)函數(shù)調(diào)用組件實現(xiàn)類。
[0021]本發(fā)明提供了一種跨中間件平臺的組件的實現(xiàn)方法和裝置,根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類;中間件平臺生成中間件接口、中間件代理類、中間件實現(xiàn)類,通過中間件代理類繼承組件接口,并將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);并通過中間件實現(xiàn)類引用組件接口,調(diào)用組件實現(xiàn)類;如此,能夠?qū)崿F(xiàn)組件接口和組件實現(xiàn)的分離,組件實現(xiàn)獨立于中間件平臺,在更換中間件平臺時,組件實現(xiàn)不需要改變即可實現(xiàn)更換中間件平臺,提升了組件應(yīng)用的靈活性。
【專利附圖】
【附圖說明】
[0022]圖1為本發(fā)明提供的跨中間件平臺的組件的實現(xiàn)方法流程的示意圖;
[0023]圖2為本發(fā)明實施例中組件接口、組件實現(xiàn)類、中間件接口、中間件代理類、中間件實現(xiàn)類之間的調(diào)用關(guān)系示意圖;
[0024]圖3為本發(fā)明提供的跨中間件平臺的組件的實現(xiàn)裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0025]本發(fā)明的基本思想是:根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類;中間件平臺生成中間件接口、中間件代理類、中間件實現(xiàn)類,通過中間件代理類繼承組件接口,并將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);并通過中間件實現(xiàn)類弓I用組件接口,調(diào)用組件實現(xiàn)類。
[0026]下面通過附圖及具體實施例對本發(fā)明做進一步的詳細(xì)說明。[0027]本發(fā)明一種跨中間件平臺的組件的實現(xiàn)方法,如圖2所示,該方法包括以下幾個步驟:
[0028]步驟101:根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類;
[0029]具體的,根據(jù)業(yè)務(wù)需求設(shè)置組件實現(xiàn)類,并使用中間件平臺的IDL,描述出調(diào)用所述組件實現(xiàn)類所需的組件接口 ;所述組件實現(xiàn)類包括實現(xiàn)業(yè)務(wù)需求的軟件模塊。
[0030]步驟102:中間件平臺生成中間件接口和中間件代理類,通過中間件代理類繼承組件接口,將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);
[0031]具體的,中間件平臺通過IDL編譯工具編譯組件接口,產(chǎn)生中間件接口,并通過IDL工具自動生成中間件代理類,修改所述中間件代理類中的繼承關(guān)系為繼承組件接口,將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng)。
[0032]步驟103:中間件平臺生成中間件實現(xiàn)類,通過中間件實現(xiàn)類引用組件接口,調(diào)用組件實現(xiàn)類;
[0033]具體的,中間件平臺使用IDL工具生成中間件接口的實現(xiàn)框架代碼,所述實現(xiàn)框架代碼為中間件實現(xiàn)類,在所述實現(xiàn)框架代碼中增加一個到組件接口的引用關(guān)系,使自身的實現(xiàn)函數(shù)對應(yīng)到組件接口的實現(xiàn)函數(shù),通過組件接口的實現(xiàn)函數(shù)調(diào)用組件實現(xiàn)類。
[0034]上述步驟102和步驟103中所述中間件平臺使用的IDL工具可以是相同的,如均為ICE平臺中的slice2cpp.exe程序或gSOAP平臺的wsdl2h.exe程序等。
[0035]所述組件接口、組件實現(xiàn)類、中間件接口、中間件代理類、中間件實現(xiàn)類之間的調(diào)用關(guān)系如圖2所示,所述中間 件代理類以橋接結(jié)構(gòu)連接組件接口和中間件代理類,組件接口通過中間件代理類調(diào)用中間件接口,中間件接口調(diào)用中間件實現(xiàn)類;中間件實現(xiàn)類根據(jù)中間件接口的調(diào)用,調(diào)用自身引用的組件接口 ;組件接口根據(jù)中間件實現(xiàn)類的調(diào)用,調(diào)用組件實現(xiàn)類。
[0036]基于上述跨中間件平臺的組件的實現(xiàn)方法,本發(fā)明還提供一種跨中間件平臺的組件的實現(xiàn)裝置,如圖3所示,該裝置包括:設(shè)置單元31和中間件平臺32 ;其中,
[0037]設(shè)置單元31,用于根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類;
[0038]中間件平臺32,用于生成中間件接口、中間件代理類、中間件實現(xiàn)類,通過中間件代理類繼承組件接口,并將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);并通過中間件實現(xiàn)類引用組件接口,調(diào)用組件實現(xiàn)類。
[0039]所述中間件平臺32包括:接口生成單元321、代理類生成單元322、實現(xiàn)類生成單元323 ;其中,
[0040]接口生成單元321,用于通過IDL編譯工具編譯組件接口,產(chǎn)生中間件接口 ;
[0041]代理類生成單元322,用于通過IDL工具自動生成中間件代理類,修改所述中間件代理類中的繼承關(guān)系為繼承組件接口,將組件接口的接口函數(shù)與中間件接口的接口函數(shù)--對應(yīng);
[0042]實現(xiàn)類生成單元323,用于使用IDL工具生成中間件接口的實現(xiàn)框架代碼,所述實現(xiàn)框架代碼為中間件實現(xiàn)類,在所述實現(xiàn)框架代碼中增加一個到組件接口的引用關(guān)系,使自身的實現(xiàn)函數(shù)對應(yīng)到組件接口的實現(xiàn)函數(shù),通過組件接口的實現(xiàn)函數(shù)調(diào)用組件實現(xiàn)類。
[0043]本發(fā)明應(yīng)用的具體實例如:在某項目中,中間件平臺為gSOAP平臺,根據(jù)業(yè)務(wù)功能獨立于gSOAP平臺設(shè)置組件接口和組件實現(xiàn)類,gSOAP平臺生成的中間件接口為gSOAP接口,并生成相應(yīng)的中間件代理類、中間件實現(xiàn)類;由于gSOAP接口的性能無法達(dá)到后來的業(yè)務(wù)量的需求,需要更換性能更高的ICE(Internet Communications Engine)平臺時,組件接口的調(diào)用代碼和組件實現(xiàn)類的代碼都不需要改動,只需將當(dāng)前gSOAP平臺的中間件接口的代碼、中間件代理類的代碼、中間件實現(xiàn)類的代碼重新包裝為更換后的ICE平臺的代碼,即可實現(xiàn)中間件平臺的遷移。這樣,大大降低了代碼的遷移量。
[0044]以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種跨中間件平臺的組件的實現(xiàn)方法,其特征在于,該方法包括: 根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類; 中間件平臺生成中間件接口、中間件代理類、中間件實現(xiàn)類,通過中間件代理類繼承組件接口,并將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);并通過中間件實現(xiàn)類引用組件接口,調(diào)用組件實現(xiàn)類。
2.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類為:根據(jù)業(yè)務(wù)需求設(shè)置組件實現(xiàn)類,并使用中間件平臺的接口定義語言(IDL),描述出調(diào)用所述組件實現(xiàn)類所需的組件接口 ;所述組件實現(xiàn)類包括實現(xiàn)業(yè)務(wù)需求的軟件模塊。
3.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述中間件平臺生成中間件接口、中間件代理類,通過中間件代理類繼承組件接口,為:中間件平臺通過IDL編譯工具編譯組件接口,產(chǎn)生中間件接口,并通過IDL工具自動生成中間件代理類,修改所述中間件代理類中的繼承關(guān)系為繼承組件接口。
4.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述中間件平臺生成中間件實現(xiàn)類,通過中間件實現(xiàn)類引用組件接口,調(diào)用組件實現(xiàn)類,為:中間件平臺使用IDL工具生成中間件接口的實現(xiàn)框架代碼,所述實現(xiàn)框架代碼為中間件實現(xiàn)類,在所述實現(xiàn)框架代碼中增加一個到組件接口的引用關(guān)系,使自身的實現(xiàn)函數(shù)對應(yīng)到組件接口的實現(xiàn)函數(shù),通過組件接口的實現(xiàn)函數(shù)調(diào)用組件實現(xiàn)類。
5.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述組件接口、組件實現(xiàn)類、中間件接口、中間件代理類、中間件實現(xiàn)類之間的調(diào)用關(guān)系為:所述中間件代理類以橋接結(jié)構(gòu)連接組件接口和中間件代理類,組件接口通過中間件代理類調(diào)用中間件接口,中間件接口調(diào)用中間件實現(xiàn)類;中間件實現(xiàn)類根據(jù)中間件接口的調(diào)用,調(diào)用自身引用的組件接口 ;組件接口根據(jù)中間件實現(xiàn)類的調(diào)用,調(diào)用組件實現(xiàn)類。
6.一種跨中間件平臺的組件的實現(xiàn)裝置,其特征在于,該裝置包括:設(shè)置單元和中間件平臺;其中, 設(shè)置單元,用于根據(jù)業(yè)務(wù)需求設(shè)置組件接口及組件實現(xiàn)類; 中間件平臺,用于生成中間件接口、中間件代理類、中間件實現(xiàn)類,通過中間件代理類繼承組件接口,并將組件接口的接口函數(shù)與中間件接口的接口函數(shù)一一對應(yīng);并通過中間件實現(xiàn)類引用組件接口,調(diào)用組件實現(xiàn)類。
7.根據(jù)權(quán)利要求6所述的實現(xiàn)裝置,其特征在于,所述中間件平臺包括:接口生成單元、代理類生成單元、實現(xiàn)類生成單元;其中, 接口生成單元,用于通過IDL編譯工具編譯組件接口,產(chǎn)生中間件接口 ; 代理類生成單元,用于通過IDL工具自動生成中間件代理類,修改所述中間件代理類中的繼承關(guān)系為繼承組件接口,將組件接口的接口函數(shù)與中間件接口的接口函數(shù)——對應(yīng); 實現(xiàn)類生成單元,用于使用IDL工具生成中間件接口的實現(xiàn)框架代碼,所述實現(xiàn)框架代碼為中間件實現(xiàn)類,在所述實現(xiàn)框架代碼中增加一個到組件接口的引用關(guān)系,使自身的實現(xiàn)函數(shù)對應(yīng)到組件接口的實現(xiàn)函數(shù),通過組件接口的實現(xiàn)函數(shù)調(diào)用組件實現(xiàn)類。
【文檔編號】G06F9/44GK103530097SQ201210229760
【公開日】2014年1月22日 申請日期:2012年7月4日 優(yōu)先權(quán)日:2012年7月4日
【發(fā)明者】代慶國 申請人:深圳中興網(wǎng)信科技有限公司