一种应用程序模块化开发方法以及装置的制造方法

文档序号:9910669阅读:403来源:国知局
一种应用程序模块化开发方法以及装置的制造方法
【技术领域】
[0001]本申请涉及应用开发技术领域,具体涉及一种应用程序模块化开发方法。本申请同时涉及一种应用程序模块化开发装置。
【背景技术】
[0002]在应用开发技术领域,模块化是一个常见的概念,所谓模块化,就是将一个大型系统分解为多个较小的互相协作的逻辑单元,将每一个逻辑单元作为系统的一个模块,通过模块之间的逻辑关系改善系统的维护性和封装性。
[0003]目前,在应用的模块化开发技术领域,OSGi技术显得不可或缺;0SGi(OpenService Gateway Initiative,开放服务网关协议),现在被定义为一种技术,在OSGi技术体系中,每个模块被认为是由一个或多个Bundle (组件)组成,Bundle类共享以及Bundle类加载是模块化的重点。Bundle的目录结构如附图1所示,其中,com目录为该Bundle的包结构;META-1NF目录下的文件用于描述Bundle的基本信息;0SGi_INF目录中包含有配置文件,用于执行Bundle对外开放的服务的发布和调用;此外,每个Bundle都定义了一个独立的类加载器,Bundle 之间的类通过 Export-Package、Import-Package> Require-Bundle和DynamicImport-Package的方式进彳丁共享。
[0004]上述现有技术提供的应用程序模块化开发方法存在明显的缺陷。
[0005]现有技术提供的应用程序模块化开发方法中,通过OSGi技术实现应用程序的模块化开发,在实际开发中的实用性较低,开发人员对于OSGi技术的动态化特性没有强烈的需求;此外,学习OSGi技术的成本较高,并且通过OSGi技术实现动态化相当复杂,增加了额外的开发和运维成本。

【发明内容】

[0006]本申请提供一种应用程序模块化开发方法,以解决现有的应用程序模块化开发方法存在的实用性较低和成本较高的问题。本申请同时涉及一种应用程序模块化开发装置。
[0007]本申请提供一种应用程序模块化开发方法,包括:
[0008]将待开发的第三方应用程序按照设定的切分基准切分为特定格式的应用模块;
[0009]获取所述应用模块的存储路径信息;
[0010]根据所述存储路径信息对所述应用模块进行解析,获得所述应用模块的基本配置信息;
[0011]结合所述基本配置信息对所述应用模块的接口进行注册与发布,生成应用接口 ;
[0012]调用所述应用接口对所述应用模块进行开发,生成所述第三方应用程序。
[0013]可选的,所述将待开发的第三方应用程序按照设定的切分基准切分为特定格式的应用模块,包括:
[0014]建立所述第三方应用程序的开发项目;
[0015]将所述开发项目以功能分类为切分基准切分为与所述功能分类一一对应的至少一个子工程;
[0016]将所述子工程进行打包,生成具有统一格式文件目录的应用模块;
[0017]其中,所述应用模块的文件目录下存储有该应用模块的配置文件。
[0018]可选的,所述将所述子工程进行打包,生成具有统一格式文件目录的应用模块步骤,通过隔离容器提供的Maven工具实现。
[0019]可选的,所述获取所述应用模块的存储路径信息之后,包括:
[0020]将至少一个应用模块的存储路径信息发送至应用模块管理器。
[0021]可选的,所述根据所述存储路径信息对所述应用模块进行解析,获得所述应用模块的基本配置信息,包括:
[0022]获取所述应用模块的基本信息;
[0023]根据所述应用模块的存储路径信息,对所述应用模块的配置文件进行解析,获得所述应用模块的基本配置信息;
[0024]所述基本信息包括名称、目录以及版本信息。
[0025]可选的,所述基本配置信息包括:所述应用模块的优先级顺序;
[0026]所述优先级顺序用于控制所述应用模块安装时的先后顺序。
[0027]可选的,所述根据所述存储路径信息对所述应用模块进行解析,获得所述应用模块的基本配置信息之后,包括:
[0028]注册应用模块管理器,并生成所述应用模块的生命周期事件;
[0029]基于隔离容器的类加载机制加载并导出所述应用模块的类;
[0030]其中,所述生命周期事件包括安装、运行管理以及卸载。
[0031]可选的,所述应用接口包括:所述应用模块向其他应用模块提供访问的应用程序编程接口(API)集合。
[0032]本申请另外提供一种应用程序模块化开发装置,包括:
[0033]应用程序切分单元,用于将待开发的第三方应用程序按照设定的切分基准切分为特定格式的应用模块;
[0034]应用模块信息获取单元,用于获取所述应用模块的存储路径信息;
[0035]应用模块解析单元,用于根据所述存储路径信息对所述应用模块进行解析,获得所述应用模块的基本配置信息;
[0036]应用模块接口注册单元,用于结合所述基本配置信息对所述应用模块的接口进行注册与发布,生成应用接口 ;
[0037]应用程序生成单元,用于调用所述应用接口对所述应用模块进行开发,生成所述第三方应用程序。
[0038]可选的,所述应用程序切分单元,包括:
[0039]项目建立子单元,用于建立所述第三方应用程序的开发项目;
[0040]子工程切分子单元,用于将所述开发项目以功能分类为切分基准切分为与所述功能分类一一对应的至少一个子工程;
[0041]应用模块生成子单元,用于将所述子工程进行打包,生成具有统一格式文件目录的应用模块;
[0042]其中,所述应用模块的文件目录下存储有该应用模块的配置文件。
[0043]可选的,所述应用程序模块化开发装置,包括:
[0044]应用模块信息发送单元,用于将至少一个应用模块的存储路径信息发送至应用模块管理器。
[0045]可选的,所述应用模块解析单元,包括:
[0046]基本信息获取子单元,用于获取所述应用模块的基本信息;
[0047]解析子单元,用于根据所述应用模块的存储路径信息,对所述应用模块的配置文件进行解析,获得所述应用模块的基本配置信息;
[0048]所述基本信息包括名称、目录以及版本信息。
[0049]可选的,所述应用程序模块化开发装置,包括:
[0050]生命周期事件生成单元,用于注册应用模块管理器,并生成所述应用模块的生命周期事件;
[0051]类加载导出单元,用于基于隔离容器的类加载机制加载并导出所述应用模块的类;
[0052]其中,所述生命周期事件包括安装、运行管理以及卸载。
[0053]与现有技术相比,本申请具有以下优点:
[0054]本申请提供的一种应用程序模块化开发方法,包括:将待开发的第三方应用程序按照设定的切分基准切分为特定格式的应用模块;获取所述应用模块的存储路径信息;根据所述存储路径信息对所述应用模块进行解析,获得所述应用模块的基本配置信息;结合所述基本配置信息对所述应用模块的接口进行注册与发布,生成应用接口 ;调用所述应用接口对所述应用模块进行开发,生成所述第三方应用程序。
[0055]本申请提供的所述应用程序模块化开发方法中,将应用程序进行底层的模块化划分,划分为独立的应用模块,并且将应用模块中的应用功能以应用接口的形式对外开放,开发人员在进行大型应用程序的开发时调用所述应用接口,避免了重复编写大量相同的代码,使软件开发工作更加方便快捷,具有很高的实用性;此外,在达到上述效果的同时,本申请提供的所述应用程序模块化开发方法实现简单,开发成本较低。
【附图说明】
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1