平码五不中公式规律
  • / 29
  • 下载费用:30 金币  

在编译期间将呈现元数据转换成浏览器可渲染格式.pdf

关 键 ?#21097;?/dt>
编译 期间 呈现 数据 转换 浏览器 渲染 格式
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580031081.4

申请日:

2015.06.05

公开号:

CN106663090A

公开日:

2017.05.10

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 17/24申请日:20150605|||公开
IPC分类号: G06F17/24 主分类号: G06F17/24
申请人: 微软技术许可有限责任公司
发明人: D·高希; M·东格里
地址: 美国华盛顿州
优?#28909;ǎ?/td> 2014.06.09 US 62/009,667; 2014.10.14 US 14/513,762
专利代理机构: 上海专利商标事务所有限公司 31100 代理人: 蔡悦
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580031081.4

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

在客户端设备上接收对表单的请求。在客户端设备上接收表单的静态表示,静态表示包括定义表单的整体结构的结构信息以及属性信息,并且客户端设备上的浏览器基于静态表示来生成表单的可渲染的标记语言表示。从服务器接收行为和状态信息,并且行为和状态信息被用来增强表单的可渲染版本。然后浏览器渲染表单的增强的、可渲染的版本。

权利要求书

1.一种计算系统,包括:
在服务器上的应用服务器组件,所述应用服务器组件被?#28210;?#25104;从客户端接收请求表单
的客户端请求,并且作为响应向所述客户端发送所述表单的静态表示;以及
在所述服务器上的表单处理组件,所述表单处理组件被?#28210;?#25104;基于所述客户端请求来
生成所述表单的动态信息,并且将所述动态信息与所述静态表示分开地发送到所述客户
端。
2.如权利要求1所述的计算系统,其特征在于,所述应用服务器组件被?#28210;?#25104;以描述所
述表单的功能表示的描述符格式发送所述表单的静态表示。
3.如权利要求2所述的计算系统,其特征在于,所述表单处理组件被?#28210;?#25104;以所述描述
符格式来生成所述动态信息。
4.如权利要求3所述的计算系统,其特征在于,所述表单处理组件被?#28210;?#25104;获得不同于
所述表单的静态表示的所述表单的服务器表示,并且从所述服务器表示中生成所述动态信
息。
5.如权利要求4所述的计算系统,其特征在于,所述表单处理组件被?#28210;?#25104;通过获得填
充所述表单的数据来生成所述动态信息。
6.如权利要求5所述的计算系统,其特征在于,所述表单处理组件被?#28210;?#25104;生成所述动
态信息以包括指示所述表单上的控件的状态的表单状态信息。
7.一种计算系统,包括:
显示设备;以及
在客户端设备上的表单渲染组件,所述表单渲染组件被?#28210;?#25104;从服务器获得表示所述
表单上的显示元素的结构的表单的静态表示,生成所述表单的可渲染表示,将从所述服务
器接收到的所述表单的动态信息合并到所述表单的可渲染表示中以获得表单可视化,并且
控制显示设备以在所述显示设备上渲染所述表单可视化。
8.如权利要求7所述的计算系统,其特征在于,所述表单渲染组件被?#28210;?#25104;接收所述动
态信息,并且在合并所述动态信息之前,将所述可渲染表示与所述动态信息之间的差异应
用于所述可渲染表示以获得所述表单可视化。
9.如权利要求8所述的计算系统,其特征在于,所述表单渲染组件接收所述动态信息作
为所述表单的服务器表示,并且标识要应用于所述可渲染表示的差异。
10.如权利要求8所述的计算系统,其特征在于,所述表单渲染组件从所述服务器接收
具有由所述服务器标识的差异的所述动态信息。
11.如权利要求8所述的计算系统,其特征在于,所述表单渲染组件从所述静态表示生
成所述表单的可渲染表示作为没有所述动态信息的所述表单的功能表示。
12.如权利要求11所述的计算系统,其特征在于,所述表单渲染组件包括所述客户端设
备上的浏览器。
13.如权利要求11所述的计算系统,其特征在于,还包括:
客户端应用组件,所述客户端应用组件被?#28210;?#25104;接收请求显示表单的用户输入,并且
向所述服务器发送请求以获得所述表单的静态表示,并向所述服务器发送请求以获得所述
动态信息。
14.一种方法,包括:
在开发系?#25345;?#26816;测指示定义表单的元数据的表单创作输入;
基于所述元数据来生成所述表单的静态表示,所述表单的静态表示包括指示所述表单
上的控件结构的结构信息和指示所述表单的属性的属性信息;以及
基于所述元数据来与所述静态表示分开地生成所述表单的服务器表示,所述服务器表
示指示所述表单的动态信息。
15.如权利要求14所述的方法,其特征在于,还包括:
接收编译用户输入并且响应于所述编译用户输入来生成所述静态和服务器表示。

说明书

在编译期间将呈现元数据转换成浏览器可渲染格式

背景

计算机系统当前被广泛应用。许多计算机系统具有表单或其他显示机制,通过表
单或其他显示机制将计算机系?#25345;?#30340;信息呈现给用户。

作为示例,一些计算机系统包括业务系统。业务系统可包括例如企业资源规划
(ERP)系统、客户关系管理(CRM)系统、业务线(LOB)系统等。这些类型的系统可具有在不同
上下文中呈现给用户的数百或数千种不同的表单。每种表单可具?#34892;?#22810;不同的控件。一些
表单还具有相关联的逻辑、数据、状态信息和其他行为信息。

