一种软件平台开发方法及装置的制造方法_3

文档序号:9432280阅读:来源:国知局

[0094]B、把功能I吴块实现为消息接听者:将消息接听者的功能加入功能I吴块中,由此功能模块便可以接听来自系统的消息或者其它功能模块的消息。
[0095]C、通过1C实现热插拔的功能模块:“热插拔”讲究的是即插即用、用完注销。每个功能模块都是消息接听者,因此将这些具有消息接听的功能模块通过集中放置或者通过配置指定的方式,放在1C能够识别的地方(比如某一文件夹、XML配置文件等),通过1C的主动发现机制便可以自动把功能模块加载到系统内存中,结合功能模块的生命周期,由系统控制中心统一调度。
[0096]二、功能模块发布为插件进入功能模块产品插件库
[0097]每个功能模块在开发完成并达到发布要求后,都做插件化处理。如图7所示,插件化处理即:使功能模块实现能被系统平台识别的插件接口,插件接口中定义了功能模块显示到系统平台的用户界面(UI)的位置、大小、标题等信息;其中,插件接口便是系统平台能够加载功能模块的重要依据。进一步,经过插件化处理后的功能模块即可发布为插件。
[0098]具体的,经过插件化处理后的功能模块发布为插件进入功能模块产品插件库,一般需要通过以下几个步骤:
[0099](I)将功能模块编译为动态链接库(DLL,Dynamic Link Library),其中,一个功能模块可以有一个或多个DLL ;
[0100](2)将功能模块的DLL和该功能模块所需要的资源(如配置文件、图片等)打包,以获得功能模块包;
[0101](3)将功能模块包放置在系统平台可以访问到的位置(如WEB服务器或者FTP服务器)上,同时使用一个功能模块配置文件管理标注每个功能模块的信息,如功能名称、功能描述、版本号、上线时间、开发人员、功能模块包的位置等信息;
[0102](4)系统平台内部的插件库通过访问WEB服务器或者FTP服务器上的功能模块配置文件,把所有的功能模块的信息列出来以供使用者下载。
[0103]在具体实施过程中,为了使插件能够在系统平台上显示,需要进行系统平台UI接口定义,即指定插件在系统平台上的主要工作区域(如命名为“功能显示区域”),该区域可采用停靠式的布局或者选项卡式的布局来动态容纳功能模块,以实现软件平台热插拔和插件化。当然,根据具体显示需要,还可在系统平台UI上定义用于显示功能模块状态的显示区域和用于功能模块导航的导航区域等,这里不做具体限定。由于功能模块和系统平台本身的相对独立性,平台UI本身和功能模块只定义了显示的位置接口,在功能模块的激活阶段由系统控制中心统一调度安排各功能模块的显示位置。
[0104]在具体实施过程中,系统平台的系统控制中心是本发明的核心,上述步骤S3具体为:通过所述系统平台基于用户业务需求与所述功能模块产品插件库中的插件建立联系,通过所述系统平台的系统控制中心调度管理所述功能模块,以在所述系统平台安装集成满足用户业务需求的插件,并向所述系统平台加载满足用户业务需求的功能模块,进而完成所述软件平台开发;其中,所述系统平台还用于基于用户业务需求卸载已安装集成的插件。并且在执行上述步骤S3的过程中,所述软件平台开发方法还包括:通过所述系统平台的系统控制中心管理所述功能模块的生命周期、管理所述功能模块之间的联系、管理所述系统平台的用户界面(UI)、以及管理所述系统平台安装集成所述插件后形成的平台插件库,以管理所述软件平台开发。
[0105](I)系统控制中心管理功能模块的生命周期
[0106]在所述系统平台与所述插件基于插件接口建立联系之后,系统控制中心根据功能模块的存放位置或者XML配置的位置,动态加载功能模块到系统内存中,并根据平台的生命周期来调用功能模块的生命周期的对应的阶段。具体的,如图8所示,系统平台的生命周期包括初始化、加载、显示、关闭和注销五个阶段;使用一个平台的全过程包括初始化平台(初始化资源、内存等)、加载平台、显示给用户、关闭和注销平台;在这个过程中,系统控制中心在初始化平台时通过功能模块的注册完成后扩展接口调用功能模块的注册,在加载平台时通过功能模块的加载完成后扩展接口调用功能模块的加载,在显示平台时通过功能模块的激活完成后扩展接口调用功能模块的激活,在平台关闭后且平台注销前,分别调用功能模块的反激活完成后扩展接口、卸载完成后扩展接口、注销完成后扩展接口,进行功能模块的反激活、卸载和注销。
[0107](II)系统控制中心管理功能模块的联系
[0108]功能模块之间的联系是通过消息通知机制实现的,每一个功能模块既是消息接听者也是消息广播者,系统控制中心包含着消息控制中心,系统控制中心管理功能模块的联系是通过消息控制中心进行的。
[0109](III)系统控制中心对UI的统一管理
[0110]由于功能模块与系统平台的相对独立性,功能模块本身无法主动显示到平台UI中,功能模块中只是定义了显示到UI的接口,需要系统控制中心统一调度各个功能模块在UI的功能显示区域中的位置,从而实现功能模块在UI上的显示。
[0111](IV)系统控制中心对安装集成插件后形成的平台插件库的管理
[0112]系统中心通过访问WEB服务器或者FTP服务器上的功能模块配置文件把所有的功能模块信息列出来,显示到平台插件库中。根据功能模块信息即可反映出相应的插件信息,平台插件库中的每个插件都进行如下分类:(I)平台未使用的插件,标记为未使用状态,提供安装操作链接;(2)平台已经使用的插件,且是最新的,标记为已使用状态,提供卸载操作链接;(3)平台已经使用的插件,但服务器上有最新版本,标记为可更新状态,提供卸载操作链接和更新操作链接。
[0113]总之,系统控制中心用来统一管理插件和系统平台的联系、功能模块的加载和释放以及功能模块和功能模块之间的联系。另外,系统控制中心还承担着平台UI部分的协调以及基础公共资源的分配。
[0114]接着,请参考图9,为本发明方案系统平台1、系统控制中心11、消息控制中心111、平台插件库12、功能模块产品插件库2以及功能模块3的关系一览图,功能模块3在开发完成后发布为插件21,插件21统一放置在功能模块产品插件库2中,由功能模块产品插件库2统一提供使用说明、详细描述和下载地址等插件信息,系统平台I从功能模块产品插件库2中选择并安装集成插件21,以形成平台内部的插件库12,通过系统控制中心11来调度平台插件库12中各插件之间的交互以及插件和平台之间的交互。其中,系统平台集成插件是建立在1C机制上的;系统控制中心调度功能模块是建立在消息机制上的。
[0115]再请参考图10,为通过本方案开发的软件平台的核心类图结构,消息广播者使用消息控制中心进行消息的广播,属于依赖关系;消息控制中心里面包含了多个消息接听者,属于聚合关系;系统控制中心使用消息控制中心进行消息通讯,属于依赖关系;平台使用系统控制中心来控制调度功能模块,属于依赖关系;平台是由多个功能模块组成,属于组合关系;功能模块既是消息接听者又是消息广播者,这两者是继承关系;功能模块实现了插件化接口,属于接口实现关系。
[0116]进一步,本发明方案的开发流程如图11所示,结合图2方法流程图的描述,一个软件平台的开发包括系统平台开发和功能模块开发两大部分,系统平台开发和功能模块开发可并行进行,彼此间不再依赖;功能模块开发完后可直接发布为可定制化的插件;系统平台集成插件,并加载功能模块的方式由现有的固定紧耦合方式转变为热插拔松散耦合方式。
[0117]综上所述,通过采取本申请的软件平台开发方案,至少具备以下技术效果:
[0118]I)最大限度解除功能模块和功能模块的开发依赖,以及平台和功能模块的集成依赖。通过系统开发阶段的并行任务以及功能模块的独立开发来应对需求的复杂和变化;
[0119]2)通过功能模块的插件化机制来封装功能,使各功能模块在保持可用的基础上既不影响其它功能模块,也不影响系统平台,并最大化的满足平台定制化的需求;
[0120]3)允许平台运行过程中进行部分功能的升级和替换,降低因平台和功能模块的更新而带来的业务中断和浪费。
[0121]4)通过热插拔和插件化的开发方式提高开发的效率和进度,提高开发质量。
[0122]实施例二
[0123]基于同一发明构思,请参考图12,本申请实施例还提供了一种软件平台开发装置,包括:
[0124]系统平台开发单元121,用于制定并基于所述软件平台的系统平台框架,开发并发布所述系统平台;
[0125]插件发布单元122,用于根据所述软件平台的功能需求,划分并开发功能模块,在所述功能模块开发完成后,将所述功能模块发布为插件,进入功能模块产品插件库;
[0126]软件平台开发单元123,用于通过所述系统平台基于用户业务需求从所述功能模块产品插件库中选取插件进行安装集成,以向所述系统平台加载满足用户业务需求的功能模块,进而完成所述软件平台开发;其中,所述系统平台还用于基于用户业务需求卸载已安装集成的插件。
[0127]具体的,所述插件发布单元122包括:
[0128]功能模块划分子单元,用于根据所述软件平台的功能需求,划分功能模块;
[0129]功能模块开发子单元,用于通过面向接口的编程方式开发所述功能模块;其中,在开发所述功能模块的过程中定义所述功能模块的生命周期;
[0130]插件化处理子单元,用于在所述功能模块开发完成后,对所述功能模块进行插件化处理,以使所述功能模块实现能被所述系统平台识别的插件接口 ;其中,所述
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1