创建基于无线应用程序的组件并与之通信的系统和方法

文档序号:7587676阅读:171来源:国知局
专利名称:创建基于无线应用程序的组件并与之通信的系统和方法
技术领域
本申请涉及无线通信,特定涉及用于移动通信装置的软件。
背景技术
当今使用的移动通信装置的数目不断增加,例如移动电话、具有无线通信能力的PDA、和双向寻呼机。运行在这些移动通信装置上的软件应用程序增加了它们的实用性。例如,一部移动电话可以包括检索用于一个城市范围的气候的应用程序,或一个PDA可以包括使得使用者选购杂货的应用程序。这些软件应用程序利用了这些装置的移动性及对于无线网络连接性的优点,以便提供及时和有用的服务至用户,不需要考虑该用户的所在位置。但是,由于例如存储器的移动通信装置资源的局限以及把数据无线地提供至移动通信装置的复杂性,开发针对移动通信装置的应用程序依然是困难和耗时的任务。
当前,移动通信装置被配置用于通过基于互联网的浏览器和/或本机应用程序与Web服务通信。浏览器具有能适于在跨平台基础上针对各种不同装置操作的优点,但缺点是从Web服务请求页面(HTML屏幕清晰度),这种缺点将妨碍包括在该屏幕中的数据的暂留性。浏览器的另一缺点是该屏幕在运行时间呈现,这将会是资源的严重占用。本地应用程序具有针对移动装置平台的类型被专门开发的优点,从而提供针对每一个运行时环境相对优化的应用程序。但是,本地应用程序具有的缺点是它不是独立的平台,因此需要开发同一个应用程序的多个版本,以及在规模上相对大,从而重耗了移动装置的存储器资源。因此需要具有对于能运行在具有各种运行环境的网服务客户机上、又具有降低的移动装置资源消耗的应用程序。
在此公开的系统和方法提供了一个基于组件的应用环境,以便克服或至少在一定程度上减轻上述的缺点。

发明内容
当前的应用程序不能适应于运行在具有各种运行环境的客户机上,并且会不希望地消耗太多的移动装置的资源。浏览器是一个应用程序,具有从一Web服务请求页面(HTML的屏幕清晰度)的一个缺点,这种缺点妨碍了该屏幕中包括的数据的暂留性。浏览器的另一缺点是该屏幕在运行时间呈现,这将会是资源的严重占用。本机应用程序是当前应用程序的另一实例,具有的缺点是它不是独立的操作平台,从而需要开发同一个应用程序的多个版本,以及在规模上相对大,因而重耗了移动装置的存储器资源。与当前应用程序相反,提供了一个创建并以无线组件应用程序进行通信的系统。该系统包括移动通信装置,其通过无线网络、互联网、和/或可选的消息映射服务通信。每一个无线组件应用程序都具有一系列以结构化定义语言表示的组件以及一组指令,在移动通信装置之一上由一个组件框架结构执行。该组件能够包括数据组件、显示组件、消息组件和/或工作流组件的一个或多个。该组件框架结构执行在一个应用程序容器中的组件应用程序,该应用程序容器提供了对于普通框架结构服务的接入,该普通的框架结构服务包括通信服务、屏幕服务、暂留服务、接入服务、提供服务以及实用工具服务的一个或者多个。能够把消息从组件应用程序发送至该消息映射服务,把该消息转换为使用应用程序消息映射的该Web服务所需的格式,然后把该消息发送到Web服务。对该消息的响应能够被送到该消息映射服务,转换成由组件应用程序需要的格式,并且发送到该组件应用程序。
而且,创建及与无线组件应用程序通信的系统还提供一种方法,用于配置和与一个无线组件应用程序通信。该方法包括步骤把无线组件应用程序配置到一个移动通信装置,并且一个消息映射配置到一个消息映射服务。在某些情况中该方法还能够包括步骤把一个消息发送到该消息映射服务,该步骤利用该消息映射把该消息转换为Web服务需要的格式,并且随后把该消息发送到Web服务。该方法还可以进一步包括步骤把一个响应从该Web服务发送到该消息映射服务,该步骤把该消息转换为该无线组件应用程序需要的格式,并且把该消息发送到该无线组件应用程序。
本发明在此提供一个移动通信装置,配置来用于提供从一个服务器经过网络接收的一个组件应用程序的可执行版本。该程序具有包括以结构化定义语言表示的元数据描述符的多个组件。该移动装置包括一个基础结构装置,用于执行该可执行版本;耦合到该基础结构的一个接口装置,配置来用于由该装置的使用者与该可执行版本通信;耦合到该基础结构装置的一个通信装置,被配置来用于与该网络通信;以及一个框架结构装置,被配置来用于把该可执行版本连接到该基础结构装置,并且提供用于该可执行版本的一个客户机运行时环境。
本发明还公开了一种计算机程序产品,用于提供一个可在移动通信装置上执行的一个组件应用程序的版本。该程序具有包括以结构化定义语言表示的元数据描述符的多个组件。该计算机程序产品包括一个计算机可读介质;存储在该计算机可读介质上的一个组件框架结构模块,用于把该可执行版本连接到包括处理器和相关存储器的一个装置基础结构;以及一个耦合到该组件框架结构模块的应用程序容器模块,用于从该元数据描述信息产生该可执行版本以及,用于主控该产生的可执行版本的一个客户机运行时环境。
本发明还公开了一种方法,提供一个可在移动通信装置上执行的一个组件应用程序的版本。该方法包括步骤经过网络从一个服务器接收多个组件,该多个组件表示该组件应用程序,该组件包括以一种结构化定义语言表示的元数据描述符;把该元数据描述符加载到该装置的一个应用程序容器中,本应用程序容器用于主控该程序的一个客户机运行时环境;以及从该元数据描述符中产生该可执行版本,用于随后在该装置的客户机运行时环境中执行。
本发明还公开了一种移动通信装置,配置来用于提供从一个服务器经过网络接收的一个组件应用程序的可执行版本。该程序具有包括以结构化定义语言表示的元数据描述符的多个组件。该移动装置包括用于操作该移动装置的装置基础结构,该移动装置包括用于执行该可执行版本的一个处理器和相关存储器;耦合到该装置基础结构的用户接口,该装置基础结构具有被配置用于与该可执行版本通信的输入装置和输出装置;耦合到该装置基础结构的一个通信装置,被配置用于连接到一个无线收发机以便与该网络通信;以及一个组件框架结构,被配置来用于把该可执行版本连接到该装置基础结构,并且用于提供该可执行版本的一个客户机运行时环境。


