一种基于ria的客户端框架结构及其实现方法

文档序号:6377555阅读:208来源:国知局
专利名称:一种基于ria的客户端框架结构及其实现方法
技术领域
本发明涉及一种客户端框架结构及其实现方法,更具体地说是指一种基于RIA的客户端框架结构及其实现方法。
背景技术
富互联网应用程序(RIA)技术能够将传统桌面应用的强大功能特性和Web应用的部署灵活性和低成本性结合起来,具有良好的表现能力和交互能力,更能够满足用户直观和具交互性的在线体验。RIA主流技术基于Adobe Flash、Microsoft SilverLight等解决方案,在服务器端提供相应的开发框架(如FLEX等)、在客户端以插件或播放器方式实现RIA支持。现有RIA技术没有提供客户端框架,现有基于JavaScript的客户端框架(如ExtJS)又和RIA技术没 有关联,因而RIA客户端框架是ー个空白。

发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于RIA的客户端框架结构及其实现方法。为实现上述目的,本发明采用以下技术方案一种基于RIA的客户端框架结构,该框架包括动态脚本和程序构件,所述的动态脚本用于存储业务逻辑模块返回的结果,同时为程序构件提供相关数据,是业务逻辑模块和程序构件之间的接ロ ;所述的程序构件包括实体应用模块、内容加载器、脚本解析器、对象发生器、渲染引擎模块、命令执行器和对象库;程序构件根据动态脚本动态生成图形界面。其中的业务逻辑模块指的是系统架构中的业务逻辑层(系统架构包括三层,分别为表示层,业务逻辑层和数据访问层)。其进ー步技术方案为所述动态脚本自定义的内容包括基本语法、程序界面布局、控件、命令和图标;所述的命令执行器用于响应用户相应的操作,并执行相关的命令;所述的对象库是根据RIA技术预制的Π集。其进ー步技术方案为所述的实体应用模块是根据用户需求开发的应用模块;所述的渲染引擎模块包括布局管理器和界面渲染器。其进ー步技术方案为所述的内容加载器用于加载动态脚本;所述的脚本解析器用于解析动态脚本,并将相关数据发给对象发生器。其进ー步技术方案为所述的对象发生器是根据脚本解析器发来的数据动态生成相应的Web UI部件,并将该部件传送给渲染引擎。其进ー步技术方案为所述的渲染引擎模块将对象发生器传送过来的Web UI部件和对象库的对象渲染成图形化界面。一种基于RIA的客户端框架结构的实现方法,包括以下步骤I)初始化实体应用模块在初始化过程中,框架根据配置文件对实体应用模块进行初始化;2)内容加载实体应用模块会调用内容加载器加载动态脚本,如果该命令有URL请求,则加载URL请求并传给接ロ ;实体应用模块初始化时,内容加载器会从动态脚本上加载引导页;3)脚本解析脚本解析器解析动态脚本的树形结构,根据具体需要调用内容加载器加载动态脚本,同时将解析的数据传给对象发生器;实体应用模块初始化时,脚本解析器主要用于解析引导页;4)对象创建对象发生器根据脚本解析器传过来的数据创建对应的对象,在实体应用模块初始化吋,对象发生器根据相关数据生成界面框架、窗体、自动导航和页面控件等内容;5)布局管理渲染引擎模块将对相关的对象进行自动排版; 6)界面渲染渲染引擎模块加载资源文件和对象库的对象并对相关数据进行渲染;7)动作和事件监听在完成实体应用模块初始化之后,会不断对应用实体进行监听,以至能及时响应用户的操作;8)动作响应用户对实体应用模块进行操作时,对该操作进行合法性判断;如果该操作不合法,将错误信息返回给实体应用模块,否则调用相应的处理函数进行处理;9)命令执行在执行命令过程中,先判断该命令的类型,判断其參数是否有URL请求,如果该命令没有URL请求,则调用脚本解析器对其进行处理;如果有则通过接ロ将该请求传给Web应用进行逻辑处理;当Web应用完成URL请求的处理后,将会动态生成XML脚本并将其传给框架,框架将调用内容加载器、脚本解析器、对象发生器、渲染引擎模块对处理结果进行加载、解析、生成、渲染并显示出来;10)结束不断重复执行步骤2)到9),直至用户退出为止。本发明与现有技术相比的有益效果是本发明框架结构以自定义的动态脚本为接ロ,动态生成各种UI控件(例如窗ロ、表格、滑标、日期选择器、选项卡、微调控制器和标尺等),井根据系统的需求将UI控件输出成文HTML、WML、swf文件,提高本框架的通用性和可重用性,从而提高企业的开发效率,減少企业开发成本。具体表现为I)本发明客户端框架结构通过XML脚本的解析实现应用程序加载,使用户可以以文本编程方式实现RIA应用,而不是通过RIA工具一个ー个地设计制作;2)本发明客户端框架结构通过动态加载自定义的RIA对象库,为用户提供更个性化、更具适应性的用户界面;3)本发明客户端框架结构运行于客户端,不需要服务器端框架的支持,就能获得动态的应用支持能力,可广泛应用于智能手机、平板电脑、嵌入式设备等客户端;4)本发明客户端框架结构的可重用性,能够提高软件开发在表现层的开发效率;5)本发明客户端框架结构在RIA标准解决方案的基础上,进ー步提高了交互能力,满足用户的体验要求。下面结合附图和具体实施例对本发明作进ー步描述。


