CN101849228B - 用于创建面向IT的基于服务器的Web应用的方法和系统 - Google Patents
用于创建面向IT的基于服务器的Web应用的方法和系统 Download PDFInfo
- Publication number
- CN101849228B CN101849228B CN2008800086132A CN200880008613A CN101849228B CN 101849228 B CN101849228 B CN 101849228B CN 2008800086132 A CN2008800086132 A CN 2008800086132A CN 200880008613 A CN200880008613 A CN 200880008613A CN 101849228 B CN101849228 B CN 101849228B
- Authority
- CN
- China
- Prior art keywords
- application
- client
- server
- event
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Abstract
本发明公开了一种用于允许计算机化系统使用要通过数据网络而被呈现的面向IT的基于服务器的Web应用的方法。因此,在通过数据网络(500)而与客户端侧终端(300)进行数据通信的服务器侧(200)安装应用(105)。将专用内核下载到客户端侧(300)一次,其用于在应用与客户端侧(300)之间调停。在客户端侧(300),将事件与表示应用对象的相应ID标签相关联,并向每个事件分配时间戳。将事件排成队列(129),并且只在临界事件发生时,才将其以事件队列的形式发送到应用(105)。在服务器侧(200),通过事件与应用对象之间的关联,使用ID标签来将事件转换为应用动作。如果通过每个接收到的事件的时间戳与应用对象的最后更新时间戳之间的比较确定客户端(300)的应用对象被更多地更新,则准备仅包含使客户端侧更新反映应用更新的相关布局对象的更新命令的数据包并将其作为更新发送回客户端侧(300)。最后,根据该数据包的内容,由表示层来更新客户端侧(300)的屏幕布局对象。
Description
技术领域
本发明涉及Web应用。更特别地,本发明涉及用于创建要通过诸如因特网的数据网络而呈现的面向IT(信息技术)的基于服务器的Web应用的方法和系统。
定义、同义词和缩写
贯穿本说明书中,自始至终采用以下定义:
事件(Event):是由用户对应用执行的动作。
临界事件(Critical Event):是应立即发送到服务器以便使客户端与服务器状态同步的事件(与可以延时发送的事件相反)。
唯一事件(Unique Event):是最后将被发送到服务器的事件。
累积事件(Accumulated Event):是在下一个临界事件发生之前存储在客户端事件队列中的客户端侧事件。然后,当临界事件发生时,客户端将发送在前一临界事件与当前临界事件之间发生的整个事件队列。
客户端:或客户端层(Client Tier)是连接到服务器的用户终端(例如网页)。
控件(Control):是可显示应用组件(例如按钮、字段等)。每个控件可以执行限定的操作(例如获得键盘输入、按下等)。
容器:是包含控件的窗口。
拆分器(Splitter):是类似于控件的侧面板(水平或垂直),其位于两个停靠/锚定(docked/anchored)控件之间并使得能够通过拖动其来一个归因于另一个地(one on account of the other)改变那些控件的尺寸(宽度或高度)的比。
专用内核(Dedicated Kernel):
在本发明的上下文中,专用内核是在客户端第一次在服务器侧接近应用时由客户端仅下载一次的小且静态的代码片。此专用内核在客户端侧浏览器与应用之间调停(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(可扩展标记语言)。此应用界面状态保持每个UI控件的属性并包括客户端根据服务器的状态来使其控件状态同步所需的全部信息。例如,控件的颜色或尺寸、其显示的文本等等。这为客户端层提供使用对XML后数据的XSLT(模板转换)来重画UI的任何部分的能力。
背景技术
现在,HTML(超文本标记语言)是版权自由并可为所有开发者使用、并进一步得到所有编程环境的支持的全球标准语言。提供用于导航及其多媒体支持能力(声音、画面、动画等等)的链接的能力促使全世界采用HTML作为行业主流。而且,近来,提出了DHTML(动态HTML)语言。
DHTML是被一起使用以便通过使用静态标记语言(诸如HTML)、客户端侧脚本语言(诸如JavaScriptTM)、呈现定义语言(层叠样式表,CSS)以及文档对象模型(编程界面)的组合来创作交互式动画网站的技术的集合。因此,DHTML语言使得能够实现更好的与因特网用户的交互性。因特网到所有信息驱动的各行业中的渗透和因特网在用户之间的快速传播,以及商务和商业部分将因特网作为与其用户的通讯手段的增长的需要致使需要更加动态且巨大的面向远程服务器/客户端的因特网应用。这导致呈现诸如动态地生成页面(以前为静态)的新工具的ASP(应用服务提供商)、PHP(超文本预处理器)及其它网络应用语言/环境的引入。这些新环境引入从传统HTML页面暴露和接收数据的能力。
当前对面向IT(信息技术)网页的应用的较高服务器-客户端性能的需要不能满足增长的对更复杂IT应用的需要。虽然在IT使用中正在变成主要中介的因特网有了显著的演进,但支持这些用途的基本原理仍旧与几十年前相同。现在,ASP.NET(活动服务器页面)和JSP(服务器页面)提供更好的“服务器侧”开发环境。在客户端侧,HTML页面导致缓慢且受限制的性能,该HTML页面包含称为服务器侧页面的脚本,即对服务器侧的每个动作完全重建页面。此外,使用严重依赖脚本的Web应用已变成网页开发者的主要做法。Web应用需求正在变得越来越像计算机桌面需求。仅受到桌面应用支持的更多特征已变得对于Web应用来说必不可少。这种需求在带宽(即网页运输资源)方面价格高昂。客户端侧脚本开始变得越来越复杂,使得难以设计和维持Web应用。另外,此类应用的性能问题非常普遍。其很容易把事情搞砸,因为脚本不提供代码访问限制和很差的面向对象编程思想(如果有的话)。
而且,安全问题始终是当前面向网页技术的主要问题之一,因为脚本在客户端浏览器(例如Internet Explorer)上运行。被嵌入用户浏览器中的脚本语言的使用已使得Web应用易受恶意篡改,因为难以保护充当Web应用的数据提供者的页面。大部分数据由用户侧(而不是服务器侧)的浏览器来处理,因此暴露比所需要的数据更多的数据。
此外,ASP.NET和JSP已经过时,因为它们不能足够好地应付当前的IT需求。即使它们引入了更强的编程可能性,诸如新基础编程工具、新建模和重新使用能力(重新使用能力是产生组件一次并在稍后多次使用它们的能力),但基本思想仍然相同,从而反映出上述相同问题(即性能和用户体验、安全性、开发和维护的复杂性)。这些环境的基于页面的方法使其成为不利于开发Web应用的环境,因为不存在对打开窗口和在框之间进行交互的服务器侧支持(因为应以向少数语言和位置分发商务逻辑的客户端脚本语言来写大量的窗口管理代码)。对用户界面的局部更新的开发支持很有限,导致开发者需要明确地管理局部更新并降低开发过程的生产率。另外,当前的IT系统带宽受到限制,并且其不能支持要求更大处理资源的更复杂的需求。这导致用户浪费宝贵的时间。复杂动作导致缓慢的浏览器脚本执行,其中每个动作调用正在被服务器完全重新创建并由浏览器完全再现(render)的不同页面。目前,开发者是决定在客户端侧与服务器侧之间传输的数据内容的唯一的人。这一事实导致数据非常不一致且不正式,即,数据可能包含表示数据、商务数据、以及各种各样的安全记号和各种其它类型。此外,数据可以具有任何格式,例如纯文本、XML或任何其它格式。若干开发者和另外的若干项目可以使用被发送和接收至服务器和从服务器返回的数据和格式的若干差异悬殊的协议。开发者必须学习许多因特网语言,这要求相当多的培训,并因此而难以找到合格人员。
在桌面应用开发环境中,控件定位分为停靠和锚定。停靠是获取控件列表并对其中的每一个提供五种停靠行为(左、顶部、右、底部、以及填充)之一且使用这些定义来创作屏幕布局的能力。每个控件是独立的,但被设置为在不重叠的情况下与另一控件相关。这样,当更新一个控件时,不需要更新所有控件的定位。锚定是定义从控件的边缘(其中的一个、某些或全部)连接到其容器的虚拟字符串的能力。当缩放和/或移动控件的容器时,所锚定至的容器侧的面板与所锚定的控件侧面板之间的距离将在控件被锚定到的侧面板上保持静态。这可以在将控件锚定至相对的侧面板时导致控件的缩放(例如左+右和/或顶部+底部)。
传统Web应用开发环境为程序员提供对象模块(汇编程序或编译程序的输出,其为目标计算机的机器代码。对象模块必须与其它模块链接以产生最终的可执行程序),从而表示用于创建页面内容的HTML元素。使用三种工具来执行页面布局:
1.HTML表格(其可以包含网页的文本,并且还可以用来布局任何HTML元素)。
2.诸如CSS(层叠样式表)的流控制样式(flow control style)布局定义。
3.绝对定位(absolute positioning),其允许通过指定任何浏览器显示元素(例如按钮、列表等)的精确位置来确定该元素的位置,无论其它显示元素如何。当开发应充当应用的网站时,很难使用这种方法。
所有上述内容描述了Web应用设计的复杂工作环境。其还提出了这些应用的使用的缺点和限制。
在最近的现有技术(公开号:2003/0200254A1)中,在服务器与客户端之间划分应用任务。使用此应用的客户端必须安装服务程序(JAVA程序)。这意指在客户端侧执行某些处理任务。这使用户被限制为仅安装(installation)被授权的计算机并局限于特定的操作系统和网页浏览器。这还使其对操作系统和网页浏览器更新的适应性差。具有某些应用处理任务的客户端侧的另一缺点在于通信方法。可能包含重要信息的数据包必须从客户端侧发送到服务器或相反。此类通信在数据大小(带宽)和时间方面远不够理想。其还冒着安全风险,因为重要信息在连接到全局网络的客户端侧可用。
“微软的远程桌面连接”是使得能够通过数据网络而在服务器/计算机上使用应用的应用。该应用实际上在服务器/计算机上运行,并且使用连接到网络的其它计算机/终端的用户能够运行该应用。这里使用的方法是将屏幕作为应用的位图发送到用户/客户端。客户端返回键盘和鼠标事件。从服务器发送的数据是服务器上的应用的屏幕捕捉(位图),反映在服务器上生成的精确屏幕显示。为了在用户侧获得平滑的图片,频繁地从服务器发送位图。数据包很大且发送速率很高。这导致网络上的大量活动并耗费大量的网络资源(带宽)。此应用要求服务器和客户端两者使用相同的操作系统。还要求客户端侧安装小程序(applet)以支持该应用。
本发明的主要目的是克服Web应用的设计和使用上的所有这些缺陷,尽管受到很多限制(despite all the limitation)。换言之,使用相同的设计复杂性和网页运输资源的环境,本发明使得能够实现相对简单的设计方法和系统,以及对面向IT的基于服务器的Web应用的更加高效且安全的使用。
本发明的一个目的是公开一种用于提供面向IT的基于服务器的Web应用的系统和方法。
本发明另一目的是提供一种使得能够与编写桌面应用类似地编写基于服务器的Web应用的方法和系统。
本发明的另一目的是提供一种方法和系统,其中,统一对象模型处理所有应用需求,诸如用多个窗口来处理Web应用、管理服务器与浏览器之间的通信、发送应用事件(事件队列)并取回命令以便在需要时更新UI(用户界面)。
本发明的另一目的是提供一种方法和系统,其不采用诸如Java脚本的客户端脚本语言或任何其它网页语言。
本发明的另一目的是提供一种系统和方法,其中,开发者使用诸如C#、VB.NET或支持完全的面向对象编程和编译能力的任何其它语言之类的单一、结构化且面向对象的语言,消除开发者对普通网页设计语言知识的需要。
本发明的又一目的是提供一种方法和系统,其中,在服务器侧执行所有处理;因此,用户的浏览器仅用于接收输入命令并显示输出。
本发明的又一目的是提供一种方法和系统,其中,与现有技术相比,数据传输容量显著缩小。
本发明的又一目的是提供一种方法和系统,其中,与现有技术相比,实现了明显更高的安全水平。
本发明的又一目的是提供一种方法和系统,其中,仅加载(呈现在用户的计算机屏幕/显示器上的)网页页面的设计一次,而不需要为了更新呈现在所述网页页面上的数据而将其再次重新加载。
本发明的又一目的是提供一种方法和系统,其中,在客户端侧使用相对较低的带宽和处理资源。
本发明的其它目的和优点将随着说明的进行而变得清楚。
发明内容
本发明针对一种用于允许计算机化系统使用要通过数据网络而被呈现的面向IT的基于服务器的Web应用的方法。因此,在通过数据网络而与客户端侧终端进行数据通信的服务器侧安装应用。将专用内核下载到客户端侧一次,用于在应用与客户端侧之间调停(例如管理客户端侧通信协议)。在客户端侧,将事件与表示应用对象的相应ID标签相关联,并为每个事件分配时间戳。将事件排成队列,并只在临界事件发生时将其以事件队列的形式发送到应用。在服务器侧,通过使用ID标签来将事件与应用对象之间相关联,将事件转换(translate)为应用动作。如果通过每个接收到的事件的时间戳与应用对象的最后更新时间戳之间的比较发现客户端的应用对象被更多地更新(more update),则准备仅包含使客户端侧更新反映应用更新的相关布局对象的更新命令的数据包并将其作为更新发送回客户端。最后,根据该数据包的内容,由表示层来更新客户端侧的屏幕布局对象。
客户端侧可以是在任何操作系统下运行的任何网页浏览器。所述表示层独立于专用内核的代码,且可以是DHTML、(用于创建利用公共语言运行时间的Windows客户端应用的架构。可以以公共语言运行时间所支持的任何语言来写应用)、(是允许开发Web应用的浏览器插件)或受可以发送和接收XML代码的任何其它表示层支持的任何。
所述专用内核可以是在所支持的不同表示层之间改变的代码。只使用XML来执行服务器与客户端侧之间的数据交换。
本发明还针对一种用于通过允许与使用任何面向对象编程语言来编写桌面应用类似地编写Web应用来编写要通过数据网络而被呈现在客户端侧的面向IT的基于服务器的Web应用的方法,其中,通过使对象及对象的相关逻辑适配网页设计语言来将编写的应用转换为Web应用来实现所述编写Web应用的动作。编写的应用可以基于使用不同设计工具而开发的另一Web应用。
附图说明
参照附图,通过本发明的优选实施例的说明性且非限制性的详细说明,将更透彻地理解本发明的上述及其它特征和优点,在附图中:
-图1是本发明所提出的系统的客户端侧初始化的示意图;
-图2举例说明服务器与客户端侧之间的例程(routine)交互;以及
-图3是根据本发明的优选实施例、用于提供面向IT的基于服务器的Web应用的系统的架构的示意图。
具体实施方式
本发明的系统在客户端-服务器IT应用领域取得进步(在这些应用的设计和系统的使用两方面)。通过使用任何面向对象(OO)的设计软件(高级程序设计语言)来设计Web应用而取得设计的创新。其完全消除了设计者对普通网页/因特网编程工具(例如HTML、XML、CSS等)的需要。该系统的特征使得任何程序员都可以进行Web应用设计,而不仅仅是对于专攻网页/因特网设计语言的那些人。本发明的系统的另一明确优点是使用单一而不是若干编程语言。因此,在本发明的系统中使用的布局设计比现有技术中的一般方法更加简单。不需要描述窗口的图形和属性及字符/数字形式的控件,而是只使用“拖放(drag and drop)”方法。与在诸如“Visual Studio”的某些桌面应用设计工具中所做的相同。还存在布局设计方法的实现-停靠和锚定(在本发明的背景技术中被描述),其使得布局设计和修改更加简单且用户友好。
使用本发明的系统的创新和优点在客户端(用户)侧还突出为服务器-客户端通信方法。
客户端得益于为了其方便而选择任何操作系统和网页浏览器的完全自由。而且,客户端不受到特殊授权(special authorization)的限制,因为不需要本地安装。因此,客户端可以在任何操作系统和任何浏览器下使用连接到全局网络(或服务器的本地网络)的任何计算机。这通过在服务器侧保持整个应用任务来实现。客户端侧仅投射(project)期望的屏幕。这意指客户端不保持关于客户端侧的大量信息,而是仅仅保持投射的数据。不通过客户端侧的任何装置(例如“cookies”-本地硬盘上的网站存储器)来存储投射的数据。客户端使用专用内核来将从服务器接收到的数据解码并将其转换成屏幕显示。该专用内核还用来将发送到服务器的数据编码。本发明的系统的这些特征使得与现有技术相比还非常安全,并就要从客户端发送到服务器及从服务器发送到客户端的数据包大小而言使得通信更加高效。
下面描述本发明的系统中的通信方法的更多方面。使用利用主应用窗口的单一URL(网站的统一资源定位符地址)来执行服务器与浏览器之间的通信。应用可以由许多窗口组成,但仍使用单一地址来执行与服务器的通信。
如下执行客户端-服务器的通信:当客户端第一次转向(turn to)服务器时,整个页面被传输到客户端。这只发生一次。从现在开始,该页面将根据客户端的请求而被部分地更新。在客户端侧,将事件聚集在队列中,并在发生临界事件时,将整个队列发送到服务器。客户端侧的每个事件获得ID标签和时间戳,其使用服务器来仅用必要数据来更新客户端(whichuses the server to update back the client only with the necessary data)。这还使得服务器能够服务于许多客户端,因为服务器可以使用那些标签和时间戳来区分客户端及其请求。从客户端发送到服务器的数据反映客户端活动(例如在特定字段/控件上点击鼠标、使用键盘进行写入等)。此数据被编码成最小的数据包并发送到服务器。服务器对该数据运行应用并以最小数据包将结果返回到客户端。如前所述,客户端将数据编码并将其转换成屏幕显示。与现有技术的系统相比,服务器与客户端之间的这种交互方法涉及显著缩减的通信动作和数据包大小。
使用本发明的系统设计的IT应用可以在程序员计算机处编写,然后在(安装在服务器上的)网络上公布,或者可以通过网络直接在服务器上编写,亦即远程编程。后一种编程方法使用与客户端-服务器在本发明的系统的应用使用中所使用的相同的通信方法。在这种情况下,程序员是客户端侧的用户,且服务器侧的应用是创建IT应用的设计工具。以下说明涉及两种情况:使用本发明的系统的远程IT应用设计者和IT应用本身的用户。在以下说明中,应用意指IT应用或设计工具,且用户意指IT应用用户或远程程序员。
图1是本发明提出的系统的客户端侧初始化的示意图。每当用户想使用应用时,发生以下过程。操作客户端侧300的用户使用通过网络500而连接到服务器200的计算机/终端上的网页浏览器通过预定网站而请求(appeal)服务器200。服务器作为回答发送要被客户端侧300使用的专用内核和用于在客户端侧300屏幕上创建应用显示的数据。如上所述,此动作仅在客户端系统初始化时发生一次。实际上,其为用户到系统中的登录。
图2举例说明服务器200和客户端侧300之间的例程交互。在登录之后,如下执行用户与应用之间的交互:在客户端侧300,将屏幕上的用户动作(例如鼠标点击、键盘输入或任何其它用户输入)转换成事件。每个事件获得唯一ID和时间戳。事件在客户端侧300排成队列。当临界事件发生时,整个队列被发送到服务器200。服务器200获得数据时,其将事件转换成对应用的动作并准备要被发送回客户端侧300的数据包。该数据包仅包括客户端300更新其屏幕上的显示并投射应用的动作的结果所需的必要信息。在用户登录到应用中时,执行这些重复。
存在这样的情况,即用户不执行任何活动(例如鼠标点击、键盘按压等),但事件仍然会被发送到服务器。这可能由于由基础设施周期性地执行的计时器操作(诸如“保持连接”,其是由使客户端与服务器在空闲时间同步的每个可配置恒定时间触发的事件)或由于开发者的异步操作请求(即由开发者操作从而导致异步事件的异步计时器,诸如进度条或由客户端机器自动地发起的周期性刷新)而发生。
图3是根据本发明的优选实施例、用于提供面向IT的基于服务器的Web应用的系统100的示意图。系统100包括三个层:应用层105、服务器层115以及客户端层300。客户端层300与服务器层115进行交互,服务器层115继而与应用层105进行交互。通过被排成队列并以XML(可扩展标记语言)形式从浏览器135发送到应用服务器116的事件来执行客户端层300与服务器层115之间的交互。另一方面,通过以XML形式从应用服务器116发送到浏览器135的更新命令来执行服务器层115与客户端层300之间的交互。
应用层105还包括:应用对象树106,其可以是表示用于保持应用状态的(在程序代码中创建的)应用实例的树形结构对象模型;应用对象索引107,其可以是哈希表,用于保持组件标识与组件引用(reference)的关系并用来从应用对象标识获得应用对象引用;以及应用配置108,其可以是XML文档,用于保持应用参数和定义。
服务器层115(其进一步包括应用服务器116)负责:
-将资源请求从可以是各种类型的客户端层路由到服务器层上的资源请求处理机(handler),所述资源请求处理机是应向应用提供其资源(诸如图标/图像、数据、组件、内容等)并将数据发送回客户端层的对象;
-可以通过向保持应用对象ID的提交表单添加特定字段并通过从应用对象索引获得其引用来执行将请求路由到已请求文件的应用对象(在应用对象树106内)。应用对象索引是通过ID保持应用对象的词典(dictionary),使得能够通过提供ID来直接访问应用对象。这样,当请求到达服务器层时,其被路由到适当的应用对象。
-接收事件队列并针对队列项循环、逐个地处理事件,按照事件在客户端层300发生的顺序来处理每个事件;
-通过使用在上次服务器响应(在客户端层300内提供)时从服务器层发送到应用服务器116(在服务器层115内提供)的时间戳来将更新命令从浏览器135返回到应用服务器116;
-通过以下操作来处理第一URL导航(navigation):获得类,该类表示到在应用对象树106内提供的应用对象的系统的进入点的容器控件(例如Form容器对象)(所述类被映射到特定的URL),根据所述类来将对象初始化并返回完整更新命令。完整更新命令是使得客户端能够完整地再现控件的一整套属性,其与更新某些属性并因此而使得能够实现控件的局部再现的局部更新命令相反。
客户端层300还包括以下软件组件:
-浏览器控制脚本(controller script)127,其为用第一导航下载并被用作“通用框架(generic framework)”的脚本。“通用框架”意指下载客户端层脚本一次并将其用于所有用途,与每个应用/控件/控件状态均要求下载特定脚本的其它框架相反。此“通用框架”脚本被用于与应用服务器116通信并借助于从所述应用服务器116接收到的更新命令来更新客户端层300。“通用框架”脚本使得客户端层能够执行更新命令,如前所述,该更新命令可能包括需要修改或重新再现在客户端层上的部分/全部指导(direction)。“通用框架”脚本还使得客户端层能够关于客户端层中发生的事件(客户端事件)而执行与服务器的进一步通信,所述事件即用户130输入点击/双击、文本修改、鼠标移动等。
-XSL文档126,其在应用服务器116上生成,用来将从应用服务器116发送到浏览器135的更新命令变成HTML(超文本标记语言)代码,该HTML代码代替现有的HTML代码。这通过更新的XML后数据的XSL变换来执行,所述XSL变换帮助将新更新的属性变换成绘制的控件。
-XML界面状态文档128,其保持界面状态并用来再现增量更新且保存界面状态。通过在客户端层上保持属性数据的此XML,可以执行增量更新,因为服务器层可以通过更新XML界面状态文档128而在每个阶段只发送所需的数据,并且只重新再现应该再现的部分。
-CSS文档136,其在服务器层上生成,并被用作用于所有再现的(所变换的数据+XSLT)HTML元素的一般样式(诸如背景颜色、边框尺寸、边框颜色、布局样式等)。
客户端事件(例如点击、双击、鼠标移动等)在浏览器控制脚本127中被排成队列。这些客户端事件被分成三种主要类型:
·累积事件:这些事件借助于浏览器控制脚本127而被排列到客户端事件队列129中;
·累积唯一事件:这些事件也借助于浏览器控制搅拌127而被排列到客户端事件队列129中,但被保持为唯一事件;这意指如果这类事件发生且相同源和名称的前一事件已经存在,则所述前一事件将被删除,且新事件将被排队;
·临界事件:当这类事件发生时,其被排队为最后事件并触发事件队列,该事件队列包含在最后临界事件与当前事件之间的在客户端层上发生的所有非临界事件的按时序排列列表。触发该事件意指将其立刻并以同步方式发送到应用服务器116。
由应用服务器116管理的URL的初始请求(其为在网页浏览器中输入以便浏览至应用的一个入口点的URL)促使所述应用服务器116在应用配置108内搜索应用对象类的映射(对于给定URL)。在从所述应用配置108软件组件检索到映射的应用对象类之后,将此类初始化以表示应用对象树106的根对象(这意指将根对象初始化以便创建应用的入口点并将其显示在客户端层上)。然后,将完整更新命令从应用服务器116返回到客户端层300,从而使得所述客户端层300能够将客户端界面初始化。初始化是正式(in state)创建所有当前所示控件的新对象并对它们分配期望的初始属性状态的过程。由此开始,借助于事件和更新命令来执行客户端层300与应用服务器115之间的通信,当发出刷新动作时除外(可以通过按压浏览器的刷新按钮或通过改变应用的诸如其语言的某种主要属性来执行),这将促使服务器层11再次发送完整更新命令。
当临界事件触发事件队列发送时,浏览器控制脚本127向应用服务器116发送动作队列(在客户端事件队列129中提供)以及客户端唯一戳,例如时间戳,其是表示客户端层135的最后更新时间的数值。然后,服务器层115内的应用服务器116接收事件队列和客户端时间戳。然后,服务器从尾向头地处理事件队列,这是事件已发生的顺序。事件队列中的每个事件具有作为与此事件相关的应用对象的ID(标识)的源值。当搜索应用对象索引107以获得对与此事件相关的应用对象的对象引用时,使用从当前事件接收到的此类应用对象ID。当前事件被发送到将对象事件变换为发生的正常事件(基于本发明,发生的正常事件是在对象之间发送事件的服务器模型,与作为从客户端层发送到应用服务器层的事件的非正常事件相反)的应用对象的方法(其是用于这种事件的对象的事件处理机)。然后,应用对象根据其使用的类型(控件类型,即按钮、表单、列表框等)和行为(对该特定应用对象的每个事件进行反应的方法)来发送可以被程序代码开发者使用的正常代码事件。正常代码事件是被接受的众所周知的机制,该机制在以相同技术(即C#、Java等)编写的对象之间发送消息,与本发明提出的非正常事件相反,其中编写的对象例如是发送消息以便关于在其数据中发生的某些变化告知其容器对象的对象。使用本发明机制在客户端层与应用服务器层之间传递非正常事件,例如在客户端上的HTML再现元素被点击时其发送事件;然后,当针对应在服务器层上处理事件的对象实际发生该事件时,该事件被本发明机制转换成正常代码事件。
在已将所有事件从客户端层发送到应用服务器115之后,所述应用服务器115调用作为应用对象树106的应用根对象,以再现应在客户端层300上执行以便与应用对象树106同步的更新命令。为了创建更新命令,将客户端时间戳发送到应用对象树106内的应用根对象,其继而开始递归的再现动作,该递归的再现动作调用所述应用对象树106中的每个应用对象以检查其本身的时间戳,以便查看其是否需要生成一个或多个更新命令。应用对象可以保持一个或多个时间戳,以便其可以在需要时生成用于更新组件的不同更新命令。这种每个应用对象的多个时间戳当前被用于局部更新命令(例如仅更新诸如背景颜色、包含的数据等的应用对象属性)。局部命令用来使更新过程就必须重新绘制的元素数目及其复杂性而言尽可能高效。
由应用对象树106产生的更新命令被发送到服务器层115内的应用服务器116,应用服务器116继而将所述更新命令作为XML文档发送到客户端层300。浏览器控制脚本127接收更新命令并更新XML界面状态文档128。然后,通过使用XSL文档126将更新的元素逐个地转换成要被显示在显示器131上的其HTML代码表示。该HTML表示是通过利用(对于表示控件的元素)适当XSL模板的XML界面状态文档128的XSL变换产生的。
以与所有其它应用对象相同的方式来执行开放式应用窗口的管理,但从服务器层115返回以便打开窗口的更新命令或使窗口保持打开的更新命令还包含对窗口XML结构(XML元素结构可以具有包含在窗口中的应用对象以便该元素将被包含,或者可以具有窗口结构,其本身作为根XML节点)的指示,所述XML结构表示当前窗口结构(例如主窗口、模式对话框或非模式对话框、尺度、位置等)。当浏览器控制脚本127接收到打开窗口的XML结构时,其扫描(在当前打开的窗口上循环)所述打开窗口以查看是否应关闭其中之一,并扫描窗口结构以查看是否应打开新窗口。通过管理应用对象ID进行更新是唯一的,因此其可以跨多个窗口被找到,以与管理主窗口内容相同的方式来执行窗口内容的管理(主窗口是浏览器窗口,该浏览器窗口在应用运行期间在主窗口上部打开其它窗口的同时最初浏览初始URL),这意指应用对象ID在其它窗口中无法重复,即使该应用对象被包含在完全不同的容器中也是如此。这样,可以在XML内唯一地找到对象,而无论其包含的窗口。
根据本发明的实施例,使用传统桌面应用的布局定义,其限定有关布局项的停靠和锚定属性。停靠布局比传统Web应用使用的HTML表格和绝对定位更易于维护。最后,输出仍然是HTML,但程序员仅定义与在应用对象上的停靠或锚定有关的那些属性。支持停靠的应用对象暴露停靠(Dock)属性,其为“左”、“顶部”、“右”、“底部”和“填充(Fill)”的计数器(enumerator)。这些计数器定义应用对象的布局行为:
·定义“顶部”停靠导致应用对象根据高度定义而出现在可能的最高位置,且应用对象宽度将是可能的最大宽度;
·定义“底部”停靠导致应用对象根据其高度定义而出现在可能的最低位置,且应用对象宽度将是可能的最大宽度;
·定义“左”停靠导致应用对象根据其宽度定义而出现在最左侧位置,且其高度将是可能的最大高度;
·定义“右”停靠导致应用对象根据其宽度定义而出现在最右侧位置,且其高度将是可能的最大高度。
·定义“填充”停靠将导致应用对象填充剩余的客户端区域。将在“填充”应用对象之后定义的任何应用对象将根本不会显示,因为具有“填充”停靠的应用对象已经占用所有剩余空间。
根据本发明的优选实施例,采用绝对定位HTML中的元素的能力和在样式属性(描述控件样式的属性,诸如颜色、尺度、字体等,与诸如文本的数据属性相反)上添加表达式(expression)的能力,所述表达式应时常重新计算(重新计算是设置控件的位置和尺度的动作)。
当用户冲浪至由应用服务器116管理并被映射到应用根对象类(执行映射,以便应用将具有入口点,比如说,指定的应用对象表示所显示的第一屏幕)的URL时,该类被初始化并充当用于应用对象树106上的所有其它应用对象的根对象。通过应用事件来执行编写应用,以便改变当前应用对象树状态(诸如编写代码,其在按钮点击事件发生时、来自列表的项被选择时等发生)和结构(诸如编写代码,其引起控件的出现/消失、控件的尺度/样式/状态、窗口打开等),并且,服务器通过用来使当前界面状态与应用对象树状态同步的更新命令而在客户端的浏览器中反映这些变化。还通过应用对象树来执行管理Web应用窗口。打开窗口要求程序员创建从窗口类继承的对象的新实例。调用此对象的“显示窗口(showwindow)”函数(其为命令服务器显示窗口的实例的函数)使得将此窗口对象标记为可见,在下一个更新命令中其将此窗口添加到响应的窗口结构部分,通知浏览器在服务器上已创建窗口并应打开新窗口且再现其内容。当调用“隐藏窗口(hide window)”函数时,该“隐藏窗口”函数是命令服务器隐藏现有窗口并将不包含所发布的窗口结构的新的更新命令发送回客户端的函数,比如说,应关闭此窗口。浏览器总是将其当前打开的窗口与更新命令中的列表窗口结构相比较;然后,存在3种可能的情况:
1.窗口存在于更新命令和XML界面状态文档128两者中,那么,窗口应保持打开,因为其在服务器层状态和客户端层状态下均可见。
2.窗口存在于更新命令中且未存在于XML界面状态文档128中,那么,应打开在新窗口结构内具有指定内容的新窗口,因为其在服务器层状态下可见,但在客户端层状态下不可见。
3.窗口未存在于更新命令中,但是存在于XML界面状态文档128中,那么,应关闭发布的窗口,因为其在服务器层状态下不可见,但在客户端层状态下可见。
现有技术Web应用环境是基于页面的,这意指用与会话数据相结合的数据和类似于用来向客户端完全再现新页面的数据库记录的其它系统资源来调用URL。更新客户端界面要求由服务器来完全再现页面,将页面发送到浏览器并由浏览器再现以更新其界面。在那些环境下,通过此行为要求在浏览器中运行的脚本调用对服务器上的页面的HTTP请求并更新浏览器的界面。
虽然此Web应用开发环境使用客户端脚本来实现其任务,但其通过用来更新客户端界面并从客户端返回事件的基本脚本组来这样做,并在生成用来更新客户端界面的更新命令的服务器侧执行所有处理。因此,消除了应用设计员使用客户端脚本来将其Web应用编码的需要。应用设计员处理应用对象树事件,并且,通过经由那些事件处理机来改变应用对象树结构和状态,他间接地与用户界面进行交互。
根据现有技术,完全在服务器和客户端侧再现Web页面。此Web应用开发环境使用XML HTTP作为其同步和异步中介(mediator),并且发送的内容是由在浏览器中发生的相关变化和动作组成的事件队列。与该事件队列一起,还将客户端时间戳发送到服务器,该服务器用来在处理事件队列并执行事件处理机代码之后再现更新命令。由事件处理机对应用对象树元素进行的修改导致每个经修改的元素具有不同的最后更新时间戳,并且通过递归地遍历应用对象树并将客户端时间戳与每个应用对象树元素的时间戳相比较,可以提取更新命令列表并将其用于更新用户界面,因此,用户界面将与应用对象树同步。此机制将发送到服务器和从服务器返回的数据的尺寸优化至最小。此Web应用开发环境所使用的事件队列机制使服务器呼叫优化,以便不发送不必在服务器上处理的事件,并且只有当发生必须要处理的事件时,才进行发送。当重新定义唯一事件时,这意指某些事件互相抵消,可将事件队列更加优化。例如:如果用户改变屏幕上的拆分器位置并随后再次修改它,则第一事件值不是相关的,并将从队列中删除。
根据本发明的优选实施例,可以将继承(legacy)应用(例如工具、客户端/服务器应用等)从任何现有桌面环境导入网页。另外,可实现更高的安全水平,因为浏览器不保持业务逻辑脚本(诸如应用确认、口令、隐式字段、标记等),并且除使得能够创建在任何给定时间呈现的当前视图的表示数据之外基本上几乎没有数据。
虽然已通过举例说明描述了本发明的某些实施例,但显而易见的是在不违背本发明的精神或超出权利要求的范围的情况下,可以在进行许多修改、变更和改变的情况下和在使用在本领域技术人员的范围内的许多等价物或替代解决方案的情况下实施本发明。
Claims (6)
1.一种用于允许计算机化系统使用要通过数据网络而被呈现的面向IT的基于服务器的Web应用的方法,包括:
a)提供服务器侧;
b)提供客户端侧终端,该客户端侧终端通过所述数据网络与所述服务器进行数据通信;
c)在所述服务器侧安装应用;
d)将通用框架脚本下载到所述客户端侧一次,该通用框架脚本用于在应用与客户端侧之间调停,其中:
e)在所述客户端侧,将通用框架脚本用于:
e.1)在事件与表示应用对象的相应ID标签之间相关联;
e.2)向每个事件分配时间戳;
e.3)将事件排成队列,并且只在发生临界事件时,才将所述事件以事件队列的形式发送到所述应用;
f)在所述服务器侧:
f.1)通过使用所述相应ID标签在所述事件与所述应用对象之间相关联来将事件转换成应用动作;
f.2)通过每个接收到的事件的时间戳与所述应用对象的最后更新时间戳之间的比较来检查所述客户端的应用对象是否被更多地更新;
f.3)如果所述客户端的应用对象被更多地更新,则准备仅包含用于客户端侧的更新命令的数据包以更新反映应用更新的相关屏幕布局对象;
f.4)将所述数据包作为更新发送回所述客户端侧;以及
g)根据所述数据包的内容通过所述通用框架脚本,通过表示层在客户端侧更新屏幕布局对象。
2.如权利要求1所述的方法,其中,所述客户端侧是在任何操作系统下运行的任何网页浏览器。
4.如权利要求1所述的方法,其中,所述通用框架脚本是在所支持的不同表示层之间改变的代码。
5.如权利要求1所述的方法,其中,只使用XML来执行服务器与客户端侧的数据交换。
6.如权利要求1所述的方法,其中,所述通用框架脚本管理客户端侧通信协议。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US90167407P | 2007-01-16 | 2007-01-16 | |
US60/901,674 | 2007-01-16 | ||
PCT/IL2008/000066 WO2008087636A2 (en) | 2007-01-16 | 2008-01-16 | Method and system for creating it-oriented server-based web applications |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104873440A Division CN103218215A (zh) | 2007-01-16 | 2008-01-16 | 用于创建面向IT的基于服务器的Web应用的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101849228A CN101849228A (zh) | 2010-09-29 |
CN101849228B true CN101849228B (zh) | 2013-05-08 |
Family
ID=39636466
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800086132A Expired - Fee Related CN101849228B (zh) | 2007-01-16 | 2008-01-16 | 用于创建面向IT的基于服务器的Web应用的方法和系统 |
CN2012104873440A Pending CN103218215A (zh) | 2007-01-16 | 2008-01-16 | 用于创建面向IT的基于服务器的Web应用的方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104873440A Pending CN103218215A (zh) | 2007-01-16 | 2008-01-16 | 用于创建面向IT的基于服务器的Web应用的方法和系统 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8510371B2 (zh) |
EP (1) | EP2126716A4 (zh) |
JP (1) | JP5439190B2 (zh) |
CN (2) | CN101849228B (zh) |
AU (1) | AU2008206688B9 (zh) |
CA (1) | CA2675393A1 (zh) |
RU (1) | RU2466450C2 (zh) |
WO (1) | WO2008087636A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107895005A (zh) * | 2017-11-07 | 2018-04-10 | 东莞亿科信息技术有限公司 | 一种多市场历史数据的回测方法和计算机存储介质 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2675393A1 (en) | 2007-01-16 | 2008-07-24 | Gizmox Ltd. | Method and system for creating it-oriented server-based web applications |
US9092538B2 (en) * | 2008-09-30 | 2015-07-28 | Disney Enterprises, Inc. | System and method for determining the data model used to create a web page |
BRPI0921978A2 (pt) | 2008-11-26 | 2019-01-15 | Calgary Scient Inc | método de fornecimento de acesso remoto a estado de programa de aplicativo e meios de armazenamento. |
CN102096584B (zh) * | 2009-12-15 | 2014-04-09 | 阿里巴巴集团控股有限公司 | 一种页面脚本时间戳的修改方法、设备和系统 |
US8370899B2 (en) | 2010-08-11 | 2013-02-05 | Emc Corporation | Disposable browser for commercial banking |
US20120096070A1 (en) * | 2010-10-15 | 2012-04-19 | Shane Bryzak | Web application framework remoting model api |
US9406043B1 (en) * | 2010-12-15 | 2016-08-02 | A9.Com, Inc. | Techniques for peer-to-peer communication |
US9741084B2 (en) | 2011-01-04 | 2017-08-22 | Calgary Scientific Inc. | Method and system for providing remote access to data for display on a mobile device |
CA2823615C (en) | 2011-01-04 | 2017-08-29 | Calgary Scientific, Inc. | A method and system of controlling a remote controlled device in a remote controlled surgical procedure |
US8347315B1 (en) * | 2011-01-28 | 2013-01-01 | Sprint Communications Company L.P. | Configuration console for messaging middleware |
US8782174B1 (en) | 2011-03-31 | 2014-07-15 | Emc Corporation | Uploading and downloading unsecured files via a virtual machine environment |
US9600350B2 (en) * | 2011-06-16 | 2017-03-21 | Vmware, Inc. | Delivery of a user interface using hypertext transfer protocol |
US11750673B2 (en) * | 2011-08-01 | 2023-09-05 | Spring Design, Inc. | User interface content state synchronization across devices |
JP2014531626A (ja) | 2011-08-15 | 2014-11-27 | カルガリー サイエンティフィック インコーポレイテッド | アプリケーションプログラムへの非侵襲的遠隔アクセス |
US9514242B2 (en) | 2011-08-29 | 2016-12-06 | Vmware, Inc. | Presenting dynamically changing images in a limited rendering environment |
US9549045B2 (en) | 2011-08-29 | 2017-01-17 | Vmware, Inc. | Sharing remote sessions of a user interface and/or graphics of a computer |
US9596320B2 (en) | 2011-09-30 | 2017-03-14 | Calgary Scientific Inc. | Uncoupled application extensions including interactive digital surface layer for collaborative remote application sharing and annotating |
CA2850425A1 (en) * | 2011-09-30 | 2013-04-04 | Calgary Scientific Inc. | Coupled application extensions for collaborative remote application sharing |
US10210026B2 (en) | 2011-09-30 | 2019-02-19 | Oracle International Corporation | Enterprise tools enhancements |
US20130091197A1 (en) | 2011-10-11 | 2013-04-11 | Microsoft Corporation | Mobile device as a local server |
MX345059B (es) * | 2011-10-11 | 2017-01-16 | Microsoft Technology Licensing Llc | Servicio de evento para aplicaciones de cliente local a traves de servidor local. |
US9294572B2 (en) | 2011-11-11 | 2016-03-22 | Calgary Scientific Inc. | Session transfer and suspension in a remote access application framework |
KR20140106551A (ko) * | 2011-11-23 | 2014-09-03 | 캘거리 싸이언티픽 인코포레이티드 | 협업 원격 애플리케이션 공유 및 회의를 위한 방법들 및 시스템들 |
US9037636B2 (en) * | 2012-01-19 | 2015-05-19 | Microsoft Technology Licensing, Llc | Managing script file dependencies and load times |
US10530894B2 (en) | 2012-09-17 | 2020-01-07 | Exaptive, Inc. | Combinatorial application framework for interoperability and repurposing of code components |
US9600351B2 (en) | 2012-12-14 | 2017-03-21 | Microsoft Technology Licensing, Llc | Inversion-of-control component service models for virtual environments |
CN104092777B (zh) * | 2014-07-29 | 2017-12-26 | 深圳市富途网络科技有限公司 | 客户端的布局设定与服务器同步存储的方法及其系统 |
CN105450718A (zh) * | 2014-09-30 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 界面更新方法及客户端 |
US9564108B2 (en) * | 2014-10-20 | 2017-02-07 | Amlogic Co., Limited | Video frame processing on a mobile operating system |
US9916140B2 (en) * | 2015-03-23 | 2018-03-13 | International Business Machines Corporation | Method of generating end-to-end web application from tooling |
US9852295B2 (en) * | 2015-07-14 | 2017-12-26 | Bitdefender IPR Management Ltd. | Computer security systems and methods using asynchronous introspection exceptions |
WO2017023049A1 (en) * | 2015-07-31 | 2017-02-09 | Samsung Electronics Co., Ltd. | Electronic device and server related to rendering of web content and controlling method thereof |
US9319365B1 (en) * | 2015-10-09 | 2016-04-19 | Machine Zone, Inc. | Systems and methods for storing and transferring message data |
US10389795B2 (en) | 2015-10-09 | 2019-08-20 | Microsoft Technology Licensing, Llc | Distributed extension execution in computing systems |
RU2625936C1 (ru) * | 2016-03-03 | 2017-07-19 | ТУЗОВА Алла Павловна | Способ обработки машиночитаемой информации |
US10419568B2 (en) | 2016-04-01 | 2019-09-17 | Microsoft Technology Licensing, Llc | Manipulation of browser DOM on server |
US9910666B1 (en) | 2016-08-22 | 2018-03-06 | International Business Machines Corporation | Implementing locale management on PaaS: live locale object update |
US10102376B2 (en) | 2016-08-22 | 2018-10-16 | International Business Machines Corporation | Implementing locale management on PaaS: locale replacement risk analysis |
CN106776784A (zh) * | 2016-11-24 | 2017-05-31 | 福建星网智慧科技股份有限公司 | 一种web页面快速加载的方法 |
US10409565B2 (en) | 2017-03-30 | 2019-09-10 | Ice Tea Group Llc | Pixel perfect real-time web application framework |
US11611373B2 (en) * | 2018-05-15 | 2023-03-21 | Logmore Oy | Electronic device and data-transmission system |
CN109032705B (zh) * | 2018-07-05 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 应用程序的执行方法、装置、电子设备及可读存储介质 |
JP7225596B2 (ja) * | 2018-07-30 | 2023-02-21 | トヨタ自動車株式会社 | プログラム更新システム、プログラム更新サーバーおよび車両 |
CN110929188A (zh) * | 2018-09-19 | 2020-03-27 | 北京国双科技有限公司 | 服务端页面渲染方法及装置 |
CN109471708B (zh) * | 2018-10-12 | 2023-10-31 | 北京奇虎科技有限公司 | 一种任务处理方法、装置及系统 |
CN113168337A (zh) * | 2018-11-23 | 2021-07-23 | 耐瑞唯信有限公司 | 用于管理在客户端设备上生成和渲染用户界面的技术 |
JP6978447B2 (ja) * | 2019-01-22 | 2021-12-08 | ファナック株式会社 | 表示データ提供装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510608A (zh) * | 2002-12-24 | 2004-07-07 | 鸿富锦精密工业(深圳)有限公司 | 面向对象的商业网站架设系统 |
CN1670698A (zh) * | 2005-04-06 | 2005-09-21 | 清华大学 | 基于透明计算的计算设备和方法 |
CN101075864A (zh) * | 2007-07-16 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 数据同步方法及处理方法、客户端设备、服务器 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608909A (en) * | 1994-04-15 | 1997-03-04 | Microsoft Corporation | Method and system for caching presentation data of a source object in a presentation cache |
US5881230A (en) * | 1996-06-24 | 1999-03-09 | Microsoft Corporation | Method and system for remote automation of object oriented applications |
US6115646A (en) * | 1997-12-18 | 2000-09-05 | Nortel Networks Limited | Dynamic and generic process automation system |
RU2237275C2 (ru) * | 1999-02-18 | 2004-09-27 | Ситрикс Системз, Инк. | Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер |
US6356933B2 (en) * | 1999-09-07 | 2002-03-12 | Citrix Systems, Inc. | Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language |
WO2001045018A1 (en) * | 1999-12-17 | 2001-06-21 | Dorado Network Systems Corporation | Purpose-based adaptive rendering |
US7240283B1 (en) * | 2000-11-10 | 2007-07-03 | Narasimha Rao Paila | Data transmission and rendering techniques implemented over a client-server system |
US7574493B2 (en) * | 2000-11-22 | 2009-08-11 | Cricket Communications, Inc. | Method and system for improving the efficiency of state information transfer over a wireless communications network |
US8843909B2 (en) * | 2001-05-11 | 2014-09-23 | Ca, Inc. | Method and apparatus for transforming legacy software applications into modern object-oriented distributed systems |
AUPR947701A0 (en) * | 2001-12-14 | 2002-01-24 | Activesky, Inc. | Digital multimedia publishing system for wireless devices |
DE10214538A1 (de) * | 2002-04-02 | 2003-10-30 | Siemens Ag | Webserver mit integrierter Automatisierungsfunktionalität und direktem Zugriff auf eine Transportschicht |
US7379982B2 (en) * | 2002-04-15 | 2008-05-27 | Bassam Tabbara | System and method for custom installation of an operating system on a remote client |
JP2003323402A (ja) | 2002-05-01 | 2003-11-14 | Ntt Docomo Inc | シンクライアントシステム、並びに、シンクライアント端末、シンクライアント端末制御方法、及び、制御プログラム |
US9521207B2 (en) * | 2002-05-09 | 2016-12-13 | Protel Communications Limited | Unified integration management—contact center portal |
US6687485B2 (en) * | 2002-05-21 | 2004-02-03 | Thinksmark Performance Systems Llc | System and method for providing help/training content for a web-based application |
US7107497B2 (en) | 2002-09-30 | 2006-09-12 | Sun Microsystems, Inc. | Method and system for event publication and subscription with an event channel from user level and kernel level |
US7290249B2 (en) * | 2003-01-27 | 2007-10-30 | Bea Systems, Inc. | System and method for java message service mark-up language |
US7614052B2 (en) | 2004-01-09 | 2009-11-03 | Nexaweb Technologies Inc. | System and method for developing and deploying computer applications over a network |
US7392294B2 (en) * | 2004-07-22 | 2008-06-24 | International Business Machines Corporation | Decreasing data transmission volume from server to client device in data processing network |
US20060089147A1 (en) * | 2004-10-21 | 2006-04-27 | Beaty Robert M | Mobile network infrastructure for applications, personalized user interfaces, and services |
US7467293B2 (en) * | 2004-11-12 | 2008-12-16 | Tsinghua University | Method and computing system for transparence computing on the computer network |
CN100407643C (zh) | 2005-06-02 | 2008-07-30 | 中兴通讯股份有限公司 | 一种电信设备面板管理系统及其实现管理的方法 |
US20070008973A1 (en) * | 2005-07-11 | 2007-01-11 | Galea Nicholas P A | Thin client server |
US20080071922A1 (en) * | 2006-09-19 | 2008-03-20 | International Business Machines Corporation | Methods, systems, and computer program products to transparently dispatch requests to remote resources in a multiple application server environment |
CA2675393A1 (en) | 2007-01-16 | 2008-07-24 | Gizmox Ltd. | Method and system for creating it-oriented server-based web applications |
-
2008
- 2008-01-16 CA CA002675393A patent/CA2675393A1/en not_active Abandoned
- 2008-01-16 EP EP08702647A patent/EP2126716A4/en not_active Withdrawn
- 2008-01-16 CN CN2008800086132A patent/CN101849228B/zh not_active Expired - Fee Related
- 2008-01-16 CN CN2012104873440A patent/CN103218215A/zh active Pending
- 2008-01-16 JP JP2009546066A patent/JP5439190B2/ja not_active Expired - Fee Related
- 2008-01-16 RU RU2009130915/08A patent/RU2466450C2/ru not_active IP Right Cessation
- 2008-01-16 WO PCT/IL2008/000066 patent/WO2008087636A2/en active Application Filing
- 2008-01-16 US US12/523,177 patent/US8510371B2/en not_active Expired - Fee Related
- 2008-01-16 AU AU2008206688A patent/AU2008206688B9/en not_active Ceased
-
2013
- 2013-08-12 US US13/964,190 patent/US20140143310A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510608A (zh) * | 2002-12-24 | 2004-07-07 | 鸿富锦精密工业(深圳)有限公司 | 面向对象的商业网站架设系统 |
CN1670698A (zh) * | 2005-04-06 | 2005-09-21 | 清华大学 | 基于透明计算的计算设备和方法 |
CN101075864A (zh) * | 2007-07-16 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 数据同步方法及处理方法、客户端设备、服务器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107895005A (zh) * | 2017-11-07 | 2018-04-10 | 东莞亿科信息技术有限公司 | 一种多市场历史数据的回测方法和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101849228A (zh) | 2010-09-29 |
RU2466450C2 (ru) | 2012-11-10 |
US20140143310A1 (en) | 2014-05-22 |
CA2675393A1 (en) | 2008-07-24 |
US20100115023A1 (en) | 2010-05-06 |
AU2008206688B2 (en) | 2012-09-27 |
JP2010528344A (ja) | 2010-08-19 |
JP5439190B2 (ja) | 2014-03-12 |
RU2009130915A (ru) | 2011-02-27 |
WO2008087636A3 (en) | 2010-01-28 |
AU2008206688B9 (en) | 2013-01-24 |
EP2126716A2 (en) | 2009-12-02 |
WO2008087636A2 (en) | 2008-07-24 |
CN103218215A (zh) | 2013-07-24 |
US8510371B2 (en) | 2013-08-13 |
AU2008206688A1 (en) | 2008-07-24 |
EP2126716A4 (en) | 2011-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101849228B (zh) | 用于创建面向IT的基于服务器的Web应用的方法和系统 | |
CA2557111C (en) | System and method for building mixed mode execution environment for component applications | |
US7614052B2 (en) | System and method for developing and deploying computer applications over a network | |
US8527943B1 (en) | System and method of application development | |
JP5809328B2 (ja) | ウィジェットフレームワーク、リアルタイムサービス統合およびリアルタイムリソース集約 | |
US7707563B2 (en) | System and method for network-based computing | |
US8407610B2 (en) | Executable and declarative specification for graphical user interfaces | |
CN101699393B (zh) | 一种面向网络的智能化软件界面动态生成方法 | |
CN101192216B (zh) | 静态页面控件与web服务器互动的实现方法及web服务器 | |
US20020101448A1 (en) | Generating a declarative user interface | |
US20020066074A1 (en) | Method and system for developing and executing software applications at an abstract design level | |
Le et al. | Implementation of react-redux in web application | |
EP1569095A1 (en) | System and method for presentation of wireless application data using repetitive UI layouts | |
Khosravi | Professional ASP. NET 2.0 server control and component development | |
Yu et al. | OpenXUP: an alternative approach to developing highly interactive web applications | |
IL199860A (en) | Method and System for Creating Server-Based Networking and Information Technology (IT) Applications | |
Marinos et al. | Towards an XML-based user interface for electronic health record | |
Rennerskog et al. | Study and Prototyping the new Bank GUI for Klarna | |
Schmidt et al. | A Comparison of Web Visualization Frameworks for eBusiness Applications Using the Example of an Online Shop |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130508 Termination date: 20160116 |
|
EXPY | Termination of patent right or utility model |