首页> 中国专利> 基于OSGI的代码正向工程的实现方法和实现装置

基于OSGI的代码正向工程的实现方法和实现装置

摘要

本发明提供了一种基于OSGI的代码正向工程的实现方法,包括:导入设计完成的业务UI数据,并进行解析;根据所述业务UI数据建立数据源,并绑定所述业务UI数据与所述数据源;根据解析结果建立所述业务UI数据与数据源数据之间、各数据源数据之间的关联关系;根据所述关联关系生成对应于所述业务UI数据的后台逻辑代码。本发明还提出了一种基于OSGI的代码正向工程的实现装置。通过本发明的技术方案,可以依据已经设计好的业务html页面,通过正向代码工程自动生成代码,使得需求人员设计的html页面被开发人员完全复用。

著录项

  • 公开/公告号CN103677819A

    专利类型发明专利

  • 公开/公告日2014-03-26

    原文格式PDF

  • 申请/专利权人 深圳中兴网信科技有限公司;

    申请/专利号CN201310652672.6

  • 申请日2013-12-05

  • 分类号G06F9/44(20060101);

  • 代理机构北京友联知识产权代理事务所(普通合伙);

  • 代理人尚志峰;汪海屏

  • 地址 518057 广东省深圳市南山区高新技术产业园高新南6道万德莱南座5楼

  • 入库时间 2023-12-17 00:50:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-05

    授权

    授权

  • 2014-04-23

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20131205

    实质审查的生效

  • 2014-03-26

    公开

    公开

说明书

技术领域

本发明涉及大数据业务技术领域,具体而言,涉及一种基于OSGI的 代码正向工程的实现方法和一种基于OSGI(Open Service Gateway  Initiative)的代码正向工程的实现装置。

背景技术

传统的正向工程工具,包括Rational Rose、Together CC、JBOO、 ArgoUML等,只能根据设计好的UML生成代码,不仅需求分析人员设计 的html页面不能复用,而且无法按照实际需求自定义数据源、交叉关 联,更无法使生成的代码符合架构设计。

发明内容

本发明正是基于上述问题中至少之一,提出了一种新的技术方案,可 以依据已经设计好的业务html页面,通过正向代码工程自动生成代码,使得 需求人员设计的html页面被开发人员完全复用。

有鉴于此,本发明提出了一种基于OSGI的代码正向工程的实现方 法,包括:导入设计完成的业务UI数据,并进行解析;根据所述业务UI 数据建立数据源,并绑定所述业务UI数据与所述数据源;根据解析结果 建立所述业务UI数据与数据源数据之间、各数据源数据之间的关联关 系;根据所述关联关系生成对应于所述业务UI数据的后台逻辑代码。

在该技术方案中,先由需求人员根据业务需求设计业务html页面, 然后通过对该html页面相关的业务UI数据进行解析,从而绑定后台的数 据源以及具体的数据源数据,建立前台的UI需求与后台数据之间的关联 关系,从而实现基于OSGI的代码正向工程,即根据UI需求来自动生成 后台以及全局(前台与后台)的逻辑代码。

在上述技术方案中,优选地,解析所述业务UI数据的过程包括:解 析所述业务UI数据中的页面业务数据的结构关系。

在该技术方案中,对于业务UI数据的解析,主要涉及到对其中包含 的页面业务数据进行结构关系的解析过程;通过对页面业务数据的结构关 系解析,从而一方面能够清楚地了解到如何在前台的页面业务数据与后台 的数据源数据之间建立关联,另一方面则能够据此了解到后台的实际数据 之间的关联关系,确保通过正向工程正确生成对应于业务UI数据的逻辑 代码。

在上述任一技术方案中,优选地,在导入所述业务UI数据之前,还 包括:在线设计并发布所述业务UI数据,发布内容包括:页面html、js 脚本和所述页面业务数据。