业务系统只是这种系统的一个示例。例如,电子邮件或其他消息收发系统,以及电
子店面、文档管理系统和大量其他计算机系统同样具有向用户呈现数据的表单或类似机
制。

为了开发表单,开发人员通常在开发环?#25345;?#23545;表单进行建模。然后经建模的表单
被编译成可序列化格式(诸如XML)并被保存到数据存储中。

在运行时期间,表单可被用在基于服务器的系统(诸如基于服务器的业务系统)
中。当用户在浏览器中请求表单时,具?#34892;?#35201;被打开的表单的名称的请求被发送到服务器。
服务器随后使用XML表示来创建并初始化表单及其控件,并且来执行与表单相关联的任何
运行时代码。在所有代码已经被执行之后,服务器根据表单可被发送到客户端应用的格式
来生成表单,并且将表单发送到客户端。在一些系?#25345;校?#26381;务器使用完整表单的描述符来生
成表单的表示。例如,服务器可生成表单的JavaScript对象表示法(JSON)表示。JSON表示由
浏览器中的代码解释,以生成被用来在浏览器中渲染表单的结构和标记语言格式。因此,服
务器生成表单的整体表?#38745;?#23558;其传送到客户端以在浏览器中渲染。

提供以上讨论仅用作一般的背景信息,并不旨在用作帮助来确定所要求保护的主
题的范围。

概述

在客户端设备上接收对表单的请求。在客户端设备上接收表单的静态表示,其包
括定义表单的总体结构的结构信息以及属性信息,并且客户端设备上的浏览器基于静态表
示来生成表单的可渲染的标记语言表示。从服务器接收行为和状态信息,并且其被用来增
强表单的可渲染版本。然后浏览器渲染表单的增强的、可渲染的版本。

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本
概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求
保护的主题的范围。所要求保护的主题不限于解决在背景中提及的任何或所有缺点的实
现。

附图简述

图1?#24378;?#21457;环境的一个示例的框图。

图2是解说图1中所示的环境在开发表单时的操作的一个示例的流程图。

图2A示出了在开发环?#25345;?#29983;成的用户界面显示的一个示例。

图3是解说基于服务器的运行?#34987;?#22659;的一个示例的框图。

图4A和4B(统称为图4)示出了图3所示的基于服务器的运行?#34987;?#22659;在渲染由用户
所请求的表单时的操作的一个示例。

图5示出了可在图3所示的环?#25345;?#29983;成的用户界面显示的一个示例。

图6示出了被置于云计算环?#25345;?#30340;图3示出的环境的一个示例。

图7-9示出了移动设备的各种示例。

图10是计算环境的一个示例的框图。

详细描述

图1示出了可被用来开发向用户103显示信息的表单或其他机制的开发环境100的
一个示例的框图。开发环境100可包括开发系统102和数据存储104。在图1所示的示例中,示
出了开发系统102生成用户界面显示106,用户界面显示106具有供用户103进行?#25442;?#30340;用户
输入机制108。用户103可以是正在使用开发系统102开发模型或代码并且储存在数据存储
104中的开发者。用户103说明性地与用户输入机制108?#25442;?#20197;控制并操纵系统102。

开发系统102本身说明性地包括处理器110、用户界面组件112、元数据创作功能
114、表单编译器116,并且开发系统102还可包括其他项118。数据存储104说明性地包括由
用户102建模的每个表单的静态(例如,标记语言)表单表示120。数据存储104还说明性地包
括服务器表示122。静态表单表示120说明性地包括定义对应表单的总体分层结构的结构信
息124。静态表单表示120还可包括属性信息126以及其他信息128。另外,在一个示例中,静
态表单表示120可包括指示绑定到对应表单的数据源的一些数据绑定信息。

服务器表示122可包括逻辑130、数据和其他数据绑定信息132、对应于表单的状态
和行为信息134,并且服务器表示122还可包括其他项136。

在更详细描述环境100的总体操作之前,将首先提供简要概览。用户界面组件112
本身或者在开发系统102中的其他项的控制?#28388;?#26126;性地生成具有用户输入机制108的用户
界面显示106。用户103说明性地使用用户输入机制108以便访问元数据创作功能114来创作
表示给定表单的元数据。元数据创作功能114说明性地是在开发系统102中或在另一开发工
具中所提供的功能,该功能允许用户103创作定义表单或其他表示机制的元数据或其他数
据。出于本讨论的目的,在一个示例中,术语“表单”将被用来意指向用户显示信息的任何机
制。

表单编译器116说明性地将用户102在开发表单中输入的元数据编译成静态表单
表示120和服务器表示122。静态表示120可说明性地是服务器可以用来将表单发送到请求
客户端的表示。例如,静态表示120可以是表单的JSON表示。在一个示例中,静态表示120包
含表单控件分层结构(由结构信息124定义)以及可由浏览器在运行?#34987;肪持?#20351;用的一组属
性和其他可选数据绑定信息(由属性信息126定义),以便在浏览器中生成表单的可渲染版
本。编译器116还说明性地生成由服务器表示122所表示的表单的标记语言(例如,XML)版
本。