图I为本发明一种基于RIA的客户端框架结构具体实施例的方框结构示意图;图2为本发明一种基于RIA的客户端框架结构的实现方法的具体实施例的方框流程不意图;图3为本发明另一具体实施例中的应用A的方框示意图ー;图4为本发明另一具体实施例中的应用A的方框示意图ニ ;图5为本发明具体实施例中的脚本解析器的方框结构示意图;图6为本发明具体实施例中的脚本解析器对某一具体控件进行解析之后的应用空间的显示示意图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一歩介绍和说明,但不局限于此。如图I所示,本发明提供一种客户端RIA应用程序框架,该框架包括自定义的动态脚本和程序构件两大部分,其中动态脚本主要用于存储业务逻辑模块返回的结果,同时为程序构件提供相关数据,是业务逻辑模块和程序构件之间的接ロ。本框架中动态脚本定义了动态脚本的基本语法、程序界面布局、控件、命令和图标等内容。程序构件包括实体应用模块、内容加载器、脚本解析器、对象发生器、渲染引擎模块、命令执行器和对象库,在本框架中程序构件主要是根据动态脚本动态生成图形界面。实体应用模块是根据用户需求开发的应用。 内容加载器是主要用于加载动态脚本。脚本解析器主要用于解析动态脚本,并将相关数据发给对象发生器。对象发生器主要是根据脚本解析器发来的数据动态生成相应的Web UI部件,并将该部件传送给渲染引擎模块。渲染引擎模块主要是将对象发生器传送过来的Π部件和对象库的对象渲染成图形化界面。命令执行器主要是响应用户相应的操作,并执行相关的命令。对象库是根据RIA技术预制的UI集,提供了自定义的动态脚本语法支持。本框架以自定义的动态脚本为接ロ,动态生成各种Π控件(例如窗ロ、表格、滑标、日期选择器、选项卡、微调控制器和标尺等),井根据系统的需求将UI控件输出成文HTML,WML,swf文件,提高本框架的通用性和可重用性,从而提高企业的开发效率,减少企业开发成本。本框架可以通过浏览器对其进行访问,也可以作为桌面应用软件的插件。如图2所示,本发明框架结构的实现方法的流程图,其流程分为以下几个部分I)初始化应用实体在初始化过程中,框架根据配置文件对应用实体进行初始化。2)内容加载应用实体会调用内容加载器加载动态脚本,如果该命令有URL请求,则加载URL请求并传给接ロ。应用实体初始化时,内容加载器会从动态脚本上加载引导页。3)脚本解析脚本解析器解析动态脚本的树形结构,根据具体需要调用内容加载器加载动态脚本,同时将解析的数据传给对象发生器。应用实体初始化时,脚本解析器主要用于解析引导页。4)对象创建对象发生器主要是根据脚本解析器传过来的数据创建对应的对象,在应用实体初始化时,对象发生器根据相关数据生成界面框架、窗体、自动导航和页面控件等内容。5)布局管理渲染引擎将对相关的对象进行自动排版。6)界面渲染渲染引擎加载资源文件和对象库的对象并对相关数据进行渲染。7)动作和事件监听框架在完成应用实体初始化之后,会不断对应用实体进行监听,以至能及时响应用户的操作。
8)动作响应如果用户对应用实体进行操作,框架就会对该操作进行合法性判断。如果该操作不合法,框架将错误信息返回给应用实体,否则调用相应的处理函数进行处理。9)命令执行在执行命令过程中,框架先判断该命令的类型,判断其參数是否有URL请求,如果该命令没有URL请求,则调用脚本解析器对其进行处理。如果有则通过接ロ将该请求传给Web应用进行逻辑处理。当Web应用完成URL请求的处理后,将会动态生成XML脚本并将其传给框架,框架将调用内容加载器、脚本解析器、对象发生器、渲染引擎对处理结果进行加载、解析、生成、渲染并显示出来。10)结束程序会不断重复执行步骤2)到9),直至用户退出程序为止。下面以ー个更具体的实施例来说明本实施例以ー个简单的应用A来解析本框架的原理,以便于读者理解。config.xml为本框架的配置文件(配置文件即为文中的动态脚本),APP_A. xml为应用A的配置文件,其中,config. xml内容为<HD0S><ui type="APP"img="img/btn 001. png"caption="应用 A"cmd="0PEN:B, gui/APPA. xmlV><ui type="SBG"img="bgs/screen_bg9. jpg"cmd="V></HD0S>而ΑΡΡ_Α· xml 的内容为< H D O S title = "应用 A "ico = " man" action = "gui/save.jsp"width="200"height="200"><tr><td w="l. 5">〈ui type="TEXT"CLR="00AA22"value="主题名称"/〉</td><td w=//5. 5"><ui type="EDIT"name="uname"value=〃 " /><ui type="BUTTON"value="确定"cmd="CHECK FORM"/〉<ui type^BUTTON'alue="取消"cmd^CLOSE"/〉</td></tr></HD0S>其步骤如下I)框架初始化过程中,该框架会调用内容加载器加载配置文件config. xml内容传给脚本解析器;
2)脚本解析器对config. xml内容逐行解析。根据预先定义好的规则(规则可根据具体需求做相应的改变,这里为了便于理解,以简单例子说明,并不局限于本实施例),type为APP的控件为应用控件,该应用的图标为btn_001. png,标题为应用A,响应的命令为OPENiB, gui/APP_A. xml ;而type为SBG的控件是指框架的背景图片;3)脚本解析器在解析完config. xml文件之后,将相应的数据发给对象发生器,对象发生器根据接收到的数据生成框架和应用A ;4)同吋,因为该配置文件没有设置框架和应用A的布局,所以布局管理器根据默认的布局对框架和应用A进行排版;

