CN103530097A - 一种跨中间件平台的组件的实现方法和装置 - Google Patents
一种跨中间件平台的组件的实现方法和装置 Download PDFInfo
- Publication number
- CN103530097A CN103530097A CN201210229760.0A CN201210229760A CN103530097A CN 103530097 A CN103530097 A CN 103530097A CN 201210229760 A CN201210229760 A CN 201210229760A CN 103530097 A CN103530097 A CN 103530097A
- Authority
- CN
- China
- Prior art keywords
- middleware
- interface
- class
- implementation
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000006870 function Effects 0.000 claims abstract description 45
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 3
- 238000000926 separation method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种跨中间件平台的组件的实现方法,根据业务需求设置组件接口及组件实现类;中间件平台生成中间件接口、中间件代理类、中间件实现类,通过中间件代理类继承组件接口,并将组件接口的接口函数与中间件接口的接口函数一一对应;并通过中间件实现类引用组件接口,调用组件实现类;本发明同时还公开了一种跨中间件平台的组件的实现装置,通过本发明的方案,能够实现组件接口和组件实现的分离,组件实现独立于中间件平台,在更换中间件平台时,组件实现不需要改变即可实现更换中间件平台,提升了组件应用的灵活性。
Description
技术领域
本发明涉及中间件平台技术,尤其涉及一种跨中间件平台的组件的实现方法和装置。
背景技术
目前,中间件环境下进行组件设计时,一般先根据业务需求设计组件接口,组件接口使用中间件平台提供的接口定义语言(IDL)进行设计,然后根据中间件平台提供的工具将设计的组件接口生成对应的中间件代理接口和存根代码,并将组件实现写入所述存根代码。客户端调用所述存根代码使用中间件代理接口,通过所述中间件代理接口使用组件。这种设计导致的缺点如下:
1)对于客户端应用代码使用本地组件时也需要用到中间件访问本地的服务器,这样性能上会有不必要的开销;
2)在结构上客户端和服务器端都与中间件平台绑定到一起,对于有的项目需要使用其他中间件平台时,不能适应其他中间件平台,而必须修改组件相关的全部的客户端和服务器端代码。
发明内容
有鉴于此,本发明的主要目的在于提供一种跨中间件平台的组件的实现方法和装置,提升组件应用的灵活性。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供的一种跨中间件平台的组件的实现方法,该方法包括:
根据业务需求设置组件接口及组件实现类;
中间件平台生成中间件接口、中间件代理类、中间件实现类,通过中间件代理类继承组件接口,并将组件接口的接口函数与中间件接口的接口函数一一对应;并通过中间件实现类引用组件接口,调用组件实现类。
上述方案中,所述根据业务需求设置组件接口及组件实现类为:根据业务需求设置组件实现类,并使用中间件平台的IDL,描述出调用所述组件实现类所需的组件接口;所述组件实现类包括实现业务需求的软件模块。
上述方案中,所述中间件平台生成中间件接口、中间件代理类,通过中间件代理类继承组件接口,为:中间件平台通过IDL编译工具编译组件接口,产生中间件接口,并通过IDL工具自动生成中间件代理类,修改所述中间件代理类中的继承关系为继承组件接口。
上述方案中,所述中间件平台生成中间件实现类,通过中间件实现类引用组件接口,调用组件实现类,为:中间件平台使用IDL工具生成中间件接口的实现框架代码,所述实现框架代码为中间件实现类,在所述实现框架代码中增加一个到组件接口的引用关系,使自身的实现函数对应到组件接口的实现函数,通过组件接口的实现函数调用组件实现类。
上述方案中,所述组件接口、组件实现类、中间件接口、中间件代理类、中间件实现类之间的调用关系为:所述中间件代理类以桥接结构连接组件接口和中间件代理类,组件接口通过中间件代理类调用中间件接口,中间件接口调用中间件实现类;中间件实现类根据中间件接口的调用,调用自身引用的组件接口;组件接口根据中间件实现类的调用,调用组件实现类。
本发明提供的一种跨中间件平台的组件的实现装置,该装置包括:设置单元和中间件平台;其中,
设置单元,用于根据业务需求设置组件接口及组件实现类;
中间件平台,用于生成中间件接口、中间件代理类、中间件实现类,通过中间件代理类继承组件接口,并将组件接口的接口函数与中间件接口的接口函数一一对应;并通过中间件实现类引用组件接口,调用组件实现类。
上述方案中,所述中间件平台包括:接口生成单元、代理类生成单元、实现类生成单元;其中,
接口生成单元,用于通过IDL编译工具编译组件接口,产生中间件接口;
代理类生成单元,用于通过IDL工具自动生成中间件代理类,修改所述中间件代理类中的继承关系为继承组件接口,将组件接口的接口函数与中间件接口的接口函数一一对应;
实现类生成单元,用于使用IDL工具生成中间件接口的实现框架代码,所述实现框架代码为中间件实现类,在所述实现框架代码中增加一个到组件接口的引用关系,使自身的实现函数对应到组件接口的实现函数,通过组件接口的实现函数调用组件实现类。
本发明提供了一种跨中间件平台的组件的实现方法和装置,根据业务需求设置组件接口及组件实现类;中间件平台生成中间件接口、中间件代理类、中间件实现类,通过中间件代理类继承组件接口,并将组件接口的接口函数与中间件接口的接口函数一一对应;并通过中间件实现类引用组件接口,调用组件实现类;如此,能够实现组件接口和组件实现的分离,组件实现独立于中间件平台,在更换中间件平台时,组件实现不需要改变即可实现更换中间件平台,提升了组件应用的灵活性。
附图说明
图1为本发明提供的跨中间件平台的组件的实现方法流程的示意图;
图2为本发明实施例中组件接口、组件实现类、中间件接口、中间件代理类、中间件实现类之间的调用关系示意图;
图3为本发明提供的跨中间件平台的组件的实现装置的结构示意图。
具体实施方式
本发明的基本思想是:根据业务需求设置组件接口及组件实现类;中间件平台生成中间件接口、中间件代理类、中间件实现类,通过中间件代理类继承组件接口,并将组件接口的接口函数与中间件接口的接口函数一一对应;并通过中间件实现类引用组件接口,调用组件实现类。
下面通过附图及具体实施例对本发明做进一步的详细说明。
本发明一种跨中间件平台的组件的实现方法,如图2所示,该方法包括以下几个步骤:
步骤101:根据业务需求设置组件接口及组件实现类;
具体的,根据业务需求设置组件实现类,并使用中间件平台的IDL,描述出调用所述组件实现类所需的组件接口;所述组件实现类包括实现业务需求的软件模块。
步骤102:中间件平台生成中间件接口和中间件代理类,通过中间件代理类继承组件接口,将组件接口的接口函数与中间件接口的接口函数一一对应;
具体的,中间件平台通过IDL编译工具编译组件接口,产生中间件接口,并通过IDL工具自动生成中间件代理类,修改所述中间件代理类中的继承关系为继承组件接口,将组件接口的接口函数与中间件接口的接口函数一一对应。
步骤103:中间件平台生成中间件实现类,通过中间件实现类引用组件接口,调用组件实现类;
具体的,中间件平台使用IDL工具生成中间件接口的实现框架代码,所述实现框架代码为中间件实现类,在所述实现框架代码中增加一个到组件接口的引用关系,使自身的实现函数对应到组件接口的实现函数,通过组件接口的实现函数调用组件实现类。
上述步骤102和步骤103中所述中间件平台使用的IDL工具可以是相同的,如均为ICE平台中的slice2cpp.exe程序或gSOAP平台的wsdl2h.exe程序等。
所述组件接口、组件实现类、中间件接口、中间件代理类、中间件实现类之间的调用关系如图2所示,所述中间件代理类以桥接结构连接组件接口和中间件代理类,组件接口通过中间件代理类调用中间件接口,中间件接口调用中间件实现类;中间件实现类根据中间件接口的调用,调用自身引用的组件接口;组件接口根据中间件实现类的调用,调用组件实现类。
基于上述跨中间件平台的组件的实现方法,本发明还提供一种跨中间件平台的组件的实现装置,如图3所示,该装置包括:设置单元31和中间件平台32;其中,
设置单元31,用于根据业务需求设置组件接口及组件实现类;
中间件平台32,用于生成中间件接口、中间件代理类、中间件实现类,通过中间件代理类继承组件接口,并将组件接口的接口函数与中间件接口的接口函数一一对应;并通过中间件实现类引用组件接口,调用组件实现类。
所述中间件平台32包括:接口生成单元321、代理类生成单元322、实现类生成单元323;其中,
接口生成单元321,用于通过IDL编译工具编译组件接口,产生中间件接口;
代理类生成单元322,用于通过IDL工具自动生成中间件代理类,修改所述中间件代理类中的继承关系为继承组件接口,将组件接口的接口函数与中间件接口的接口函数一一对应;
实现类生成单元323,用于使用IDL工具生成中间件接口的实现框架代码,所述实现框架代码为中间件实现类,在所述实现框架代码中增加一个到组件接口的引用关系,使自身的实现函数对应到组件接口的实现函数,通过组件接口的实现函数调用组件实现类。
本发明应用的具体实例如:在某项目中,中间件平台为gSOAP平台,根据业务功能独立于gSOAP平台设置组件接口和组件实现类,gSOAP平台生成的中间件接口为gSOAP接口,并生成相应的中间件代理类、中间件实现类;由于gSOAP接口的性能无法达到后来的业务量的需求,需要更换性能更高的ICE(Internet Communications Engine)平台时,组件接口的调用代码和组件实现类的代码都不需要改动,只需将当前gSOAP平台的中间件接口的代码、中间件代理类的代码、中间件实现类的代码重新包装为更换后的ICE平台的代码,即可实现中间件平台的迁移。这样,大大降低了代码的迁移量。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (7)
1.一种跨中间件平台的组件的实现方法,其特征在于,该方法包括:
根据业务需求设置组件接口及组件实现类;
中间件平台生成中间件接口、中间件代理类、中间件实现类,通过中间件代理类继承组件接口,并将组件接口的接口函数与中间件接口的接口函数一一对应;并通过中间件实现类引用组件接口,调用组件实现类。
2.根据权利要求1所述的实现方法,其特征在于,所述根据业务需求设置组件接口及组件实现类为:根据业务需求设置组件实现类,并使用中间件平台的接口定义语言(IDL),描述出调用所述组件实现类所需的组件接口;所述组件实现类包括实现业务需求的软件模块。
3.根据权利要求1所述的实现方法,其特征在于,所述中间件平台生成中间件接口、中间件代理类,通过中间件代理类继承组件接口,为:中间件平台通过IDL编译工具编译组件接口,产生中间件接口,并通过IDL工具自动生成中间件代理类,修改所述中间件代理类中的继承关系为继承组件接口。
4.根据权利要求1所述的实现方法,其特征在于,所述中间件平台生成中间件实现类,通过中间件实现类引用组件接口,调用组件实现类,为:中间件平台使用IDL工具生成中间件接口的实现框架代码,所述实现框架代码为中间件实现类,在所述实现框架代码中增加一个到组件接口的引用关系,使自身的实现函数对应到组件接口的实现函数,通过组件接口的实现函数调用组件实现类。
5.根据权利要求1所述的实现方法,其特征在于,所述组件接口、组件实现类、中间件接口、中间件代理类、中间件实现类之间的调用关系为:所述中间件代理类以桥接结构连接组件接口和中间件代理类,组件接口通过中间件代理类调用中间件接口,中间件接口调用中间件实现类;中间件实现类根据中间件接口的调用,调用自身引用的组件接口;组件接口根据中间件实现类的调用,调用组件实现类。
6.一种跨中间件平台的组件的实现装置,其特征在于,该装置包括:设置单元和中间件平台;其中,
设置单元,用于根据业务需求设置组件接口及组件实现类;
中间件平台,用于生成中间件接口、中间件代理类、中间件实现类,通过中间件代理类继承组件接口,并将组件接口的接口函数与中间件接口的接口函数一一对应;并通过中间件实现类引用组件接口,调用组件实现类。
7.根据权利要求6所述的实现装置,其特征在于,所述中间件平台包括:接口生成单元、代理类生成单元、实现类生成单元;其中,
接口生成单元,用于通过IDL编译工具编译组件接口,产生中间件接口;
代理类生成单元,用于通过IDL工具自动生成中间件代理类,修改所述中间件代理类中的继承关系为继承组件接口,将组件接口的接口函数与中间件接口的接口函数一一对应;
实现类生成单元,用于使用IDL工具生成中间件接口的实现框架代码,所述实现框架代码为中间件实现类,在所述实现框架代码中增加一个到组件接口的引用关系,使自身的实现函数对应到组件接口的实现函数,通过组件接口的实现函数调用组件实现类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210229760.0A CN103530097B (zh) | 2012-07-04 | 2012-07-04 | 一种跨中间件平台的组件的实现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210229760.0A CN103530097B (zh) | 2012-07-04 | 2012-07-04 | 一种跨中间件平台的组件的实现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103530097A true CN103530097A (zh) | 2014-01-22 |
CN103530097B CN103530097B (zh) | 2018-01-30 |
Family
ID=49932143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210229760.0A Expired - Fee Related CN103530097B (zh) | 2012-07-04 | 2012-07-04 | 一种跨中间件平台的组件的实现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530097B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572116A (zh) * | 2015-01-23 | 2015-04-29 | 广东能龙教育股份有限公司 | 一种基于订阅模式的中间件调用系统 |
CN105988797A (zh) * | 2015-02-12 | 2016-10-05 | 北京仿真中心 | 一种多学科设计与分析工具适配系统及方法 |
CN106569821A (zh) * | 2016-11-04 | 2017-04-19 | 青岛海信网络科技股份有限公司 | 一种生成Webservice类的方法及装置 |
CN106713478A (zh) * | 2017-01-05 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 通信处理方法及装置 |
CN107832045A (zh) * | 2017-10-16 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 跨编程语言接口转换的方法和装置 |
CN108255545A (zh) * | 2016-12-28 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 组件间的功能调用方法、装置及组件化架构系统 |
CN108459849A (zh) * | 2017-02-22 | 2018-08-28 | 本钢板材股份有限公司 | 低配置pc终端执行远程高性能服务器上程序的设计方法 |
CN109460222A (zh) * | 2018-11-07 | 2019-03-12 | 广州虎牙科技有限公司 | 应用程序的组件化方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570812A (zh) * | 2003-07-18 | 2005-01-26 | 北京航空航天大学 | 组件适配器的实现方法 |
CN1749957A (zh) * | 2005-10-20 | 2006-03-22 | 北京航空航天大学 | 一种面向图形绘制引擎的io中间件装置 |
US20060129560A1 (en) * | 2004-12-15 | 2006-06-15 | Adams Greg D | Architecture for enabling business components to access middleware application programming interfaces (APIs) in a runtime environment |
CN101335803A (zh) * | 2007-06-26 | 2008-12-31 | 三星电子株式会社 | 作业控制设备、多功能设备及其操作方法 |
CN105988797A (zh) * | 2015-02-12 | 2016-10-05 | 北京仿真中心 | 一种多学科设计与分析工具适配系统及方法 |
-
2012
- 2012-07-04 CN CN201210229760.0A patent/CN103530097B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570812A (zh) * | 2003-07-18 | 2005-01-26 | 北京航空航天大学 | 组件适配器的实现方法 |
US20060129560A1 (en) * | 2004-12-15 | 2006-06-15 | Adams Greg D | Architecture for enabling business components to access middleware application programming interfaces (APIs) in a runtime environment |
CN1749957A (zh) * | 2005-10-20 | 2006-03-22 | 北京航空航天大学 | 一种面向图形绘制引擎的io中间件装置 |
CN101335803A (zh) * | 2007-06-26 | 2008-12-31 | 三星电子株式会社 | 作业控制设备、多功能设备及其操作方法 |
CN105988797A (zh) * | 2015-02-12 | 2016-10-05 | 北京仿真中心 | 一种多学科设计与分析工具适配系统及方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572116A (zh) * | 2015-01-23 | 2015-04-29 | 广东能龙教育股份有限公司 | 一种基于订阅模式的中间件调用系统 |
CN105988797A (zh) * | 2015-02-12 | 2016-10-05 | 北京仿真中心 | 一种多学科设计与分析工具适配系统及方法 |
CN106569821A (zh) * | 2016-11-04 | 2017-04-19 | 青岛海信网络科技股份有限公司 | 一种生成Webservice类的方法及装置 |
CN108255545A (zh) * | 2016-12-28 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 组件间的功能调用方法、装置及组件化架构系统 |
CN106713478A (zh) * | 2017-01-05 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 通信处理方法及装置 |
CN106713478B (zh) * | 2017-01-05 | 2020-03-17 | 武汉斗鱼网络科技有限公司 | 通信处理方法及装置 |
CN108459849A (zh) * | 2017-02-22 | 2018-08-28 | 本钢板材股份有限公司 | 低配置pc终端执行远程高性能服务器上程序的设计方法 |
CN107832045A (zh) * | 2017-10-16 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 跨编程语言接口转换的方法和装置 |
CN107832045B (zh) * | 2017-10-16 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 跨编程语言接口转换的方法和装置 |
CN109460222A (zh) * | 2018-11-07 | 2019-03-12 | 广州虎牙科技有限公司 | 应用程序的组件化方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103530097B (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530097A (zh) | 一种跨中间件平台的组件的实现方法和装置 | |
CN103927163A (zh) | 插件框架处理装置及插件系统 | |
CN103645908A (zh) | 网构软件全生命周期开发实现系统 | |
CN107479867A (zh) | 应用软件插件化运行方法及装置 | |
CN102375743B (zh) | 一种基于模型和模板开发soa系统的方法 | |
CN103577165A (zh) | 一种表单生成方法和表单生成器 | |
CN109871241A (zh) | 一种跨环境应用服务器的配置方法 | |
US9836282B2 (en) | Separation of concerns between information technology services models | |
CN105549964A (zh) | 页面的显示方法和系统 | |
CN104123155A (zh) | 一种基于web的业务系统页面层开发平台及方法 | |
Sousa et al. | Model-driven development of DSML execution engines | |
CN102637130A (zh) | 一种web项目的建立方法及装置 | |
CN104063219A (zh) | 一种web系统的表格开发方法及系统 | |
Palviainen et al. | A semi-automatic end-user programming approach for smart space application development | |
CN101882066B (zh) | 创建具体类的实现方法 | |
Sefid‐Dashti et al. | A reference architecture for mobile SOA | |
CN104598226A (zh) | 一种基于Flex的图表交互的设计方法 | |
CN101963994B (zh) | 基于xml的自动生成设备属性调节界面的方法与装置 | |
CN107291455B (zh) | 一种基于工厂模式实现转账业务的方法及系统 | |
CN102236559A (zh) | 一种软件生成系统 | |
CN102253830B (zh) | 一种在Struts2下自动生成配置文件的方法 | |
CN101963963A (zh) | 用于数据库元模型的构建方法 | |
Yahya et al. | An aspect-oriented approach to enforce security properties in business processes | |
CN104899018A (zh) | 一种业务流程应用软件设计方法 | |
Beugnard et al. | Towards context-aware components |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180130 |