在该技术方案中,需求人员可以基于如OSGI平台实现对前台的业务 UI页面的在线设计,从而有助于提高与后续的基于OSGI平台的代码正向 工程的兼容性。当然,此处并不限定其具体的生成方式,实际上,本领域 技术人员应该理解的是,显然也可以通过其他方式独立生成业务UI数 据。

在上述任一技术方案中,优选地,还包括:建立对应于所述结构关系 的正向数据模型;以及根据所述正向数据模型,建立所述业务UI数据与 数据源数据之间、各数据源数据之间的关联关系。

在该技术方案中,通过建立正向数据模型,使得能够基于该模型,准 确、有效地实现对数据结构关系的理解,并据此实现对数据关联关系的准 确建立。

在上述任一技术方案中,优选地,还包括:建立对应于当前用户所属 角色的数据源,以绑定至所述业务UI数据。

在该技术方案中,不同用户如果属于不同的角色,比如对于需求人员 和开发人员,其具体对应的数据源可以不同,从而有助于各个角色的用户 执行对应的处理任务。

本发明还提出了一种基于OSGI的代码正向工程的实现装置,包括: 数据解析单元,用于对导入的设计完成的业务UI数据进行解析;数据源 绑定单元,用于根据所述业务UI数据建立数据源,并绑定所述业务UI数 据与所述数据源;数据关联单元,用于根据解析结果建立所述业务UI数 据与数据源数据之间、各数据源数据之间的关联关系;代码生成单元,用 于根据所述关联关系生成对应于所述业务UI数据的后台逻辑代码。

在该技术方案中,先由需求人员根据业务需求设计业务html页面, 然后通过对该html页面相关的业务UI数据进行解析,从而绑定后台的数 据源以及具体的数据源数据,建立前台的UI需求与后台数据之间的关联 关系,从而实现基于OSGI的代码正向工程,即根据UI需求来自动生成 后台以及全局(前台与后台)的逻辑代码。

在上述技术方案中,优选地,所述数据解析单元用于:解析所述业务 UI数据中的页面业务数据的结构关系。

在该技术方案中,对于业务UI数据的解析,主要涉及到对其中包含 的页面业务数据进行结构关系的解析过程;通过对页面业务数据的结构关 系解析,从而一方面能够清楚地了解到如何在前台的页面业务数据与后台 的数据源数据之间建立关联,另一方面则能够据此了解到后台的实际数据 之间的关联关系,确保通过正向工程正确生成对应于业务UI数据的逻辑 代码。

在上述任一技术方案中,优选地,还包括:在线设计单元,用于在线 设计并发布所述业务UI数据,发布内容包括:页面html、js脚本和所述 页面业务数据。

在该技术方案中,需求人员可以基于如OSGI平台实现对前台的业务 UI页面的在线设计,从而有助于提高与后续的基于OSGI平台的代码正向 工程的兼容性。当然,此处并不限定其具体的生成方式,实际上,本领域 技术人员应该理解的是,显然也可以通过其他方式独立生成业务UI数 据。

在上述任一技术方案中,优选地,还包括:模型建立单元,用于建立 对应于所述结构关系的正向数据模型;以及所述数据关联单元用于:根据 所述正向数据模型,建立所述业务UI数据与数据源数据之间、各数据源 数据之间的关联关系。

在该技术方案中,通过建立正向数据模型,使得能够基于该模型,准 确、有效地实现对数据结构关系的理解,并据此实现对数据关联关系的准 确建立。

在上述任一技术方案中,优选地,所述数据源绑定单元还用于:建立 对应于当前用户所属角色的数据源,以绑定至所述业务UI数据。

在该技术方案中,不同用户如果属于不同的角色,比如对于需求人员 和开发人员,其具体对应的数据源可以不同,从而有助于各个角色的用户 执行对应的处理任务。

通过以上技术方案,可以依据已经设计好的业务html页面,通过正向 代码工程自动生成代码,使得需求人员设计的html页面被开发人员完全复 用。

