CN100414498C - 可实现代码复用的server版代码生成系统 - Google Patents

可实现代码复用的server版代码生成系统 Download PDF

Info

Publication number
CN100414498C
CN100414498C CNB2006100693956A CN200610069395A CN100414498C CN 100414498 C CN100414498 C CN 100414498C CN B2006100693956 A CNB2006100693956 A CN B2006100693956A CN 200610069395 A CN200610069395 A CN 200610069395A CN 100414498 C CN100414498 C CN 100414498C
Authority
CN
China
Prior art keywords
code
server
version
data
data model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006100693956A
Other languages
English (en)
Other versions
CN1945527A (zh
Inventor
李建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Langchao Qilu Software Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Langchao Qilu Software Industry Co Ltd filed Critical Langchao Qilu Software Industry Co Ltd
Priority to CNB2006100693956A priority Critical patent/CN100414498C/zh
Publication of CN1945527A publication Critical patent/CN1945527A/zh
Application granted granted Critical
Publication of CN100414498C publication Critical patent/CN100414498C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种可实现代码复用的SERVER版代码生成系统,该生成系统具有了B/S结构的全部特点,主要采用ANT、VELOCITY、XML解析等技术,分为数据模型、XML解析、ANT任务实现、数据模型与输出、输出控制等部分。数据模型是指对于代码生成系统输入数据的一种组织形式;XML解析则是将存储输入数据的介质分析从而获得数据模型的部分;ANT任务实现完成了整个代码生成系统的控制工作,根据参数的设置控制输入输出、控制;数据模型与输出是指输入与输出的对于关系。输出控制是指利用VELOCITY模板文件对输出信息进行控制。本发明的SERVER版代码生成系统对于提升项目的开发效率有着非常大的帮助,实现了更大程度的复用。

Description

可实现代码复用的SERVER版代码生成系统
1、技术领域
本发明涉及计算系统应用技术领域,具体地说是一种在J2EE(Java 2Enterprise Edition)平台中实现代码复用的可实现代码复用的SERVER版代码生成系统。
2、技术背景
代码系统作为一个MDA工具,在软件的设计开发过程中,起着十分重要的作用,但是现有技术的代码系统大多采用xml文件形式作为模型的基本格式,由控制器Ant进行统一调度,通过调用解析工具对模型进行分析,获得模型的实例,然后控制器再将分析过的模型输出到Velocity模版,进而获得代码。
因此,现有技术的单系统版代码生成系统在实际应用过程中所存在的不足是:
(1)部署繁琐。每个使用者都需要搭建一个环境,并且还要更改诸多配置信息。
(2)缺乏保护性。由于代码系统是作为一个项目开放给使用者的,使用者可以很容易看到源代码。这样如果使用者自己进行了修改,那么就可能无法保证代码生成的准确性。同时,代码系统本身也得不到应有的保护。
(3)版本控制困难。代码系统往往会根据项目的需要,更改一些模板。而对于单系统版代码系统,每次修改都必须将补丁发布给所有使用者。在发布过程中,有了人为因素,难免会出现问题。很可能多个使用者之间版本不同,这对于整个项目来说是灾难性的。
(4)无法即时测试。传统代码系统由于没有应用环境,不能够进行即时测试。这常常会导致设计人员与开发人员的大量返工。
(5)纠错系统制较差。传统代码系统往往没有很强的纠错系统制,这就对xml文件的编写者和代码系统使用者都提出了较高要求。另外,很可能出现一些莫名其妙的错误而导致无法生成代码。较弱的纠错系统制自然让代码系统的使用效率、生成代码的成功率大打折扣。
3、发明内容
本发明的目的是提供一种可实现代码复用的SERVER版代码生成系统。
该代码生成系统,是将传统单系统版代码系统进一步改进而得到的基于b/s体系结构的全新一款代码系统。该版代码系统解决了传统单系统版代码系统在使用中存在的如部署繁琐、缺乏保护性、版本控制困难、无法即时测试、纠错系统制较差等诸多弊病,
本发明的技术方案是按以下方式实现的:
1)首先,在传统单系统版代码系统的基础上,增加基于b/s结构的可运行代码,构建一个SERVER代码系统的应用平台;
2)利用log4j组件,架构设计一个完善的纠错处理系统机制,以提高传统代码系统的纠错功能;
3)利用ant工具实现SERVER版生成代码后的可编译性和测试功能即时性;
具体步骤如下:
A、代码生成系统的开发
a)选择输入数据的存储介质,介质是XML、数据库表;
b)设计数据模型:数据模型是将输入数据读取到内存后的一种组织形式;
c)设计输入介质转化为数据模型的解析工具,将输入数据读取到内存的读取工具;
d)设计控制代码生成系统启动、运行、停止管理的控制台;
e)根据数据模型实现输出模板,代码生成系统的数据即为根据模板得到的代码,提取出不能够复用的部分作为变量,设置在模板中,这样生成的代码就可以实现定制了;
f)设计、实现控制输出模板,输出模板包括SQL、JAVA、JSP、XML、PROPERTIES多种格式的文件;
B、代码生成系统的部署
a)重写ANT任务主控制类;
b)实现ANT任务在具体B/S应用中的接口实现,该接口完成单系统版到B/S架构的转换;
c)设计并实现代码系统在B/S架构下的维护及运行界面,并完成B/S结构下代码生成系统的运行操作环境。
C、代码生成系统的运行
a)在具体应用中配置相关代码系统输入数据。
b)在操作界面中执行代码生成任务。
c)复制代码,将生成的代码复制到开发环境中,进行进一步的加工完善。
本发明的SERVER版代码生成系统是一种项目过程管理工具,对项目的数据结构进行统一的管理,将传统的配置文件方式管理数据结构变成以具体应用为基础的数据库管理方式。
本发明的积极效果是:
1)基于b/s结构的server版。该代码系统区别于以往代码系统最大的特色是就是基于b/s结构的,不再是传统的单系统版。
2)方便版本控制。代码系统的模板经常要根据需求改变,而传统的单系统版代码系统必须重新发给每个使用者一个新的补丁。这样作不仅十分麻烦,而且往往更新不及时,是的不同人可能生成出不同版本的代码,可能造成很多不必要的时间、资源的浪费。
3)一处部署,多人使用。使用者不需要任何部署,只需上传文件、界面操作执行、下载代码3步,即可生成需要的代码。
4)内置强大纠错系统制。该代码系统设计了完善的纠错系统制,可以对设计成果(xml配置文件)进行校验,对于发现的错误以日志的形式友好的提供给使用者。使得使用者可以很容易的更改设计成果(xml配置文件)的不合理之处。
5)即时测试。该代码系统还可以在生成代码系统后,自动编译。简单的几步操作,就可以把诸如单表、主从表等功能部署到web应用中去,直接让使用者看到生成代码的界面展现。通过这种测试,可以让使用者很容易的看到自己设计与实现是否相符合。
6)可视化xml配置文件的书写。代码系统另一个特色,就是可以直接在代码系统应用中录入设计成果,无需手工书写xml配置文件。录入后,既可以更加录入的信息生成代码。同时生成与手工书写等同的xml配置文件。
7)支持单表、主从表的JAVA源文件、配置文件、初始化数据的自动生成。这样的代码无需任何修改,直接部署既可以使用。
8)支持多种数据库(DB2、Oracle、Sysbase、Mysql等)的sql语句的自动生成。
4、附图说明
图1是代码系统的工作步骤示意图。
5、实施方式
参照附图对本发明的代码生成系统作以下详细说明。
本发明SERVER版代码生成系统的实施步骤如下:
一、开发代码生成系统
a、选择输入数据的存储介质。可以是XML、数据库表及其他设计数据模型。
数据模型是将输入数据读取到内存后的一种组织形势设计输入介质转化为数据模型的解析工具。将输入数据读取到内存的读取工具设计并实现控制台。控制台是启动、运行、停止代码生成系统的管理中心。
b根据数据模型实现输出模板。代码生成系统的数据即为根据模板得到的代码。提取出不能够复用的部分作为变量,设置在模板中,这样生成的代码就可以实现定制了。
c设计并实现输出控制。输出模板众多,包括SQL、JAVA、JSP、XML、PROPERTIES等多种格式的文件。因此,需要对每种格式的输出进行控制。
二、部署代码生成系统
a、重写ANT任务主控制类。由于ANT任务主控制类仅仅支持单系统模式,因此,需要将其进行改写,已保证能够在B/S架构中被调用。
b、实现ANT任务在具体B/S应用中的接口实现。该接口完成了单系统版到B/S架构的转换。
c、设计并实现代码系统在B/S架构下的维护及运行界面。完成B/S结构下代码生成系统的运行操作环境。
三、运行代码生成系统执行代码生成;
a、在具体应用中配置相关代码系统输入数据。
b、在操作界面中执行代码生成任务。
c、复制代码。将生成的代码复制到开发环境中,进行进一步的加工完善。
本发明的系统和现有技术相比,
1)通过改进传统单系统版代码系统,增加基于b/s结构的可运行代码,从而构建一个代码系统的应用平台,因而,解决了部署繁琐、缺乏保护性、版本控制困难等问题;
2)通过合理的架构设计,充分利用了log4j组件,建立一个完善的纠错处理系统制,解决了传统代码系统纠错系统制较差的问题;
3)充分利用ant工具的特点,实现了生成代码后的可编译性,少量操作就可以部署到应用中去的即时测试功能。

