一种业务系统及其动态页面的渲染方法

文档序号:6371815阅读:157来源:国知局
专利名称:一种业务系统及其动态页面的渲染方法
技术领域
本发明涉及计算机领域,特别是涉及一种业务系统及其动态页面的渲染方法。
背景技术
在运行期间定制性要求(如界面、流程)较高的应用系统,一般采用C/S架构,这主要是由于通过客户端程序对用户界面可以较容易的进行灵活、复杂的定制,但用户在使用时必须在本地安装客户端程序,而且难于跨多个操作系统平台。在企业应用中一般是采用B/S架构,对B/S架构中,对于可定制用户界面的需求越来越高,业界也针对这种需求提出了多种解决方案,例如,通过元数据描述的方式记录页面中某些字段的信息,并配合页面模板产生实际页面,但目前还没有可以提供包括渲染和响应请求的完整的动态页面解决方案;不仅如此,对于较复杂的界面页面交互功能(如级联下 拉、异步请求、可编辑表格等),目前也没有较完善的解决方案。所以,有必要提供一种新的一种业务系统及其动态页面的渲染方法,以使页面可以支持用户在业务系统运行期间新增页面或修改页面的布局和元素、动态产生的页面可响应用户的基本增删改查操作、支持多级子页面、异步请求、字段校验等多种复杂操作。

发明内容
本发明的目的在于提供一种业务系统及其动态页面的渲染方法,可以解决了 B/S架构的业务系统对于运行时期间界面可定制的需求,并可以与工作流引擎集成,实现流程、界面的全面定制,可以支持用户在系统运行期间动态地新增页面或修改页面的布局和元素、动态产生的页面可响应用户的基本增删改查操作、支持多级子页面、异步请求、字段校验等多种复杂操作。为解决以上技术问题,本发明提供一种业务系统动态页面的渲染方法,包括步骤I、在业务系统中添加页面处理类和继承公共页面处理类,传递特定业务中的用户请求;步骤2、业务系统调用业务逻辑处理接口,传递业务逻辑处理请求;步骤3、根据业务系统传递的用户请求及业务逻辑请求,确定业务实体的自定义字段和组件,生成所述业务实体的配置页面描述文件;步骤4、将生成的页面描述文件渲染为业务实体配置页面。进一步地,述步骤3具体包括根据业务系统传递的用户请求及业务逻辑请求,确定业务实体的组件和自定义字段及其描述信息;根据确定的组件及自定义字段及其描述信息生成业务实体的配置页面描述文件。进一步地,生成页面描述文件的方法如下在配置页面中选定使用的组件,将这些组件与自定义字段进行绑定,之后根据选定的组件以及自定义字段及其描述信息配置出页面描述文件。
进一步地,所述步骤4的页面渲染方式为渲染采用自顶向下,逐级渲染的方式。进一步地,所述渲染采用自顶向下,逐级渲染的方式,具体为首先渲染页面的最顶级组件,最顶层组件以相同渲染方式渲染自己的子组件,当最顶级组件渲染返回时,定制页面渲染完毕。为解决以上技术问题,本发明还提供一种业务系统,包括动态页面处理装置,所述动态页面处理装置包括自定义字段模块,组件模型模块,渲染管线模块,所述自定义字段模块,提供业务实体所需的自定义字段及其描述信息;所述组件模型模块,提供配置页面的组件模型,以及根据选定的组件以及选定的自定义字段及其描述信息生成页面描述文件;所述渲染管线模块,用于将组件模型模块生成的页面描述文件渲染为业务实体配置页面。
进一步地,所述组件模型模块中组件模型是以面向对象方式描述用户界面的数据结构,并以XML格式持久化到数据库中。进一步地,所述组件模型模块生成页面描述文件的方法是在配置页面中选定使用的组件,将这些组件与自定义字段进行绑定,之后根据选定的组件以及自定义字段及其描述信息配置出页面描述文件。进一步地,所述渲染管线模块的渲染过程是首先渲染页面的最顶级组件,最顶层组件以相同渲染方式渲染自己的子组件,当最顶级组件渲染返回时,定制页面渲染完毕。进一步地,所述装置还进一步包括请求响应服务模块,负责接收业务系统请求,以及将响应结果返回给业务系统。与现有技术相比,本发明提供的一种业务系统及其动态页面的渲染方法,可以支持用户在业务系统运行期间动态地新增页面或修改页面的布局和元素、动态产生的页面可响应用户的基本增删改查操作、支持多级子页面、异步请求、字段校验等多种复杂操作;解决了 B/S架构的应用系统对于运行时期间界面可定制的需求,并可以与工作流引擎集成,实现流程、界面的全面定制。