附图说明

图1示出了根据本发明的一个实施例的基于OSGI的代码正向工程的 实现方法的示意流程图;

图2示出了根据本发明的一个实施例的页面框架MVC架构的结构示 意图;

图3A示出了根据本发明的一个实施例的PageJSON数据结构的示意 图;

图3B示出了根据本发明的一个实施例的ResultData数据结构的示意 图;

图4示出了根据本发明的一个实施例的正向工程的处理过程的示意流 程图;

图5为图4所示实施例的通过iCode插件自动生成代码的示意流程 图;

图6示出了根据本发明的一个实施例的基于OSGI的代码正向工程的 实现装置的示意框图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附 图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不 冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是, 本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明 的保护范围并不受下面公开的具体实施例的限制。

图1示出了根据本发明的一个实施例的基于OSGI的代码正向工程的 实现方法的示意流程图。

如图1所示,根据本发明的一个实施例的基于OSGI的代码正向工程 的实现方法,包括:

步骤102,导入设计完成的业务UI数据,并进行解析;

步骤104,根据所述业务UI数据建立数据源,并绑定所述业务UI数 据与所述数据源;

步骤106,根据解析结果建立所述业务UI数据与数据源数据之间、 各数据源数据之间的关联关系;

步骤108,根据所述关联关系生成对应于所述业务UI数据的后台逻 辑代码。

在该技术方案中,先由需求人员根据业务需求设计业务html页面, 然后通过对该html页面相关的业务UI数据进行解析,从而绑定后台的数 据源以及具体的数据源数据,建立前台的UI需求与后台数据之间的关联 关系,从而实现基于OSGI的代码正向工程,即根据UI需求来自动生成 后台以及全局(前台与后台)的逻辑代码。

在上述技术方案中,优选地,解析所述业务UI数据的过程包括:解 析所述业务UI数据中的页面业务数据的结构关系。

在该技术方案中,对于业务UI数据的解析,主要涉及到对其中包含 的页面业务数据进行结构关系的解析过程;通过对页面业务数据的结构关 系解析,从而一方面能够清楚地了解到如何在前台的页面业务数据与后台 的数据源数据之间建立关联,另一方面则能够据此了解到后台的实际数据 之间的关联关系,确保通过正向工程正确生成对应于业务UI数据的逻辑 代码。

在上述任一技术方案中,优选地,在导入所述业务UI数据之前,还 包括:在线设计并发布所述业务UI数据,发布内容包括:页面html、js 脚本和所述页面业务数据。

在该技术方案中,需求人员可以基于如OSGI平台实现对前台的业务 UI页面的在线设计,从而有助于提高与后续的基于OSGI平台的代码正向 工程的兼容性。当然,此处并不限定其具体的生成方式,实际上,本领域 技术人员应该理解的是,显然也可以通过其他方式独立生成业务UI数 据。

在上述任一技术方案中,优选地,还包括:建立对应于所述结构关系 的正向数据模型;以及根据所述正向数据模型,建立所述业务UI数据与 数据源数据之间、各数据源数据之间的关联关系。

在该技术方案中,通过建立正向数据模型,使得能够基于该模型,准 确、有效地实现对数据结构关系的理解,并据此实现对数据关联关系的准 确建立。

在上述任一技术方案中,优选地,还包括:建立对应于当前用户所属 角色的数据源,以绑定至所述业务UI数据。

在该技术方案中,不同用户如果属于不同的角色,比如对于需求人员 和开发人员,其具体对应的数据源可以不同,从而有助于各个角色的用户 执行对应的处理任务。

本发明主要讨论了如果通过正向工程,从而能够基于需求人员在前端 设计的html页面,自动完成后台数据的关联和代码生成过程。其中,正 向工程的前提是必须满足4个因素:统一的整体OSGI软件架构、页面 MVC架构、统一页面数据模型、灵活的交叉关联。

1、统一的整体OSGI软件架构

