一种基于模型组件的代码自动生成装置、系统及方法制造方法及图纸

技术编号:2834334 阅读:221 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种代码自动生成方法,构建由数据层、组件层、流程层、控制层以及用户界面层组成的代码自动生成装置,其中的五层结构根据功能实现划分,每层相互独立且各自创建有对应的处理模型,以完成代码生成中的数据处理、组件提取、流程处理、功能控制和用户界面处理;同时,还根据一定规则生成代码模板,用于对不同的业务对象形成不同的处理代码;基于五层模型和代码模板,由代码生成引擎控制和调用各层模型和代码模板,相互配合完成代码的自动生成过程。本发明专利技术还同时公开了一种代码自动生成装置及系统,采用本发明专利技术能提高软件的开发效率、复用度和规范性,提高代码质量。

【技术实现步骤摘要】

本专利技术涉及计算机的代码生成技术,特别是涉及一种基于模型组件的代码 自动生成装置、系统及方法。随着计算机应用的迅猛发展和普及,计算机程序被广泛应用于各个领域中, 通过计算机编码编程可实现多种多样的功能、业务,因此,计算机代码的生成 与运行成为必不可少的关键步骤。由于代码编码量急剧增加,为了能自动生成 代码,业界提出了很多代码自动生成技术,以增加代码生成效率,简化代码的 生成过程。目前,涉及代码自动生成的技术主要有对象管理组织(OMG)提出的模型 驱动结构(MDA, Model Driven Architecture )相关技术。具体来说,()MG组 织在2001年制定并推行了一系列规范,包括统一建模语言(UML, Unified Modeling Language )、元对象设施(MOF, Meta-Object Facility )、基于XML的 元数据交换(XMI , XML-based Metadata Interchange )、模型查询/视图/转换 (QVT)等,这一系列规范构成了 MDA的基础。其中,MOF是这一系列标准 的核心;UML是使用MOF来定义的;XMI则是MOF到XML的一种映射, 提供了 MOF的序列化机制等;MOF/QVT是MOF的一部分,QVT标准建立在 MOF的基础上,QVT标准中的元模型都必须符合MOF,这样才能在不同元模 型之间进行转换。MD A的思想恻重于模型的形式化与层次,把软件系统需求和特定的实现技 术相分离,从而能通过模型的高度抽象和低廉的消耗成本来满足业务的不断变 化等等优点。但是,MDA在实际应用中还存在着严重的问题首先,MDA规范的复杂性较高,使得其应用受到限制;其次,MDA作为通用的软件系统建模 方法与标准规范,本身存在诸多尚未解决的难点,如模型转换、模型与代码 间同步等问题,目前仅有很少的几种模型转换方法与工具,它们之间的异构性 造成了模型转换代码重用的困难,且使学习和使用模型转换方法的成本增加; 而模型与代码间存在的同步问题,使开发人员需要进行两边维护,也造成MDA 实际应用的复杂与困难。为进一步简化代码的开发过程,很多大型应用软件通过构建分层结构的开 发模型来完成软件开发。目前企业级应用软件主要遵循J2EE规范,现有应用 软件常用的应用系统分层方式为传统的三层、四层或五层结构。具体的,所述 三层结构包括客户端层、中间层和资源层;四层结构则是在三层结构的基础上将中间层分为表现层与业务层;五层结构则是在四层结构的基础上将资源层分为集成层与资源层。在实际应用中,三层、四层或五层结构常常不能满足实际情况需要,可以根据实际情况对分层结构作合理的灵活处理,即在每层上可能存在层次交叉, 出现N层结构。比如专利号为200410014139.8 、专利技术名称为基于J2EB的 五层体系结构构建方法的专利文件中提到五层分层结构,包括数据层、数 据集成层、业务逻辑层、界面控制层和客户界面层,在实际应用时,需要根据 实际情况向N层结构进行转换;该专利中还提到五层结构的抅建方法,在每--层上使用固定技术实现,即层次的体系结构与特定的技术绑定,如数据层采 用关系型数据库;数据集成层采用具有本地接口的容器管理存储(CMP, Container-Managed Persistence )实体Bean;业务逻辑层采用会话Bean (有状态 和无状态);界面控制层采用Java编写的服务器端程序-Servlet技术;客户界面 层采用动态网页技术标准(Jsp, Java Server Pages )技术。但是,该专利的实现方案在每层上的技术选择只有一种,而在实际应用开 发中,通常存在根据实际情况在多种技术间进行选择的情况,且也不会只固定 在一种技术上,如在客户界面层,Jsp是J2EE规范中页面的标准,但在实际应 用中通常不会使用单纯的Jsp技术,可能会选择基于标签的Stmts, Jsf、 WebWork等框架技术,来集成实现客户界面层与界面展示层,其中,Struts、 Jsf、 WebWork 均为符合J2EE规范的模式-视图-控制器(MVC , Model-View-Controller)实现框架。还可能存在基于转换XML文档结构的扩展标记语言(XSLT)的可扩展 标记语言(XML, extensible Markup Language )转换展示页面。业务逻辑层的 技术选择更多,如Spring框架、普通Java类(POJO, Plain Old Java Object)等技术。数据集成层目前通常使用的是对象关系映射(OR-Mapping)技术,如 Hibernate、 TopLink等,或者使用基于结构化查询语言(SQL )处理的JdbcTemplate等技术。总之,在实际的应用开发中,根据具体的实际情况,如业务规模、数 据吞吐量、数据传输量等在每层上的技术选择非常必要,但选择结果不应固定 在某一种技术上来实现。基于上述分析可以看出,目前针对如何满足不同类型应用开发的需求;如 何做出灵活的N层体系结构;如何在每个应用分层上支持多种技术的实现等问 题,尚未得到很好的解决。而且,软件构件描述繁瑣,不易于被编程人员所掌 握;另外,很多与应用层的通讯都通过一些中间件完成,这样,很容易由于负 担过重而形成瓶颈,从而影响开发效率和质量。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种代码自动生成装置、系统及方 法,能解决现有技术存在的问题,从而提高软件的开发效率、复用度和规范性, 提高代码质量。为达到上述目的,本专利技术的技术方案是这样实现的一种代码自动生成装置,包括数据层、组件层、流程层、控制层以及用户 界面层;其中,数据层,用于提供数据模型,并建立数据模型与关系型数据库之间的对应关系;组件层,对应组件模型,根据确定的业务规则从组件库中直接提取组件, 并建立组件模型与要处理的业务单元的对应关系;流程层,对应流程模型,根据业务规则对所确定的组件与组件、或组件与组件包的组合进行组装,实现更大业务范围内的业务功能;控制层,对应控制模型,通过对用户界面与组件的组装,建立控制模型与 应用程序前后端交互顺序的对应关系;用户界面层,对应页面模型,根据业务展现需要建立页面模型与业务展现 的对应关系。该装置进一步包括数据对象、业务对象和视图对象,用于传递各层之间的#一自 i口 ,a、。所述每一层进一步包括描述实体和实现实体,其中,所述描述实体,用于 创建本层实体并设置实体属性;所述实现实体,用于选择确定实现环境。本专利技术还公开了 一种代码自动生成系统,包括五层结构的代码自动生成装 置、代码模板和代码生成引擎;其中,代码自动生成装置,用于提供五层模型,并完成代码生成过程中的数据处 理、组件提取、流程处理、功能控制和用户界面处理;代码模板,用于针对不同的业务对象形成不同的处理代码;代码生成引擎,用于控制和调用五层模型和代码模板,自动生成代码。其中,所述代码自动生成装置包括数据层、组件层、流程层、控制层以及 用户页面用户界面层;其中,数据层,用于提供数据模型,并建立数据模型与关系型数据库之间的对应 关系;组件层,对应组件模型,根据确定的业务规则从组件库中直接提取组件, 并建立组件模型与要处理的业务单元的本文档来自技高网
...

