[发明专利]一种通过插件扩展管理信息系统功能的方法有效
申请号: | 201310701632.6 | 申请日: | 2013-12-18 |
公开(公告)号: | CN103645919A | 公开(公告)日: | 2014-03-19 |
发明(设计)人: | 陈明 | 申请(专利权)人: | 用友软件股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京中恒高博知识产权代理有限公司 11249 | 代理人: | 刘洪京 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 插件 扩展 管理信息系统 功能 方法 | ||
1.一种通过插件扩展管理信息系统功能的装置,其特征在于,该装置包括:
主程序模块(1),包含主要的业务功能,并且提供与插件的接口,使满足接口的外部插件能够按一定的规则进行数据交换,从而具有功能扩展功能;
插件服务模块(2),该模块又包括插件注册模块(21)和接口定义模块(22),插件注册模块(21),用于注册和管理需要加入到系统运行逻辑中的插件,可以通过增减插件、改变插件注册顺序、调整插件参数等方式动态改变系统运行逻辑,所述的插件是独立的部分,可以独立进行开发、测试和增减,从而实现软件功能的扩展和不断改进,接口定义模块(22),用于对各插件接口进行定义的模块;
功能扩展模块(3),包含一个或多个实现部分功能的插件;
进行功能扩展时,在接口定义模块(22)中约定主程序模块(1)和功能扩展模块(3)之间的接口协议及接口方法;在主程序模块(1)中开放对已定义接口的调用支持;在功能扩展模块(3)中实现一个或多个满足接口定义的功能插件;将需要加入主程序运行逻辑的插件通过插件注册模块(21)进行注册和管理;则主程序运行时会自动加载已经注册的并且满足接口定义的插件,完成功能的扩展。
2.根据权利要求1所述的通过插件扩展管理信息系统功能的装置,其特征在于,在所述的主程序模块(1)中包括以下实现功能模块:
实现主要业务功能模块;
提供与插件的接口支持模块;
反射出插件实现类并完成调用,使满足接口的外部插件能够按一定的规则进行数据交换模块。
3.根据权利要求1所述的通过插件扩展管理信息系统功能的装置,其特征在于,在所述的插件服务模块(2)中包括以下提供服务模块:
定义插件接口模块;
提供插件注册管理机制模块。
4.根据权利要求1所述的通过插件扩展管理信息系统功能的装置,其特征在于,在所述的功能扩展模块(3)中包括以下实现功能模块:
实现插件接口模块;
实现业务功能模块。
5.根据权利要求1所述的通过插件扩展管理信息系统功能的装置,其特征在于,所述的功能扩展模块(3)是独立的部分,可以独立进行开发、测试和增减,从而实现软件功能的扩展和不断改进;对应到系统标准功能和客户个性化扩展功能的关系,在主程序模块(1)中预留插件接口,使主程序模块(1)变成插件的容器;在功能扩展模块(3)进行功能扩展时,实现插件功能并在插件服务模块(2)中完成注册,就能使扩展的功能松耦合地加入到系统的运行逻辑中去。
6.根据权利要求1所述的通过插件扩展管理信息系统功能的装置,其特征在于,在所述的插件注册模块(21)中主要分为以下功能模块:
注册/反注册插件模块:插件在使用前必须能在主程序中进行注册,只有插件注册成功后,主程序才能正确找到此插件路径,并根据配置参数对其初始化;另外主程序还要能对已注册但不需要的插件进行反注册,从而使其不再作为程序逻辑的一部分;
启用/禁用插件模块:主程序能够根据用户需求,对已注册但暂时不启用的插件进行禁用功能;
显示插件信息模块:插件一般来源于项目,插件中要能提供插件功能、插件所属项目、插件作者等信息,便于管理;
插件参数配置模块:为了保证插件的一定程度的灵活性,插件除了可以注册本身的路径信息外,还需要注册执行顺序、执行条件、外部参数等。
7.一种通过插件扩展管理信息系统功能的方法,其特征在于:所述的插件扩展管理信息系统具有松耦合的功能扩展机制,运行时根据插件注册地址直接在容器内存中反射调用,在进行功能扩展时,在接口定义模块(22)中约定主程序模块(1)和功能扩展模块(3)之间的接口协议及接口方法;在主程序模块(1)中开放对已定义接口的调用支持;在功能扩展模块(3)中实现一个或多个满足接口定义的功能插件;将需要加入主程序运行逻辑的插件通过插件注册模块(21)进行注册和管理;则主程序运行时会自动加载已经注册的并且满足接口定义的插件,完成功能的扩展。
8.根据权利要求7所述的通过插件扩展管理信息系统功能的方法,其特征在于:在插件注册维护阶段,通过插件注册模块(21)实现对插件的动态管理,可以对插件随时进行注册/反注册、启用/禁用、参数修改等操作,从而动态控制扩展功能加入、不加入、如何加入;同时通过接口定义模块(22)可以自定义新的接口,并且在新的接口下实现新的插件;主程序的运行对插件没有依赖,功能扩展和主逻辑是松耦合的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310701632.6/1.html,转载请声明来源钻瓜专利网。