因此,如下面参考图3更详细地描述的,在运行时期间,客户端设备上的浏览器可
请求来自基于服务器的系统的表单并且将接收静态表示120。然后,客户端可开始构建表单
的可渲染版本,同时服务器执行与表单相关联的逻辑130,并且还获得数据132以及任何状
态和行为信息134。当服务器请求被完成时,该信息可被发送到客户端设备上的浏览器,在
浏览器中该信息与已使用静态表单表示120创建的可渲染版本合并,以获得表单的最终的
经渲染版本。

图2是解说图1中所示的环境100在创作并编译表单时的操作的一个示例的流程
图。开发系统100首先从用户103接收指示用户103希望访问开发系统103以便开发表单的用
户输入。这由图2中的框150指示。例如,这可以是?#29616;?#20449;息152或其他信息154。

用户界面组件112随后显示表单创作显示,使得用户103可访问元数据创作功能
114以便创作表单。显示表单创作显示由框156指示。其可包括元数据显示158、属性显示160
和其他显?#38745;?#20998;162。

图2A示出表单创作显示164的一个示例。可以看出,在一个示例中,显示164包括允
许开发者查找各种表单的浏览器显?#38745;?#20998;166。显示164还说明性地包括允许开发者创作元
数据的元数据显?#38745;?#20998;158。图2A中所示的示例示出了表示表单的分层元数据结构168的一
个示例。预览部分170示出?#35828;?#30001;元数据结构168表示的表单在运行时期间被渲染时,该表
单将看起来像什么的预览。

开发系统102接收元数据创作功能114上的输入以便创作表单。这由图2的流程图
中的框172指示。因此,开发者可修改或添加到元数据结构168以进一步开发一般在170处显
示的表单。

在某一时刻,表单编译器116编译创作出的表单。在一个示例中,这可在每当用户
保存正在被创作的表单时执行。在另一示例中,编译器116可间歇地或者周期性地自动编译
表单。当然,编译也可在其他时间执行。接收指示表单编译器116将编译表单的编译输入由
图2的流程图中的框174指示。

然后,如框166所示,表单编译器116编译创作出的表单。在这样做时,如上所讨论
的,表单编译器116生成静态表单表示120、服务器表示122,并且表单编译器116还可生成其
他项178。编译器116反射分层结构168中的元数据以生成表单的静态版本120。例如,静态版
本120可使用JSON?#22336;?#20018;或其他描述符来表示,所示其他描述符可由将渲染表单的运行时
浏览器理解。在任何情况下,静态表示120可被浏览器使用来创建作为经建模的表单的完整
表示的标记语言表单(例如,HTML表单),但是不具有表单的逻辑结果、所有数据绑定、以及
状态和行为信息。此信息将由服务器在运行时期间提供。

下面的表1示出了表示图2A中所示的示例表单的静态表单表示204的经编译文件
的一个示例。为了生成静态表示,表单编译器116在经建模的元数据结构168上反射并且生
成表单的静态表示。“静态?#24065;?#21619;着该表?#38745;?#21253;括与表单相关联的逻辑或代码的结果。在一
个示例中,静态表示是JSON表示,但它也可以是其他表示。在表1中可以看出,该表示包括控
件层次结构和属性,所述控件层次结构和属性被需要以创建视觉上?#34892;?#30340;表单的表示。该
表示还可任选地包括一些数据绑定信息。这是作为编译表单时的中间步骤来完成的。







表1

然后,表单编译器116将经编译的表单储存在数据存储104中,以供运行时使用。这
由图2中的框180指示。

图3是基于服务器的运行?#34987;?#22659;182的一个示例的框图。环境182说明性地包括服
务器环境184、客户端设备186和数据存储188。图3所示的示例示出了客户端设备186生成用
户界面显示190以供显示用于用户194的?#25442;?#30340;表单192。

服务器环境184说明性地包括一个或多个处理器196、应用服务器组件198、表单处
理组件200,并且服务器环境184还可包括其他项202。数据存储188说明性地储存由应用服
务器组件198运行的应用所使用的表单的静态表单表示204和服务器表示206。数据存储188
还可包括数据源208以及其他项210。客户端设备186说明性地包括浏览器210,其包括表单
渲染组件212。客户端设备186还可包括处理器214、用户界面组件216、显示设备218,并且客
户端设备186还可包括其他项220。在更详细描述环境182的总体操作之前,将首先提供简要
概览。

应用服务器组件198说明性地运行使用由储存在数据存储188中的各种表示和数
据表示的表单和数据的应用(诸如业务系统应用或其他应用)。表单处理组件200说明性地
处理对表单的请求。客户端应用组件213说明性地运行由应用服务器组件198伺服的应用的
客户侧部分。因此,用户194可通过客户端应用213请求表单192的显示。例如,用户界面组件
216本身或者在其他项的控制?#28388;?#26126;性地在客户端设备186上的显示设备218上生成用户界
面显示190。

当用户194请求表单192的呈现时,浏览器210将该请求提供给服务器环境184。表
单处理组件200检索所请求的表单的静态表单表示204,并将?#28210;?#25509;提供给客户端设备186。
表单渲染组件212使用静态表单表示来生成标记语言、所请求的表单的可渲染版本。该表单
的可渲染版本将说明性地是表单的完整渲染,将要运行的关于表单的任何逻辑的结果越
少,由应用服务器组件198基于服务器表示206生成的行为和状态信息(以及一些数据和数
据绑定)就越少。服务器表示206被提供给应用服务器组件198,在应用服务器组件198处生
成了其他信息,例如,运行与表单相关联的逻辑,获得数据和数据绑定,获得行为和状态信
息等。然后该附加信息被提供以形成渲染组件212,?#28210;?#35813;附加信息与已经由表单渲染组件
212生成(或正在被生成)的表单的可渲染版本合并。一旦合并,整个表单就被浏览器210内
的表单渲染组件212渲染,以供向用户194显示。

