用于创建面向IT的基于服务器的Web应用的方法和系统技术方案

技术编号:8959267 阅读:179 留言:0更新日期:2013-07-25 18:50
本发明专利技术公开了一种用于允许计算机化系统使用要通过数据网络而被呈现的面向IT的基于服务器的Web应用的方法。因此,在通过数据网络(500)而与客户端侧终端(300)进行数据通信的服务器侧(200)安装应用(105)。将专用内核下载到客户端侧(300)一次,其用于在应用与客户端侧(300)之间调停。在客户端侧(300),将事件与表示应用对象的相应ID标签相关联,并向每个事件分配时间戳。将事件排成队列(129),并且只在临界事件发生时,才将其以事件队列的形式发送到应用(105)。在服务器侧(200),通过事件与应用对象之间的关联,使用ID标签来将事件转换为应用动作。如果通过每个接收到的事件的时间戳与应用对象的最后更新时间戳之间的比较确定客户端(300)的应用对象被更多地更新,则准备仅包含使客户端侧更新反映应用更新的相关布局对象的更新命令的数据包并将其作为更新发送回客户端侧(300)。最后,根据该数据包的内容,由表示层来更新客户端侧(300)的屏幕布局对象。

【技术实现步骤摘要】

本专利技术涉及Web应用。更特别地,本专利技术涉及用于创建要通过诸如因特网的数据网络而呈现的面向IT(信息技术)的基于服务器的Web应用的方法和系统。定义、同义词和缩写贯穿本说明书中,自始至终采用以下定义:事件(Event):是由用户对应用执行的动作。临界事件(Critical Event):是应立即发送到服务器以便使客户端与服务器状态同步的事件(与可以延时发送的事件相反)。唯一事件(Unique Event):是最后将被发送到服务器的事件。累积事件(Accumulated Event):是在下一个临界事件发生之前存储在客户端事件队列中的客户端侧事件。然后,当临界事件发生时,客户端将发送在前一临界事件与当前临界事件之间发生的整个事件队列。客户端:或客户端层(Client Tier)是连接到服务器的用户终端(例如网页)。控件(Control):是可显示应用组件(例如按钮、字段等)。每个控件可以执行限定的操作(例如获得键盘输入、按下等)。容器:是包含控件的窗口。拆分器(Splitter):是类似于控件的侧面板(水平或垂直),其位于两个停靠/锚定(docked/anchored)控件之间并使得能够通过拖动其来一个归因于另一个地(one onaccount of the other)改变那些控件的尺寸(宽度或高度)的比。专用内核(DedicatedKernel):在本专利技术的上下文中,专用内核是在客户端第一次在服务器侧接近应用时由客户端仅下载一次的小且静态的代码片。此专用内核在客户端侧浏览器与应用之间调停(mediate),并负责:-向和从服务器发送和接收任何种类的数据;-激活XSL(用于格式化XML文档的语言:例如,显示应如何在网页中呈现在XML文档中描述的数据)变回(显示应如何将XML文档重新组织成随后将能通过按照XSL样式表来呈现的另一种数据结构)或任何其它表示层(presentation layer)的布局技术;-聚集用户事件(例如键盘按压或鼠标事件),累积非临界事件队列并在需要时将那些事件队列发送到服务器;-反映通过客户端语言代码实现的任何客户端侧的控件行为(behavior)。应用对象索引(Index):是保持应用对象实例的组件ID (标识)的应用对象集合。此索引用于通过用其ID来检索所触发的事件对象所有者并将事件处理责任传递到映射的对象实例来处理从容户端发送的事件队列。这允许客户端和服务器对象实例之间的弱相关性,该弱相关性可以使用实例ID以标准XML语法来表示。应用对象树:是以分层树形结构包含应用对象的对象树,表示应用GUI (图形用户界面)结构。应用根(Application Root:):是绑定到所配置的页面名称(page nam)的应用对象,该应用对象可通过将其直接激活来访问,以便其充当应用对象树的入口点。也就是说,应用根可通过在浏览器中输入URL来直接浏览(例如,当在网页平台上使用本专利技术时)。主表单窗口(Main Form Window):是用户在其访问经过这种技术处理的URL时看到的第一个窗口。其等效于在你启动桌面应用时打开的主窗口。客户端时间戳(Time Stamp):是客户端侧的对象的时间戳,表示最后更新时间。请求时间戳:是指示当前浏览器状态的时间戳,其为浏览器从服务器接收到更新命令的最后时间。时间戳:是表示给定应用对象的最后更新时间的数值。唯一累积事件:是因为旧事件已经过时而代替具有相同ID的任何事件的新事件。更新命令:是一组XML (可扩展标记语言)元素(element),浏览器执行该组XML元素以便与应用树和服务器控件状态同步。窗口结构:是一组表不应用的当前窗口结构的XML兀素。该窗口结构用于根据服务器层状态(服务器上的当前UI状态)来更新客户端层的状态(当前描绘的UI)。XSLT模板(Template):是一组XSLT (可扩展样式表语言转换),其描述必须对数据执行以便在客户端层(例如网络浏览器)上描绘所反映的控件的变换(transformation)。XML后数据(data behind):是被客户端用来存储应用界面的状态的XML(可扩展标记语言)。此应用界面状态保持每个Π控件的属性并包括客户端根据服务器的状态来使其控件状态同步所需的全部信息。例如,控件的颜色或尺寸、其显示的文本等等。这为客户端层提供使用对XML后数据的XSLT (模板转换)来重画UI的任何部分的能力。
技术介绍
现在,HTML (超文本标记语言)是版权自由并可为所有开发者使用、并进一步得到所有编程环境的支持的全球标准语言。提供用于导航及其多媒体支持能力(声音、画面、动画等等)的链接的能力促使全世界采用HTML作为行业主流。而且,近来,提出了 DHTML (动态HTML)语言。DHTML是被一起使用以便通过使用静态标记语言(诸如HTML)、客户端侧脚本语言(诸如JavaScriptTM)、呈现定义语言(层叠样式表,CSS)以及文档对象模型(编程界面)的组合来创作交互式动画网站的技术的集合。因此,DHTML语言使得能够实现更好的与因特网用户的交互性。因特网到所有信息驱动的各行业中的渗透和因特网在用户之间的快速传播,以及商务和商业部分将因特网作为与其用户的通讯手段的增长的需要致使需要更加动态且巨大的面向远程服务器/客户端的因特网应用。这导致呈现诸如动态地生成页面(以前为静态)的新工具的ASP (应用服务提供商)、PHP (超文本预处理器)及其它网络应用语言/环境的引入。这些新环境引入从传统HTML页面暴露和接收数据的能力。当前对面向IT(信息技术)网页的应用的较高服务器-客户端性能的需要不能满足增长的对更复杂IT应用的需要。虽然在IT使用中正在变成主要中介的因特网有了显著的演进,但支持这些用途的基本原理仍旧与几十年前相同。现在,ASP.NET(活动服务器页面)和JSP(Java 服务器页面)提供更好的“服务器侧”开发环境。在客户端侧,HTML页面导致缓慢且受限制的性能,该HTML页面包含称为服务器侧页面的脚本,即对服务器侧的每个动作完全重建页面。 此外,使用严重依赖脚本的Web应用已变成网页开发者的主要做法。Web应用需求正在变得越来越像计算机桌面需求。仅受到桌面应用支持的更多特征已变得对于Web应用来说必不可少。这种需求在带宽(即网页运输资源)方面价格高昂。客户端侧脚本开始变得越来越复杂,使得难以设计和维持Web应用。另外,此类应用的性能问题非常普遍。其很容易把事情搞砸,因为脚本不提供代码访问限制和很差的面向对象编程思想(如果有的话)。而且,安全问题始终是当前面向网页技术的主要问题之一,因为脚本在客户端浏览器(例如Microsoft' Internet Explorer)上运行。被嵌入用户浏览器中的脚本语言的使用已使得Web应用易受恶意篡改,因为难以保护充当Web应用的数据提供者的页面。大部分数据由用户侧(而不是服务器侧)的浏览器来处理,因此暴露比所需要的数据更多的数据。此外,ASP.NET和JSP已经过时,因为它们不能足够好地应付当前的IT需求。即使它们引入了更强的编程可能性,诸如新基础编程工具、新建模和重新使用能力(重新使用能力是产生组件一次并在稍后多次使用它们的能力),但基本思想仍然相同,本文档来自技高网
...

【技术保护点】
一种应用对象管理的系统,包括:服务器,其被配置用于管理多个应用的多个应用对象中的每一个的状态,并且向多个客户端传递多个通用静态代码,所述多个通用静态代码中的每一个被配置成在所述多个客户端之一上再现所述多个应用中的任意应用的所述多个应用对象中的任意对象的显示;其中所述服务器向相应的所述通用静态代码转发指示相应所述状态的更新的命令以便允许所述相应的通用静态代码相应地更新相应的所述显示;其中所述相应的通用静态代码转发与所述相应的应用对象有关的至少一个客户端事件,所述服务器处理所述至少一个客户端事件并且相应地更新相应的所述状态。

【技术特征摘要】
2007.01.16 US 60/901,6741.一种应用对象管理的系统,包括: 服务器,其被配置用于管理多个应用的多个应用对象中的每一个的状态,并且向多个客户端传递多个通用静态代码,所述多个通用静态代码中的每一个被配置成在所述多个客户端之一上再现所述多个应用中的任意应用的所述多个应用对象中的任意对象的显示; 其中所述服务器向相应的所述通用静态代码转发指示相应所述状态的更新的命令以便允许所述相应的通用静态代码相应地更新相应的所述显示; 其中所述相应的通用静态代码转发与所述相应的应用对象有关的至少一个客户端事件,所述服务器处理所述至少一个客户端事件并且相应地更新相应的所述状态。2.权利要求1的系统,其中服务器管理和处理每个所述应用对象的逻辑脚本。3.权利要求2的系统,其中所述逻辑脚本不由所述客户端处理。4.权利要求1的系统,其中每个所述应用对象是窗口结构。5.权利要求1的系统,其中所述命令包括用于更新描绘相应的所述应用对象的表示层的屏幕布局对象的命令。6.权利要求1的系统,其中所述命令不包括与相应的所述对象应用有关的逻辑脚本。7.权利要求1的系统,其中所述命令是可扩展标记语言(XML)形式的。8.权利要求1的系统,其中所述多个应用对象包括多个转换的桌面应用。9.权利要求1的系统,其中所述多个通用静态代码不安装在所述多个客户端的存储器中。10.权利要求1的系统,其中每个所述通用静态代码管理相应客户端层的通信。11.一种应用对象管理的方法,包括: 管理服务器上的多个不同应用; 从具有浏览器的客户端接收多个用于所述多个不同应用的多个应用对象的请求; 将通用静态代码转发到执行所述通用静态代码的所述客户端; 从所述服务器向所述客户端转发多个命令,每个命令指示所述多个应用对象的另一个的状态,以便允许在所述客户端处的所述通用静态代码根据相应的所述状态通过所述浏览器再现每个应用对象; 从所述客户端接收多个客户端事件,每个客户端事件与所述多个应用对象的不同应用对象有关; 对于所述多个客户端事件中的每一个,识别所述多个不同应用中的相应一个;以及 通过根据所述识别在所述服务器上处理所述多个客户端事件来更新每个所述状...

【专利技术属性】
技术研发人员:G佩莱德
申请(专利权)人:吉兹莫克斯有限公司
类型:发明
国别省市:

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

1