CN109298851B - 一种OSGi异构软件框架的扩展机制适配方法 - Google Patents

一种OSGi异构软件框架的扩展机制适配方法 Download PDF

Info

Publication number
CN109298851B
CN109298851B CN201810823656.1A CN201810823656A CN109298851B CN 109298851 B CN109298851 B CN 109298851B CN 201810823656 A CN201810823656 A CN 201810823656A CN 109298851 B CN109298851 B CN 109298851B
Authority
CN
China
Prior art keywords
osgi
software framework
plug
target
adaptation
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.)
Active
Application number
CN201810823656.1A
Other languages
English (en)
Other versions
CN109298851A (zh
Inventor
张智
张旭昕
旷生玉
臧维明
江果
蒋鸣远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 29 Research Institute
Original Assignee
CETC 29 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 29 Research Institute filed Critical CETC 29 Research Institute
Priority to CN201810823656.1A priority Critical patent/CN109298851B/zh
Publication of CN109298851A publication Critical patent/CN109298851A/zh
Application granted granted Critical
Publication of CN109298851B publication Critical patent/CN109298851B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Abstract

本发明涉及软件适配技术领域,公开了一种OSGi异构软件框架的扩展机制适配方法。具体包括以下过程:选定目标OSGi软件框架以及目标OSGi软件框架的目标插件,选定被适配OSGi软件框架以及被适配OSGi软件的被适配插件;完成目标插件的开发,将目标插件加载到目标OSGi软件框架;定义目标OSGi软件框架的扩展点;在目标OSGi软件框架编写上层适配插件,实现适配扩展点;在上层适配插件中加载被适配OSGi软件框架;在被适配OSGi软件框架编写下层适配插件;建立适配扩展点映射关系;将在被适配OSGi软件框架中加载被适配插件;将适配扩展点映射至被适配插件。本发明解决了在大型的专业信息系统研制过程中模块可重用性低的问题。具有可重用性、稳定性、敏捷性。

Description

一种OSGi异构软件框架的扩展机制适配方法
技术领域
本发明涉及软件适配技术领域,特别是一种OSGi异构软件框架的扩展机制适配方法。
背景技术
OSGi(Open Service Gateway initiative)技术是一个开放的一般性架构,提供一个通用、安全并且可管理的框架为不同组件提供一致的协作环境,它作为动态模型系统被广泛应用到商用软件系统中。在专业信息系统领域,各应用软件厂商纷纷借鉴OSGi架构思想在商用OSGi软件框架基础上进行本地化定制实现,形成了多种不同OSGi软件框架分支版本并存的现状。随着时间的推移,不同OSGi软件框架分支版本之间的差异越来越大,而大型信息系统往往由多家软件厂商共同研制,厂商之间需要经过大量改造才能集成为统一的系统,软件可重用性较差。恰当的软件适配方案能够减少对现有成熟软件资产的更改,进而避免了代码改造引起的增量测试,在提高软件可重用性的同时缩短了软件研制周期。
在OSGi架构中,扩展机制不仅是实现插件动态扩展的关键手段,而且是体现OSGi自顶向下架构思想的重要途径。现有的软件适配技术能够良好地解决事件和服务的适配,但缺少对OSGi扩展机制进行的适配方法,涉及扩展机制的插件只能通过其他方式进行重新实现,难以达到尽量避免现有模块改造的初衷。
综上所述,在大型的专业信息系统研制过程中主要面临的问题是缺少在不同OSGi软件框架之间对扩展机制进行适配的方法。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,实现在不同OSGi软件框架之间对扩展机制进行适配,解决OSGi异构插件之间难以桥接扩展点定义和实现的问题,提供了一种OSGi异构软件框架的扩展机制适配方法。
本发明采用的技术方案如下:一种OSGi异构软件框架的扩展机制适配方法,具体包括以下过程:步骤1,选定目标OSGi软件框架以及目标OSGi软件框架的目标插件,选定被适配OSGi软件框架以及被适配OSGi软件的被适配插件;步骤2,完成目标插件的开发,将目标插件加载到目标OSGi软件框架;步骤3,定义目标OSGi软件框架的扩展点;步骤4,在目标OSGi软件框架编写上层适配插件,实现适配扩展点;步骤5,在上层适配插件中加载被适配OSGi软件框架;步骤,6,在被适配OSGi软件框架编写下层适配插件; 步骤7,建立适配扩展点映射关系;步骤8,将在被适配OSGi软件框架中加载被适配插件;步骤9,将适配扩展点映射至被适配插件。
进一步的,所述步骤3的具体过程为:步骤31,梳理所有目标插件中需要通过被适配插件实现的功能点;步骤32,按照目标OSGi软件框架指定的接口规范,将梳理的待扩展的功能点定义为扩展点。
进一步的,所述步骤4的具体过程为:步骤41,按照目标OSGi软件框架指定的接口规范,生成上层适配插件;步骤42,按照目标OSGi软件框架指定的接口规范,针对步骤32中定义的扩展点,实现适配扩展点。
进一步的,所述步骤6的具体过程为:步骤61,按照被适配OSGi软件框架指定的接口规范,生成下层适配插件;步骤62,按照被适配OSGi软件框架指定的接口规范,将步骤31中梳理的待扩展功能点定义为扩展点。
进一步的,所述步骤7的具体过程为:通过被适配OSGi软件框架服务调用机制,在步骤42的适配扩展点实现中调用步骤62对应的适配扩展点定义,建立适配扩展点的映射关系。
进一步的,所述步骤8中,按照被适配OSGi软件框架指定的接口规范,在被适配OSGi软件框架中,加载被适配插件。
进一步的, 所述步骤9映射过程中扩展点适配关系为:针对目标插件中扩展点定义1~扩展点定义N,其中N为大于1的整数,每一个扩展点定义k在上层适配插件适配扩展点实现k中被实现,其中k为大于等于1,小于等于N的整数,每一个适配扩展点实现k调用下层适配插件的适配扩展点定义k,每一个适配扩展点定义k在被适配插件扩展点实现k中被实现。
与现有技术相比,采用上述技术方案的有益效果为:本发明提出了OSGi异构软件框架的扩展机制适配方法,根据OSGi扩展机制内核实现原理,本发明结合现有适配技术设计了一种支持在不同OSGi软件框架之间定义、实现扩展点的适配方法,解决了在大型的专业信息系统研制过程中模块可重用性低的问题。
本发明技术方案使异构插件能够适配到任意目标OSGi软件框架,最大限度地提高了已有软件资产的可重用性。
本发明技术方案使现有的成熟插件在不做任何修改的情况下能够被适配到目标OSGi软件框架,减少因代码改造过程中带来的程序缺陷,从而增强软件稳定性。
本发明技术方案大大减少软件应用研制工作量、缩短研制周期,研发团队能够更快速地在已有基础上构建原型系统。
附图说明
图1是本发明OSGi异构软件框架的扩展机制适配方法的适配元素示意图。
图2是本发明OSGi异构软件框架的扩展机制适配方法的插件加载关系示意图。
图3是本发明OSGi异构软件框架的扩展机制适配方法的扩展点适配关系示意图。
具体实施方式
下面结合附图对本发明做进一步描述。
一种OSGi异构软件框架的扩展机制适配方法,具体包括以下过程:
步骤1,选定目标OSGi软件框架以及目标OSGi软件框架的目标插件,选定被适配OSGi软件框架以及被适配OSGi软件的被适配插件;
其中,步骤11:明确目标OSGi软件框架。软件需求中要求使用的OSGi软件框架,以图1为例,OSGi软件框架B的插件要通过OSGi软件框架A加载起来,目标OSGi软件框架为目标OSGi软件框架A;
步骤12:明确被适配OSGi软件框架。需要被适配的OSGi软件框架,以图1为例,OSGi软件框架B的插件要通过OSGi软件框架A加载起来,被适配OSGi软件框架为目标OSGi软件框架B;
步骤13:明确目标插件。符合目标OSGi软件框架接口规范的插件,目标插件通常为新研插件,以图1为例,OSGi软件框架B的插件要通过OSGi软件框架A加载起来,目标插件为A(1)至A(n);
步骤14:明确被适配插件。符合被适配OSGi软件框架接口规范且需要被目标OSGi软件框架加载运行的插件,被适配插件通常为可重用组件,以图1为例,OSGi软件框架B的插件要通过OSGi软件框架A加载起来,目标插件为B(1)至B(m)。
步骤2,完成目标插件的开发,将目标插件加载到目标OSGi软件框架;
其中,按照软件需求完成目标插件的开发;按照目标OSGi软件框架指定的接口规范,加载所有目标插件集合。
步骤3,定义目标OSGi软件框架的扩展点;
其中,步骤31,梳理所有目标插件中需要通过被适配插件实现的功能点;步骤32,按照目标OSGi软件框架指定的接口规范,将梳理的待扩展的功能点定义为扩展点。
步骤4,在目标OSGi软件框架编写上层适配插件,实现适配扩展点;
其中,步骤41,按照目标OSGi软件框架指定的接口规范,生成上层适配插件;步骤42,按照目标OSGi软件框架指定的接口规范,针对步骤32中定义的扩展点,实现适配扩展点,适配扩展点实现具体逻辑预留至步骤7完成。
步骤5,在上层适配插件中加载、启动被适配OSGi软件框架。
步骤6,在被适配OSGi软件框架编写下层适配插件;
步骤61,按照被适配OSGi软件框架指定的接口规范,生成下层适配插件;步骤62,按照被适配OSGi软件框架指定的接口规范,将步骤31中梳理的待扩展功能点定义为扩展点。
步骤7,建立适配扩展点映射关系;
其中,通过被适配OSGi软件框架服务调用机制,在步骤42的适配扩展点实现中调用步骤62对应的适配扩展点定义,建立适配扩展点的映射关系。
步骤8,将在被适配OSGi软件框架中加载被适配插件;
按照被适配OSGi软件框架指定的接口规范,在被适配OSGi软件框架中,加载被适配插件。
步骤9,将适配扩展点映射至被适配插件。
如图3所示,所述步骤9映射过程中扩展点适配关系为:针对目标插件中扩展点定义1~扩展点定义N,其中N为大于1的整数,每一个扩展点定义k在上层适配插件适配扩展点实现k中被实现,其中k为大于等于1,小于等于N的整数,每一个适配扩展点实现k调用下层适配插件的适配扩展点定义k,每一个适配扩展点定义k在被适配插件扩展点实现k中被实现。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。

Claims (4)

1.一种OSGi异构软件框架的扩展机制适配方法,其特征在于,具体包括以下过程:步骤1,选定目标OSGi软件框架以及目标OSGi软件框架的目标插件,选定被适配OSGi软件框架以及被适配OSGi软件的被适配插件;步骤2,完成目标插件的开发,将目标插件加载到目标OSGi软件框架;步骤3,定义目标OSGi软件框架的扩展点;述步骤3的具体过程为:步骤31,梳理所有目标插件中需要通过被适配插件实现的功能点;步骤32,按照目标OSGi软件框架指定的接口规范,将梳理的待扩展的功能点定义为扩展点;步骤4,在目标OSGi软件框架编写上层适配插件,实现适配扩展点;步骤4的具体过程为:步骤41,按照目标OSGi软件框架指定的接口规范,生成上层适配插件;步骤42,按照目标OSGi软件框架指定的接口规范,针对步骤32中定义的扩展点,实现适配扩展点;步骤5,在上层适配插件中加载被适配OSGi软件框架;步骤6,在被适配OSGi软件框架编写下层适配插件;步骤61,按照被适配OSGi软件框架指定的接口规范,生成下层适配插件;步骤62,按照被适配OSGi软件框架指定的接口规范,将步骤31中梳理的待扩展功能点定义为扩展点;步骤7,建立适配扩展点映射关系;步骤8,将在被适配OSGi软件框架中加载被适配插件;步骤9,将适配扩展点映射至被适配插件。
2.如权利要求1所述的OSGi异构软件框架的扩展机制适配方法,其特征在于,所述步骤7的具体过程为:通过被适配OSGi软件框架服务调用机制,在步骤42的适配扩展点实现中调用步骤62对应的适配扩展点定义,建立适配扩展点的映射关系。
3.如权利要求2所述的OSGi异构软件框架的扩展机制适配方法,其特征在于,所述步骤8中,按照被适配OSGi软件框架指定的接口规范,在被适配OSGi软件框架中,将加载被适配插件。
4.如权利要求3所述的OSGi异构软件框架的扩展机制适配方法,其特征在于,所述步骤9映射过程中扩展点适配关系为:针对目标插件中扩展点定义1~扩展点定义N,其中N为大于1的整数,每一个扩展点定义k在上层适配插件适配扩展点实现k中被实现,其中k为大于等于1,小于等于N的整数,每一个适配扩展点实现k调用下层适配插件的适配扩展点定义k,每一个适配扩展点定义k在被适配插件扩展点实现k中被实现。
CN201810823656.1A 2018-07-25 2018-07-25 一种OSGi异构软件框架的扩展机制适配方法 Active CN109298851B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810823656.1A CN109298851B (zh) 2018-07-25 2018-07-25 一种OSGi异构软件框架的扩展机制适配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810823656.1A CN109298851B (zh) 2018-07-25 2018-07-25 一种OSGi异构软件框架的扩展机制适配方法

Publications (2)

Publication Number Publication Date
CN109298851A CN109298851A (zh) 2019-02-01
CN109298851B true CN109298851B (zh) 2021-10-22

Family

ID=65168011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810823656.1A Active CN109298851B (zh) 2018-07-25 2018-07-25 一种OSGi异构软件框架的扩展机制适配方法

Country Status (1)

Country Link
CN (1) CN109298851B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114546538B (zh) * 2022-04-27 2022-08-02 季华实验室 一种基于osgi的虚拟仿真平台构建方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075190A (zh) * 2007-06-14 2007-11-21 上海众恒信息产业有限公司 资源管理平台中的数据引擎
CN101277212A (zh) * 2007-03-30 2008-10-01 上海众恒信息产业有限公司 资源管理平台及资源管理方法
CN103019763A (zh) * 2012-11-06 2013-04-03 深圳中兴网信科技有限公司 插件扩展装置和插件扩展方法
CN103699386A (zh) * 2013-12-27 2014-04-02 云南电网公司玉溪供电局 一种基于osgi的通用数据转换引擎系统
CN104298512A (zh) * 2014-10-10 2015-01-21 南京莱斯信息技术股份有限公司 一种基于OSGi标准的功能组件式集成开发系统
CN106933712A (zh) * 2017-03-31 2017-07-07 中国电子科技集团公司第二十九研究所 基于b/s架构的网络化远程测试系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793584B2 (en) * 2006-05-24 2014-07-29 International Business Machines Corporation Customizable user interface wrappers for web applications
US8131838B2 (en) * 2006-05-31 2012-03-06 Sap Ag Modular monitor service for smart item monitoring
CN101710284A (zh) * 2009-12-24 2010-05-19 北京星网锐捷网络技术有限公司 组件的集成方法及装置
US8863074B2 (en) * 2010-01-27 2014-10-14 Oracle International Corporation Software modeling framework
CN102682014A (zh) * 2011-03-14 2012-09-19 腾讯科技(深圳)有限公司 在浏览器上实现的开放式插件管理平台及插件管理方法
CN106980672A (zh) * 2017-03-28 2017-07-25 中国电子科技集团公司第二十九研究所 一种异构环境下面向对象的数据存储系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277212A (zh) * 2007-03-30 2008-10-01 上海众恒信息产业有限公司 资源管理平台及资源管理方法
CN101075190A (zh) * 2007-06-14 2007-11-21 上海众恒信息产业有限公司 资源管理平台中的数据引擎
CN103019763A (zh) * 2012-11-06 2013-04-03 深圳中兴网信科技有限公司 插件扩展装置和插件扩展方法
CN103699386A (zh) * 2013-12-27 2014-04-02 云南电网公司玉溪供电局 一种基于osgi的通用数据转换引擎系统
CN104298512A (zh) * 2014-10-10 2015-01-21 南京莱斯信息技术股份有限公司 一种基于OSGi标准的功能组件式集成开发系统
CN106933712A (zh) * 2017-03-31 2017-07-07 中国电子科技集团公司第二十九研究所 基于b/s架构的网络化远程测试系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
插件式三维地下管网信息系统设计与实现;苏楠 等;《河南科学》;20170704;第35卷(第6期);第959-965页 *

Also Published As

Publication number Publication date
CN109298851A (zh) 2019-02-01

Similar Documents

Publication Publication Date Title
AU2017409830B2 (en) Multi-task scheduling method and system, application server and computer-readable storage medium
CN107147704B (zh) 一种面向区块链的通用服务中间件系统
Baresi et al. Service-oriented dynamic software product lines
CN113268319A (zh) 基于微服务架构的业务流程定制与分布式流程调度方法
US20100131076A1 (en) Control system, and method for configuring a control system
CN111861482B (zh) 一种区块链对账方法和系统
CN110413304A (zh) 基于区块链网络的智能合约热升级方法及装置
CN111897541B (zh) 一种云环境下自动化部署资源的软件交互平台及方法
CN109710235B (zh) 一种基于Java智能合约业务逻辑的事务实现系统及方法
CN111208992A (zh) 系统调度工作流生成方法和系统
CN104090810A (zh) 一种基于软件通信体系架构的核心框架集成方法
CN109656528A (zh) 基于标准的组件化软件开发方法
CN111857801B (zh) 一种移动应用的构建方法
CN104915193A (zh) 一种流程引擎的处理方法和装置
CN109298851B (zh) 一种OSGi异构软件框架的扩展机制适配方法
CN112114896A (zh) 一种插件框架及业务功能扩展的方法
CN109683990B (zh) 基于混合模式移动应用的h5多端接入方法
CN102750177B (zh) 一种使用编译器的脚本实现方法
CN107329809A (zh) 一种面向多数据源的分布式事务处理方法及系统
CN103455337A (zh) 在安卓开发环境下使用动态库的方法
CN113448650A (zh) 直播功能插件加载方法、装置、设备及存储介质
CN103971225A (zh) 一种工作流动态扩展方法及系统
CN112418796B (zh) 子流程任务节点激活方法、装置、电子设备及存储介质
CN105630513A (zh) 框架的搭建方法及装置
CN110457013A (zh) 程序组件配置装置及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant