提供了一种用于在计算设备上执行的设备运行时间环境。设备运行时间环境在运行时间为应用程序提供了智能容器,并且包括多个彼此相互通信的服务。多个服务包括数据管理器、屏幕管理器、通信服务和脚本解释器。数据管理器管理应用程序的数据组件,包括数据组件的数据库中的操作和持久性。屏幕管理器管理应用程序的屏幕组件,并对输出进行着色以显示在计算设备的屏幕上。通信服务根据相应的消息组件,向外部资源发送消息,并接收和管理外部资源发送的消息。脚本解释器动态地解释嵌入在数据组件、屏幕组件和消息组件中至少一个中的脚本,并将解释的输出传递给相应的组件管理器来实现。还提供了一种根据上述方法在设备上实现应用程序的方法,以及一种计算机可读存储器,用于存储指令来实现所述方法。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术主要涉及运行时间环境,特别涉及能在可执行模式和解释模式下操作的运行时间环境。本申请要求2004年2月27日递交的美国临时申请号60/548,098的优先权。
技术介绍
由于无线网络的快速扩展,现今使用中的无线设备的数量持续增长。这些设备包括移动电话、具有无线通信能力的个人数字助理(PDAs)、双向寻呼机等等。伴随增长的可供使用的无线设备,在这些设备上运行的软件应用程序增加了设备的实用性。例如,无线设备可以包括检索期望城市列表的天气预报或允许用户购买杂货的应用程序。这些软件应用程序利用向无线网络传输数据的能力,经常为用户提供除了语音通信以外的及时和有用的服务。然而,由于不同类型设备的数量、一些设备有限的可用资源和向设备传递大量数据的复杂性,软件应用程序的开发仍然是一项困难且耗时的任务。当前,设备被配置用于通过基于因特网的浏览器和/或本机应用程序来与网络服务进行通信。浏览器具有适于在多个不同设备的交叉平台基础上进行操作的优点,但是具有向网络服务请求页面(HTML形式的屏幕定义)的缺点,该缺点妨碍了屏幕中包含的数据的持久性。浏览器的另一个缺点是在运行时间着色(render)屏幕,这占用了大量的资源。然而,浏览器的应用程序是设计平台无关应用程序的有效工具。因此,无论何种平台,不同的运行时间环境执行相同的应用程序。不幸地,由于不同的无线设备具有不同的能力和波形因数(formfactor),应用程序可能不会像所希望的那样被执行或显示。此外,基于浏览器的应用程序经常需要相当数量的传输带宽来有效地操作,这对于一些无线设备来说可能是昂贵甚至不可用的。另一方面,本机应用程序被开发用于特殊的无线设备平台,从而为在该平台上运行的运行时间环境提供了相对优化的应用程序。然而,平台相关的应用程序引起了几个缺点,包括必须开发相同应用程序的若干版本,并且在大小上相对较大,从而加重了无线设备的存储器资源的负担。此外,应用程序的开发者需要具有例如Java和C++的编程语言的经验来构建这样的本机应用程序。因此可以看出,需要这样的应用程序,它能够运行在既具有广泛种类的操作系统、又具有减少的设备资源消耗的客户端设备上。此外,期望在尽可能地限制带给应用程序开发者的复杂性的同时,实现上述结果。因此,本专利技术的目标是排除或缓和至少一些上述缺点。
技术实现思路
根据本专利技术的方面,提供了一种用于在计算设备上执行的设备运行时间环境,所述设备运行时间环境用于在运行时间向应用程序提供智能容器,所述设备运行时间环境包括彼此相互通信的多个服务,所述多个服务包括数据管理器,用于管理应用程序的数据组件,包括在数据组件的数据库中的操作和持久性(persistence);屏幕管理器,用于管理应用程序的屏幕组件,并且对输出进行着色以便显示在计算设备的屏幕上;通信服务,用于根据相应的消息组件,向外部资源发送消息,并接收和管理外部资源发送的消息;以及脚本解释器,用于动态地解释嵌入在数据组件、屏幕组件和消息组件中至少一个中的脚本,并且将解释的输出传递给对应的组件管理器来实现。根据本专利技术的另一方面,提供了一种在计算设备上执行应用程序的方法,所述应用程序至少包括屏幕组件、数据组件、消息组件和工作流组件,所述方法包括从屏幕、数据、消息和工作流组件创建可执行格式的应用程序,用于分别由屏幕管理器、数据管理器和消息管理器执行;对于来自工作流组件的、在执行应用程序前不能转换为可执行形式的信息,在应用程序执行期间使用脚本解释器动态地解释信息;以及将脚本解释器的输出分配到对应的屏幕管理器、数据管理器和消息管理器。附图说明现在仅作为示例,参考附图来描述本专利技术的实施例,附图中图1是通信基础设施的框图;图2是无线设备的框图;图3是示出了组件构架的框图;图4是示出了组件应用程序的框图;图5是示例运行时间环境的框图;图6至16是应用程序的多个组件的示例XML定义;以及图17至23是示出了多个应用程序场景的运行时间流的框图。具体实施例方式为了方便,附图说明中相同数字指示相同的结构。参考图1,通过数字100主要示出了通信基础设施。通信基础设施100包括多个通信设备102、通信网络104、网关106和多个后端设备108。通信设备102包括任何有线或无线设备,例如桌面计算机、膝上或移动计算机、智能电话、个人数字助理(例如捷讯研究有限公司的BlackberryTM)等等。通信设备102通过通信网络104与网关106进行通信。因此,通信网络104可以包括多个组件,例如无线网络110、中继站112、企业服务器114和/或移动数据服务器(MDS)116,用以在设备102和网关106之间传递消息。网关106还与多个后端服务器108进行通信。后端服务器108的类型及其相应链路对本领域的技术人员来说是显而易见的。无线应用技术需要在通常有限的计算资源(如速度、功率、存储、存储器)和间断连接下提供用于用户交互、与其它有线或无线应用程序进行通信以及数据存储的装置。这些限制给现实的有用应用程序的开发带来了极大的挑战。一种减少应用程序开发复杂性的希望方法是按照声明(declarative)方式来定义使应用程序个性化的这些组件。这种组件的实例包括用户界面、数据和通信模型。组件被呈现给例如设备运行时间环境的智能容器,作为契约(contract),并且复杂但一般的任务被委托给智能容器来解决。下面描述一种系统,通过这种系统,智能容器给利用元数据和脚本语言来定义的应用程序提供了本机执行环境。因此,构成无线环境复杂性的负担从应用程序转移到智能容器。因此,应用程序作者需要解决的唯一复杂性是在应用程序和智能容器之间清楚地定义契约,以确保期望的功能。参考图2,更详细地示出了通信设备102(也简称为设备102)。设备102包括网络接口200、用户界面202、核心基础设施204和组件构架206。网络接口200包括无线收发器或有线无线接口卡或调制解调器,用于使设备102与网络104相连。例如,网络接口200使用已知或专有协议与无线网络104进行通信。这种特性使设备102能够在彼此之间以及和例如网络服务器106的外部系统无线地进行通信。网络104支持在设备和后端服务器108之间以请求和响应消息的形式进行数据传输。此外,网络104可以支持语音通信,用于在设备102和在网络104外部的设备之间进行电话呼叫。用户界面202包括与用户(未显示)进行通信的一种或多种装置。例如,用户界面202包括例如小键盘、轨迹球、手写笔、鼠标和麦克风的一个或多个输入设备,用于接收用户的输入;以及例如显示器和扬声器的一个或多个输出设备,用于向用户呈现输出。如果显示器是触摸敏感的,则显示器也可以用作输入设备。设备102的用户使用用户界面202来协调客户端应用程序201的请求和响应消息。核心基础设施204包括计算机处理器208和相关联的存储器模块210。计算机处理器208通过执行相关的指令来操作通信设备116的网络接口200、用户界面202和组件构架206的工作,所述相关指令是由存储在存储器模块210中的操作系统和客户端应用程序(未显示)提供的。此外,可以认识到,设备基础设施204还可以包括计算机可读存储介质212,用于向处理器提供指令或向存储器模块210加载或更新客户端应用程序本文档来自技高网...
【技术保护点】
一种用于在计算设备上执行的设备运行时间环境,所述设备运行时间环境用于在运行时间为应用程序提供智能容器,所述设备运行时间环境包括彼此相互通信的多个服务,所述多个服务包括:(a)数据管理器,用于管理应用程序的数据组件,包括数据组件的数据 库中的操作和持久性;(b)屏幕管理器,用于管理应用程序的屏幕组件和对输出进行着色以显示在计算设备的屏幕上;(c)通信服务,用于根据相应的消息组件,向外部资源发送消息,并接收和管理外部资源发送的消息;以及(d)脚本解释 器,用于动态地解释嵌入在数据组件、屏幕组件和消息组件中至少一个中的脚本,并将解释的输出传递给相应的组件管理器来实现。
【技术特征摘要】
【国外来华专利技术】US 2004-2-27 60/548,0981.一种用于在计算设备上执行的设备运行时间环境,所述设备运行时间环境用于在运行时间为应用程序提供智能容器,所述设备运行时间环境包括彼此相互通信的多个服务,所述多个服务包括(a)数据管理器,用于管理应用程序的数据组件,包括数据组件的数据库中的操作和持久性;(b)屏幕管理器,用于管理应用程序的屏幕组件和对输出进行着色以显示在计算设备的屏幕上;(c)通信服务,用于根据相应的消息组件,向外部资源发送消息,并接收和管理外部资源发送的消息;以及(d)脚本解释器,用于动态地解释嵌入在数据组件、屏幕组件和消息组件中至少一个中的脚本,并将解释的输出传递给相应的组件管理器...
【专利技术属性】
技术研发人员:迈克尔申菲尔德,布伦杜沙弗里奇,卡门维塔诺夫,
申请(专利权)人:捷讯研究有限公司,
类型:发明
国别省市:CA[加拿大]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。