在下面参考附图作出的详细描述中,这些和其它特点将变得显见,其中图1是一个通信系统的框图;图2是图1的一个移动通信装置的方框图;图3是图2的一个组件应用程序的方框图;图4是图3的组件框架结构的框图;图5是图2的移动装置的示例操作的流程图;图6是图1的通信系统的进一步的示例;图7是使用图6的一个消息映射服务的信息系统的框图;图8是说明操作图6的通信装置的一个无线组件应用程序的一个方法的流程图;以及图9是图2移动通信装置的另一示例的框图。
具体实施例方式
参考图1,通信系统10包括移动通信装置100,用于通过一个耦合的无线网络102和互联网络104与由Web服务器106提供的一个或者多个Web服务交互。当与Web服务器106的Web服务通信时,装置100分别地发送与接收请求/响应消息105。通过使用消息标题信息形式的请求/响应消息105以及相关的数据内容,该移动装置100将操作为该Web服务的Web客户机,例如从在线商人请求和接收产品报价和有效性。为了满足适当的请求/响应消息105,Web服务器106通过各种协议(例如但不局限于HTTP和组件API)与一个应用服务器110通信,以便向该移动装置的客户应用程序302(参见图2)表明相关的商业逻辑(方法)。类似于调用关于一个对象的方法(或功能),该移动装置100的应用程序302能够使用该应用服务器110的商业逻辑。应该应该认识到到,该移动装置100可以通过无线网络102与一个或多个Web服务器106和相关的应用服务器110通信。还应该认识到,该移动装置100能够直接耦合到应用服务器110,从而按照期望旁路该Web服务器106。
参考图2,该移动通信装置100是例如但不局限于移动电话、PDA、双向寻呼机或双模式通信装置(参见图9)。该移动装置100包括通过连接电路218结合到一个装置基础结构204的无线收发机200。该无线收发机200可在该移动设备100的操作过程中通过例如RF或IR链路的适当的无线通道而连接到该无线网络102,这将使移动装置100能够通过无线网络102彼此通信,并且与外部系统(例如Web服务器106)通信,并且在客户应用程序302及服务器106、110(参见图1)之间协调该请求/响应消息。该无线网络102支持在连接到无线网络102的装置和外部系统之间在请求/响应消息105中的数据发送。该无线网络102还可以支持对于在移动通信装置100和无线网络102外部的装置之间的电话呼叫的语音通信。无线网络102能使用一种无线数据传输协议,例如但不局限于DataTAC、GPRS或CDMA协议。
再参考图2,移动装置100还具有通过连接电路222耦合到装置基础结构204的一个用户接口202,以便与用户(没示出)交互。该用户接口202包括一个或者多个用户输入装置,例如但不局限于QWERTY键盘、辅助键盘、轨迹轮、输入笔、及例如LCD屏幕显示器的用户输出装置。如果该屏幕是触摸敏感的,则该显示器还可以用作通过装置基础结构204控制的用户输入装置。该移动装置100的用户采用该用户接口202来协调在按照由一个组件框架结构206的客户应用程序302使用的系统10(参见图1)之上的请求/响应消息的消息105,在下面将进一步描述。
再参考图2,通过装置基础结构204启动移动通信装置100的操作。装置基础结构204包括一个计算机处理器208和相关存储器模块210。通过执行由操作系统以及放置在存储器模块210中的客户应用程序302提供的相关指令,计算机处理器208控制该无线收发机200、该用户接口202和移动通信装置100的组件框架结构206的操作。应该进一步认识到,装置基础结构204可以包括耦合到处理器208的计算机可读存储介质212,用于把指令提供到处理器和/或将客户应用程序302加载/更新到该存储器模块210中。计算机可读介质212可以包括硬件和/或软件,例如只举例来说有磁盘、磁带、光可读介质,例如CD/DVD、ROMS以及存储卡。在每种情况下,该计算机可读介质212都可以采取小盘、软盘、盒带、硬盘驱动器、固态存储卡、或提供在存储器模块210中的RAM的形式。应该指出,上述列出实例计算机可读介质212能被单独或组合使用。
再参考图2,移动装置100的组件框架结构206由连接电路220被耦合到装置基础结构204。因此,组件框架结构206提供用于一个客户应用程序302的本机客户机运行时环境,并且是对于移动装置100的处理器功能和一个装置基础结构204的相关操作系统的一个接口。该组件框架结构206最好是通过在移动装置100上提供一个受控、安全和稳定的环境来提供该运行时环境,其中以一个应用程序容器300执行该组件应用程序302。该应用程序容器300可以称为用于该客户应用程序302的一个智能主控容器,并且能够负责用于分析消息元数据(该消息105--参见图1)并且用于更新在存储器模块210中的元数据的表示。
该组件框架结构206还把框架结构服务304(例如但不局限于通信、屏幕、数据暂留、安全性的普通服务的一个标准设置)提供到该客户应用程序。应用程序302具有与该应用程序容器300的通信,协调通信216与该框架结构服务304。组件框架结构206的框架结构服务304协调通过该连接电路220与该装置基础结构204的通信。因此,由该组件框架结构206把对于装置基础结构204、用户接口202和无线收发机200的接入提供到客户应用程序302。此外,该客户应用程序302可以是适当抗病毒的客户应用程序,因为该应用程序容器300能够控制及生效该组件框架结构206的该客户应用程序302的往返通信214、216的全部接入。应该认识到,该装置基础结构204的操作系统的一部分(参见图2)能够表示该应用程序容器300。
再参考图2,组件框架结构206的客户机运行时环境最好能够产生、主控并执行来自元数据定义的该客户应用程序302(,该客户应用程序302是组件应用程序的形式-参见下面的描述)。另外,该组件框架结构206的具体功能可以包括对于语言的支持、协调存储分配、连网、在I/O操作过程中的数据管理、通过装置基础结构204的接口202的输出装置上的坐标制图及提供对核心对象定向分类和支持文件/库。由组件框架结构206实现的运行时环境的实例可以包括例如但不局限于由微软(Microsoft)公司提供的公用语言运行时间(CLR)和Sun Microsystems公司提供的Java运行时环境(JRE)。该组件框架结构206的运行时环境支持在该移动装置100上的客户应用程序的基本功能,不局限地包括例如提供把消息105发送到Web服务器106的Web服务的通信能力(参见图1);由在输入装置上的用户提供数据输入的能力,以便提供该Web服务器106的的出行消息105(到服务的消息)(参见图1);在输出装置上提供对于服务响应(输入信息)或Web服务器106的不相关提示(参见图1)的数据表示或输出能力;提供数据存储器服务,把本地客户机数据保持在存储器模块210中;以及提供用于一种脚本语言的执行环境,以便协调客户应用程序302的应用程序组件408(参见图3)的操作。
因此,参考图2,组件框架结构206被用于执行在运行时环境中的客户应用程序302(Web服务客户机应用),并且支持通过请求/响应消息105对Web服务器106的Web服务操作以及相关应用服务器110(参见图1)的接入。该组件应用程序302包括由组件框架结构206执行的软件应用程序。每次执行该组件应用程序302,该组件框架结构206都产生用于该应用程序302的每个组件(例如400、402、404、406--参见图3)的应用程序容器300。该应用程序容器300加载该应用程序302的组件(例如400、402、404、406)并且能够创建由在装置基础结构204中的处理器208执行的本机代码。该组件框架结构206因此提供该主应用程序容器300,提供用于例如组件400、402,、404、406的定义,以便创建具体用于通信装置100的分别装置基础结构204的每一个的实际Web客户机。
参考图3,组件应用程序302的框图包括数据组件400、显示组件402和/或消息组件404,这些组件通过通信214由工作流组件406与应用程序容器协调数据组件400定义由组件应用程序302使用的数据实体。数据组件400可以描述的数据实体的示例有用户及财务事务处理。数据组件400定义为了描述该数据实体所要求的信息以及表达的信息格式。举例而言,该数据组件400可以定义例如但不局限于包括针对格式化为数字的订单的唯一标识符的一个订单,被格式为字串的项目的一个列表,具有日期-时间格式的订单被创建的时间,被格式化为字符串的订单状态,以及发出该订单的一个用尸,该订单被根据该数据组件400的另一定义而格式化。
该消息组件404定义由组件应用程序302使用的消息格式,以便与例如Web服务106的外部系统通信。举例而言,该消息组件404之一可以描述例如但不局限于一个用于发出订单的消息,该订单包括用于该订单的唯一标识符、订单的状态以及与订单相关的注释。
该显示组件402定义了当组件应用程序由用户接口302显示时该组件应用程序的外观及行为。显示组件402能够规定GUI屏幕和控制,以及当用户使用该用户口202与该组件应用程序302交互时将被执行的动作。例如,该显示组件402可以限定屏幕、标号、编辑框、按钮和菜单,以及当用户键入一个编辑框或按下一个按钮时将要采取的动作。
该组件应用程序302的工作流组件406限定了当将执行一个操作时发生的处理,例如由如上所述的显示组件规定的一个操作、或当消息105(参见图1)从系统10到达时将被执行的一个操作。通过工作流组件406定义屏幕工作流及消息处理。该工作流组件406被以程序设计语言或一种脚本语言,例如但不局限于ECMAScript脚本语言写成,并且如所述的那样能够被编译成本机代码并由应用程序容器300执行。工作流组件406的一个示例可以是对于数据的分配值、管理屏幕或发送一个消息105。
应该认识到在上述客户机组件应用程序302定义主控模式中,显示组件402(参见图3)可以根据装置100(参见图1)的客户机平台和环境改变。例如,某些情况下,Web服务用户不要求一个可见的显示。该组件应用程序302的组件400、402、404、406的应用定义可以被主控在一个Web服务注册表中,作为平台-中性数据400、消息404、具有针对各种预定客户机运行时间的一组平台-专用显示组件402描述符的工作流406组件描述符的一个集束(即具体的组件框架结构206)。当发出该发现或配置请求消息105时(参见图1),该客户机类型应该被规定作为这一请求消息105的一部分。为了在针对该通信装置100的不同客户机平台打包组件应用程序302的同时能够避免复制数据、消息及工作流元数据,应用程序定义可在该应用服务器110(例如)上被主控作为与显示组件403a、403b、403c的不同设置链接的平台-中性组件定义的一个集束。当用户作出发现或下载请求消息105时,该通信装置100的客户机运行时间类型被确认并且配置适当的集束,由该Web服务器106经过无线网络102传递到装置100。某些情况下,工作流组件406也可以按照专门平台显示来管理和配置;以这种方式,具体平台的公知处理能力可被扩展,提供用于该具体平台的更高效和/或增强的组件应用程序302。
因此,参考图3,客户应用程序302能够被定义为一组平台中性的组件定义,指定作循环数据组件400和消息组件404以及使用XML的显示组件402(或任何其它适当的结构化定义语言)。工作流组件406能够使用ECMAScript(或任何其它适当的平台中性脚本语言)定义。当该组件应用程序302的组件400、402404、406组件被提供在通信装置100上时,框架结构206的客户机运行时环境(参见图2)能够产生基于如下描述的基于元定义的组件模板。利用一大类的终端运行时环境,例如XML或ECMAScript的跨平台标准可用于定义元数据而不是预先构建该组件应用程序302。这种延迟的约束能够使得该组件应用程序302的普通应用程序的定义被运行于由各种不同通信装置100表示的各种终端系统环境上。
使用XML或其衍生物表示该数据组件400、消息组件404和显示组件402,以及使用该ECMAScript语言或其子集表示工作流组件406,能够使得一个应用程序开发者从任意专用平台或环境中提取该Web服务客户机,并且原则上执行″一次生成而各处运行″的应用程序。下面的示例示出了能够使用例如但不局限于XML的一个结构化定义语言以及例如但不局限于ECMAScript的操作平台中性脚本/程序设计语言定义组件来表示一个Web服务客户应用程序302的方式示例XML数据细件400<dataname=″Order″>
<item name=″orderld″type=″Number″key=″true″/>
<item name=″items″type=″String″array=″true″/>
<item name=″user″true″compName=″User″/>
<item name=″orderStatus″type=″String″/>
</data>
…示例XML消息组件404<msg name=″ordConfirmation″type=″response″action=″mhConfirmation″>
<part name=″orderld″type=″String″/>
<part name=″status″type=″String″/>
</msg>
…示例XML显示组件402<screenname=″scrConfinnation″title=″OrderConfirmation″param=″Order″>
<layouttype=″vertical″>
<widget type=″label″value=″Order Confirmaton Result″/>
<widgettype=″edit″value=″@commat;Order.orderStatus″/>
</layout>
…<menu>
<item label=″Continue″navigate=″@scrMain″/>
…</menu>
</screen>
…示例ECMAScript工作流组件406<actions>
<function name=″mhConfirmation″>
key=ordConfirmation.orderId;order=Order.get(key);order.orderStatus=ordConfirmation.status;
scrConfirmation.display(order);</function>
…</actions>
参考图4,应用程序302的上述组件400、402、404、406一旦提供在通信装置100上,则由组件框架结构206的应用程序容器300给出接入到框架结构服务304的预定组。框架结构服务304例如非限定地包括通信服务306、屏幕服务308、暂留服务310、访问服务312、提供服务314和实用工具服务316。
参考图1和4,通信服务306管理在组件应用程序302和外部系统10,例如Web服务106之间的连接。例如,代表组件应用程序302得通信服务306把消息105送到Web服务106。通信服务306还从Web服务106接收该消息105的数据并且把该数据提供到组件应用程序302。该通信服务306接收的数据可以包括对于该组件应用程序302的作出的请求的同步响应以及由该Web服务106推到该移动通信装置100的异步数据。该通信服务306还管理在该移动通信装置100从无线网络102断开时的连接。当在不由无线网络102覆盖的一个区域中时、或在该无线收发机被禁用时,该移动通信装置100从该无线网络断开。当该移动通信装置100是在断开状态中时,由该组件应用程序302发送的消息可由该通信服务306列队,并且一旦该移动通信装置100被重新连接到该无线网络102时则送出。
再参考图1和4,屏幕服务308管理当组件应用程序被显示器在用户接口202的显示器装置上时的可见显示(参见图2)。该可见显示可以包括图像、图形用户接口(GUI)控制以及窗口、和文本。该屏幕服务308管理一个屏幕椎栈,该椎栈控制了用户在装置基础结构204的输出装置上看到的内容。
再参考图1和4,暂留服务310使得组件应用程序302在该装置基础结构204的存储器模块210(参见图2)中存储数据。暂留服务310以透明方式把数据库操作提供到组件应用程序302。另外,组件框架结构206的运行时环境促进了对于该消息105的元数据(即XML数据)内容执行操作,从而提供了数据的暂留。
再参考图1和4,接入服务312提供该组件应用程序302对于出现在该移动通信装置100上的其它软件应用程序的接入。例如,该接入服务312可以使得该组件应用程序302,例如但不局限于接入一个软件应用程序,以便送出电子邮件、设置电话呼叫或接入存储在存储器模块210中的联系信息(参见图2)。能够以可靠的在通信装置100上提供对于其它软件应用程序的接入。该接入服务312还使得提供提供在移动通信装置100上的软件应用程序接入该组件应用程序302。应该认识到,其它软件程序可以是该装置基础结构204的操作系统的一部分(参见图2)。
再参考图1和4,该提供服务314在管理该移动通信装置100上的软件应用程序的提供。应用程序提供包括请求并接收新的及更新的组件应用程序302,配置用于接入到可通过无线网络102接入的服务的组件应用程序302,修改组件应用程序302和服务的配置,并且删除组件应用程序302和服务。该提供服务314执行为了提供代表组件应用程序302的软件应用程序所需的步骤。
再参考图1和4,该组件应用程序302使用该实用工具服务316来实现各种通用任务。例如,该实用工具服务316可以执行数据操作,例如把字串转换至代表该组件应用程序302的不同格式。
应该认识到,通信装置100的框架结构服务304可以把包括上述服务的功能提供到组件应用程序302。结果是,该组件应用程序302可以具有对于通信装置100的功能的接入而不必实现该功能。由于该框架结构服务304提供的功能是存在于大多数无线应用程序中的核心功能,所以每一个当前可利用的硬编码的无线应用程序都不期望地包含为实现上述服务的某些或全部的代码。例如,如果在一个通常移动装置上有十个硬编码的无线应用程序,则当前已知技术将指令可能的同一个代码的十个拷贝用于执行例如显示GUI或接入无线网络的服务。
相比之下,移动通信装置100的组件框架结构206(参见图2)最好只有实现出现于该框架结构服务304中的这些服务的代码的一个拷贝,与出现的组件应用程序302的数量无关。由于该框架结构服务304的编码复制被最小化,所以与当前可利用的硬编码的应用程序比较,能够降低该组件应用程序302的规模。因此该组件应用程序302能够消耗较少的存储器,并且能够要求很少的时间来通过无线网络102发送。这将能够优化该组件应用程序302,以便使用在通常在存储器和处理能力方面受限的该移动通信装置100上。此外,软件应用程序的开发不需要花费时间和努力来实现由组件框架结构206的框架结构服务304提供的任何功能。
该组件框架结构206的客户机运行时间加载该组件400、402、404、406定义中包含的元数据,并且通过应用程序容器300在该通信装置100上建立该应用程序302的可执行版本。例如,有两种用于客户机运行时间的操作模式基于模板的本机执行和基于元数据执行。利用基于模板的本机执行模型,该运行时间主控该数据、消息、及使用本机代码预先建立在通信装置100上的屏幕模板。当加载应用程序302的定义时,由组件框架结构提供的客户机环境以来自该组件400、402、404的元数据限定参数填充该模板,并且以本机格式建立可执行客户应用程序302。工作流组件406的该工作流脚本(例如ECMAScript)能够被转换成本机代码,或使用对于本机代码重定向器一个编译程序(例如ECMAScript到本机代码)执行,其中该重定向器把对于该脚本语言的呼叫编译成对于本机组件的操作。随着基于元数据执行,组件框架结构206格式化例如运行时环境或被保持以在执行时间期间解析的例如XML的格式的一个显示中的组件400、402、404、406定义,或是使用XML(例如)节点的本机显示。在执行过程中,本机运行时间引擎操作该组件400、402、404、406的定义,而不是操作本机组件实体。应该认识到,该基于模板的方案能有超过基于元数据执行的更高的能效,但会要求更复杂的执行环境和更多的存储器资源。
在每一个组件应用程序302被装入到该移动通信装置100上以前,工作流组件406能够被编译成本机代码或例如Java语言字节码的一个中间形式。该中间形式被随即被在该移动通信装置100上转换成本机代码。在工作流组件406被装载到该移动通信装置100之前编译该工作流组件406,能够有助于保证该包括工作流组件406的编码仅以一个等级在该移动通信装置100上解译。另外,工作流组件406可被装载到移动通信装置100上,作为以翻译语言编写的代码,在其被转换成本机代码之前由在该移动通信装置100上由一个解释程序处理。工作流组件406可以另外由以任何编译或翻译的语言写成的代码配置。
为了创建具有对上述结构服务304接入并利用操作在一个移动环境中以便将实用工具提供到用户的好处的一个组件应用程序302,一个应用程序开发者能够产生如上所述组件。能使用标准技术,包括用于数据组件400的可扩展Marlcup语言(XML)、显示组件402消息组件404以及用于工作流组件406的ECMAScript。然后通过组件框架结构206在一个应用程序容器300中执行该组件,使用上述的框架结构服务执行工作流组件406并解释该显示组件402、数据组件400和消息组件404。这种应用程序开发模式促进应用程序员所需的专门技术的最小化并且最小化该移动通信装置100的创建软件应用程序所需要的时间。此外,一旦已经创建了各种组件,则它们可在多个组件应用程序302中被重新使用,进一步促进开发。
参考图1和5,其示出该组件应用程序302模型的操作800。通过经网络102发送请求消息105,移动装置100的用户联络并且随后从Web服务请求该选择的应用程序302(802)。该适当的Web服务器106把该请求消息105引导到该适当的应用服务器110,并且随后经网络102把该响应消息105中的一组组件定义送到该移动装置100(804)。响应消息105包括数据组件400、消息组件404、显示组件402的一系列组件应用程序302(参见图3),包括以例如但不局限于XML的一种结构化定义语言表示的元数据描述符。该响应消息105还包括工作流组件406,包括以例如但不局限于ECMAScript的编程/脚本语言表示的描述符。该移动装置装置100通过组件框架结构206(参见图2)提供用于该应用程序302的运行时环境(806),并且使用一个执行模型提供该应用程序302的组件400、402、404、406定义(808),以便在该移动装置100上创建针对该联系的Web服务的对应Web客户机。该提供的应用程序302使用该框架结构服务304(参见图2)来协调在网络102上通过消息105对于移动装置100的接入。移动装置100的用户通过该用户接口202与提供的应用程序302交互。
由于该组件应用程序302可被使用没有示出的一个集成开发环境(IDE)直观创建,所以上述的组件应用程序模型进一步促进无线应用程序的开发。该IDE是一种软件应用程序,使得一个应用程序开发者使用GUI快速创建上述组件,该GUI为该开发者提供一个组件的直观显示。显示组件402、数据组件400和消息组件404以一种树结构浏览显示。开发者拖放这些组件,以便把它们加到该组件应用程序302。表示显示组件402的图标被点击以开启一个编辑程序来设计该显示组件402。在显示组件402之间的链接被直观显示,并且被点击以编辑定义屏幕工作流的工作流组件406。使用一个接口设计显示组件402,该接口包括其上运行组件应用程序302的该移动通信装置100的一个显示。显示选单选项,并且点击该选项以限定当该选单选项被选择时执行的工作流组件406。消息组件404能被直观地映射到数据组件400。消息组件404也可直观地与一个Web服务106消息相关,并且能够根据例如以WSDL定义的Web服务106消息创建一个消息组件404。
参见图6和7,系统10的进一步的实例包括使用信息映射服务108的信息系统。还示出关于Web服务器106、通信服务306、组件框架结构206以及移动通信装置100的Web服务。为简化起见,没有示出其它单元。
该无线网络102被连接到互联网络104,使得该移动通信装置100能够把消息107的数据传输至连接到该互联网络104的系统。在无线网络102和互联网络104之间的连接包括一个互联网络网关(没示出),其使数据能够从连接到该无线网络102的装置,例如移动通信装置100取道流向连接到该互联网络104,例如Web服务的系统。
该Web服务器106上的Web服务提供在该移动通信装置100上由软件应用程序302(参见图2)使用的信息。另外或作为一种选择,该Web服务可以接收并且使用在本移动通信装置100上由软件应用程序提供的信息,或在该移动通信装置100上执行代表软件应用程序的任务。该Web服务实现在该移动通信装置100上的具有软件应用程序302的一个接口,该接口可使用Web服务描述语言(WSDL)表示,并且使用例如简单对象访问协议(SOAP)的一个适当的通信协议与客户机系统通信。另外,该Web服务可以使用其它已知的协议。
Web服务是一个系统的示例,利用该系统使移动通信装置100上的软件应用程序通过无线网络102与互联网络104交互,以便把该实用工具提供到移动通信装置100的使用者。在移动通信装置100和Web服务之间发送的消息107完成该消息映射服务108。该消息映射服务108把消息107从由在该移动通信装置100上的软件应用程序可用的格式转换为由该Web服务要求的格式,从而产生消息105。一旦来自移动通信装置100之一的该消息107被转换成适当的格式,则该消息映射服务108将把该消息105发送到Web服务。类似地,一旦来自Web服务的消息或响应被转换成要求的格式,则该消息映射服务108将把该消息107发送到该移动通信装置100。将以图7更详细地描述该消息映射服务108。
参见图7,为了与该Web服务交互以便交换信息,该组件应用程序302(参见图2)使用通信服务306经由该无线网络102和互联网络104发送一个无线消息502。例如,根据以组件应用程序302定义的该消息组件404(参见图3)之一格式化该无线消息502。为了接入该Web服务,使用例如一个SOAP消息504。为了解析不同的信息类型,该消息映射服务108接收该无线消息502,配置该对应的SOAP消息504,并且使用该适当的SOAP协议经由互联网络104把该SOAP消息504发送到在Web服务器上的Web服务。类似地,使用SOAP把由该Web服务产生的响应消息504经由该互联网络104发送到该消息映射服务108,将其转换成根据该消息组件404之一的对应的无线消息502,并且送到该移动通信装置100,其中由代表组件应用程序302的通信服务306接收。
再参考图7,该消息映射服务108包括针对每一个组件应用程序302的一个应用程序消息映射500(参见图2)。该应用程序消息映射500定义了从该组件应用程序302接收的每个无线消息502被转换成例如SOAP消息504的对应Web服务消息的方式,以及从将被送到该组件应用程序302的Web服务接收的例如SOAP消息504的每一个Web服务消息是转换成对应无线消息502的方式。如上所述,每一无线消息502都能根据在该组件应用程序302中的一个消息组件404而被格式化,同时每一个Web服务消息(例如SOAP消息504)都能够根据这Web服务的定义而被格式化。该消息映射500规定了以该定义限定的哪个信息对应于以该应用程序302的消息组件404定义的信息。这些定义能够被以例如WSDL的一个适当的格式编码。这一映射被随后用于在该两种格式之间的消息502、504的转换。
应该认识到,不需要把SOAP消息504中的全部信息都映射到对应的无线消息502中的信息。例如,在从无线消息502到SOAP消息504的转换中,该应用程序消息映射500可以规定缺省值来在该SOAP消息504中提供在该无线消息502中没有对应的信息之处。类似地,在从SOAP消息504转换成无线消息502时,其在该无线消息502中没有对应定义的SOAP消息504中的信息被抛弃。因此,被包括在来自不由该组件应用程序302使用的Web服务的响应中的信息可以不经该无线网络102发送。类似地,在发送到属于是每次都由组件应用程序302送出的相同消息的SOAP消息504中需要的信息被缺省,以使不在无线网络102上发送冗余信息。结果是,能够在无线网络102上少发送数据,降低无线网络102的阻塞,并且能够降低在该移动通信装置100上为处理该消息502所需的资源量。
因此,该消息映射服务108能够使组件应用程序302与Web服务集成而无需具有在该移动通信装置100上执行Web信息服务协议(例如SOAP)。该组件应用程序302也不需要由Web服务使用的格式消息502,或为了与现有的Web服务106集合而执行任何其它附加处理。
作为使用该消息映射服务108的选择,可由通信服务306把消息502、504映射在该移动通信装置100上。在此示例中,具有Web信息服务协议的软件,例如具有SOAP协议定义的kSOAP被安装在该移动通信装置100上,使得该通信服务306能够与Web服务106直接通信。实际上,该消息502的翻译发生在该移动装置100之处,而不是使用一个中间第三方来执行该消息映射服务108。
图8是一个流程图,示出配置及与无线组件应用程序600通信的一个方法。该无线组件应用程序600是如上所述的组件应用程序302,包括数据组件400、显示组件402、消息组件404和工作流组件406(参见图3)。
参见图6和8,该方法在步骤602开始,其中无线组件应用程序600被配置到该移动通信装置100。该无线组件应用程序600经过该无线网络102发送到移动通信装置100。另外,该无线组件应用程序600可经过串行连接电路、USB链路、或如BluetoothTM或802.11网络(没示出)的短程通信系统装载到该移动通信装置100上。
再参考图6及8,本方法以步骤604继续,配置该应用程序消息映射108。如上所述,该应用程序消息映射108被用于把消息从该无线组件应用程序600使用的格式转换为与该无线组件应用程序600正在通信得Web服务所需的格式。应用程序消息映射500(参见图7)被配置到可经该互联网络104接入的专用消息映射服务108。另外,该应用程序消息映射108可被直接配置到移动通信装置100。步骤606在该移动通信装置100上执行该无线组件应用程序600。如上所述,在该移动通信装置100上该应用程序结构206(参见图2)创建该应用程序容器300并且执行该应用程序容器300中的无线组件应用程序600,提供该无线组件应用程序600对框架结构服务304的接入。
再参考图6和8,一旦在该移动通信装置100上执行该无线组件应用程序600,该方法则以步骤608继续,其中确定该无线组件应用程序600是否希望把该无线消息502送到外部Web服务。该无线组件应用程序600把消息502发送到该Web服务以便从Web服务请求数据,把数据传送到该Web服务或请求该Web服务执行代表该无线组件应用程序600的一个操作。在确定该无线组件应用程序600没有更多的消息502送出的场合,该方法终止于步骤610。否则,该方法以步骤612继续,配置发送的消息502。根据在该消息组件404(参见图3)之一中定义的格式由该通信服务构建该消息502。该通信服务随后经过无线网络102发射该消息502。
再参考图6和8,在步骤614,该消息映射服务108通过无线网络102和互联网络104接收该消息502。该消息映射服务108随后使用在步骤604配置的应用程序消息映射500把该消息502转换成SOAP格式。该应用程序消息映射500指定由该Web服务要求的SOAP格式的哪些部分对应于来自该无线组件应用程序600的该消息502的每一部分。在步骤616,该转换的消息504被随后使用该SOAP协议经过该互联网络104发送到该Web服务。做为选择,在步骤614,可以使用放置在移动通信装置100上的应用程序消息映射500把该消息502转换成SOAP格式,并且随后在步骤616使用kSOAP协议通过无线网络102和互联网络104直接发送到Web服务。
再参考图6和8,一旦该消息由该Web服务接收,该方法以步骤618继续,其中该Web服务构建对于该消息504的响应。通过互联网络104将SOAP格式的响应发送到该消息映射服务108,其中以步骤620把SOAP格式转换成该无线组件应用程序600需要的无线格式502。该需要的无线格式被以包括在该无线组件应用程序600中的该消息组件404之一限定(参见图3)。该消息映射服务108随后以步骤622通过互联网络104和无线网络102把该响应发送到无线组件应用程序600。另外,该Web服务可以把该SOAP响应消息504直接发送到移动通信装置100,其中该SOAP响应消息504在步骤620使用驻留在移动通信装置100上的该应用程序消息映射500被转换成要求的格式。该转换消息502随即在步骤622被给出到该无线组件应用程序600。随后以步骤608继续该方法,其中确定是否有更多的消息502将被送出。如果不再有消息502,则本方法在步骤610结束。应该认识到,该进行配置和与无线组件应用程序600通信的方法可以包含少于或多于图8示出的步骤。
图9是一个双模式移动通信装置710的框图,是图1和6的装置100的进一步的示例。该双模式移动通信装置710包括收发机711、微处理器738、显示器722、闪速存储器724、RAM存储器726、辅助输入/输出(I/O)装置728、串行端口730、键盘732、扬声器734、话筒736、短程无线通信子系统740,并且还可包括其它装置子系统742。收发机711优选地包括发送与接收天线716及718、接收器712、发射器714、一个或多个本地振荡器713及数字信号处理器720。在该闪速存储器724中,该双模式移动通信装置710最好包括能由微处理器738(和/或DSP 720)执行的多个软件模块724A-724N,包括语音通信模块724A、数据通信模块724B、和用于执行多个其它功能的多个其它操作模块724N。
该双模式移动通信装置710最好是具有语音及数据通信能力的一个双向通信装置。因此该双模式移动通信装置710可以例如经过例如模拟或数字蜂窝网络的任一个的语音网络进行通信,并且还可以经过数据网络通信。图9中以通信塔719示出语音及数据网络。这些语音和数据网络可以是分离的通信网络,使用分离的基础结构,例如基站、网络控制器等,或可被集成为单一无线网络。
该通信子系统711被用于与该语音和数据网络719通信,并且包括接收器712、发射器714、一个或多个本地振荡器713以及也可包括DSP 720。该DSP 720被用于对发射器714和接收器712的信号接收和发送,并且也用来从发射器714接收控制信息以及把控制信息提供到接收器712。如果该语音和数据通信以单一频率出现,或是紧密间隔的频率设置,则可以与发射器714和接收器712结合使用单一本地振荡器713。另外,如果实现语音通信与对应的数据通信利用的是不同频率,则可用多个本地振荡器713产生对应于该语音和数据网络719的多个频率。虽然图9中描述的是两个天线716、718,但是双模式移动通信装置710能被以单个天线结构使用。经由在DSP720和微处理器738之间的链路与通信模块711通信包括语音和数据信息的信息。通信子系统711的详细设计,例如频带、组件选择、功率电平等,取决于其中要操作双模式移动通信装置710的通信网络719。例如,想要操作在北美市场中的一个双模式移动通信装置710可以包括被设计来利用MobitexTM或DataIACTM移动数据通信网络的一个通信子系统711,并且也可以设计来利用例如AMPS、TDMA、CDMA、PCS等多种语音通信网络的任何之一操作;而想要使用在欧洲的装置710可以配置来利用通用无线分组服务(GPRS)数据通信网络和GSM语音通信网络来操作。其它类型的分离和集成的数据和语音网络也同样可以利用该双模式移动通信装置710。
根据单一或几个网络719的类型,对于该双模式移动通信装置710的接入要求也可能变化。例如,在Mobitex和DataTAC数据网络中,使用与每一个装置相关的唯一标识号码把移动装置注册在网络上,但是网络接入与一个订户或移动装置的使用者相关。一个GPRS装置通常要求一个用户的标识模块(″SIM″),要求该模块来在一个GPRS网络上操作双模式移动通信装置。可以操作本地即非网络通信功能(如果有的话),无需该SIM,但除了任意法定要求的操作之外,例如911紧急呼叫,一个双模式移动通信装置将不能执行任何涉及经过数据网络719的通信功能。
在完成任何要求的网络注册或激活处理过程之后,该双模式移动通信装置710可以随即经过网络719(或几个网络)发送和接收通信信号,包括语音和数据信号二者。由天线716从通信网络719接收的信号被路由到该接收器712,该接收器712提供信号放大、降频变换、滤波、信道选择等,并且还可以提供模拟数字转换。接收信号的模拟数字转换实现更复杂的通信功能,例如使用DSP 720执行的数字解调和解码。以一个类似的方式处理将被发送到网络719的信号,该处理包括由DSP 720调制和编码,并且被随即提供到发射器714用于数模转换、上变频、滤波、放大,并且通过天线718发送到通信网络719(或几个网络)。虽然图9示出了单个收发机711既用于语音通信又用于数据通信,但是该双模式移动通信装置710有可能包括两个不同的收发机,第一收发机用于发送和接收语音信号,第二收发机用于发送和接收数据信号。
除了处理该通信信号之外,该DSP 720还提供接收器和发射器的控制。例如,加到该接收器712和发射器714的通信信号的增益等级可以通过该DSP 720中执行的自动增益控制算法自适应地控制。其它收发机控制算法还可以在DSP 720中执行,以便提供收发机711的更复杂的控制。
微处理器738最好管理和控制该双模式移动通信装置710的总体操作。许多类型的微处理器或微控制器能被使用于其中,或另外单一DSP 720可用于执行微处理器738的功能。在收发机711中通过DSP 720执行包括至少数据和语音通信的低级通信。另外,例如语音通信应用程序724A的高级通信应用以及数据通信应用程序724B可被存储在闪速存储器724中供微处理器738执行。例如,该语音通信模块724A可以提供一个高级用户接口,可操作来经由该网络719在双模式移动通信装置710和多个其它语音装置之间发送与接收语音呼叫。类似地,该数据通信模块724B可能提供可操作用于发送和接收数据的一个高级用户接口,例如经由网络719在该双模式移动通信装置710和多个其它数据装置之间发送和接收例如电子邮件消息、文件、管理器数据、短文本消息等数据。在该双模式移动通信装置710中,一个如上所述的组件框架结构206还可以被执行作为一个软件模块或应用程序,或结合到软件模块724A-724N之一中。
微处理器738还与其它双模式移动通信装置子系统交互,例如显示器722、闪速存储器724、随机存取存储器(RAM)726、辅助输入/输出(I/O)子系统728、串行端口730、键盘732、扬声器734、话筒736、短程通信子系统740以及任何其它通常被指定为742的双模式移动通信装置子系统。
图9所示的某些子系统执行通信相关的功能,而其它子系统可以提供执行驻留或在装置有关的功能。值得注意的是,例如键盘732和显示器722的某些子系统既可用于通信相关的功能,例如经过数据通信网输入用于发送的文本消息,又可用于装置驻留功能,例如计算机或任务列表或其他PDA类型的功能。
由微处理器738使用的操作系统软件最好被存储在诸如闪速存储器724的一个持久存储器中。除了控制双模式移动通信装置710的全部低级功能的该操作系统之外,闪速存储器724可能包括多个高级软件应用程序或模块,例如语音通信模块724A、数据通信模块724B、管理器模块(没示出)或任何其它类型的软件模块724N。闪速存储器724还可包括为存储数据的文件系统。这些模块由微处理器738执行,并且提供在双模式移动通信装置的用户和移动装置之间的一种高级接口。这种接口通常包括通过显示器722提供的图形组件,以及通过辅助I/O728、键盘732、扬声器734和话筒736提供的输入/输出组件。该操作系统,具体地说是双模式移动通信装置软件应用程序或模块、或其部分,可以临时装入到例如RAM 726的一个易失性存储器中,用于更快地操作。而且,在将接收的通信信号永久地写入到设置在持久存储器724之前,接收的通信信号也可以被暂存到RAM726。
可被加载到双模式移动通信装置710上的一个示例性应用模块724N是一种个人信息管理器(PIM)应用程序,提供例如日历事件、约定以及任务项的PDA功能。此模块724N也可以与管理电话呼叫、语音邮件等的语音通信模块724A交互,并且还可以与用于管理电子邮件通信以及其它数据传输的数据通信模块交互。另外,语音通信模块724A的和数据通信模块724B的全部功能都可被集成到该PIM模块中。
该闪速存储器724最好提供一种文件系统提供,以便促进在双模式移动通信装置710上的PIM数据项的存储。该PIM应用程序最好包括通过该无线网络719发送和接收数据项的能力,或是本身或结合该语音和数据通信模块724A、724B进行数据项的发送和接收。PIM数据项最好是通过无线网络719与存储的或主机系统相关的一个对应组的数据项无缝地集成、同步及更新,藉此创建与具体用户相关的用于数据项的镜像系统。
该双模式移动通信装置710还可以通过在一个接口框中放置该双模式移动通信装置710而手动地与一个主系统同步,该接口框把该双模式移动通信装置710的串行端口730耦合到该主系统的串行端口。该串行端口730还可以被用于使得一个用户能够通过一个外部装置或软件应用程序设置优选项,或下载用于安装的其它应用模块724N。此有线下载路径可被用于把一个加密密钥加载到双模式移动通信装置710上,这是比通过无线网络719交换加密信息更安全的方法。
另外,可通过网络719、辅助I/O子系统728、串行端口730、短程通信子系统740或任何其它适当的子系统742把应用模块724N加载到该双模式移动通信装置710上,并且由使用者安装在闪速存储器724或RAM 726中。在应用程序安装中的这种灵活性增加了双模式移动通信装置710的功能性,并且可以提供增强的在装置功能、通信相关功能或二者。例如,安全通信应用程序可以使得能够使用双模式移动通信装置710来执行电子商务功能和其它这种金融事务处理。
当按照数据通信模式操作该双模式装置时,例如文本消息或下载的网页的一个接收信号将由收发机711处理并且提供到微处理器738,最好进一步处理该接收信号以便输出到显示器722,或也可以输出到一个辅助I/O装置728。虽然例如已知的DVORAK形式的完整字母数字键盘的其它形式也可被使用,但是双模式移动通信装置710的用户还可以利用最好是以QWERTY形式排列的一个完成的字母数字键盘的键盘732组成例如电子邮件消息的数据项。利用多个辅助I/O装置728进一步增强对于双模式移动通信装置710的用户输入,该辅助I/O装置728可以包括指轮输入装置、触摸板、各种开关、摇动输入开关等。由该用户输入的组成数据项可被随后经过通信网络719由收发机711发送。
当该双模式移动通信装置710以语音通信模式操作时,该双模式移动通信装置710的整个操作基本上类似于该数据模式,只是该接收信号最好被输出到扬声器734,并且用于发送的语音信号是由话筒736产生。另外,例如语音消息记录子系统的语音或音频I/O子系统也可被在该双模式移动通信装置710上执行。虽然最好是主要通过扬声器734实现语音或音频信号的输出,但是也可用显示器722提供主叫方的标识、语音呼叫的暂留时间或其它语音呼叫相关信息的指示。例如,该微处理器738与语音通信模块和操作系统软件结合,可以检测一个输入语音呼叫的呼叫者识别信息,并且将该语音呼叫显示在显示器722上。
双模式移动通信装置710还包括一个短程通信子系统740。例如,该短程通信子系统740可以包括一个红外装置和相关的电路与元件,或例如蓝牙模块或802.11模块的短程无线通信模块,以便提供与类似启动的系统和装置的通信。本领域的技术人员将理解到,″蓝牙″和802.11是指可从分别涉及无线个人域网和无线LAN的电气和电子工程师学会(IEEE)标准得到的多组规范。
上述的描述涉及一个或者多个示例的系统和方法。对于在本领域中的技术人员来说将明显有许多变化,并且这种变化是在该应用程序的范围之内。例如,虽然上述的示例描述能理解的是实现该SOAP协议的Web服务,但是该Web服务可以是该移动通信装置可访问的任何信息源,并且可以实施一个不同的通信协议。
虽然在此公开的内容已经描绘了一个或者多个示例系统和方法,但是在不背离如所附权利要求概要的本发明精神范围的条件下,本领域技术人员显然将能作出各种改进。
权利要求
1.一种在移动通信装置上提供组件应用程序的可执行版本的方法,该方法包括步骤经过网络从一个服务器接收多个组件,该多个组件表示该组件应用程序,组件包括以一种结构化定义语言表示的元数据描述符;把该元数据描述符加载到该装置的一个应用程序容器中,本应用程序容器用于主控该程序的一个客户机运行时环境;以及从该元数据描述符中产生该可执行版本,用于随后在该装置的客户机运行时环境中执行。
2.根据权利要求1的方法,其中由一个组件框架结构提供该应用程序容器,该组件框架结构把用于该可执行版本的接口提供到包括一个处理器和一个存储器的装置的基础结构。
3.根据权利要求2的方法,其中该应用程序容器是该装置基础结构的操作系统的一部分。
4.根据权利要求2的方法,进一步包括步骤由该组件框架结构创建一个第二应用程序容器,用于在一个不同的第二客户机运行时环境中主控一个第二组件应用程序。
5.根据权利要求2的方法,其中该应用程序容器的客户机运行时环境把该可执行版本表示为该服务器的一个客户机。
6.根据权利要求5的方法,进一步包括步骤通过基于模板的执行模型执行本机代码的可执行版本,该模型若干预定义的模板,配置用于以该组件的元数据描述符进行填充。
7.根据权利要求6的方法,进一步包括步骤利用与该元数据描述符相关的元数据定义参数填充该预定义的模板,并且使用该填充的模板来建立该本机代码的可执行版本。
8.根据权利要求6的方法,其中该预定模板被提供用于从一组组件中选择的多个组件,该组组件包括;数据组件、消息组件以及显示组件。
9.根据权利要求5的方法,进一步包括步骤由一个基于元数据的执行模型执行该可执行版本,该模型被配置用于把该元数据定义保持在该结构化定义语言中以便在执行过程中进行解析。
10.根据权利要求5的方法,进一步包括步骤由基于元数据的执行模型执行该可执行版本,该模型被配置用于在执行过程中使用结构化定义语言节点的本机表示。
11.根据权利要求5的方法,进一步包括步骤分析由该应用程序容器从该服务器接收的消息数据,并且更新在该装置的存储器中的元数据的表示。
12.根据权利要求11的方法,进一步包括步骤通过该应用程序容器监控在可执行版本和该组件框架结构之间的通信。
13.根据权利要求12的方法,其中该应用程序容器监控包括从一组操作中选择的操作的消息数据的处理;该组操作包括该消息数据的存储器分配、在I/O过程中的该消息数据的管理、以及在该装置的用户接口上的消息数据的显示。
14.根据权利要求8的方法,进一步包括步骤经过网络接收该组件应用程序的一个工作流组件,该工作流组件包括一组指令,用于协调具有以结构化定义语言表示的元数据描述符的组件的操作。
15.根据权利要求14的方法,进一步包括步骤应用程序容器提供用于该组指令的该客户机运行时环境。
16.根据权利要求15的方法,其中该可执行版本包括从一批指令中选择的一个可执行指令集,该批指令包括转换成本机代码的指令,以及使用具有本机代码重定向器的语言解释程序解释的指令。
17.根据权利要求15的方法,其中该结构化定义语言以XML表示,而该指令集以ECMA脚本表示。
18.根据权利要求4的方法,进一步包括步骤把该可执行版本耦合到该装置上的一组普通服务。
19.根据权利要求18的方法,其中该普通服务被预定义为由组件框架结构提供的框架结构服务的一个标准组。
20.根据权利要求18的方法,其中该预定义的框架结构服务是从一组服务中选择的,该组服务包括通信、显示、暂留、接入、提供以及实用工具。
21.根据权利要求20的方法,其中该框架结构服务被配置用于与来自多个组件应用程序的组件进行共享。
22.一种移动通信装置,被配置用于提供从一个服务器经过网络接收的一个组件应用程序的可执行版本,该程序具有包括以结构化定义语言表示的元数据描述符的多个组件,该移动装置包括用于操作该移动装置的装置基础结构,该移动装置包括用于执行可执行版本的处理器和相关存储器;耦合到该装置基础结构的用户接口,该装置基础结构具有被配置用于与该可执行版本通信的输入装置和输出装置;耦合到该装置基础结构的一个通信装置,并且该通信装置被配置用于连接到一个无线收发机以便与该网络通信;以及一个组件框架结构,被配置来用于把该可执行版本连接到该装置基础结构,并且用于提供用于该可执行版本的客户机运行时环境。
23.根据权利要求22的移动通信装置,还包括由该组件框架结构提供的一个应用程序容器,该应用程序容器用于提供用于可执行版本的客户机运行时环境。
24.根据权利要求23的移动通信装置,其中该应用程序容器是该装置基础结构的操作系统的一部分。
25.根据权利要求23的移动通信装置,其中该组件框架结构被配置用于多个应用程序容器,用于在分别的客户机运行时环境中主控该组件应用程序的不同的之一。
26.根据权利要求23的移动通信装置,其中该应用程序容器的客户机运行时环境把该可执行版本表示为该服务器的一个客户机。
27.根据权利要求26的移动通信装置,还包括应用程序容器,被配置用于由基于一个模板的执行模型以本机代码执行该可执行版本,该模型采用若干预定义的模板,被配置用于以该组件的元数据描述符进行填充。
28.根据权利要求27的移动通信装置,其中该预定义的模板被配置用于以与该元数据描述符相关的元数据定义参数进行填充,并且该填充的模板是被配置用于建立该本机代码的可执行版本。
29.根据权利要求27的移动通信装置,其中该预定义的模板被提供用于从一组组件中选择的多个组件,该组组件包括数据组件、消息组件以及显示组件。
30.根据权利要求23的移动通信装置,还包括应用程序容器,被配置来通过一个基于元数据执行模型来执行该可执行版本,该模型保持该结构化定义语言中的元数据定义,用于在执行过程中进行解析。
31.根据权利要求23的移动通信装置,还包括应用程序容器,被配置来由一个基于元数据的执行模型来执行该可执行版本,在执行过程中该模型使用结构化定义语言节点的一个本机显示。
32.根据权利要求23的移动通信装置,其中该应用程序容器分析从该服务器接收的消息数据,并且更新在该装置的存储器中的元数据的显示。
33.根据权利要求32的移动通信装置,其中该应用程序容器监控在可执行版本和该组件框架结构之间的通信。
34.根据权利要求33的移动通信装置,其中该应用程序容器监控包括对从一组操作中选择的操作的消息数据的处理,该组操作包括该消息数据的存储器分配、在I/O过程中的该消息数据的管理、以及在该装置的用户接口上的消息数据的显示。
35.根据权利要求29的移动通信装置,还包括该程序具有包括一组指令的一个工作流组件,用于协调具有以结构化定义语言表示的元数据描述符的组件的操作。
36.根据权利要求35的移动通信装置,其中该应用程序容器提供用于该组指令的不同的客户机运行时环境。
37.根据权利要求36的移动通信装置,其中该可执行版本包括从一批指令中选择的一个可执行指令集,该批指令包括转换成本机代码的指令,以及使用具有本机代码重定向器的一个语言解释程序解释的指令。
38.根据权利要求36的移动通信装置,其中该结构化定义语言以XML表示,而该指令集以ECMA脚本表示。
39.根据权利要求25的移动通信装置,还包括在该装置上耦合到一组普通服务的可执行版本。
40.根据权利要求39的移动通信装置,其中该普通服务被预定义为由组件框架结构提供的框架结构服务的一个标准组。
41.根据权利要求39的移动通信装置,其中该预定义的框架结构服务是从一组服务中选择的,该组服务包括通信、显示、暂留、接入、提供以及实用工具。
42.根据权利要求41的移动通信装置,其中该框架结构服务被配置用于与来自多个组件应用程序的组件进行共享。
43.一种移动通信装置,被配置用于提供从一个服务器经过网络接收的一个组件应用程序的可执行版本,该程序具有包括以结构化定义语言表示的元数据描述符的多个组件,该移动装置包括一个基础结构装置,用于执行该可执行版本;耦合到该基础结构的一个接口装置,被配置来用于由该装置的使用者与该可执行版本通信;耦合到该基础结构装置的一个通信装置,被配置来用于与该网络通信;以及一个框架结构装置,被配置来用于把该可执行版本连接到该基础结构装置,并且用于提供用于该可执行版本的客户机运行时环境。
44.一种计算机程序产品,用于在一个移动通信装置上提供一个组件应用程序的可执行版本,该程序具有包括以结构化定义语言表示的元数据描述符的多个组件,该计算机程序产品包括一个计算机可读介质;存储在该计算机可读介质上的一个组件框架结构模块,用于把该可执行版本连接到包括处理器和相关存储器的一个装置基础结构;以及一个耦合到该组件框架结构模块的应用程序容器模块,用于从该元数据描述符产生该可执行版本,以及用于主控该产生的可执行版本的客户机运行时环境。
全文摘要
提供一种创建无线组件应用程序并与之进行通信的系统及方法。移动通信装置通过无线网络、互联网、和可选的消息映射服务与web服务通信。每一个无线组件应用程序都由在移动通信装置之一上的一个组件框架结构执行,并且包括数据组件、显示组件、消息组件、及工作流组件。该组件框架结构执行在一个应用程序容器中的组件应用程序,该应用程序容器提供了对于框架结构服务的接入,该框架结构服务包括通信服务、屏幕服务、暂留服务、接入服务、提供服务以及实用工具服务。能够把消息从组件应用程序发送至该消息映射服务,其使用应用程序消息映射把每一个消息转换为Web服务所需的格式,然后把该消息送到Web服务。该Web服务把一个响应发送到该消息映射服务,把该响应转换为该无线组件应用程序需要的格式,并且把该响应发送到该无线组件应用程序。
文档编号H04L29/06GK1757216SQ200380110015
公开日2006年4月5日 申请日期2003年12月24日 优先权日2002年12月26日
发明者迈克尔·申菲尔德, 比埃拉·比布尔, 布伦杜沙·L·弗里奇, 布赖恩·R·戈林, 罗伯特·克兰, 卡缅·B·维塔诺夫 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1