CN110989976A - 基于J2EE的Web应用的组件化开发方法、存储介质和电子设备 - Google Patents
基于J2EE的Web应用的组件化开发方法、存储介质和电子设备 Download PDFInfo
- Publication number
- CN110989976A CN110989976A CN201911197691.8A CN201911197691A CN110989976A CN 110989976 A CN110989976 A CN 110989976A CN 201911197691 A CN201911197691 A CN 201911197691A CN 110989976 A CN110989976 A CN 110989976A
- Authority
- CN
- China
- Prior art keywords
- component
- development
- model
- web application
- defining
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及基于J2EE的Web应用的组件化开发方法、存储介质和电子设备,属于软件应用技术领域,本申请的组件化开发方法,包括:将Web应用开发中涉及的元素封装为具有固定结构的组件模型;根据业务需求选取组件模型并进行定义配置,以得到开发所需的组件;通过组件解释渲染程序对所述组件进行加载渲染,以实现Web应用开发。本申请有助于缩短了开发周期,降低开发和维护成本。
Description
技术领域
本申请属于软件应用技术领域,具体涉及一种基于J2EE的Web应用的组件化开发方法、存储介质和电子设备。
背景技术
随着企业对软件需求的不断增长,应用***的功能越来越强大,软件的结构也越来越复杂。软件公司一方面需要实现这些复杂的功能,另一方面需要迅速地推出产品,以减少成本、应对激烈的市场竞争。因此,如何构造一个既能够响应大量的客户端用户,又能够安全稳定地运行,同时功能强大,应用灵活,开发简便的Web应用***是当前Internet技术发展的热点之一。
Web应用开发基于J2EE已成为现今主流,针对J2EE的Web应用开发,早期通常采用JSP开发技术,JSP是一项成功的技术,它功能强大,具有高稳定性和可靠性。JSP开发中,所有的业务方法,数据库连接、访问的代码都包含在JSP页面里面,同时,各种各样的业务代码写进JSP页面中,相同的功能代码可能需要编写多次,代码无法重用。造成JSP开发的复杂性,以及难以维护。
而随着J2EE平台已经日趋成熟,越来越多的开发人员使用基于J2EE的Web应用框架来进行开发,应用框架大大提高了Web开发的速度和效率,目前,已经存在许多流行的Web应用框架,通过组合这些应用框架,并采用MVC(模型-视图-控制)的设计模式,已经在实际中得到了广泛的应用,但是,它们存在一个共同的问题就是学习周期比较长,不易理解和掌握,存在软件功能可复用性低的问题。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种基于J2EE的Web应用的组件化开发方法、存储介质和电子设备,有助于缩短了开发周期,降低开发和维护成本。
为实现以上目的,本申请采用如下技术方案:
第一方面,本申请提供一种基于J2EE的Web应用的组件化开发方法,该组件化开发方法包括:
将Web应用开发中涉及的元素封装为具有固定结构的组件模型;
根据业务需求选取组件模型并进行定义配置,以得到开发所需的组件;
通过组件解释渲染程序对所述组件进行加载渲染,以实现Web应用开发。
可选地,所述将Web应用开发中涉及的元素封装为具有固定结构的组件模型,包括,
基于Web应用的展示层、控制层和持久层的层级结构对开发中涉及的元素进行封装。
可选地,针对Web应用的展示层,封装得到组件模型包括表单组件模型、页面组件模型;
针对Web应用的控制层,封装得到组件模型包括后台服务组件模型、流程组件模型;
针对Web应用的持久层,封装得到组件模型包括数据源组件模型。
可选地,所述根据业务需求选取组件模型并进行定义配置,以得到开发所需的组件,包括,
借助图形化设计工具从组件库中选取组件模型;
对选取的组件模型进行属性配置,将配置后的组件模型进行链接组合,以得到所述开发所需的组件。
可选地,所述选取的组件模型为后台服务组件模型,所述对选取的组件模型进行属性配置,具体包括,
通过代码编辑器编写后台服务代码,定义需要引入的后台类、定义及编写方法具体实现。
可选地,所述后台服务代码采用Groovy脚本语言进行编写。
可选地,在得到所述开发所需的组件之后,还包括,
利用组件管理程序,将得到的所述开发所需的组件保存入组件库,以便实现复用或其他组件调用。
可选地,组件模型的固定结构包括:
组件标识码,用于标识组件;
组件名称,用于定义组件的名称;
组件类型,用于定义组件所属分类;
模板,用于定义组件所使用的模板;
脚本,用于定义组件的动作行为;
定义修改***,用于定义组件保存或修改时需执行的操作;
渲染***,定义组件在渲染时需执行的操作;
参数,用于定义组件的参数信息;
子组件:定义容器组件包含的子组件;
继承属性:用于定义组件的属性及操作继承的父组件的标识信息;
其他属性:用于对组件进行扩展。
第二方面,
本申请提供一种可读存储介质,其上存储有可执行程序,所述可执行程序被处理器执行时实现上述所述方法的步骤。
第三方面,
本申请提供一种电子设备,包括:
存储器,其上存储有可执行程序;
处理器,用于执行所述存储器中的所述可执行程序,以实现上述所述方法的步骤。
本申请采用以上技术方案,至少具备以下有益效果:
本申请通过组件开发方式,不需要输入大量的代码来完成各个业务模块,只需要设计好自己的业务逻辑,进行一些简单的配置就可以完成功能模型的快速开发,在此基础上可以对特定需求进行应用开发扩展。缩短了开发周期,有助于降低开发和维护成本。
本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本申请实施例的附图与本申请的实施例一起用于解释本申请的技术方案,但并不构成对本申请技术方案的限制。
图1为现有技术中MVC模式实现的示意说明图;
图2为本申请中基于J2EE的Web应用的组件化开发方法的流程示意图;
图3为本申请一个实施例中MVC模式实现的示意说明图;
图4为本申请一个实施例中组件模型的结构示意说明图;
图5为本申请一个实施例中组件分类的示意说明图;
图6为本申请一个实施例中组件之间关系的示意说明图;
图7为本申请一个实施例中一功能组件的定义配置流程示意图;
图8为本申请一个实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
如背景技术所述,现有Web应用开发中,已经存在许多流行的Web应用框架,如Struts、hibernate、Spring等,通过组合这些框架,并采用MVC(模型-视图-控制)的设计模式来进行开发实现。
图1为现有技术中MVC技术实现的说明示意图。如图1所示,现有技术中,MVC各层涉及的相关技术如下:
View层(展示层):该层通常用JSP编写,每个WEB页面由一个或者多个JSP文件组成。在JSP中主要通过使用Control层提供的标签,或直接嵌入Java代码生成HTML。这层由熟悉HTML,了解Java语言的人员开发。
Control层(控制层):该层是连接Model层和View层的桥梁,Model层提供的数据,经过Control层组织成View层需要的形式提供给View层使用。这层由Java开发人员来编写。
Model层(持久层):Model层内部又分为服务层和DAO层(数据访问层)。服务层通过调用DAO层提供的方法访问数据库。这样DAO层有一套供服务层调用的接口,而服务层有一套供Control层调用的接口,这套接口才是Model层对外的接口。在J2EE应用中,Model层由专门的Java开发人员编写。
概括而言,现有技术中,MVC三层的开发都需要熟悉Java的人员来开发。Model层通常使用hibernate、mybatis等ORM框架来编写,通常需要开发人员熟悉Java和SQL语句。View层使用HTML、CSS、Javascript、JSP等技术来开发,学习的成本较高。Control层,用Struts开发的话需要单独管理相关的配置文件,以及Action类代码,如果用Spring开发则只需要管理Action类,但这种工具都有共同的问题,修改相关的配置文件或者Action类代码都需要重启WEB容器才能生效,这样也会导致开发效率的低下,也提高了对开发人员的要求。
并且从另一角度看,现有的开发框架是针对J2EE在不同层次上进行的封装,比如针对数据访问层的hibernate框架、针对控制层的struts框架,以及前端开发的各种前端开发框架,封装的粒度一般都比较底层,且粒度都比较大,并且由于是不同厂商进行封装,没有固定的封装方法。进一步导致了应用开发学习周期比较长,复用性低的问题。
针对于此,本申请基于组件封装思想,提出一种基于J2EE的Web应用的组件化开发方法,下面对该方法进行说明。
如图2所示,该组件化开发方法包括:
步骤S110,将Web应用开发中涉及的元素封装为具有固定结构的组件模型;
具体的,该实施例中,根据MVC模式,基于Web应用的展示层、控制层和持久层的层级结构对开发中涉及的元素进行封装。举例而言,如图3所述,
针对Web应用的展示层,封装得到组件模型包括表单组件模型、页面组件模型,后续可利用表单组件模型、页面组件模型封装开发表单组件、页面组件;
针对Web应用的控制层,封装得到组件模型包括后台服务组件模型、流程组件模型,后续可利用后台服务组件模型、流程组件模型封装开发后台服务组件、流程组件;
针对Web应用的持久层,封装得到组件模型包括数据源组件模型,后续可利用数据源组件模型封装开发数据源组件。
此外需要说明的是,本申请中的组件是一个完成某些特定功能的程序资源集合,封装的组件模型和具体的组件具有相对固定的结构(数据结构)。对应该结构,平台构建有统一的渲染程序,通过渲染得到需要的结果。平台以组件的概念描述开发过程涉及的元素,通过概念的单一化,使得框架在灵活性上得以提高,在实现上统一简单,在稳定性上得到保障。
举例而言,该实施例中,如图4所示,这种固定的结构包括:
id组件标识码,用于标识组件,每个组件有一个且仅有一个ID,是组件的唯一编码;
name组件名称,用于定义组件的名称;
code标识代码,用于对外标识组件的业务信息;
category组件类型,用于定义组件所属分类,例如表单组件、工作流组件、应用组件、模块组件等等;
tpl模板,用于定义组件所使用的模板,一般用在前端界面组件,嵌入一段Freemarker模板,用来渲染组件在前端界面的展示;
script脚本,用于定义组件的动作行为,一般嵌入一段javascript脚本或groovy程序,用来反映组件的动作行为;
attributes参数,用于定义组件的参数信息,由一系列的键、值对所组成,具体的组件参数结构如图4所示;
定义修改***,用于定义组件保存或修改时需执行的操作;
渲染***,定义组件在渲染时需执行的操作;
items子组件:用于容器组件(例如模块组件),定义容器组件包含的子组件;
extends继承属性:用于定义组件的属性及操作继承的父组件的标识信息,即用于定义该子组件继承自哪个父组件;
其他属性:用于对组件进行扩展,可通过其他属性扩展组件的相关属性和行为。
并且还需说明的是,在本发明中的开发平台体系中,基于业务实现,如图5所示,对构成J2EE Web应用***的基础组件进行了划分分类,图5中所示各类型组件都对应有相应的预封装的组件模型。
基于图5中的各类型组件,在本发明中的开发平台体系中,如图6所示,各类型组件间存在着引用关系、包含关系、继承关系和调用关系等关系,通过组件的定义及组件之间的关系定义,可进一步达到业务积累复用的目的。下面对引用关系、包含关系、继承关系和调用关系进行简要说明:
引用关系:是指一个组件依赖于另一个组件的定义。如模块组件,依赖于应用组件的定义;
包含关系:是指一个或一批组件包含于另一个组件。如一个表单组件,包含了表单控件组件;
继承关系:是指子组件继承父组件的属性和操作,通过继承属性,反映组件的重用性,当一个组件的大部分属性和操作在现有的组件中有实现,再需要进行个性化定制时,使用继承属性就可以快速定制出个性化的组件;
调用关系:是指一个组件,在使用时调用另一个组件所提供的功能。如表单组件,在运行时调用服务组件所提供的功能。
继续回到图2,在封装好一系列的组件模型的基础上,继续进行步骤S120,根据业务需求选取组件模型并进行定义配置,以得到开发所需的组件;
如前文所述,本申请中的“组件”是一种概念上的单一化,在实际开发应用中,开发的目的可能是完整的web应用或是web应用中某一部分组件。换而言之,步骤S120中,所指的开发所需的组件可以是仅基于现有组件模型进行简单配置,得到可完成业务功能的完整应用,也可能是基于现有组件模型进行再次封装得到中间功能组件,下面对得到中间功能组件的情况举例说明。
具体的,步骤S120中,为得到中间功能组件,可借助图形化设计工具从组件库中选取组件模型,例如对一些组件模型,可采用拖拽选取的方式;对选取的组件模型进行属性配置,将配置后的组件模型进行链接组合,以得到开发所需的组件。举例而言,如图7所示,开发所需的组件为一功能菜单组件,此时需具体进行的如下步骤:
(1)根据Web应用的业务需求,(选取应用组件模型)进行应用配置,包括填写应用的名称、访问地址、访问权限等相关信息;
(2)根据业务需求分析,对应用功能分类进行划分,进行模块配置,包括基于引用关系选取并基于模块组件模型创建一个新模块组件,填写模块的名称、图标等相关信息。
(3)对后台数据源进行建模,创建包括表名称、表中文名、字段名称、字段中文名称、字段类型、字段长度、字段精度、默认值、是否允许空值、字段中文注释等相关信息。
(4)利用代码编辑器,通过代码编辑器编写后台服务代码,定义需要引入的后台类、定义及编写方法具体实现。后台服务代码采用Groovy脚本语言进行编写。
(5)借助图形化设计工具,提供列表、图表、日期、按钮的等表单控件组件,通过拖拽表单控件组件的方式,设置表单及表单控件的属性,完成整个表单组件的开发和设计。此外容易想到是,还可根据实际应用的需要,扩展表单控件组件,将扩展的表单控件组件注册到图形化设计工具。
(6)借助图形化设计工具,提供流程节点组件,包括开始任务、普通任务、串行任务、并行任务、子流程、传阅、结束任务等流程节点组件,通过拖拽流程节点组件的方式,并设置流程及流程节点的属性,完成整个流程组件的开发和设计。此外容易想到是,还可根据实际应用的需要,扩展流程节点组件,将扩展的流程节点控件组件注册到图形化的设计工具。
(7)在代码编辑器编写页面组件,编写对应的HTML代码段以及Javascript脚本,完成个性化页面的定制开发。
(8)完成应用的功能菜单组件的配置,功能菜单组件的链接可选择已设计完成的表单组件、页面组件等前端界面组件。
至此,得到了所需的功能菜单组件。
并且在S120中,在得到该开发所需的组件之后,还包括,
利用组件管理程序,将得到的开发所需的组件(如上例中的功能菜单组件)保存入组件库,以便实现复用或其他组件调用。
继续回到图2,在得到开发所需的组件的基础上,进行步骤S130,通过组件解释渲染程序对该组件进行加载渲染,以实现Web应用开发。
如前文所述,开发的目的可能是完整的web应用或是web应用中某一部分组件,在本发明的开发体系平台中,无论哪种情况都需通过组件解释渲染程序最终进行加载渲染,完成Web应用开发。
为便于理解本发明,下面在从组件管理、组件处理角度分别对本发明的开发体系平台进行一下介绍。
组件管理角度
组件管理从功能上划分包括组件创建模块、组件存储模块、组件加载模块以及组件渲染模块。
(1)、组件创建模块
其是利用平台提供的各种类型的可视化组件创建工具创建组件,如使用流程设计器创建流程组件,使用表单设计器创建表单组件,使用后台服务器代码编辑器创建后台服务组件,通过组件工具创建的组件,具有相对固定的数据结构,包括组件的基本属性(如组件编号、组件名称、组件分类等)、组件定义的***、组件渲染的***、组件的参数信息、组件包含的子组件等信息,通过开发工具创建的组件,都以统一的json格式封装。
(2)、组件存储模块
通过组件定义工具设计完组件,点击保存操作,将工具生成的json组件封装对象提交到组件存储模块,组件存储模块调用转换程序,将json组件对象转换成java组件对象模型,组件存储模块调用***程序,调用组件定义的存储前***方法,执行存储前需要执行的***方法。组件存储模块根据对应的组件类型、组件分类信息,查找到对应的组件仓库(组件仓库对应的存储***,既可以是各类关系型数据库,如oracle、mysql、sqlserver数据库,也可以是文件***,如FTP存储路径、服务器本地的磁盘路径、mongodb数据库),调用存储程序,将组件保存到对应类型的组件仓库,组件存储模块调用***程序,调用组件定义的***方法,执行组件存储后需要执行的***方法。
(3)、组件加载模块
根据传入的组件编号或组件编号数组,到组件仓库查找符合条件的组件,如果没有找到对应的组件,则返回提示信息给调用程序。
如果找到符合条件的组件,根据组件的类别,选择对应组件的加载器,如表单组件选择表单组件的加载器,后台服务组件选择后台服务的加载器,执行组件加载器的load方法,将组件加载到java组件对象模型中,包括组件的基础属性,组件的参数信息等。
如果组件中包含子组件,则重复上面两个步骤,依次将组件中的子组件也加载到java组件对象模型。
(4)、组件渲染模块
组件接收到渲染指令时,调用组件的模板属性,组件的模板属性信息采用Freemarker模板语言编写,然后传入组件所需要的上下文相关信息,包括用户信息、参数信息以及业务相关的信息,调用Freemarker模板解析引擎将其组装为最终的文件,前端相关的组件(如页面组件、表单组件)渲染成HTML的页面或javascript脚本,后端相关的组件(如后台服务组件)渲染成groovy文件,由groovy编译器编译成最终的java class类文件,如果组件包含子组件,同样调用子组件的模板属性,重复上面的步骤进行渲染,最终渲染成整体的文件。
组件处理角度
概括包括如下步骤:
(1)、通过平台提供的设计开发工具创建组件,如使用表单设计器创建表单组件,工作流设计器创建工作流组件。
(2)、将设计好的组件保存到组件仓库,其他组件可以复用或者调用组件。
(3)、根据组件的唯一编码,到组件仓库中查找对应的组件。
(4)、查找到对应的组件,调用组件解析程序,将组件加载到内存中
(5)、根据组件类型,调用相应的渲染程序,进行组件之间的调用。
综合以上对本申请技术方案的说明介绍,可知相比现有技术中的组件封装概念,本申请的技术方案中,
封装的层次较高,粒度较细;并且在不同开发层次上面,本申请中平台封装的组件具有一套统一的封装标准,诸如组件的属性、参数、行为、继承关系等;传统MVC开发的J2EE组件,针对的是开发过程中的通用业务,而我们平台封装的组件,更多针对的是具体项目、产品,封装的是具体的业务组件。
换言之,概括而言,本申请中的组件封装应该与基于传统J2EE框架所实现的业务代码是同一层级的。传统的MVC框架,是基于代码的方式进行实现,包括页面代码,后台服务代码等,而我们的组件封装,是事先将这些业务的代码进行组件化的封装,通过这些组件化的封装,方便平台基于可视化和低代码的开发,以及方便实现对组件的迁移。
进而由于本申请技术方案中的上述特点,本申请中的J2EE的Web应用的组件化开发方法具备以下有益效果:
通过组件开发方式,具备类集成开发环境(IDE),不需要输入大量的代码来完成各个业务模块,只需要设计好自己的业务逻辑,进行一些简单的配置就可以完成功能模型的快速开发,在此基础上可以对特定需求进行开发扩展。
提高了交付质量,通过采用标准的组件化的开发模式,大大减少了因个人差异和手动数据调用造成低质量交付,也降低了因工作交接等不稳定因素造成的质量波动。
降低了开发成本,通过组件化的开发模式,大大缩短了项目的周期,节省了项目的时间和人力成本;平台对开发和维护人员的要求门槛低,降低了平均人力成本和交接成本,提高了经济效益。
减少了维护成本:通过组件化的开发,当***上线后,如果公司业务发生了变化,能快速地更新或重新建立业务功能模块,方便***维护。
此外,在一个实施例中,本申请提供还一种可读存储介质,其上存储有可执行程序,可执行程序被处理器执行时实现上述方法的步骤。
关于上述实施例中的可读存储介质,其存储的执行程序执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8为本申请一个实施例提供的电子设备的结构示意图,如图8所示,该电子设备8包括:
存储器801,其上存储有可执行程序;
处理器802,用于执行存储器801中的可执行程序,以实现上述方法的步骤。
关于上述实施例中的电子设备8,其处理器802执行存储器801中的程序的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种基于J2EE的Web应用的组件化开发方法,其特征在于,包括:
将Web应用开发中涉及的元素封装为具有固定结构的组件模型;
根据业务需求选取组件模型并进行定义配置,以得到开发所需的组件;
通过组件解释渲染程序对所述组件进行加载渲染,以实现Web应用开发。
2.根据权利要求1所述的组件化开发方法,其特征在于,所述将Web应用开发中涉及的元素封装为具有固定结构的组件模型,包括,
基于Web应用的展示层、控制层和持久层的层级结构对开发中涉及的元素进行封装。
3.根据权利要求2所述的组件化开发方法,其特征在于,
针对Web应用的展示层,封装得到组件模型包括表单组件模型、页面组件模型;
针对Web应用的控制层,封装得到组件模型包括后台服务组件模型、流程组件模型;
针对Web应用的持久层,封装得到组件模型包括数据源组件模型。
4.根据权利要求1所述的组件化开发方法,其特征在于,所述根据业务需求选取组件模型并进行定义配置,以得到开发所需的组件,包括,
借助图形化设计工具从组件库中选取组件模型;
对选取的组件模型进行属性配置,将配置后的组件模型进行链接组合,以得到所述开发所需的组件。
5.根据权利要求4所述的组件化开发方法,其特征在于,所述选取的组件模型为后台服务组件模型,所述对选取的组件模型进行属性配置,具体包括,
通过代码编辑器编写后台服务代码,定义需要引入的后台类、定义及编写方法具体实现。
6.根据权利要求5所述的组件化开发方法,其特征在于,所述后台服务代码采用Groovy脚本语言进行编写。
7.根据权利要求4所述的组件化开发方法,其特征在于,在得到所述开发所需的组件之后,还包括,
利用组件管理程序,将得到的所述开发所需的组件保存入组件库,以便实现复用或其他组件调用。
8.根据权利要求1至7中任一项所述的组件化开发方法,其特征在于,组件模型的固定结构包括:
组件标识码,用于标识组件;
组件名称,用于定义组件的名称;
组件类型,用于定义组件所属分类;
模板,用于定义组件所使用的模板;
脚本,用于定义组件的动作行为;
定义修改***,用于定义组件保存或修改时需执行的操作;
渲染***,定义组件在渲染时需执行的操作;
参数,用于定义组件的参数信息;
子组件:定义容器组件包含的子组件;
继承属性:用于定义组件的属性及操作继承的父组件的标识信息;
其他属性:用于对组件进行扩展。
9.一种可读存储介质,其上存储有可执行程序,其特征在于,所述可执行程序被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有可执行程序;
处理器,用于执行所述存储器中的所述可执行程序,以实现权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911197691.8A CN110989976A (zh) | 2019-11-29 | 2019-11-29 | 基于J2EE的Web应用的组件化开发方法、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911197691.8A CN110989976A (zh) | 2019-11-29 | 2019-11-29 | 基于J2EE的Web应用的组件化开发方法、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110989976A true CN110989976A (zh) | 2020-04-10 |
Family
ID=70088218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911197691.8A Pending CN110989976A (zh) | 2019-11-29 | 2019-11-29 | 基于J2EE的Web应用的组件化开发方法、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110989976A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796816A (zh) * | 2020-06-30 | 2020-10-20 | 四川长虹电器股份有限公司 | 一种定制化业务***的快速开发方法 |
CN112269576A (zh) * | 2020-08-07 | 2021-01-26 | 北京沃东天骏信息技术有限公司 | 一种组件展示方法、装置、服务器和存储介质 |
CN112307400A (zh) * | 2020-11-06 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种一键生成后台管理***web项目的方法及*** |
CN112416338A (zh) * | 2020-11-26 | 2021-02-26 | 上海睿成软件有限公司 | 一种基于标签的代码仓库*** |
CN112860260A (zh) * | 2021-04-25 | 2021-05-28 | 南京苏迪科技有限公司 | 一种在高校场景下基于web的跨平台应用构建工具及方法 |
CN113051355A (zh) * | 2021-04-16 | 2021-06-29 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种单据生成方法、装置、计算机设备及存储介质 |
CN113656012A (zh) * | 2021-08-17 | 2021-11-16 | 广州新科佳都科技有限公司 | 一种轨道交通可视化界面的低代码开发*** |
CN113688141A (zh) * | 2021-10-25 | 2021-11-23 | 武汉万云网络科技有限公司 | 一种应用功能设计方法及软件开发平台 |
CN113835691A (zh) * | 2021-09-27 | 2021-12-24 | 工银科技有限公司 | 一种iOS应用开发方法、***、设备、介质和程序产品 |
CN114003213A (zh) * | 2020-07-28 | 2022-02-01 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备 |
CN114115815A (zh) * | 2021-11-15 | 2022-03-01 | 成都四方伟业软件股份有限公司 | 一种基于动态实体对象使用orm框架的方法及装置 |
CN115438050A (zh) * | 2022-11-07 | 2022-12-06 | 杭州兆林科技有限公司 | 一种分级低代码开发平台 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059127A1 (en) * | 2004-09-15 | 2006-03-16 | International Business Machines Corporation | Method, system, and storage medium for facilitating application development |
CN101114226A (zh) * | 2007-08-28 | 2008-01-30 | 北京中企开源信息技术有限公司 | 一种基于模型组件的代码自动生成装置、***及方法 |
CN101158896A (zh) * | 2007-08-31 | 2008-04-09 | 南京联创科技股份有限公司 | 基于mvc的业务组装和页面模板化开发web平台的方法 |
CN102331925A (zh) * | 2010-11-05 | 2012-01-25 | 周尚民 | 软件快速开发平台 |
CN103197932A (zh) * | 2013-04-19 | 2013-07-10 | 济南大学 | 一种开发无模式文档型数据库应用的业务组件模型 |
CN103761082A (zh) * | 2013-12-31 | 2014-04-30 | 湖南大唐先一科技有限公司 | 一种组件化研发模式与领域驱动模型相结合的应用开发***及平台 |
CN104216691A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种创建应用的方法及装置 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行***客户端快速开发框架及其软件开发方法 |
CN106909361A (zh) * | 2015-12-23 | 2017-06-30 | 任子行网络技术股份有限公司 | 基于模版引擎的web开发方法和装置 |
CN107229471A (zh) * | 2017-05-24 | 2017-10-03 | 成都四象联创科技有限公司 | 应用***的按需个性化方法 |
CN107305494A (zh) * | 2017-06-28 | 2017-10-31 | 户帮户(杭州)科技有限公司 | 一种企业级***研发框架 |
CN107678745A (zh) * | 2017-09-25 | 2018-02-09 | 南京中新赛克科技有限责任公司 | 基于页面组件化的***和方法 |
CN107844299A (zh) * | 2017-12-01 | 2018-03-27 | 浪潮软件股份有限公司 | 一种Web应用开发工具的实现方法 |
CN109117119A (zh) * | 2018-07-02 | 2019-01-01 | 成都四方伟业软件股份有限公司 | 一种多态组件融合方法 |
CN110175027A (zh) * | 2019-05-14 | 2019-08-27 | 广州衡昊数据科技有限公司 | 一种开发业务功能的方法和装置 |
-
2019
- 2019-11-29 CN CN201911197691.8A patent/CN110989976A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059127A1 (en) * | 2004-09-15 | 2006-03-16 | International Business Machines Corporation | Method, system, and storage medium for facilitating application development |
CN101114226A (zh) * | 2007-08-28 | 2008-01-30 | 北京中企开源信息技术有限公司 | 一种基于模型组件的代码自动生成装置、***及方法 |
CN101158896A (zh) * | 2007-08-31 | 2008-04-09 | 南京联创科技股份有限公司 | 基于mvc的业务组装和页面模板化开发web平台的方法 |
CN102331925A (zh) * | 2010-11-05 | 2012-01-25 | 周尚民 | 软件快速开发平台 |
CN103197932A (zh) * | 2013-04-19 | 2013-07-10 | 济南大学 | 一种开发无模式文档型数据库应用的业务组件模型 |
CN104216691A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种创建应用的方法及装置 |
CN103761082A (zh) * | 2013-12-31 | 2014-04-30 | 湖南大唐先一科技有限公司 | 一种组件化研发模式与领域驱动模型相结合的应用开发***及平台 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行***客户端快速开发框架及其软件开发方法 |
CN106909361A (zh) * | 2015-12-23 | 2017-06-30 | 任子行网络技术股份有限公司 | 基于模版引擎的web开发方法和装置 |
CN107229471A (zh) * | 2017-05-24 | 2017-10-03 | 成都四象联创科技有限公司 | 应用***的按需个性化方法 |
CN107305494A (zh) * | 2017-06-28 | 2017-10-31 | 户帮户(杭州)科技有限公司 | 一种企业级***研发框架 |
CN107678745A (zh) * | 2017-09-25 | 2018-02-09 | 南京中新赛克科技有限责任公司 | 基于页面组件化的***和方法 |
CN107844299A (zh) * | 2017-12-01 | 2018-03-27 | 浪潮软件股份有限公司 | 一种Web应用开发工具的实现方法 |
CN109117119A (zh) * | 2018-07-02 | 2019-01-01 | 成都四方伟业软件股份有限公司 | 一种多态组件融合方法 |
CN110175027A (zh) * | 2019-05-14 | 2019-08-27 | 广州衡昊数据科技有限公司 | 一种开发业务功能的方法和装置 |
Non-Patent Citations (1)
Title |
---|
龙飞等: "构件化开发方法在J2EE项目中的应用", 《计算机工程与设计》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796816A (zh) * | 2020-06-30 | 2020-10-20 | 四川长虹电器股份有限公司 | 一种定制化业务***的快速开发方法 |
CN114003213A (zh) * | 2020-07-28 | 2022-02-01 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备 |
CN112269576A (zh) * | 2020-08-07 | 2021-01-26 | 北京沃东天骏信息技术有限公司 | 一种组件展示方法、装置、服务器和存储介质 |
CN112307400A (zh) * | 2020-11-06 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种一键生成后台管理***web项目的方法及*** |
CN112416338A (zh) * | 2020-11-26 | 2021-02-26 | 上海睿成软件有限公司 | 一种基于标签的代码仓库*** |
CN113051355A (zh) * | 2021-04-16 | 2021-06-29 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种单据生成方法、装置、计算机设备及存储介质 |
CN112860260A (zh) * | 2021-04-25 | 2021-05-28 | 南京苏迪科技有限公司 | 一种在高校场景下基于web的跨平台应用构建工具及方法 |
CN113656012A (zh) * | 2021-08-17 | 2021-11-16 | 广州新科佳都科技有限公司 | 一种轨道交通可视化界面的低代码开发*** |
CN113835691A (zh) * | 2021-09-27 | 2021-12-24 | 工银科技有限公司 | 一种iOS应用开发方法、***、设备、介质和程序产品 |
CN113835691B (zh) * | 2021-09-27 | 2024-06-11 | 工银科技有限公司 | 一种iOS应用开发方法、***、设备、介质和程序产品 |
CN113688141A (zh) * | 2021-10-25 | 2021-11-23 | 武汉万云网络科技有限公司 | 一种应用功能设计方法及软件开发平台 |
CN114115815A (zh) * | 2021-11-15 | 2022-03-01 | 成都四方伟业软件股份有限公司 | 一种基于动态实体对象使用orm框架的方法及装置 |
CN115438050A (zh) * | 2022-11-07 | 2022-12-06 | 杭州兆林科技有限公司 | 一种分级低代码开发平台 |
CN115438050B (zh) * | 2022-11-07 | 2023-02-17 | 杭州兆林科技有限公司 | 一种分级低代码开发平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110989976A (zh) | 基于J2EE的Web应用的组件化开发方法、存储介质和电子设备 | |
US9916134B2 (en) | Methods and systems for accessing distributed computing components through the internet | |
US20030200533A1 (en) | Method and apparatus for creating software objects | |
US8448132B2 (en) | Systems and methods for modifying code generation templates | |
US20160004516A1 (en) | Code Generation Framework for Application Program Interface for Model | |
CN109189469B (zh) | 基于反射的安卓应用微服务化方法及*** | |
US20060053410A1 (en) | Methods and systems for supporting and deploying distributed computing components | |
CN109189374B (zh) | 基于对象引用链的对象构造代码生成方法及*** | |
US20090144703A1 (en) | Method and system for versioning a software system | |
JP2006107479A (ja) | ワークフロー領域内の分野横断的動作問題(cross−cuttingbehavioralconcerns)をモデル化するためのフレームワーク | |
JP2006107481A (ja) | 設計時および実行時にワークフローを継ぎ目なくオーサリングし編集するためのフレームワーク | |
CN103617037A (zh) | 用于web开发***的开发方法和web开发*** | |
Kahani et al. | Comparison and evaluation of model transformation tools | |
CN112148278A (zh) | 可视化的区块链智能合约框架及智能合约开发部署方法 | |
da Silva et al. | XIS-UML profile for extreme modeling interactive systems | |
CN104317559A (zh) | 基于gmf的可视化建模平台 | |
Gamito et al. | From rigorous requirements and user interfaces specifications into software business applications | |
Engels et al. | Towards model-driven unit testing | |
da Cruz et al. | A metamodel-based approach for automatic user interface generation | |
US20230350643A1 (en) | Developing a software product in a no-code development platform to address a problem related to a business domain | |
Serna et al. | Dash: A new language for declarative behavioural requirements with control state hierarchy | |
CN114064218A (zh) | 用于机器学习组件中的镜像生成方法、***、介质及应用 | |
Koznov et al. | View to view transformations in domain specific modeling | |
Riccobene et al. | Modelling SystemC process behavior by the UML method state machines | |
Raneburger et al. | An iterative and incremental process for interaction design through automated GUI generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200410 |