图4A和4B(统称为图4)示出?#31169;?#35828;基于服务器的运行?#34987;?#22659;182的操作的一个示
例的流程图。服务器环境184首先接收访问基于服务器的应用的用户输入。这由图4的框230
指示。这可以采用?#29616;?#20449;息232或其他信息234的形式。

客户端应用组件213结合应用服务器组件198随后生成允许用户194来控制并操纵
基于服务器的应用的用户界面显示190。在某一时刻,用户194将提供请求给定表单192的显
示的输入。接收这样的输入由图4的流程图中的框236指示。

该请求将说明性地由浏览器210提供至服务器环境184中的表单处理组件200。然
后,表单处理组件200检索所请求的表单的静态表单表示204,并将其提供到客户端设备186
上的表单渲染组件212。表单处理组件200还说明性地获得所请求的表单的服务器表示206,
并且将服务器表示206提供给应用服务器组件198,使得组件198能够执行获得动态信息所
需的任何服务器侧处理,该动态信息被用来完整地渲染该表单,包括表单的当前数据、状态
信息、行为信息等。检索服务器表示206和静态表单表示204并将它们提供给客户端设备186
中的服务器环境184分别由图4中的框238所指示。

在图4中的这一点上,在客户端设备186和服务器环境184两者上开?#21363;?#29702;。客户端
186上的浏览器210中的表单渲染组件212接收所请求的表单的静态表示。这由框240指示。
然后,表单渲染组件212执行静态表示的任何必要的转换,以获得表单结构的可渲染版本及
其属性。这由框242指示。此时在处理中生成的表单是该表单的完整工作版本,但其不包括
由服务器提供的信息(如果有的话)。

同时,请求由表单处理组件200发送?#25509;?#29992;服务器组件198,以请求任何附加的状
态或行为信息,并请求服务器组件198执行与表单相关联的任何逻辑并为所请求的表单获
得任何附加数据(如果存在的话)。在图4中的框244指示在应用服务器组件198处接收请求。
然后,应用服务器组件198执行获得该附加信息(如果有的话)所需的各种操作。这由框256
指示。然后,应用服务器组件198将数据、逻辑结果、行为和状态信息等发送到在浏览器210
中表单渲染组件212。这由框248指示。被生成并发送到表单渲染组件212的表单的服务器表
示可以是具有与静态表示相同的格式的描述符格式的表单的完整表示。因此,动态信息(例
如数据、状态信息、行为信息、逻辑结果等)可被组件212标识为增量并且作为增量被应用。
在另一示例中,从服务器发送的描述符可仅表示来?#36816;?#35831;求表单的已创建的可渲染版本的
增量(或变化)。在?#25105;?#24773;况下,框250指示了在表单渲染组件212处接收来自服务器的该信
息。

然后,表单渲染组件212利用从应用服务器组件198接收的任何信息来增强所请求
表单的已创建的可渲染版本。这是通过将该信息与已创建的表单合并来完成的,以便获得
经更新的可视化和所请求的表单的状态。这由框252指示。该合并说明性地通过将从服务器
发送的动态信息所获得的增量应用于已创建的表单来完成。然后,表单渲染组件212在浏览
器210中渲染所请求的表单,以在用户界面显示190上显示给用户194。渲染表单由框254指
示。

图5A示出用户界面显示256的一个示例。用户界面显示256示出了上文参考图2A和
表1所描述的经渲染的表单的示例。一旦为用户194渲染所请求的表单,用户就可以与该表
单进行?#25442;?诸如通过填充字段、激活显示的控件等)。表示这些用户?#25442;?#30340;信息可被传送
?#25509;?#29992;服务器组件198用于处理。例如,该信息可能表示一些用户?#25442;?#21487;能将调用进一步的
逻辑操作或运行与表单相关联的业务逻辑或其他代码。该信息还可能表示用户?#25442;?#21487;能以
其他方式调用服务器侧处理。如果是这种情况,则处理返回至框246,在框246,应用服务器
组件198执行由用户?#25442;?#35302;发的处理。然后,应用服务器组件198将该处理的结果发送回浏
览器210中的渲染组件212,使得结果可被渲染。然而,将注意到,在一个示例中,修改以表示
来自现有表单的变化的增量的形式而不是作为全新的表单表示被发送。以这种方式,表单
渲染组件212可将增量应用于表单的经渲染版本,而不必重新计算表单的整个可渲染版本。
在另一示例中,服务器表示表示整个表单,并且客户端上的渲染组件212标识差异(或增
量),并将差异(或增量)应用于已生成的表单的可渲染版本。接收用户?#25442;?#30001;图4中的框258
指示。

可以看出,将创作出的表单编译成静态表示以及其相应的基于服务器的表示可被
用来改进表单渲染性能。当浏览器210等待服务器应用组件198运行并执行所有逻辑并且随
后将结果返回到浏览器210时,浏览器210中的表单渲染组件212可开始使用该静态表示来
为客户侧上的表单创建文档对象模型或其他结构。这两种类型的处理可并行执行。因此,当
应用服务器组件198返回表单的任何附?#29992;?#36848;符时,仅增量(在已经作为可渲染表单生成的
内容与附加信息之间的变化)被应用。描述可作为增量发送,或者该增量可在客户端上被标
识。这提高了渲染性能。当用户与表单?#25442;ナ币?#21487;以这样做。