Claims (2)

1. 可实现代码复用的SERVER版代码生成系统,其特征在于在B/S结构的基础上,在服务器端配置一个通过浏览器随处访问使用的SERVER版代码生成系统环境,该SERVER版代码生成系统环境是:
1)首先,在传统单系统版代码系统的基础上,增加基于b/s结构的可运行代码,构建一个SERVER代码系统的应用平台;
2)利用log4j组件,架构设计一个完善的纠错处理系统机制,以提高传统代码系统的纠错功能;
3)利用ant工具实现SERVER版生成代码后的可编译性和测试功能即时性;
具体步骤如下:
A、代码生成系统的开发:
a)选择输入数据的存储介质,介质是XML、数据库表;
b)设计数据模型:数据模型是将输入数据读取到内存后的一种组织形式;
c)设计输入介质转化为数据模型的解析工具,将输入数据读取到内存的读取工具;
d)设计控制代码生成系统启动、运行、停止管理的控制台;
e)根据数据模型实现输出模板,代码生成系统的数据即为根据模板得到的代码,提取出不能够复用的部分作为变量,设置在模板中,这样生成的代码就实现定制了;
f)设计、实现控制输出模板,输出模板包括SQL、JAVA、JSP、XML、PROPERTIES多种格式的文件;
B、代码生成系统的部署:
a)重写ANT任务主控制类;
b)实现ANT任务在具体B/S应用中的接口实现,该接口完成单系统版到B/S架构的转换;
c)设计并实现代码系统在B/S架构下的维护及运行界面,并完成B/S结构下代码生成系统的运行操作环境;
C、代码生成系统的运行:
a)在具体应用中配置相关代码系统输入数据;
b)在操作界面中执行代码生成任务;
c)复制代码,将生成的代码复制到开发环境中,进行进一步的加工完善。
2. 根据权利要求1所述的可实现代码复用的SERVER版代码生成系统,其特征在于SERVER版代码生成系统是一种项目过程管理工具,对项目的数据结构进行统一的管理,将传统的配置文件方式管理数据结构变成以具体应用为基础的数据库管理方式。
CNB2006100693956A 2006-10-26 2006-10-26 可实现代码复用的server版代码生成系统 Active CN100414498C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100693956A CN100414498C (zh) 2006-10-26 2006-10-26 可实现代码复用的server版代码生成系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100693956A CN100414498C (zh) 2006-10-26 2006-10-26 可实现代码复用的server版代码生成系统