【技术保护点】
一种代码自动生成装置,其特征在于,该装置包括数据层、组件层、流程层、控制层以及用户界面层;其中,数据层,用于提供数据模型,并建立数据模型与关系型数据库之间的对应关系;组件层,对应组件模型,根据确定的业务规则从组件库中直接提取 组件,并建立组件模型与要处理的业务单元的对应关系;流程层,对应流程模型,根据业务规则对所确定的组件与组件、或组件与组件包的组合进行组装,实现更大业务范围内的业务功能;控制层,对应控制模型,通过对用户界面与组件的组装,建立控制 模型与应用程序前后端交互顺序的对应关系;用户界面层,对应页面模型,根据业务展现需要建立页面模型与业务展现的对应关系。

【技术特征摘要】
1、一种代码自动生成装置,其特征在于,该装置包括数据层、组件层、流程层、控制层以及用户界面层;其中,数据层,用于提供数据模型,并建立数据模型与关系型数据库之间的对应关系;组件层,对应组件模型,根据确定的业务规则从组件库中直接提取组件,并建立组件模型与要处理的业务单元的对应关系;流程层,对应流程模型,根据业务规则对所确定的组件与组件、或组件与组件包的组合进行组装,实现更大业务范围内的业务功能;控制层,对应控制模型,通过对用户界面与组件的组装,建立控制模型与应用程序前后端交互顺序的对应关系;用户界面层,对应页面模型,根据业务展现需要建立页面模型与业务展现的对应关系。2、 根据权利要求1所述的代码自动生成装置,其特征在于,该装置进---步 包括数据对象、业务对象和视图对象,用于传递各层之间的信息。3、 根据权利要求1或2所述的代码自动生成装置,其特征在于,所述每--层进一步包括描述实体和实现实体,其中,所述描述实体,用于创建本层实体并设置实体属性;所述实现实体,用于选择确定实现环境。4、 一种代码自动生成系统,其特征在于,该系统包括五层结构的代码自动生成装置、代码模板和代码生成引擎;其中,代码自动生成装置,用于提供五层模型,并完成代码生成过程中的数据处理、组件提取、流程处理、功能控制和用户界面处理;代码模板,用于针对不同的业务对象形成不同的处理代码; 代码生成引擎,用于控制和调用五层模型和代码模板,自动生成代码。5、 根据权利要求4所述的代码自动生成系统,其特征在于,所述代码自动 生成装置包括数据层、组件层、流程层、控制层以及用户页面用户界面层;其 中,数据层,用于提供数据模型,并建立数据模型与关系型数据库之间的对应 关系;组件层,对应组件模型,根据确定的业务规则从组件库中直接提取组件, 并建立组件模型与要处理...

【专利技术属性】
技术研发人员:杨兴涛任允培
申请(专利权)人:北京中企开源信息技术有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1