本讨论提到了处理器和服务器。在一个实施例中,处理器和服务器包括具有相关
联的存储器和时序电路系统(未分别示出)的计算机处理器。它们是它们所属的系统或设备
的功能部分,且由这些系?#25345;?#30340;其他组件或项的功能来激活并促成这些功能。

同样,讨论了多个用户界面显示。它们可以采取各种各样的不同形式且可具有布
置于其上的各种各样的不同用户可致动输入机制。例如,用户可致动输入机制可以是文本
框、复选框、图标、链接、下拉菜单、搜索框,等等。例如,可使用点击设备(诸如跟踪球或鼠
标)来致动它们。可使用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等等来致动它
们。还可使用虚拟键盘或其他虚拟致动器来致动它们。另外,在其上显示它们的屏幕是触敏
屏的情况下,可以使用触摸?#36136;?#26469;致动它们。同样,在显示它们的设备具有语音识别组件的
情况下,可以使用语音命令来致动它们。

?#22266;?#35770;了数个数据存储。将注意,它们可各自被分解成多个数据存储。它们全部可
位于访问它们的系统的本地,全部可以是远程的,或一些可以在本地而其他在远程。本文构
想了所有这些?#28210;謾?br />

同样,附图示出?#21496;?#26377;归属于每一框的功能的多个框。将注意,可以使用更少的
框,使得功能由更少的组件来执行。同样,可以使用更多框,?#28210;?#21151;能被分布在更多组件之
间。

图6是图3中所示的运行?#34987;?#22659;182的框图,只是其各元素被置于云计算架构500
中。云计算提供了不要求终端用户知晓交付服务的系统的物理位置或?#28210;?#30340;计算、软件、数
据访问和存储服务。在各个实施例中,云计算通过诸如因特网之类的广域网使用合适的协
议来交付服务。例如,云计算提供者通过广域网交付应用,并且它们可以通过web浏览器或
任何其他计算组件被访问。架构100的软件或组件以及相对应的数据可被存储在远程位置
处的服务器上。云计算环?#25345;?#30340;计算资源可以被整合在远程数据?#34892;?#20301;置处或者它们可以
是分散的。云计算基础结构可以通过共享数据?#34892;?#26469;交付服务,即使在用户看来它们是单
个访问点。因此,在此所述的组件和功能可以从使用云计算架构的远程位置处的服务提供
者来提供。替代地,它们可以从常规的服务器中提供,或者它们可以直接地或以其他方式安
装在客户端设备上。

本说明书旨在包括公共云计算和?#25509;性?#35745;算两者。云计算(公共和?#25509;?#20004;者)提供
了基本无缝的资源联营以及对管理和?#28210;?#24213;层硬件基础结构的?#26723;?#30340;需求。

公共云由供应商管理,并且通常支持使用同?#25442;?#30784;结构的多个消费者。此外,与私
?#24615;?#30456;反,公共云能够将终端用户从管理硬件中释放出来。?#25509;性?#21487;由机构本身管理,并且
基础结构通常不与其他机构共享。该机构在?#25345;?#31243;度上仍然维护着硬件,诸如安装和维修
等。