5)在布局管理器完成排版之后,其将框架和应用A发给界面渲染器,界面渲染器就会将screen_bg9. jpg渲染为框架背景,将btn_001. png渲染为应用A的图标显示出来,从而完成框架的初始化过程,如图3所示;6)框架在完成初始化之后,会不断地对应用A进行监控,如果有用户点击应用A,则触发命令执行器执行命令OPEN:B,gui/APP_A. xml ;7)命令执行器在执行命令OPEN:B,gui/APP_A. xml过程中,会调用内容加载器加载应用A的配置文件APP_A. xml ;8)命令解析器将type是TEXT解析为文本控件,type是EDIT为可编辑文本控件,type是BUTTON为按钮控件,并将相关数据传给对象发生器;9)对象发生器根据接收到的数据生成一个标题为主题名称的文本控件、一个可编辑文本控件和两个按钮控件;10)布局管理器根据接收到的样式数据将应用A的高度和宽度设为200,文本控件的宽度为I. 5,背景颜色为00AA22,可编辑文本控件的宽度为5. 5 ;11)同时,界面渲染器根据布局管理器传过来的数据渲染出应用A的界面,如图4所示12)用户填写好主题名称之后,点击确认将触发命令执行器执行命令CHECK_FORM,该命令将调用save, jsp通过接ロ向服务器发送请求;13)服务器在接收到客户端发来请求之后,将调用WEB应用进行处理,并将处理结果按照规则写入动态脚本,并触发内容加载器加载新的动态脚本,其执行过程与初始化过程相类似,具体可參考步骤I至5 ;14)在这过程中,本框架会不断地对应用实体进行监控,以便能及时响应用户响应,直至程序关闭。如图5至图6所示,则为本发明中的脚本解析器的详细说明。脚本解析器包括外部资源和程序构件两大部分,所述的外部资源包括、AS基类、对象库、指令集、布局规则、外部组件、资源文件和容器接ロ,其中=XML脚本主要是为脚本引擎提供数据,同时作为脚本引擎和后台的接ロ。AS基类是指AS提供的基础类。对象库是指根据富互联网应用程序技术预制的UI集,提供了自定义的XML脚本语法支持。指令集是根据系统的需求自定义的命令集。布局规则主要是规定了应用布局的方式。外部组件是根据富互联网应用程序技术预制的组件集。资源文件是指引擎使用的任意非可执行的数据文件,如图像、音频和视频文件。容器接ロ是指引擎跟装载引擎容器的通信接ロ,例如引擎与浏览器的接ロ、引擎与桌面程序的接ロ。程序构件包括初始化器、XML解析器、脚本加载器、解释器、执行器、事件管理器和对象实体,在本引擎中程序构件主要是根据XML脚本动态生成最终显示需要的信息。初始化器主要是根据配置文件对应用程序进行初始化。脚本加载器是主要用于加载XML脚本。XML解析器是指AS内置的XML解析器。在本引擎中,其主要用于解析XML脚本,并生成解释器所需的对象。解释器主要是以XML解析器所生成的对象为输入负责对语句解释执行控制,是整个脚本引擎的中心模块。执行器主要是用于根据对象或命令的类型调用相应的处理模块。事件管理器主要是负责对应用空间的事件或动作进行监听、响应,并触发执行器执行相应的命令。应用空间是指由引擎根据XML脚本生成的应用集。本解析器可以作为浏览器的插件,也可以作为桌面应用软件的插件。本解析器的解析方法包括以下几个步骤I)初始化根据配置文件对应用进行初始化,在初始化完成之后,不断对该应用进行监听,以至能及时响应用户的操作。2)事件响应用户通过图形界面对应用进行操作,并触发相应的事件。事件管理器在捕捉到该事件后对其进行响应,并触发执行器执行相应的命令。3)命令解释解释器会根据预制的对象库、指令集和布局规则判断该命令的类型,然后触发执行器执行相应的处理模块。在此过程中,解释器负责对命令解释执行控制。4)命令执行执行器会根据解释器传过来的信息调用相应的模块进行处理。例如如果是以APP开头的命令,执行器执行对象处理模块;如果以OPEN、CLOSE、URL:等开头的命令,执行器调用命令处理模块进行处理。在执行器执行命令过程中,该命令可能会需要加载XML脚本或调用其他的命令。如果是需要加载XML脚本,执行器会触发脚本加载器加载相应的XML脚本;如果是调用其他的命令,执行器会触发解释器对该命令进行解释,从而形成循环调用。同时,命令执行器会根据解释器传过来的信息,结合外部组件和资源文件生成相应的应用存储到应用空间里。5)脚本加载根据执行器发过来的请求,脚本加载器加载相应的脚本传给XML解析器。6)XML解析XML解析器对脚本加载器传过来的脚本进行解析,并根据XML语言的语法规则生成相应的对象。7)结束本引擎会不断执行步骤2)到6),直到遇到结束符为止。下述为ー个具体控件的解析实施例DataGrid. xml 为 DataGrid 控件的配置文件;
权利要求
1.一种基于RIA的客户端框架结构,其特征在于该框架包括动态脚本和程序构件,所述的动态脚本用于存储业务逻辑模块返回的结果,同时为程序构件提供相关数据,是业务逻辑模块和程序构件之间的接口 ;所述的程序构件包括实体应用模块、内容加载器、脚本解析器、对象发生器、渲染引擎模块、命令执行器和对象库;程序构件根据动态脚本动态生成图形界面。
2.根据权利要求I所述的一种基于RIA的客户端框架结构,其特征在于所述动态脚本自定义的内容包括基本语法、程序界面布局、控件、命令和图标;所述的命令执行器用于响应用户相应的操作,并执行相关的命令;所述的对象库是根据RIA技术预制的UI集。
3.根据权利要求2所述的一种基于RIA的客户端框架结构,其特征在于所述的实体应用模块是根据用户需求开发的应用模块;所述的渲染引擎模块包括布局管理器和界面渲染器。
4.根据权利要求3所述的一种基于RIA的客户端框架结构,其特征在于所述的内容加载器用于加载动态脚本;所述的脚本解析器用于解析动态脚本,并将相关数据发给对象发生器。
5.根据权利要求4所述的一种基于RIA的客户端框架结构,其特征在于所述的对象发生器是根据脚本解析器发来的数据动态生成相应的Web UI部件,并将该部件传送给渲染引擎。
6.根据权利要求5所述的一种基于RIA的客户端框架结构,其特征在于所述的渲染引擎模块将对象发生器传送过来的Web UI部件和对象库的对象渲染成图形化界面。
7.一种基于RIA的客户端框架结构的实现方法,其特征在于包括以下步骤 1)初始化实体应用模块在初始化过程中,框架根据配置文件对实体应用模块进行初始化; 2)内容加载实体应用模块会调用内容加载器加载动态脚本,如果该命令有URL请求,则加载URL请求并传给接口 ;实体应用模块初始化时,内容加载器会从动态脚本上加载引导页; 3)脚本解析脚本解析器解析动态脚本的树形结构,根据具体需要调用内容加载器加载动态脚本,同时将解析的数据传给对象发生器;实体应用模块初始化时,脚本解析器主要用于解析引导页; 4)对象创建对象发生器根据脚本解析器传过来的数据创建对应的对象,在实体应用模块初始化时,对象发生器根据相关数据生成界面框架、窗体、自动导航和页面控件等内容; 5)布局管理渲染引擎模块将对相关的对象进行自动排版; 6)界面渲染渲染引擎模块加载资源文件和对象库的对象并对相关数据进行渲染; 7)动作和事件监听在完成实体应用模块初始化之后,会不断对应用实体进行监听,以至能及时响应用户的操作; 8)动作响应用户对实体应用模块进行操作时,对该操作进行合法性判断;如果该操作不合法,将错误信息返回给实体应用模块,否则调用相应的处理函数进行处理; 9)命令执行在执行命令过程中,先判断该命令的类型,判断其参数是否有URL请求,如果该命令没有URL请求,则调用脚本解析器对其进行处理;如果有则通过接口将该请求传给Web应用进行逻辑处理;当Web应用完成URL请求的处理后,将会动态生成XML脚本并将其传给本框架结构,本框架结构将调用内容加载器、脚本解析器、对象发生器、渲染引擎模块对处理结果进行加载、解析、生成、渲染并显示出来; 10)结束不断重复执行步骤2)到9),直至用户退出为止。
8.根据权利要求7所述的一种基于RIA的客户端框架结构的实现方法,其特征在于所述的动态脚本均为XML脚本。
全文摘要
本发明公开了一种基于RIA的客户端框架结构及其实现方法,该框架包括动态脚本和程序构件,所述的动态脚本用于存储业务逻辑模块返回的结果,同时为程序构件提供相关数据,是业务逻辑模块和程序构件之间的接口;所述的程序构件包括实体应用模块、内容加载器、脚本解析器、对象发生器、渲染引擎模块、命令执行器和对象库;程序构件根据动态脚本动态生成图形界面。本发明框架结构以自定义的动态脚本为接口,动态生成各种UI控件(例如窗口、表格、滑标、日期选择器、选项卡、微调控制器和标尺等),并根据系统的需求将UI控件输出成文HTML、WML、swf文件,提高本框架的通用性和可重用性,从而提高企业的开发效率,减少企业开发成本。
文档编号G06F9/44GK102855142SQ201210356680
公开日2013年1月2日 申请日期2012年9月24日 优先权日2012年9月24日
发明者杨博宇, 杜恩宽, 邓俊仕 申请人:广东华大集成技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1