OSGI(Open Service Gateway Initiative)开放服务网关实际是一个由 OSGI联盟发起、以Java为技术平台的动态模块化规范。只有具备整体架 构的前提下,业务UI数据与后台数据之间才能够实现兼容和有效关联, 从而自动生成代码才有意义。

2、页面MVC架构

图2示出了根据本发明的一个实施例的页面框架MVC架构的结构示 意图。

如图2所示,页面框架采用分层结构,即模型层(Model)、视图层 (View)、控制层(Controller)。UI设计器、正向工程生成的页面框架均采用 此架构,当用户与页面进行交互时,视图接收到用户的操作,通过控制器 将事件传递给模型,模型对数据进行修改,视图监控到模型数据的修改, 相应的更新页面。统一的架构保证了页面处理逻辑的一致,对于需求分析 人员、开发人员而言,唯一不同的就是Model层的数据来源不一致。

当然,图2所示的MVC架构中还包含其他的功能模块,如包含一个 或多个应用配置器的应用管理器、控件库、核心库、基础插件库、模板库 和包含一个或多个插件配置器的配置管理器等,此处不再赘述。

3、统一的页面数据模型

统一的页面数据模型对于正向工程代码自动生成非常重要,传统的逆 向工程代码因架构理念上的缺陷实际很难提升开发效率、降低开发门槛, 更不用说所见即所得。本方案将页面请求数据统一映射封装到PageJSON 对象中,服务端或后台返回给页面的数据全部封装为ResultData对象,最 终返回给页面的数据格式同样也为JSON字符串。

其中,作为一种具体实施例和参考样式,图3A示出了根据本发明的 一个实施例的PageJSON数据结构的示意图;图3B示出了根据本发明的 一个实施例的ResultData数据结构的示意图。

4、灵活的交叉关联

交叉关联包括前台、后台数据的关联,后台数据间的关联。简言之, 前、后台交互实质就是一种数据交互,业务逻辑也体现的交互上,这也是 正向工程代码生成逻辑的关键所在。

下面结合图4和图5,对基于本发明的正向工程代码生成的过程进行 详细描述。

图4示出了根据本发明的一个实施例的正向工程的处理过程的示意流 程图。

如图4所示,根据本发明的一个实施例的正向工程的处理过程包括:

步骤402,提供在线UI设计器,主要是提供给普通用户和需求分析 人员使用,此类用户可自定义或根据UI设计器提供的业务模板(例如:普 通查询、高级查询等模板)将所需的业务场景demo设计出来并在线发布 (此种发布做了数据隔离,并不会在生产环境将新增或修改的业务功能展 现出来)。

步骤404,提供代码生成插件(可以称之为iCode代码生成插件), 此插件可以集成在Eclipse开发平台也可以在线部署,主要用于自动生成 前后端代码模块,代码生成机制均在该插件实现。

步骤406,在完成代码生成后,判断是需要二次开发。

步骤408,若需要,则执行二次开发,使得业务人员可以根据实际业 务需求进行扩展,然后进入步骤410。

步骤410,提供自动部署器,用于将前后端生成的代码自动热插拔部 署到对应的运行环境中。

其中,针对步骤404中的代码生成过程,下面结合图5进行详细说 明。图5为图4所示实施例的通过iCode插件自动生成代码的示意流程 图。

如图5所示,通过iCode插件自动生成代码的过程包括:

步骤502,在线导入UI。具体地,包括导入页面html、js脚本和页面 数据结构等。

步骤504,提供UI解析器,对导入UI进行解析。具体包括:

1)解析UI中的html、js以及事件;

2)解析UI中的基础插件(例如Dropdown);

3)解析UI中的页面业务数据结构;

4)建立UI事件与UI数据结构的关联关系。

步骤506,绑定数据源。具体包括:

1)建立数据源,数据源数据可以是结构化、非结构化数据;

2)绑定页面与数据源的关系;