在图6中所示的实施例中,一些项与图3中所示的那些是类似的,并且它们被类似
地编号。图6具体地示出服务器环境184和数据存储188可位于云502(可以是公共的、?#25509;?#30340;
或者?#28210;?#26576;些部分是公共的而某些部分是?#25509;?#30340;组合)中。因此,用户194使用用户设备186
通过云502来访问那些系统。

图6还描绘了云架构的另一实施例。图6示出?#26500;?#24819;了环境182的某些元素可被置
于云502中而其他元素没有被置于云502中。作为示例,数据存储188可被置于云502的外部,
并且通过云502来被访问。在另一实施例中,表单处理组件200也可在云502的外部。无论它
们位于哪里,它们都可直接由设备186通过网络(广域网或局域网)访?#21097;?#23427;们可由服务主存
在远程?#38236;?#22788;,或者它们可作为通过云来提供或通过驻留在云中的连接服务来访问的服
务。本文构想了所有这些架构。

还要注意,环境182或其部分可被置于各种不同的设备上。这些设备中的某些包
括:服务器、台式计算机、膝上型计算机、平板计算机、或其他移动设备,诸如掌上计算机、蜂
窝电话、智能电话、多媒体播放器、个人数?#31181;?#29702;等。

图7是可被用作?#28210;?#21487;部署本发明的系统(或其部分)的用户或客户的手持式设备
16的手持式或移动计算设备的一个说明性实施例的简化框图。图8-9是手持式或移动设备
的示例。

图7提供了客户端设备16的组件的大体框图,该客户端设备16可以运行环境100或
182的组件或者与这些环境?#25442;ァ?#25110;二者。在设备16中,提供?#36865;?#20449;链路13,该通信链路允许
手持设备与其他计算设备通信,并且在一些实施例中提供用于诸如通过扫描来自动接收信
息的信道。通信链路13的示例包括:红外端口、串行/USB端口、诸如以太网端口之类的电缆
网络端口、以及允许通过一个或多个通信协议的通信的无线网络端口,所述通信协议包括
作为用于提供对网络的蜂窝接入的无线服务的通用分组无线服务(GPRS)、LTE、HSPA、HSPA
+、以及其他3G和4G无线电协议、1Xrtt和短消息服务,并包括提供对网络的本地无线连接的
802.11和802.11b(WiFi)协议、和蓝牙协议。

根据其他实施例,应用或系统被容纳在连接到可移动安全数字(SD)卡接口15的SD
卡上。SD卡接口15和通信链路13沿总线19与处理器17(也可实现来自图1和3的处理器110、
196或214)进行通信,该总线19还连接到存储器21和输入/输出(I/O)组件23、以及时钟25和
定位系统27。

在一个实施例中,提供了I/O组件23以促成输入和输出操作。针对设备16的各个实
施例的I/O组件23可以包括:输入组件,?#28909;?#25353;钮、触摸传感器、多点触摸传感器、光学或视
频传感器、语音传感器、触摸屏、邻近传感器、话筒、倾斜传感器以及重力开关;以及输出组
件,?#28909;?#26174;示设备、扬声器和或打印机端口。也可以使用其他I/O组件23。

时钟25说明性地包括输出时间和日期的真实时间时钟组件。时钟还可以说明性地
为处理器17提供时序功能。

定位系统27说明性地包括输出设备16的当前地理位置的组件。这例如可以包括全
球定位系统(GPS)接收机、LORAN系统、航位推算系统、蜂窝三角测量系统或者其他定位系
统。这例如还可以包括生成所期望的地图、导航线路和其他地理功能的测绘软件或导航软
件。

存储器21存储操作系统29、网络设置31、应用33、应用?#28210;?#35774;置35、数据存储37、通
信驱动程序39以及通信?#28210;?#35774;置41。存储器21可以包括所有类型的?#34892;我资?#24615;和?#19988;资?#24615;
计算机可读存储器设备。其还可以包括计算机存储介质(下面描述)。存储器21存储计算机
可读指令,所述指令在被处理器17执行时致使处理器根据所述指令执行计算机实现的步骤
或功能。类似地,设备16可具有可运行各种业务应用的客户端应用组件213和浏览器210。处
理器17可以也被其他组件激活以促成它们的功能性。

网络设置31的示例包括诸如代理信息、因特网连接信息以及测绘之类的事物。应
用?#28210;?#35774;置35包括为特定企业或用户定制应用的设置。通信?#28210;?#35774;置41提供了用于与其他
计算机进行通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和口令之类的项目。

应用33可以是之前已经存储在设备16上的应用或是在使用期间安装的应用,但是
这些应用可以是操作系统29的一部分,或者也可以在设备16之外被托管。

图8示出?#28210;?#35774;备16是平板计算机600的一个实施例。在图8中,计算机600被示为
具有用户界面显示屏602。屏幕602可以是触摸屏(使得来自用户?#31181;?#30340;触摸姿势可以用于
与应用?#25442;?或者启用笔的界面,其接收来自笔或指示笔的输入。其还可以使用屏幕上虚拟
键盘。当然,其还例如可以通过诸如无线链路或USB端口之类的合适的附连机制附连到键盘
或其他用户输入设备。计算机600还可以说明性地接收语音输入。

还可使用设备16的附加示例。例如,设备16可以是智能电话或移动电话45。电话可
包括:一组小键盘,其用于拨打电话号码;显示器,其能够显示包括应用图像、图标、网页、照
片和视频在内的图像;以及控制按钮,其用于选择在显示器上示出的项目。电话可包括天
线,该天线用于接收诸如通用分组无线服务(GPRS)和1Xrtt之类的蜂窝电话信号以及短消
息服务(SMS)信号。在一些示例中,所述电话还包括容纳安全数字(SD)卡的SD卡槽。

该设备也可以是个人数?#31181;?#29702;(PDA)或多媒体播放器或平板计算设备等等(在此
称为PDA)。PDA可包括电感屏,所述电感屏感测指示笔(或其他指示器,诸如用户的?#31181;?在
该指示笔被置于屏幕之上时的位置。这允许用户在屏幕上选择、突出显示和移动项目以及
绘图和书?#30784;DA还可包括多个用户输入键或按钮,其允许用户将显示器上所显示的菜单选
项或其他显示选项滚屏,并?#20197;?#35768;用户在没有接触显示器的情况下改变应用或选择用户输
入功能。尽管未被示出,但是PDA可以包括允许与其他计算机进行无线通信的内置天线和红
外发射机/接收机、以及允许与其他计算设备的硬件连接的连接端口。这样的硬件连接通常
是通过经由串行或USB端口连接到其他计算机的支架来完成的。因此,这些连接是非网络连
接。

图9是智能电话71的一个示例。智能电话71具有显示图标或?#30424;?#25110;其他用户输入
机制75的触敏显示器73。机制75可由用户用来运行应用、进行呼?#23567;?#25191;行数据传输操作,等
等。一般而言,智能电话71被构建在移动操作系?#25104;?#19988;提供比功能电话更高级的计算能力
和连接性。

注意,设备16的其他形式是可能的。

图10是可在环境100和182中使用的计算环境的一个示例。参考图10,用于实现一
些实施例的示例系统包括计算机810形式的通用计算设备。计算机810的组件可包括,但不
限于,处理单元820(可以包括处理器110、196或214)、系统存储器830和将包括系统存储器
在内的各种系统组件耦?#29616;?#22788;理单元820的系统总线821。系统总线821可以是若干类型的
总线结构中的?#25105;?#31181;,包括存储器总线或存储器控制器、外围总线和使用各种总线架构中
的?#25105;?#31181;的局部总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)总线、微通
道架构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围
部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。参考图1描述的存储器和程序可被部
署在图10的对应部分中。

计算机810通常包括各种计算机可读介质。计算机可读介质可以是能由计算机810
访问的任何可用介?#21097;?#32780;且包含?#36164;?#24615;和?#19988;资?#24615;介质、可移动和不可移动介质。作为示例
而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质不同于且
不包括已调制数据信号或载波。计算机存储介质包括硬件存储介?#21097;?#35813;硬件存储介质包括
以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技
术实现的?#36164;?#24615;和?#19988;资?#24615;、可移动和不可移动介质。计算机存储介质包括,但不限于,
RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁
带?#23567;?#30913;带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机810访
问的任何其他介质。通信介质通常具体化计算机可读指令、数据结构、程序模块或传输机制
中的其他数据,并包括任何信息递送介质。术语“已调制数据信号”是指使得以在信号中编
码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括
诸如有线网络或直接线连接之类的有线介?#21097;?#20197;及诸如声学、RF、红外及其他无线介质之类
的无线介质。上述任何组合也应该包括在计算机可读的介质范围内。

系统存储器830包括?#36164;?#24615;和/或?#19988;资?#24615;存储器形式的计算机存储介?#21097;?#22914;只读
存储器(ROM)831和随机存取存储器(RAM)832。包含诸如在启动期间帮助在计算机810内的
元件之间传输信息的基本例程的基本输入/输出系统833(BIOS)通常存储在ROM 831中。RAM
832通常包含处理单元820可立即访问和/或当前正在操作的数据和/或程序模块。作为示例
而非限制,图10例示出了操作系统834、应用程序835、其他程序模块836和程序数据837。

计算机810还可以包括其他可移动/不可移动、?#36164;?#24615;/?#19988;资?#24615;计算机存储介质。
仅作为示例,图10示出了从不可移动、?#19988;资?#24615;磁性介质读取或向其写入的硬盘驱动器841
和从诸如CD ROM或其他光学介?#23454;?#21487;移动、?#19988;资?#24615;光盘856读取或向其写入的光盘驱动
器855。可在示例性操作环?#25345;?#20351;用的其他可移动/不可移动、?#36164;?#24615;/?#19988;资?#24615;计算机存储
介质包括但不限于,磁带?#23567;?#38378;存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘
驱动器841通常通过诸如接口840等不可移动存储器接口连接到系统总线821,而光盘驱动
器855则通常由诸如接口850等可移动存储器接口连接?#26009;?#32479;总线821。

作为替换或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执
行。例如、但非限制,可使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、
程序专用的集成电路(ASIC)、程序专用的标准产品(ASSP)、片上系统系统(SOC)、复杂可编
程逻辑器件(CPLD)、等等。

上文讨论并在图10中示出的驱动器及其相关联的计算机存储介质为计算机810提
供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图10中,硬盘驱动
器841被示为存储操作系统844、应用程序845、其他程序模块846和程序数据847。注意,这些
组件可与操作系统834、应用程序835、其他程序模块836和程序数据837相同,也可与它们不
同。在此操作系统844、应用程序845、其他程序模块846以及程序数据847被给予了不同的编
号,以至少说明它们是不同的副本。

用户可以通过诸如键盘862、话筒863以及诸如鼠标、跟踪球或触摸垫等定点设备
861等输入设备来将命令和信息输入至计算机810中。其他输入设备(未示出)可以包括操纵
杆、游戏?#30452;?#22278;盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总
线的用户输入接口860连接到处理单元820,但也可通过诸如并行端口、游戏端口或通用串
行总线(USB)之类的其他接口和总线结构来连接。视觉显示器891或其他类型的显示设备也
经由诸如视频接口890之类的接口连接?#26009;?#32479;总线821。除了监视器以外,计算机还可包括
诸如扬声器897和打印机896之类的其他外围输出设备,它们可通过输出外围接口895来连
接。

计算机810使用到诸如远程计算机880等一个或多个远程计算机的逻辑连接在网
络化环?#25345;?#25805;作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络PC、对
等设备或其他常见的网络节点,且一般包括以上关于计算机810描述的多个或所有的元件。
图10中所示的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但也可以包括其他网络。
此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。

当在LAN联网环?#25345;?#20351;用时,计算机810通过网络接口或适配器870连接到LAN
871。当在WAN联网环?#25345;?#20351;用时,计算机810通常包括调制解调器872或用于通过诸如因特
网等WAN 873建立通信的其他手段。调制解调器872可以是内置的或外置的,可经由用户输
入接口860或其他适当的机制连接到系统总线821。在联网环?#25345;校?#30456;关于计算机810所示的
程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图10示出了远
程应用程序885驻留在远程计算机880上。应当理解,所示的网络连接是示例性的,并且可使
用在计算机之间建立通信链路的其他手段。

还应注意,本文描述的不同实施例可以按不同的方式来组合。即,一个或多个实施
例的各部分可以与一个或多个其他实施例的各部分组合在一起。本文中构想了所有这些。

示例1?#19988;?#31181;计算系统,包括:

显示设备;以及

在客户端设备上的表单渲染组件,所述表单渲染组件被?#28210;?#25104;从服务器获得表示
所述表单上的显示元素的结构的表单的静态表示,生成所述表单的可渲染表示,将从所述
服务器接收到的所述表单的动态信息合并到所述表单的可渲染表示中以获得表单可视化,
并且在所述显示设备上渲染所述表单可视化。

示例2是任何以及所有前述示例的计算系统,?#28210;?#25152;述表单渲染组件被?#28210;?#25104;接
收所述动态信息,并且在合并所述动态信息之前,将所述可渲染表示与所述动态信息之间
的差异应用于所述可渲染表示以获得所述表单可视化。

示例3是任何以及所有前述示例的计算系统,?#28210;?#25152;述表单渲染组件接收所述动
态信息作为所述表单的服务器表示,并且标识要应用于所述可渲染表示的差异。

示例4是任何以及所有前述示例的计算系统,?#28210;?#25152;述表单渲染组件从所述服务
器接收具有由所述服务器标识的差异的所述动态信息。

示例5是任何以及所有前述示例的计算系统,?#28210;?#25152;述表单渲染组件从所述静态
表示生成所述表单的可渲染表示作为没有所述动态信息的所述表单的功能表示。

示例6是任何以及所有前述示例的计算系统,?#28210;?#25152;述表单渲染组件包括所述客
户端设备上的浏览器。

示例7是任何以及所有前述示例的计算系统,且进一步包括:

客户端应用组件,所述客户端应用组件被?#28210;?#25104;接收请求显示表单的用户输入,
并且向所述服务器发送请求以获得所述表单的静态表示,并向所述服务器发送请求以获得
所述动态信息。

示例8?#19988;?#31181;计算系统,包括:

在服务器上的应用服务器组件,所述应用服务器组件被?#28210;?#25104;从客户端接收请求
表单的客户端请求,并且作为响应向所述客户端发送所述表单的静态表示;以及

在所述服务器上的表单处理组件,所述表单处理组件被?#28210;?#25104;基于所述客户端请
求来生成所述表单的动态信息,并且将所述动态信息与所述静态表示分开地发送到所述客
户端。

示例9是任何以及所有前述示例的计算系统,?#28210;?#25152;述应用服务器组件被?#28210;?#25104;
以描述所述表单的功能表示的描述符格式发送所述表单的静态表示。

示例10是任何以及所有前述示例的计算系统,?#28210;?#25152;述表单处理组件被?#28210;?#25104;以
所述描述符格式来生成所述动态信息。

示例11是任何以及所有前述示例的计算系统,?#28210;?#25152;述表单处理组件被?#28210;?#25104;获
得不同于所述表单的静态表示的所述表单的服务器表示,并且从所述服务器表示生成所述
动态信息。

示例12是如权利要求11所述的计算系统,?#28210;?#25152;述表单处理组件被?#28210;?#25104;通过获
得填充所述表单的数据来生成所述动态信息。

示例13是任何以及所有前述示例的计算系统,?#28210;?#25152;述表单处理组件被?#28210;?#25104;生
成所述动态信息以包括指示所述表单上的控件的状态的表单状态信息。

示例14是任何以及所有前述示例的计算系统,?#28210;?#25152;述表单处理组件被?#28210;?#25104;通
过运行与所述表单相对应的运行时逻辑来生成所述动态信息,以获得逻辑结果。

示例14?#19988;?#31181;方法,包括:

在开发系?#25345;?#25509;收指示定义表单的元数据的表单创作输入;

基于所述元数据来生成所述表单的静态表示,所述表单的静态表示包括指示所述
表单上的控件结构的结构信息和指示所述表单的属性的属性信息;以及

基于所述元数据来与所述静态表示分开地生成所述表单的服务器表示,所述服务
器表示指示所述表单的动态信息。

示例15是任何以及全部前述示例的方法,并且进一步包括:

接收编译用户输入并且响应于编译用户输入来生成所述静态和服务器表示。

示例16是任何以及全部前述示例的方法,并且进一步包括:

在数据存储中保存所述静态和服务器表示以用于运行时访问。

示例17是任何以及全部前述示例的方法,?#28210;?#29983;成所述静态表示包括:

反射元数据以标?#31471;?#36848;结构信息和所述属性信息。

示例18是任何以及全部前述示例的方法,?#28210;?#29983;成所述静态表示包括:

基于所述静态表示,利用足够用于渲染所述表单的功能版本的信息来生成所述静
态表示。

示例19是任何以及所有前述示例的方法,?#28210;?#29983;成所述静态表示包括生成描述符
格式的所述静态表示,并且?#28210;?#29983;成所述服务器表示包括生成描述符格式的所述服务器表
示。

示例20是任何以及全部前述示例的方法,并且进一步包括:

基于所述静态表示,在所述开发系?#25345;?#26174;示所述表单的表单预览。

尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利
要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是
作为实现权利要求的示例形式公开的。

关于本文
本文标题:在编译期间将呈现元数据转换成浏览器可渲染格式.pdf
链接地址:http://www.pqiex.tw/p-6091760.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 捕鱼棋牌 今天的甘肃快三走势图 魔力糖代理怎么赚钱 职业买彩票为生的人 码肖大师精准三肖六吗 4x4矩阵怎么计算 杰克扑克坐庄玩法 850通比牛牛怎么赢 加盟十足赚钱吗 二八杠棋牌下载安装