《一种开发J2EE应用的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种开发J2EE应用的方法及系统.pdf(8页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102929643 A (43)申请公布日 2013.02.13 CN 102929643 A *CN102929643A* (21)申请号 201210448376.X (22)申请日 2012.11.09 G06F 9/44(2006.01) (71)申请人 北京中电普华信息技术有限公司 地址 100192 北京市海淀区清河小营东路 15 号 (72)发明人 方国 罗华永 徐隆龙 刘丹 孙广超 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 王宝筠 (54) 发明名称 一种开发 J2EE 应用的方法及系统 (57) 摘要 本发明公开了一种。
2、开发 J2EE 应用的方法及 系统, 其中, 所述方法包括 : 在开发环境服务端, 基于开放服务网关协议 OSGi 将所述 J2EE 应用划 分为轻量级 J2EE 应用及多个物理上相互隔离的 功能模块, 保存功能模块之间的依赖关系 ; 在开 发环境客户端, 根据用户的部署信息确定待开发 的功能模块, 并将与所述待开发的功能模块具有 依赖关系的已开发功能模块从所述开发环境服务 端加载到所述开发环境客户端 ; 接收到提交请求 之后, 将本地开发完成的功能模块提交到所述开 发环境服务端。 采用本发明公开的方法或系统, 能 够对系统中各个功能不同的模块实现物理上的隔 离, 可以单独对每个模块进行调试,。
3、 无需手动下载 具有依赖关系的功能模块, 提高开发效率。 (51)Int.Cl. 权利要求书 1 页 说明书 5 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 5 页 附图 1 页 1/1 页 2 1. 一种开发 J2EE 应用的方法, 其特征在于, 包括 : 在开发环境服务端, 基于开放服务网关协议 OSGi 将所述 J2EE 应用划分为轻量级 J2EE 应用及多个物理上相互隔离的功能模块, 保存功能模块之间的依赖关系 ; 在开发环境客户端, 根据用户的部署信息确定待开发的功能模块, 并将与所述待开发 的功能模块具有依赖关系的已开发。
4、功能模块从所述开发环境服务端加载到所述开发环境 客户端 ; 接收到提交请求之后, 将本地开发完成的功能模块提交到所述开发环境服务端。 2. 根据权利要求 1 所述的方法, 其特征在于, 通过配置的方式, 将与所述待开发的功能 模块具有依赖关系的已开发功能模块从所述开发环境服务端加载到所述开发环境客户端。 3. 根据权利要求 1 所述的方法, 其特征在于, 还包括 : 根据配置信息确定所述开发环境服务端的地址, 以便所述开发环境客户端根据所述地 址与所述开发环境服务端进行交互。 4. 根据权利要求 1 所述的方法, 其特征在于, 所述待开发的功能模块为一个或多个。 5. 一种开发 J2EE 应用。
5、的系统, 其特征在于, 包括 : 服务端模块, 用于在开发环境服务端, 基于开放服务网关协议OSGi将所述J2EE应用划 分为轻量级 J2EE 应用及多个物理上相互隔离的功能模块, 保存功能模块之间的依赖关系 ; 客户端模块, 用于在开发环境客户端, 根据用户的部署信息确定待开发的功能模块, 并 将与所述待开发的功能模块具有依赖关系的已开发功能模块从所述开发环境服务端加载 到所述开发环境客户端 ; 接收到提交请求之后, 将本地开发完成的功能模块提交到所述开 发环境服务端。 6. 根据权利要求 5 所述的系统, 其特征在于, 所述客户端模块通过配置的方式, 将与所 述待开发的功能模块具有依赖关系。
6、的已开发功能模块从所述开发环境服务端加载到所述 开发环境客户端。 7. 根据权利要求 5 所述的系统, 其特征在于, 还包括 : 地址确定模块, 用于根据配置信息确定所述开发环境服务端的地址, 以便所述开发环 境客户端根据所述地址与所述开发环境服务端进行交互。 8. 根据权利要求 5 所述的系统, 其特征在于, 所述待开发的功能模块为一个或多个。 权 利 要 求 书 CN 102929643 A 2 1/5 页 3 一种开发 J2EE 应用的方法及系统 技术领域 0001 本发明涉及软件技术领域, 特别是涉及一种开发 J2EE 应用的方法及系统。 背景技术 0002 J2EE(Java 2 P。
7、latform Enterprise Edition, Java2 平台企业版 ) 应用的技术发 展日新月异, 但是 J2EE 应用的开发方式却没有发生变化。在传统 J2EE 应用的开发方式中, 一般是一个 J2EE 应用系统对应一个软件项目, 一个项目又有多个的开发人员。虽然在进行 系统设计时应用被划分成了一个个的模块, 但是由于传统的 J2EE 应用的结构导致系统中 的所有模块都混杂放在同一个软件项目中。每个开发人员可能会负责开发不同的模块, 因 为所有的模块都在同一个软件项目中, 所以通常是项目组的所有开发人员共同开发一个项 目。 开发人员在开发环境中进行开发, 把开发完成的代码提交到项。
8、目库中, 并从项目库中下 载最新的代码。项目库通常是一个版本控制器, 在维护项目文档、 源代码的同时, 还可以控 制文档、 源代码的历史版本。 0003 在传统的开发方式中, 开发人员除了要把自己开发完成的部分提交到项目库, 还 要手动把其他的开发人员提交的部分从项目库中下载到本地的项目中, 以确保整个项目的 内容都是最新的。如果当前开发人员开发的代码要依赖其他开发人员开发的代码, 但是开 发人员又没有下载更新其他部分代码, 在这种情况下, 如果其他部分代码的内容已经发生 了变化, 例如对外暴露的某个接口方法的参数类型发生了变化, 本地代码还是调用以前的 旧方法, 最后在集成整个项目时, 就会。
9、出现问题, 导致整个项目无法正确编译。结果通常是 开发人员在本地测试没有问题的代码, 一与其他程序集成就出现了问题, 导致开发人员往 往不愿意从项目库上下载最新的代码到本地, 开发人员的测试也不是基于最新的代码, 从 项目库上集成一个最新的项目, 往往是不能使用的。 此外, 每个开发人员都要把完整的项目 下载到本地, 也造成存储资源的浪费。 发明内容 0004 本发明的目的是提供一种开发 J2EE 应用的方法及系统, 能够对系统中各个功能 不同的模块实现物理上的隔离, 可以单独对每个模块进行调试, 从而提高程序开发的效率。 0005 为实现上述目的, 本发明提供了如下方案 : 0006 一种开。
10、发 J2EE 应用的方法, 包括 : 0007 在开发环境服务端, 基于开放服务网关协议 OSGi 将所述 J2EE 应用划分为轻量级 J2EE 应用及多个物理上相互隔离的功能模块, 保存功能模块之间的依赖关系 ; 0008 在开发环境客户端, 根据用户的部署信息确定待开发的功能模块, 并将与所述待 开发的功能模块具有依赖关系的已开发功能模块从所述开发环境服务端加载到所述开发 环境客户端 ; 接收到提交请求之后, 将本地开发完成的功能模块提交到所述开发环境服务 端。 0009 优选的, 通过配置的方式, 将与所述待开发的功能模块具有依赖关系的已开发功 说 明 书 CN 102929643 A 。
11、3 2/5 页 4 能模块从所述开发环境服务端加载到所述开发环境客户端。 0010 优选的, 还包括 : 0011 根据配置信息确定所述开发环境服务端的地址, 以便所述开发环境客户端根据所 述地址与所述开发环境服务端进行交互。 0012 其中, 所述待开发的功能模块为一个或多个。 0013 一种开发 J2EE 应用的系统, 包括 : 0014 服务端模块, 用于在开发环境服务端, 基于开放服务网关协议OSGi将所述J2EE应 用划分为轻量级 J2EE 应用及多个物理上相互隔离的功能模块, 保存功能模块之间的依赖 关系 ; 0015 客户端模块, 用于在开发环境客户端, 根据用户的部署信息确定待。
12、开发的功能模 块, 并将与所述待开发的功能模块具有依赖关系的已开发功能模块从所述开发环境服务端 加载到所述开发环境客户端 ; 接收到提交请求之后, 将本地开发完成的功能模块提交到所 述开发环境服务端。 0016 优选的, 所述客户端模块通过配置的方式, 将与所述待开发的功能模块具有依赖 关系的已开发功能模块从所述开发环境服务端加载到所述开发环境客户端。 0017 优选的, 还包括 : 0018 地址确定模块, 用于根据配置信息确定所述开发环境服务端的地址, 以便所述开 发环境客户端根据所述地址与所述开发环境服务端进行交互。 0019 其中, 所述待开发的功能模块为一个或多个。 0020 本发明。
13、通过基于开放服务网关协议 OSGi 将所述 J2EE 应用划分为轻量级 J2EE 应 用及多个物理上相互隔离的功能模块, 并保存功能模块之间的依赖关系, 这样能够将系统 中各个功能不同的模块实现物理上的隔离 ; 在开发环境客户端进行开发时, 如果当前开发 的模块与其他的功能模块具有依赖关系, 则可以直接将具有依赖关系的已被其他开发人员 开发的功能模块自动加载到客户端本地, 而不需要开发人员手动去下载, 这样, 保证在对功 能模块进行开发及调试的过程中, 充分考虑与其具有依赖关系的其他功能模块, 因此可以 避免造成开发出的项目不可使用的现象发生, 提高了开发的有效性, 进而从整体上提高了 J2E。
14、E 应用开发的效率。 附图说明 0021 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例中所 需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施 例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图 获得其他的附图。 0022 图 1 为本发明实施例提供的方法的流程图 ; 0023 图 2 为本发明实施例提供的系统的示意图。 具体实施方式 0024 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基。
15、于 说 明 书 CN 102929643 A 4 3/5 页 5 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0025 参见图 1, 本发明实施例提供的开发 J2EE 应用的方法包括以下步骤 : 0026 S101 : 在开发环境服务端, 基于开放服务网关协议OSGi将所述J2EE应用划分为轻 量级 J2EE 应用及多个物理上相互隔离的功能模块, 保存功能模块之间的依赖关系 ; 0027 在本发明实施例中, 首先需要将 J2EE 应用划分成轻量级 J2EE 应用及多个物理上 相互隔离的功能模块, 这种划分可以基于 OSG。
16、i(Open ServiceGateway Initiative, 开放服 务网关协议 ) 框架进行。OSGi 是一个开放并且提供统一接口标准的体系框架, 基于这个体 系框架, 服务提供者、 程序开发人员、 软件提供商、 服务网管运营商、 设备提供商能够协调地 联合起来开发、 部署并管理向用户提供的各种服务。 0028 具体的, 本发明实施例是基于OSGi技术把J2EE应用系统拆分成模块, 将系统分成 轻量级 J2EE 应用和多个功能模块。轻量级 J2EE 应用提供应用系统的基本配置和框架, 不 包括任何应用系统的功能实现, 系统中的功能实现都被划分成一个个的功能模块, 这样各 个功能模块之间。
17、物理上相互隔离, 但是又可以有依赖关系。 0029 也就是说, 在本发明实施例中, 首先需要实现一种分离式的 J2EE 应用结构, 基于 这种分离式的 J2EE 应用结构, 本发明实施例可以把开发环境分为服务端和客户端, 服务端 和客户端之间通过网络进行通讯。开发环境服务端提供项目库, 项目库中包括之前划分出 的一个轻量级的 J2EE 应用和应用的所有功能模块。轻量级的 J2EE 应用和所有的功能模块 构成一个完整的项目。 当然, 当功能模块之间存在依赖关系时, 还可以在该开发环境客户端 保存这种依赖关系, 也即, 保存与各个功能模块具有依赖关系的功能模块都有哪些。 0030 开发环境客户端就。
18、是每个开发人员本地的个人开发环境, 其中包括轻量级的 J2EE 应用和开发人员自己负责开发的功能模块。 0031 S102 : 在开发环境客户端, 根据用户的部署信息确定待开发的功能模块, 并将与所 述待开发的功能模块具有依赖关系的已开发功能模块从所述开发环境服务端加载到所述 开发环境客户端 ; 接收到提交请求之后, 将本地开发完成的功能模块提交到所述开发环境 服务端。 0032 开发人员具体在进行开发工作时, 需要在开发环境客户端进行。 首先, 开发人员可 以部署开发环境客户端, 根据部署信息, 就可以得知开发人员需要开发的功能模块是哪个 或哪几个。在得知了待开发的功能模块之后, 开发环境客。
19、户端就可以自动将与该待开发的 功能模块具有依赖关系的其他已开发的功能模块从开发环境服务端加载到该客户端本地。 这样, 开发人员就可以直接在客户端本地对待开发功能模块进行开发工作了, 具体包括代 码的编写、 调试等等。由于已经由客户端自动将与待开发功能模块具有依赖关系的已开发 功能模块加载到本地, 因此, 在进行当前待开发模型的开发工作时, 就可以直接利用已经加 载的信息, 而避免用户忘记下载带来的开发工作的实效, 并降低手动下载时带来的时间上 的消耗。 0033 总之, 在本发明实施例中, 每人开发人员可以负责开发一个或者几个模块。 在开发 进行之前首先要部署开发环境服务端, 接着每个开发人员。
20、在本地部署开发环境客户端, 如 果某个开发人员开发的模块要依赖其他开发人员开发的模块, 则开发人员不需要从项目库 中把要依赖的模块手动地下载到本地开发环境中, 而是可以通过配置的方式, 使开发环境 说 明 书 CN 102929643 A 5 4/5 页 6 客户端自动从项目库中把要依赖的模块加载到本地。开发人员开发完成待开发功能模块 后, 再通过客户端把该功能模块提交到服务端供其他开发人员加载。 随着开发过程的迭代, 这种加载、 提交的过程也是循环的。 0034 在开发环境服务端, 接收到开发环境客户端提交的已开发功能模块相关文件之 后, 就可以进行保存, 保存时, 同样实现各个功能模块之间。
21、物理上的相互隔离。 具体实现时, 在开发环境服务端, 为了实现将各个功能模块在物理上相互隔离, 可以首先将具有相同业 务功能的 J2EE 应用文件统一存放, 可以是程序开发人员在开发程序时将 J2EE 应用文件按 照功能分别存储于不同的位置 ( 例如不同的文件夹 ), 也可以为功能相同的 J2EE 应用文件 生成相同的标识, 功能不同的 J2EE 应用文件具有的不同标识, 由系统根据 Web 应用文件具 有的标识, 自动将具有相同业务功能的J2EE应用文件统一存放。 具有相同业务功能的J2EE 应用文件统一存放之后, 就作为一个功能模块存在。最后, 功能模块可以有多个。每个功能 模块对应一定的。
22、业务功能。每个业务模块中, 包括执行该业务功能所需要的所有 J2EE 应用 文件, 具体的包括代码文件、 脚本文件、 配置文件、 页面文件、 界面文件和 java 包等等。 0035 将各个所述功能模块整合到 OSGi 框架中, 具体可以是使各个功能模块与 OSGi 框 架之间的接口符合 OSGi 的技术标准。将各个所述功能模块整合到 OSGi 框架中以后, 在程 序运行时, 就可以通过 OSGi 框架单独调用具有对应功能的模块。 0036 在实际应用中, 开发环境服务端可以是由多个服务器集成的一个整体, 单对客户 端只需暴露一个统一的地址, 客户端不需要关心具体是那个服务器提供的功能模块。只。
23、要 对外暴露的统一的服务端地址保持不变, 可以对服务端后台的服务器进行扩展、 缩减或者 变更, 而不会对客户端产生影响。在这种情况下, 只要通过配置信息等方式, 使得开发环境 客户端得知开发环境服务端的统一的地址, 客户端就可以与服务端进行交互, 该交互包括 从服务端的项目库加载具有依赖关系的功能模块, 以及功能模块的提交等等。 0037 总之, 本发明实施例通过基于开放服务网关协议 OSGi 将所述 J2EE 应用划分为轻 量级 J2EE 应用及多个物理上相互隔离的功能模块, 并保存功能模块之间的依赖关系, 这样 能够将系统中各个功能不同的模块实现物理上的隔离 ; 在开发环境客户端进行开发时。
24、, 如 果当前开发的模块与其他的功能模块具有依赖关系, 则可以直接将具有依赖关系的已被其 他开发人员开发的功能模块自动加载到客户端本地, 而不需要开发人员手动去下载, 这样, 保证在对功能模块进行开发及调试的过程中, 充分考虑与其具有依赖关系的其他功能模 块, 因此可以避免造成开发出的项目不可使用的现象发生, 提高了开发的有效性, 进而从整 体上提高了 J2EE 应用开发的效率。 0038 与本发明实施例提供的开发 J2EE 应用的方法相对应, 本发明实施例还提供了一 种开发 J2EE 应用的系统。 0039 参见图 2, 为本发明实施例所述开发 J2EE 应用的系统结构示意图, 该系统包括 。
25、: 0040 服务端模块 201, 用于在开发环境服务端, 基于开放服务网关协议 OSGi 将所述 J2EE 应用划分为轻量级 J2EE 应用及多个物理上相互隔离的功能模块, 保存功能模块之间 的依赖关系 ; 0041 客户端模块 202, 用于在开发环境客户端, 根据用户的部署信息确定待开发的功能 模块, 并将与所述待开发的功能模块具有依赖关系的已开发功能模块从所述开发环境服务 端加载到所述开发环境客户端 ; 接收到提交请求之后, 将本地开发完成的功能模块提交到 说 明 书 CN 102929643 A 6 5/5 页 7 所述开发环境服务端。 0042 其中, 客户端模块 202 可以通过。
26、配置的方式, 将与所述待开发的功能模块具有依 赖关系的已开发功能模块从所述开发环境服务端加载到所述开发环境客户端。 0043 另外, 该系统还可以包括 : 0044 地址确定模块, 用于根据配置信息确定所述开发环境服务端的地址, 以便所述开 发环境客户端根据所述地址与所述开发环境服务端进行交互。 0045 在本发明实施例中, 一个客户端对应的待开发功能模块可以是一个或多个。当待 开发功能模块为多个时, 可以分别为各个待开发功能模块加载具有依赖关系的已开发功能 模块。 0046 总之, 本发明实施例通过基于开放服务网关协议 OSGi 将所述 J2EE 应用划分为轻 量级 J2EE 应用及多个物理。
27、上相互隔离的功能模块, 并保存功能模块之间的依赖关系, 这样 能够将系统中各个功能不同的模块实现物理上的隔离 ; 在开发环境客户端进行开发时, 如 果当前开发的模块与其他的功能模块具有依赖关系, 则可以直接将具有依赖关系的已被其 他开发人员开发的功能模块自动加载到客户端本地, 而不需要开发人员手动去下载, 这样, 保证在对功能模块进行开发及调试的过程中, 充分考虑与其具有依赖关系的其他功能模 块, 因此可以避免造成开发出的项目不可使用的现象发生, 提高了开发的有效性, 进而从整 体上提高了 J2EE 应用开发的效率。 0047 本说明书中各个实施例采用递进的方式描述, 每个实施例重点说明的都是。
28、与其他 实施例的不同之处, 各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统 而言, 由于其与实施例公开的方法相对应, 所以描述的比较简单, 相关之处参见方法部分说 明即可。 0048 本文中应用了具体个例对本发明的原理及实施方式进行了阐述, 以上实施例的说 明只是用于帮助理解本发明的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据 本发明的思想, 在具体实施方式及应用范围上均会有改变之处。 综上所述, 本说明书内容不 应理解为对本发明的限制。 说 明 书 CN 102929643 A 7 1/1 页 8 图 1 图 2 说 明 书 附 图 CN 102929643 A 8 。