3)缓存页面与数据源的关系。

步骤508,数据关联。具体包括:

1)建立数据源中的数据对象结构,数据源数据可以是结构化、非结 构化数据;

2)数据标准化;

3)建立页面数据与数据源数据的关系;

4)建立数据源中数据之间的关系;

5)缓存关联关系。

步骤510,代码生成。具体包括:根据缓存关系按业务单元结构生成 html、js、后台逻辑代码。

步骤512,自动部署。

图6示出了根据本发明的一个实施例的基于OSGI的代码正向工程的 实现装置的示意框图。

如图6所示,根据本发明的一个实施例的基于OSGI的代码正向工程 的实现装置600,包括:数据解析单元602,用于对导入的设计完成的业 务UI数据进行解析;数据源绑定单元604,用于根据所述业务UI数据建 立数据源,并绑定所述业务UI数据与所述数据源;数据关联单元606, 用于根据解析结果建立所述业务UI数据与数据源数据之间、各数据源数 据之间的关联关系;代码生成单元608,用于根据所述关联关系生成对应 于所述业务UI数据的后台逻辑代码。

在该技术方案中,先由需求人员根据业务需求设计业务html页面, 然后通过对该html页面相关的业务UI数据进行解析,从而绑定后台的数 据源以及具体的数据源数据,建立前台的UI需求与后台数据之间的关联 关系,从而实现基于OSGI的代码正向工程,即根据UI需求来自动生成 后台以及全局(前台与后台)的逻辑代码。

在上述技术方案中,优选地,所述数据解析单元602用于:解析所述 业务UI数据中的页面业务数据的结构关系。

在该技术方案中,对于业务UI数据的解析,主要涉及到对其中包含 的页面业务数据进行结构关系的解析过程;通过对页面业务数据的结构关 系解析,从而一方面能够清楚地了解到如何在前台的页面业务数据与后台 的数据源数据之间建立关联,另一方面则能够据此了解到后台的实际数据 之间的关联关系,确保通过正向工程正确生成对应于业务UI数据的逻辑 代码。

在上述任一技术方案中,优选地,还包括:在线设计单元610,用于 在线设计并发布所述业务UI数据,发布内容包括:页面html、js脚本和 所述页面业务数据。

在该技术方案中,需求人员可以基于如OSGI平台实现对前台的业务 UI页面的在线设计,从而有助于提高与后续的基于OSGI平台的代码正向 工程的兼容性。当然,此处并不限定其具体的生成方式,实际上,本领域 技术人员应该理解的是,显然也可以通过其他方式独立生成业务UI数 据。

在上述任一技术方案中,优选地,还包括:模型建立单元612,用于 建立对应于所述结构关系的正向数据模型;以及所述数据关联单元606用 于:根据所述正向数据模型,建立所述业务UI数据与数据源数据之间、 各数据源数据之间的关联关系。

在该技术方案中,通过建立正向数据模型,使得能够基于该模型,准 确、有效地实现对数据结构关系的理解,并据此实现对数据关联关系的准 确建立。

在上述任一技术方案中,优选地,所述数据源绑定单元604还用于: 建立对应于当前用户所属角色的数据源,以绑定至所述业务UI数据。

在该技术方案中,不同用户如果属于不同的角色,比如对于需求人员 和开发人员,其具体对应的数据源可以不同,从而有助于各个角色的用户 执行对应的处理任务。

以上结合附图详细说明了本发明的技术方案,本发明提出了一种基于 OSGI的代码正向工程的实现方法和一种基于OSGI的代码正向工程的实 现装置,通过本发明的技术方案,具有以下有益效果:

1)快速开发,能有效降低开发交互周期以及降低技术门槛;

2)模块化,特别是对于复杂的系统集成,能有效控制软件复杂度增 长、避免或延缓架构腐化;

3)动态化,解决发版停机问题;

4)系统架构统一。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于 本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明 的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号