Publications (2)

Publication Number Publication Date
CN1945527A CN1945527A (zh) 2007-04-11
CN100414498C true CN100414498C (zh) 2008-08-27

Family

ID=38044945

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100693956A Active CN100414498C (zh) 2006-10-26 2006-10-26 可实现代码复用的server版代码生成系统

Country Status (1)

Country Link
CN (1) CN100414498C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714078A (zh) * 2008-10-06 2010-05-26 广东金宇恒科技有限公司 代码生成方法及装置
CN101697120B (zh) * 2009-11-05 2012-11-28 河南辉煌科技股份有限公司 基于关系型数据库的j2ee代码生成方法
CN101739254B (zh) * 2009-12-31 2013-04-03 山东中创软件商用中间件股份有限公司 一种实现多平台通信组件复用的方法及装置
CN102339219B (zh) * 2010-07-20 2016-08-24 甲骨文国际公司 用于支持面向对象脚本工具的系统和方法
CN103425692B (zh) * 2012-05-22 2016-08-10 阿里巴巴集团控股有限公司 数据导出方法和装置
CN103942311B (zh) * 2014-04-21 2017-04-12 湖南深拓智能设备股份有限公司 一种监控系统变量的复用方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6147964A (en) * 1998-05-07 2000-11-14 Qualcomm Inc. Method and apparatus for performing rate determination using orthogonal rate-dependent walsh covering codes
US6523027B1 (en) * 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
CN1477500A (zh) * 2002-08-19 2004-02-25 万达信息股份有限公司 一种Client/Server架构下软件自动升级更新的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6147964A (en) * 1998-05-07 2000-11-14 Qualcomm Inc. Method and apparatus for performing rate determination using orthogonal rate-dependent walsh covering codes
US6523027B1 (en) * 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
CN1477500A (zh) * 2002-08-19 2004-02-25 万达信息股份有限公司 一种Client/Server架构下软件自动升级更新的方法

