一种基于实体的软件框架系统及运行方法技术方案

技术编号:2844797 阅读:294 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种基于实体的软件框架系统及运行方法,系统启动后,控制器调用配置文件加载实体信息;用户通过通用视图模块发出请求,所述控制器将所述请求转发给通用业务逻辑执行模块,所述通用业务逻辑执行模块根据实体信息和用户请求中信息执行业务逻辑,向所述控制器返回执行结果;所述通用视图模块显示所述执行结果。采用本发明专利技术方法,可实现基于本软件框架的快速二次开发。

【技术实现步骤摘要】

本专利技术涉及软件
,尤其涉及基于实体的软件框架系统及运行方法
技术介绍
随着J2EE技术的发展,对各种基于Java技术的软件框架的研究和应用也上了一个新的台阶,许多优秀的软件框架,如struts、hibernate等正广泛应用于不同行业、不同规模的软件开发中。目前比较流行的几种软件框架都是面向开发者提出的,即仍需要软件框架的使用者具备一定的软件开发能力,同时对J2EE各种技术也要有一定的了解,从而限制了框架的应用层面,也不利于进一步提高开发效率、降低成本。目前应用最广的软件框架是APACHE软件基金会的开源项目struts(http//struts.apache.org/)。该框架基于MVC(Model,View,Controller,模型、视图、控制器)模式,采用前端控制器处理客户端交互、业务逻辑模块执行,并提供了一系列JSP(Java Server Pages,Java服务器页面)标签以简化开发人员的工作。struts的系统架构如图1如示,前端控制器是struts的核心模块,它主要负责下列工作1.在启动时加载配置文件、资源文件,2.截获JSP页面的请求,根据配置文件的定义,将请求转发给指定的业务逻辑执行模块进行处理,3.业务逻辑处理完毕后,根据配置文件的定义,定向到指定的视图(JSP页面)。图中以虚线框包含的部分—业务逻辑执行模块、JSP页面是开发者需要自行开发的。为了简化用户的开发,Struts提供了一系列机制,包括提供页面标签,封装常用的功能以满足用户的页面校验、国际化等需求。图2为一个简单的struts调用过程,对其中各对象的说明如下JSP指jsp页面,起用户视图的作用;ActionForm相当于一个封装业务数据的容器,使数据能在JSP和业务逻辑执行模块中传递,并提供一些基于ActionForm的校验机制。每个ActionForm包括若干域,每一个域就是一项业务数据。ActionForm可以由开发者定制,在代码中指定各个域;也可以用struts提供的通用模板,在配置文件中描述其中的域;控制器负责控制功能的一组组件,负责系统初始化时配置文件的读取、系统运行时转发请求给业务逻辑执行模块、选择合适的用户视图等;Action业务逻辑执行模块,每个Action负责处理一个特定的业务逻辑。整个流程的说明如下1.JSP页面对ActionForm的数据进行处理,其中包括a)数据读取,即获取从前面JSP或者Action中处理过的ActionForm中处理过的数据并显示出来,b)数据赋值,即通过用户输入,将ActionForm中的域赋值;2.JSP提交请求给控制器;3.控制器根据配置文件的定义,将请求转发到指定的Action进行处理;4.Action接收到请求,从ActionForm中读取所需要的业务数据;5.Action执行业务逻辑,包括查询、修改数据库或者进行运算等(Action执行完业务逻辑后,也可以向ActionForm中赋值);6.Action将处理权还给控制器模块;7.控制器根据配置文件的定义,选择相应的JSP展现用户视图。Struts作为目前应用面最广、最为成熟的web框架,具有许多优点,但是如上所述,由于它是面向J2EE开发者提出的,其中的JSP、Action部分,有些时候包括ActionForm部分都需要开发者编写程序实现,因此需要框架使用者熟悉J2EE技术。即对于熟练的java开发者来说,使用struts来构建自己的系统能带来很大的方便,而对于那些不熟悉java的开发者来说则显得相当困难。从系统功能的方面来看,struts虽然是一个功能强大的框架,但是也有相当大的部分没有涉及,最主要的是不能自动生成用户视图和完成数据持久化。而J2EE开发中,这两部分是相当繁琐的,即使使用者已经掌握J2EE技术,仍然需要花费大量的时间进行编码和调试。这使得项目的开发成本不能进一步降低。
技术实现思路
本专利技术提供,使系统管理人员能迅速搭建起一个大型应用系统。本专利技术一实施例提供一种基于实体的软件框架系统运行方法,包括步骤系统启动后,控制器调用配置文件加载实体信息;用户通过通用视图模块发出请求,所述控制器将所述请求转发给通用业务逻辑执行模块,所述通用业务逻辑执行模块根据实体信息和用户请求中信息执行业务逻辑,向所述控制器返回执行结果;所述通用视图模块显示所述执行结果。可选地,用户通过通用视图模块发出请求进一步包括步骤用户进入通用页面上发出请求,通用视图模块向控制器发送请求,所述控制器查询实体信息后,通用视图模块根据查询到的所述实体信息,生成视图界面,所述用户通过所述视图界面发送进一步的请求,所述请求包括数据信息。可选地,所述通用业务逻辑执行模块根据实体信息和用户请求中信息执行业务逻辑进一步包括步骤所述通用业务逻辑执行模块向所述控制器请求实体信息,控制器读取实体信息并返回给通用业务逻辑执行模块,通用业务逻辑执行模块根据实体信息和请求中信息执行业务逻辑。可选地,需增加新的视图或业务逻辑时,在所述配置文件中注册新增包含视图的实体信息或定制业务逻辑执行模块,重新加载所述配置文件。本专利技术一实施例提供一种基于实体的软件框架系统,包括通用视图模块,用于接收用户请求,并根据实体信息生成用户视图界面;通用业务逻辑执行模块,用于接收控制器转发来的请求,根据实体信息执行业务逻辑,并返回控制器执行结果;控制器,用于转发请求给通用业务逻辑执行模块,接收来自通用视图模块的请求,并向通用视图模块发送实体信息、视图信息或执行结果。优选地,所述控制器还包含配置文件读取模块,用于被控制器调用,以加载配置文件中的实体信息。优选地,所述系统还包括定制逻辑执行模块,所述定制逻辑执行模块在配置文件中注册,被控制器调用。本专利技术方案的有益效果如下本专利技术提出的软件框架基于实体实现,无需二次开发者编码、修改通用视图模块,控制器和通用业务逻辑执行模块,利用配置的方式即可生成用户视图,完成数据持久化,是完全面向系统管理人员提出的。开发人员、DBA、系统维护员、配置管理员、甚至是从未写过一行程序的人都能使用此框架迅速建立起自己的应用系统。且此框架能与企业已有应用系统整合,能溶入整个EIS中。1.能在短时间内迅速搭建大型应用,大幅降低了软件项目的开发成本根据在实际项目中的实践对比,运用本系统搭建J2EE应用,将使开发成本降到原来的1/20到1/30。以我司S项目为例,对比2个规模相似的子系统的J2EE部分,其中一个是按照传统方式,以Struts为架构进行开发,6名开发人员共花费15个人月完成,而另一子系统采用本系统架构,仅分配一人对配置文件进行修改,在2周内完成。2.提高软件质量,增加客户满意度由于应用本架构可做到不编写代码或者只编写极少量代码,因此减少了开发过程中编码产生的错误,提高了软件质量。附图说明图1为现有技术struts的系统结构框图;图2为现有技术struts的调用流程图;图3为本专利技术一实施例的系统结构框图;图4为本专利技术一实施例的系统运行流程图;图5为本专利技术另一实施例的查询执行流程图;图6为图5所示流程查询结果示意图。具体实施例方式以下将结合附图对本专利技术实施例进行说明。本专利技术一个实施例的系统结构框图如图3所示,其中实线部分为系统的通用部分,虚线本文档来自技高网
...

【技术保护点】
一种基于实体的软件框架系统运行方法,其特征在于,包括步骤:系统启动后,控制器调用配置文件加载实体信息;用户通过通用视图模块发出请求,所述控制器将所述请求转发给通用业务逻辑执行模块,所述通用业务逻辑执行模块根据实体信息和用户请 求中信息执行业务逻辑,向所述控制器返回执行结果;所述通用视图模块显示所述执行结果。

【技术特征摘要】
1.一种基于实体的软件框架系统运行方法,其特征在于,包括步骤系统启动后,控制器调用配置文件加载实体信息;用户通过通用视图模块发出请求,所述控制器将所述请求转发给通用业务逻辑执行模块,所述通用业务逻辑执行模块根据实体信息和用户请求中信息执行业务逻辑,向所述控制器返回执行结果;所述通用视图模块显示所述执行结果。2.如权利要求1所述的方法,其特征在于,所述实体信息包括实体基本信息和实体关系,述实体基本信息包括实体对应的表、实体包含的字段,实体的读取,存储属性。3.如权利要求1所述的方法,其特征在于,用户通过通用视图模块发出请求进一步包括步骤用户进入通用页面上发出请求,通用视图模块向控制器发送请求,所述控制器查询实体信息后,通用视图模块根据查询到的所述实体信息,生成视图界面,用户通过所述视图界面发送进一步的请求,所述请求包括数据信息。4.如权利要求1或3所述的方法,其特征在于,所述通用业务逻辑执行模块根据实体信息和用户请求中信息执行业务逻辑进一步包括步骤所述通用业务逻辑执行模块向所述控制器请求实体信息,控制器读取实体信息并返回给通用业务逻辑执行模块,通用业务逻辑执行模块根据实体信息和请求中信息执行业务逻辑。5.如权利要求1或...

【专利技术属性】
技术研发人员:成斌
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1