此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是本发明提供一种动态渲染页面的业务系统的结构示意图。图2是本发明提供一种基于浏览器的动态页面处理装置的结构示意图。图3是本发明提供一种业务系统动态页面的渲染方法的流程图。
具体实施例方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。本发明提供一种基于浏览器的动态页面处理技术,由“自定义字段、组件模型、渲染管线、请求响应服务”四个组成部分自定义字段模块用来扩展业务属性,保证了业务实体的可扩展性;组件模型是页面的物理模型,是定制页面的基础,每个页面均有模型中的组件组成,组件模型以及自定义字段构成用户实际使用的页面描述文件(XML文件);渲染管线负责将页面描述文件(XML)渲染为用户最终可操作的HTML页面;请求响应服务接收用户的HTTP请求,以及将响应结果通过渲染管线以HTML形式返回给浏览器客户端。如图I所示,本发明提供一种动态渲染页面的业务系统100,包括动态页面处理装置200,所述动态页面处理装置200是基于浏览器的环境下,实现了 B/S架构的系统界面的动态渲染以及响应用户的请求,包括自定义字段模块20、组件模型模块30、渲染管线模块40、请求响应服务模块10。如图2所示。该自定义字段模块20,提供业务实体所需的不同类型的自定义字段及这些自定义字段描述信息,用于扩展业务实体属性,保证业务实体的可扩展性。用户界面在显示、处理业务过程中,会涉及到业务实体,一般会要求业务实体的字段是可以扩展,自定义字段模块20是用来扩展业务实体属性的,即用户可以通过自定义字 段来修改和扩展业务实体所描述的内容。其中,该业务实体,是通过一定的逻辑处理后产生的一个实体对象。在本发明实施例中,通过自定义字段模块20,可以在对应的业务实体中预留出多个不同类型的自定义字段(例如10个字符串,5个整型等),保证了业务实体的可扩展性。当在页面中使用这些自定义字段时,需要先对要使用的自定义字段进行定义,否则系统无法正常渲染和处理这些字段,定义的内容包括字段名称和数据模型等描述信息,其中,数据模型是针对某个字段的取值范围,例如需要将一个自定义字段渲染为一个下拉框,那么就要定义这个下拉框中待选值是如何获取的。该组件模型模块30,是配置页面的基础,提供配置页面所需的组件模型,该组件模型模块30根据选定的组件以及选定的自定义字段及其描述信息生成页面描述文件。组件模型模块30中组件模型是以面向对象方式描述用户界面的数据结构,并以XML格式持久化到数据库中。组件模型是构成页面描述文件的基础,一个配置页面可以由文本框、下拉框、表格等多个组件组成,在本发明中,首先对这些组件建立组件模型,当在配置页面中使用这些组件时,需要这些组件与自定义字段进行绑定,即赋予选定组件一个实际的意义(即表示的是哪个字段,如名称、性别等),在组件与字段绑定时,上述自定义字段模块所产生字段描述信息就是该组件的实际意义。之后根据选定的组件以及自定义字段及其描述信息配置出配置页面描述文件(XML),并将页面描述文件以XML格式持久化到数据库中。该组件模型模块30包含了七类组件全局类、容器类、字段类、条件分支、渲染器、对话框、复合组件。全局类组成页面的主体元素以及头信息中包含的元素,如Page、Header、Body、Title 等。容器类可包含其他任意Element元素,如Div、Column、CaptionPanel等。字段类可以与业务实体中的某个字段绑定,用于提交或展示一定内容的组件,如TextField、LabelFielcU DateField 等。条件分支用于进行逻辑判断,并根据结果进行内容渲染组件,包括If、Else、ElsIf0
渲染器可为某个组件提供额外的渲染效果(超链接、样式等),如LinkRender、StyleRender 等。对话框用于显示系统的提示信息,例如MessageBox。复合组件由多个基本HTML标签组成,可展示和处理较复杂内容的组件,如GridTable、TabPanel 等。该渲染管线模块40,用于将组件模型模块30生成的页面描述文件渲染为配置页面。在渲染配置页面时,先要准备以下动作业务实体、实体描述、页面定义。其中,业务实体,通过一定的逻辑处理后产生的一个实体对象;实体描述,基于自定义字段模块产生对业务实体中各个自定义字段的描述信息;页面定义,由组件模型模块30中定义的各个组件模型所组成的XML格式的描述文件。 在渲染过程中,采用自顶向下,逐级渲染的方式。渲染管线模块40首先渲染页面的最顶级组件,此最顶层组件以相同渲染方式负责渲染自己的子组件,每个组件再以相同渲染方式再负责渲染自己的子组件,当最顶级组件渲染返回时,定制页面渲染完毕。所有组件定义了统一的渲染接口,接口描述如下BeginRender :做渲染前准备,并渲染组件的开始标签。RenderBody :渲染组件主体内容,如果此组件包含子组件,贝U在此渲染子组件。AfterRender :渲染组件结束标签,并清理、释放渲染过程中临时数据。渲染过程如下渲染组件的开始标签,并同时进行组件内循环、多语言、变量替换等预处理工作;渲染组件的主体内容,如果此组件包含子组件,则在此渲染子组件,子组件具有相同的渲染过程;渲染组件的结束标签,并清理、释放渲染过程中的临时数据。该请求响应服务模块10,负责接收业务系统请求,以及将响应结果通过渲染管线模块10以HTML形式返回给业务系统。请求响应服务模块10,包括请求类型,请求参数,导航栈,页面类。请求类型按照常见的系统功能,可以把用户操作归为以下几类导航类(GET请求):新增导航、修改导航、查看导航,点击一个超链接,后台处理后返回一个业务实体,同时请求中转到一个新的页面,并返回的业务实体填充此页面。提交类(POST请求)新增提交、修改提交,在新增或修改的编辑页面中,点击保存按钮,将页面以表单提交的方式提交到后台,后台对数据进行处理后,将请求中转到进入编辑页面前的页面。查询类(GET请求或POST请求):分两种情况,一种是点击超链接进入页面,后台执行查询操作返回一个结果集,同时请求中转到一个新页面;第二种是在查询页面中,点击查询按钮,将查询条件表单提交到后台,后台执行查询操作返回一个结果集以及前一次查询的条件,同时请求中转到相同的查询页面。删除类(GET请求)点击一个超链接,后台执行删除操作,同时请求中转到相同页面。返回类(GET请求):点击一个超链接,返回到当前页面之前的页面(类似于浏览器的后退)。请求参数针对于GET类型的请求,每种请求类型需要定义统一的请求路径和参数,以便引擎可以识别这些请求并作出正确响应。导航类/page/type/instance_code/target_form/ob ject_id
权利要求
1.一种业务系统动态页面的渲染方法,其特征在于,包括 步骤I、在业务系统中添加页面处理类和继承公共页面处理类,传递特定业务中的用户请求; 步骤2、业务系统调用业务逻辑处理接口,传递业务逻辑处理请求; 步骤3、根据业务系统传递的用户请求及业务逻辑请求,确定业务实体的自定义字段和组件,生成所述业务实体的配置页面描述文件; 步骤4、将生成的页面描述文件渲染为业务实体配置页面。
2.如权利要求I所述的方法,其特征在于,所述步骤3具体包括 根据业务系统传递的用户请求及业务逻辑请求,确定业务实体的组件和自定义字段及其描述信息; 根据确定的组件及自定义字段及其描述信息生成业务实体的配置页面描述文件。
3.如权利要求2所述的方法,其特征在于,生成页面描述文件的方法如下在配置页面中选定使用的组件,将这些组件与自定义字段进行绑定,之后根据选定的组件以及自定义字段及其描述信息配置出页面描述文件。
4.如权利要求I所述的方法,其特征在于,所述步骤4的页面渲染方式为渲染采用自顶向下,逐级渲染的方式。
5.如权利要求4所述的方法,其特征在于,所述渲染采用自顶向下,逐级渲染的方式,具体为首先渲染页面的最顶级组件,最顶层组件以相同渲染方式渲染自己的子组件,当最顶级组件渲染返回时,定制页面渲染完毕。
6.一种业务系统,其特征在于,包括动态页面处理装置,所述动态页面处理装置包括自定义字段模块,组件模型模块,渲染管线模块, 所述自定义字段模块,提供业务实体所需的自定义字段及其描述信息; 所述组件模型模块,提供配置页面的组件模型,以及根据选定的组件以及选定的自定义字段及其描述信息生成页面描述文件; 所述渲染管线模块,用于将组件模型模块生成的页面描述文件渲染为业务实体配置页面。
7.如权利要求6所述的系统,其特征在于,所述组件模型模块中组件模型是以面向对象方式描述用户界面的数据结构,并以XML格式持久化到数据库中。
8.如权利要求6所述的系统,其特征在于,所述组件模型模块生成页面描述文件的方法是在配置页面中选定使用的组件,将这些组件与自定义字段进行绑定,之后根据选定的组件以及自定义字段及其描述信息配置出页面描述文件。
9.如权利要求6所述的系统,其特征在于,所述渲染管线模块的渲染过程是首先渲染页面的最顶级组件,最顶层组件以相同渲染方式渲染自己的子组件,当最顶级组件渲染返回时,定制页面渲染完毕。
10.如权利要求6所述的系统,其特征在于,所述装置还进一步包括请求响应服务模块,负责接收业务系统请求,以及将响应结果返回给业务系统。
全文摘要
本发明提供一种业务系统动态页面的渲染方法,包括步骤1、在在业务系统中添加页面处理类和继承公共页面处理类,传递特定业务中的用户请求;步骤2、业务系统调用业务逻辑处理接口,传递业务逻辑处理请求;步骤3、根据业务系统传递的用户请求及业务逻辑请求,确定业务实体的自定义字段和组件,生成所述业务实体的配置页面描述文件;步骤4、将生成的页面描述文件渲染为业务实体配置页面。本发明还提供一种业务系统。通过本发明提供一种业务系统及其动态页面的渲染方法,可以解决B/S架构的业务系统对于运行时期间界面可定制的需求,并可以与工作流引擎集成,实现流程、界面的全面定制。
文档编号G06F9/44GK102779164SQ20121020524
公开日2012年11月14日 申请日期2012年6月20日 优先权日2012年6月20日
发明者高正 申请人:深圳市远行科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1