Also Published As

Publication number Publication date
CN1945527A (zh) 2007-04-11

Similar Documents

Publication Publication Date Title
CA2723933C (en) Methods and systems for developing, debugging, and executing data integration applications
CN101533349B (zh) 一种大粒度构件的平台相关模型的代码自动生成方法
CN100458793C (zh) 数据访问层Xml格式数据与关系数据间的映射转换方法
US20120036049A1 (en) System and method for software integration and factory deployment
CN100414498C (zh) 可实现代码复用的server版代码生成系统
US20160170719A1 (en) Software database system and process of building and operating the same
US20080229303A1 (en) Method, system and computer program for distributing customized software products
JP2008536210A (ja) モバイルデータシステム用モジュールアプリケーション
WO2012051389A1 (en) Method and system for developing data integration applications with reusable semantic types to represent and process application data
CN105512304A (zh) 在线生成互联网应用方法和系统集成方法及支撑平台
US20070073763A1 (en) Automated Creation of Model and View Code
CN106873974A (zh) 智能代码生成引擎系统及方法
CN101714078A (zh) 代码生成方法及装置
CN102736915A (zh) 自动程序生成装置、方法以及计算机程序
CN109523423B (zh) 一种应用系统生成方法、装置、设备及存储介质
Roelofs AIMMS 3. 10 Language Reference
Sorgalla et al. AjiL: enabling model-driven microservice development
US20060047723A1 (en) Custom database system and method of building the same
CN101753619A (zh) 用于扩展服务模型的方法和系统
TWI629602B (zh) 互動式網頁程式自動產生方法
CN101000618A (zh) 建立无连接的数据编程模型的方法、装置及其应用
US20100011018A1 (en) Custom database system and method of building the same
CN101055521B (zh) 映射规则的可视化生成方法及系统
CN109614084A (zh) web程序及其快速开发框架、开发方法与相关设备
US20080022258A1 (en) Custom database system and method of building and operating the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant