CN1947116A - 处理网络服务描述的装置和方法 - Google Patents

处理网络服务描述的装置和方法 Download PDF

Info

Publication number
CN1947116A
CN1947116A CNA2005800122370A CN200580012237A CN1947116A CN 1947116 A CN1947116 A CN 1947116A CN A2005800122370 A CNA2005800122370 A CN A2005800122370A CN 200580012237 A CN200580012237 A CN 200580012237A CN 1947116 A CN1947116 A CN 1947116A
Authority
CN
China
Prior art keywords
network service
mobile device
network
accelerator
describing
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.)
Granted
Application number
CNA2005800122370A
Other languages
English (en)
Other versions
CN100511226C (zh
Inventor
罗素·诺曼·欧文
戴维·保罗·亚奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN1947116A publication Critical patent/CN1947116A/zh
Application granted granted Critical
Publication of CN100511226C publication Critical patent/CN100511226C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Treatments For Attaching Organic Compounds To Fibrous Goods (AREA)
  • Computer And Data Communications (AREA)
  • Replacement Of Web Rolls (AREA)
  • Preliminary Treatment Of Fibers (AREA)
  • Multi Processors (AREA)

Abstract

一种用于处理网络服务描述的装置和方法,使得网络服务描述适于与移动设备一起使用。网络服务加速器适于接收定义了网络服务的界面的网络服务描述,从网络服务描述中创建至少一个加速器输出文件,以及将至少一个加速器输出文件传输至移动设备。由移动设备使用加速器输出文件来调用网络服务。

Description

处理网络服务描述的装置和方法
技术领域
本发明的实施例一般涉及网络服务,更具体地,涉及对移动设备的网络服务应用程序。
背景技术
通常能够将网络服务定义为能够使用协议通过互联网来调用的一个或多个应用程序功能。可以用于此背景的协议的示例是简单目标访问协议(SOAP),该协议可以由基于互联网的应用程序服务器、也称为网络服务器使用,来提供网络服务。SOAP是通常用于分散、分布式的网络环境中的信息交换的协议。
网络服务的一个目标是使用网络的基础结构来提供机器可读的信息。不同于诸如网络服务器/网页系统之类的传统的客户机/服务器模型,典型地,网络服务不向用户提供图形用户界面(GUI),而是通过网络中的程序接口来共享商务逻辑、数据、以及处理。由于应用程序能够与网络服务相连接,所以开发者可以将网络服务添加至GUI(如,网页或可执行程序)来向用户提供特定的功能。
此外,来自不同源的不同的应用程序能够在没有扩展用户编码(extensive custom coding)的情况下彼此通信,以及网络服务不与任何一个操作系统或程序语言相关联。这种灵活性允许开发更加复杂的商务对商务的应用程序、以及更加复杂的浏览模型(具有更多用户侧的数据处理)。
然而,尽管网络服务模型普及性的提高,但是适应具体用于无线通信领域、以及由移动设备使用的模型的尝试相对受到了限制。给出会特定于移动设备的不同限制(如,有限的存储、增长的带宽花销等),需要以保留许多与网络服务相关的优点的同时更好地解决这些限制的方式,来提高标准网络服务模式。
Harrison W ED,电气与电子工程学院:“Using service specificproxies to migrate web service to the wireless web:anillustrative case study of adaptive maintenance”ProceedingsIEEE International Conference on Software Maintenance.2002年10月3日,300-309页,XP010624837一般地公开了用作移动客户机与特定服务或应用程序之间的媒介的“服务特定代理”的使用。将该代理描述为担负起以下责任,即“适应至服务的输入和来自服务的输出,使得将使用移动客户机进行操作”。代理可以将基于网络的输入转换为向导型的输入处理,使用选择列表代替了文本输入,或者在在客户机设备上显示之前重新格式化并从网页中删除不必要的内容。
Pilioura T等人,“Scenarios using web service in M-commerce”ACM Sigecom Exchange,vol.3,no.4,2003年1月,28至36页,XP002290709一般地公开了代理的使用,该代理通过网络服务可知协议,与服务代理程序(broker)和服务提供商进行交互,并通过无线网络,使用网络服务不可知协议,将结果返回移动设备。以这种方式,由于能够将工作负荷传输至代理来缓解时间和处理器消耗网络服务相关任务的移动设备,因而移动设备不需要支持网络服务功能。代理服务器可以通过低速或中速无线链路来将信息最小化,或者管理移动设备的书签或缓存。
上述的两种参考都不能教授或建议代理能够通过解决网络描述中的符号访问(symbolic reference)来创建网络服务的最优版本,使得能够由移动客户机单程解析该最优版本。
发明内容
本发明的实施例一般涉及网络服务,更具体地,涉及对移动设备的网络服务应用程序。
在本发明的一个广义方面,提供了处理网络服务描述的方法,使得所述网络服务描述适于与移动设备一起使用,所述网络服务描述包括多个网络服务描述元素,所述方法包括以下步骤:接收网络服务描述,其中,所述网络服务描述定义了对网络服务的接口;从所述网络服务描述中创建至少一个加速器输出文件,所述创建步骤包括至少一个优化步骤,在该步骤中,为所述移动设备优化所述网络服务描述,其中,所述至少一个加速器输出文件是适于由移动设备处理的最优网络服务描述;以及将所述至少一个加速器输出文件传输至所述移动设备,其中,所述至少一个加速器输出文件促使所述移动设备调用所述网络服务;其中,所述至少一个优化步骤包括以下步骤:解决所述网络服务描述中的符号引用,使得所述至少一个加速器输出文件由所述移动设备单程解析。所述至少一个加速器输出文件促使移动设备调用网络服务。
网络服务加速器可以位于在网络中与移动设备远程耦合的计算设备上。与由网络服务加速器描述的网络服务的处理相关的任务、以及其它任务,包括例如那些与网络服务的调用相关的任务,为了减少移动设备上的处理负荷,可以在远程计算设备上执行这些任务。
在本发明的另一实施例中,将网络服务描述中的元素的子集发送至设备。该子集是描述网络服务参数所需的最小信息量。诸如位置和方法之类的调用网络服务所需的信息存储于网络服务加速器中。从移动设备中接收的参数信息返回网络服务加速器,并与调用信息重新组合。典型地,该技术减少了需要传送至或从移动设备传送的信息量。
在本发明的另一实施例中,所述至少一个加速器输出文件代表移动设备的可执行代码。该代码包括获取输入数据的指令,典型地,该指令来自移动设备的用户,然后用于调用网络服务。在该实施例中,编程以处理用于网络服务的网络服务描述的客户机应用程序不需要在移动设备自身上执行。
附图说明
参照附图,本发明实施例的这些或其它特征将从下面的描述中变得清楚,其中:
图1是示出了在无线通信网络中通信的移动设备的组件的结构框图;
图2是示出了图1的移动设备组件的示意图;
图3是与移动设备通信的系统的特定结构;
图4A是示出了通过无线通信网络中的连接与网络服务器相连的移动设备的示意图;
图4B是示出了与图4A的网络服务器和移动设备相连的网络服务加速器的示意图;
图5是示出了处理本发明实施例中的网络服务描述的方法的流程图;
图6是示出了处理本发明另一实施例中的网络服务描述的方法的流程图;
图7是示出了处理本发明另一实施例中的网络服务描述的方法的流程图;
图8是示出了自动生成本发明实施例中的代码的过程的逻辑流程图。
具体实施方式
图1是通信系统100的结构框图,包括通过无线通信网络104进行通信的移动设备102。优选地,移动设备102包括可视显示器112、键盘114、以及也许一个或多个辅助用户接口(UI)116,其中的每个与控制器106耦合。控制器106还与射频(RF)收发机电路108和天线110耦合。
典型地,控制器106具体化为中央处理单元(CPU),用于运行存储器组件(未示出)中的操作系统软件。控制器106通常控制移动设备102的操作,而典型地,在RF收发机电路108中执行与通信功能相关的信号处理操作。控制器106与设备显示器112相连接,来显示接收信息、存储信息、用户输入等。键盘114可以是电话型小键盘或完整的字母数字键盘,通常提供用于输入在移动设备102中存储的数据、传输至网络104的信息、安排电话呼叫的电话数字、要在移动设备102上执行的命令、以及可能的其它或不同的用户输入。
移动设备102经过天线110、通过无线链路将通信信号发送至网络104或从网络104中接收通信信号。RF收发机电路108执行诸如调制/解调、可能的编码/解码、以及加密/解密之类的功能。对于本领域技术人员来说,很明显,RF收发机电路108将适于特定无线网络或试图操作移动设备102的网络。
移动设备102包括用于容纳一个或多个可充电电池132的电池接口134。电池132向移动设备102中的电路供电,以及电池接口134为电池132提供机械和电连接。电池接口134与调整设备功率的稳压器136耦合。当移动设备102完全可操作时,典型地,仅当正在向网络发送时,键入或开启RF收发机电路108的RF发射机,否则关闭以保存资源。类似地,典型地,周期性地关闭RF收发机电路108的RF接收机以保存功率,直到在指定时间段内需要接收信号或信息(如果有的话)。
移动设备使用订户标识模块(SIM)140进行操作,SIM 140在SIM接口142处与移动设备102相连或插入移动设备102。SIM 140是已知传统的“智能卡”,用于识别移动设备102的端用户(或订户),以及在其它事物中个性化设备。如果没有SIM 140,则移动设备终端不能完全用来通过无线网络104进行通信。通过将SIM 140插入移动设备102,端用户能够访问任何或所有他/她定制的服务。SIM 140通常包括处理器和存储信息的存储器。由于SIM 140与SIM接口142耦合,所以SIM 140通过通信线路144与控制器106耦合。为了识别订户,SIM 140包含一些诸如国际移动订户识别码(IMSI)之类的用户参数。使用SIM 140的优点是该端用户不必由任何单个物理移动设备所绑定。SIM 140也可以存储移动设备的附加用户信息,包括记事本(或日历)信息和近期的呼叫信息。
移动设备102可以由诸如数据通信设备、蜂窝电话、具有数据和语音通信能力的多功能通信设备、支持无线通信的个人数字助理(PDA)、或者结合内部调制解调器的计算机之类的单个单元组成。可选地,移动设备102可以是包括多个独立组件的多模块单元,包括但不局限于与无线调制解调器相连的计算机或其它设备。具体地,例如,在图1的移动设备结构框图中,RF收发机电路108和天线110可以实现为可插入膝上型计算机上的端口的无线调制解调器单元。在这种情况下,膝上型计算机将包括显示器112、键盘114、一个或多个辅助UI 116,以及具体化为计算机CPU的控制器106。也可预计,通常不能进行无线通信的计算机或其它装置可以适于与诸如上面所描述的其中一个之类的单个单元设备的RF收发机电路108和天线相连,以及有效地采用RF收发机电路108和天线110的控制。这样的移动设备102可以具有如之后对于图2的移动设备202进行描述的更具体的实施方式。
移动设备102在无线通信网络104中并通过无线通信网络104进行通信。在图1的实施例中,根据通用分组无线业务(GPRS)和全球移动通信系统(GSM)技术来配置无线网络104。无线网络104包括具有相关基站118的基站控制器(BSC)120、移动交换中心(MSC)122、本地位置寄存器(HLR)132、服务通用分组无线业务(GPRS)支持节点(SGSN)126、以及网关GPRS支持节点(GGSN)128。MSC 122与BSC120和诸如公共交换电话网络(PSTN)124之类的陆上网络耦合。SGSN126与BSC 120和GGSN 128耦合,GGSN 128顺次与公共或专用数字网络130(如互联网)耦合。HLR 132与MSC 122、SGSN 126、以及GGSN128耦合。
基站118是固定的收发机台,以及在这里,基站118和BSC 120共同称为固定收发装置。固定收发装置为通常称为“小区”的特定覆盖区域提供无线网络覆盖。固定收发装置在其小区内通过基站118,将通信信号发送至移动设备,以及从移动设备接收通信信号。固定收发装置通常执行这样的功能:如在控制器的控制下,根据特定的、通常预定的通信协议和参数,对要发送至移动台的信号进行调制、以及可能的编码和/或加密。类似地,如果必要,固定收发装置在其小区内对从移动设备102接收的任何通信信号进行解调、以及可能的解码和解密。通信协议和参数可以在不同网络之间变化。例如,一个网络可以使用不同的调制方案,以及在不同于其它网络的频率上进行操作。
图1的无线链路150代表一个或多个不同信道,典型地,代表不同的射频(RF)信道,以及用于无线网络104与移动设备102之间的相关协议。RF信道是必须保存的有限资源,典型地,受到全部带宽和移动设备102的有限的电池功率的限制。本领域的技术人员将明白,在实际应用中的无线网络可以包括上百个小区,其中的每个由基站118(或基站扇区)依据所需的网络覆盖的所有区域进行服务。所有相干组件可以由多个交换机和路由器(未示出)连接,由多个网络控制器来控制。
对于向网络操作器注册的所有移动设备102,在HLR 132中存储永久数据(如移动设备102用户的简档)和临时数据(如移动设备102的当前位置)。在对移动设备102进行语音呼叫的情况下,查询HLR 132以确定移动设备102的当前位置。MSC 122的访问位置寄存器(VLR)负责一群位置区域,以及存储当前处于其责任区域中的这些移动设备的数据。这包括为快速访问而已从HLR 132发送至VLR的永久移动设备数据的部分。然而,MSC 122的VLR还可以分配和存储本地数据,如临时标识。可选地,能够增强MSC 122的VLR,用于更有效地协调GPRS和非GPRS服务和功能(如,寻呼电路交换呼叫,这些呼叫能够通过SGSN 126、以及组合的GPRS和非GPRS位置更新而更有效地执行)。
服务GPRS支持节点(SGSN)126位于与MSC 122相同的等级上,并且保持对移动设备的各个位置的追踪。SGSN 126还执行安全功能和访问控制。网关GPRS支持节点(GGSN)128提供与外部分组交换网络的交互工作,并且通过基于IP的GPRS骨干网络与SGSN(诸如SGSN 126)连接。SGSN 126基于与现存的GSM相同的算法、密钥、以及准则来执行认证和密码设置过程。在传统操作中,可以由移动设备102或由固定收发装置指示移动设备102来选择特定小区,以自发地执行小区选择。移动设备102在重新选择另一小区或小区群(称为路由区域)时通知无线网络104。
为了访问GPRS服务,移动设备102在第一次通过执行称为GPRS“附着”的操作,使得无线网络104知道移动设备102出现。该操作建立了移动设备102与SGSN 126之间的逻辑链路,并且使得移动设备102可以例如通过SGSN接收寻呼、通过GPRS接收输入GPRS数据、或者SMS消息的通知。为了发送和接收GPRS数据,移动设备102协助激活要使用的分组数据地址。该操作使GGSN 128知道移动设备102;之后能够开始与外部数据网络的交互工作。可以使用例如封装和隧道技术,在移动设备102和外部数据网络之间透明地传输用户数据。数据分组具有GPRS特定协议信息,并且在移动设备102与GGSN 128之间传输。
本领域技术人员将明白,无线网络可以与其它系统连接,可能地,包括未在图1中清楚示出的其它网络。即使没有实际的分组数据交换,网络通常也将在进行的基础上发送非常少的一些种类的寻呼和系统信息。尽管网络由多个部分组成,但是这些部分全部协同工作以产生无线链路上的特定行为。
图2是移动设备202(如,图1的移动设备102)的详细结构框图。优选地,移动设备202是至少具有语音和提高的数据通信能力的双向通信设备,其中包括与其它计算机系统通信的能力。依据由移动设备202提供的功能,可以将移动设备202称为数据消息设备、双向寻呼机、具有数据消息收发能力的蜂窝电话、无线互联网设备、或者数据通信设备(具有或不具有电话能力)。移动设备202可以在多个固定收发台200中的任何一个的地理覆盖区域内与该收发台进行通信。
移动设备202通常将结合通信子系统211,通信子系统211包括接收机212、发射机214、以及诸如一个或多个(优选地,嵌入或内部的)天线元件216和218之类的相关组件、本地振荡器(LOs)213、以及诸如数字信号处理器(DSP)220之类的处理模块。通信子系统211类似于图1中示出的RF收发机电路108和天线110。如通信领域技术人员将明白的,通信子系统211的特定设计依据试图操作移动设备202的通信网络。
移动设备202可以在已完成所需网络注册或激活过程之后,通过网络来发送和接收通信信号。将通过网络由天线216接收的信号输入至接收机212,接收机212可以执行如信号放大、频率下降转换、滤波、信道选择等,以及在图2示出的示例中的模数(A/D)转换的普通接收机功能。接收信号的A/D转换允许更加复杂的通信功能,如在DSP220中执行的解调和解码。以类似的方式,例如,通过DSP来处理要发送的信号,包括调制和编码。将这些DSP处理信号输入发射机213用户数模(D/A)转换、频率上升转换、滤波、放大,以及经过天线218通过网络进行传输。DSP 220不仅处理通信信号,而且提供接收机和发射机控制。例如,可以通过在DSP 220中实现的自动增益控制算法,来适应性地控制施加于在接收机212和发射机214中的通信信号的增益。
网络接入与移动设备202的订户或用户相关联,因此,为了在网络中进行操作,移动设备202需要插入SIM接口264的订户识别模块或“SIM”卡262。SIM 262包括关于图1中描述的那些特征。移动设备202是电池供电的设备,所以也包括容纳一个或多个可充电电池256的电池接口254。这样的电池256向移动设备202中的多数、如果不是所有的电路供电,以及电池接口254用于提供机械和电连接。电池接口254与稳压器(未示出)耦合,稳压器向所有电路提供V+功率。
移动设备202包括微处理器238(这是图1的控制器106的一个实施方式),用于控制移动设备202的所有操作。通过通信子系统211来执行至少包括数据和语音通信的通信功能。微处理器238还与附加设备子系统进行交互,如显示器222、闪存224、随即访问存储器(RAM)226、辅助输入/输出(I/O)子系统238、串口230、键盘232、扬声器234、麦克风236、短距离通信子系统240、以及在242处分配的任何其它设备子系统。图2中示出的一些子系统执行通信相关功能,而其它子系统可以提供“驻留”或设备上功能。值得注意地,诸如键盘232和显示器222之类的一些子系统可以用于诸如输入文本信息用于通信网络上的传输之类的通信相关功能,以及诸如计算器或任务列表之类的设备上功能。优选地,由微处理器238使用的操作系统软件存储于诸如闪存224之类的永久存储器中,可选地,永久存储器可以是只读存储器(ROM)或类似的存储元件(未示出)。本领域技术人员将明白,操作系统、特定设备应用程序或者其部分可以临时地载入诸如RAM 226之类的易失性存储器中。
除了操作系统功能之外,优选地,微处理器238能够在移动设备202上执行软件应用程序。通常在制造期间,就将控制至少包括数据和语音通信应用程序(诸如网络重建方案)的基本设备操作的预定组应用程序安装在移动设备202上。可以加载于移动设备202上的优选的应用程序可以是个人信息管理器(PIM)应用程序,具有识别和管理与用户相关的诸如但不局限于电子邮件、日历事件、语音信箱、约会、以及任务项之类的数据项。实际上,一个或多个存储器在移动设备202和SIM 256上可用,以促进对PIM数据项和其它信息的存储。
优选地,PIM应用程序具有通过无线网络发送和接收数据项的能力。在优选实施例中,通过无线网络,利用存储于和/或与主机计算机系统相关的移动设备用户相应的数据项来无缝地综合、同步、以及更新PIM数据项,从而在移动设备202上创建关于这些项目的镜像主机计算机。这在主机计算机系统是移动设备用户的办公计算机系统时尤其有利。还可以通过通信网络、辅助I/O子系统228、串口230、短距离通信子系统240、或者任何其它适合的子系统242,将附加应用程序加载于移动设备202上,以及由在RAM 226、或者优选地,在非易失性存储器(未示出)中的用户进行安装,用于微处理器238的执行。在应用程序安装中的这样的灵活性提高了移动设备202的功能,以及可以提供增强的设备上功能、通信相关功能、或二者兼有。例如,安全通信应用程序使得能够使用移动设备202来执行电子商务功能和其它这样的金融交易。
在数据通信模式中,诸如文本信息、电子邮件信息、或者网页下载之类的接收信号将由通信子系统211进行处理,并且输入微处理器238。优选地,微处理器238还将处理信号用于输出至显示器222,或者可选地,输出至I/O设备228。移动设备202的用户还可以例如使用结合显示器222以及可能地,结合辅助I/O设备228的键盘232,来编写诸如电子邮件消息之类的数据项。优选地,键盘232使完整的字母数字键盘和/或电话型小键盘。这些编写项目可以在通信网路上通过通信子系统211进行传输。
对于语音通信,除了接收信号将输出至扬声器234,以及传输信号将由麦克风236生成之外,移动设备202的所有操作实质上是类似的。也可以在移动设备202上执行诸如语音消息记录子系统之类的可选语音或音频I/O子系统。尽管优选地,主要通过扬声器234来完成语音或音频信号输出,但是如一些示例,显示器222也可以用于提供呼叫方识别、语音呼叫持续时间、或者其它语音呼叫相关信息的指示。
图2中的串行端口230通常在个人数字助理(PDA)型通信设备中实现,对于个人数字助理(PDA)型通信设备,虽然是可选的成分,但是期望与用户台式计算机的同步。串口230使用户能够通过外部设备或软件应用程序来设置性能,以及通过提供信息或软件下载至移动设备202、而不是通过无线通信网络,来拓展移动设备202的能力。例如,可选的下载路径可以通过直接的因而可靠、可信的连接,用来将加密密钥加载至移动设备202上,从而提供安全设备通信。
图2中的短距离通信子系统是附加可选组件,用于提供移动设备202与不同的系统或设备之间的通信,这些设备不必需要是相似的设备。例如,子系统240可以包括红外设备和相关电路及组件、或者BluetoothTM通信模块,来提供与支持同样的系统和设备的通信。BluetoothTM是Bluetooth SIG.Inc.的注册商标。
图3示出了与移动设备通信的示例系统结构。具体地,图3示出了可以使用的基于IP的无线数据网络的一个示例的基本组件。移动设备302(如图1和图2各自的移动设备102和202)与无线分组数据网络305进行通信,还能够与无线语音网络(未示出)进行通信。如图3所示,网关310可以与内部或外部地址解析组件315、以及一个或多个网络入口点320耦合。通过建立从网关310至移动设备302的无线网络隧道325,从网关310处,经过网络305来传输数据分组,其中,网关310是要发送至移动设备302的信息的源。为了创建这个无线隧道325,将唯一的网络地址与移动设备302相关联。然而,在基于IP的无线网络中,典型地,网络地址并不永久地分配给特定移动设备302,而是在按需的基础上进行动态地分配。因此,优选的是移动设备302来获得网络地址,以及网关310来确定该地址,以建立无线隧道325。
网络入口点320通常用于多个网关、联合服务器、以及诸如互联网之类的整体连接之间的多路复用和多路解复用。由于这些网络入口点320试图将外部可用无线网络服务集中化,所以通常这些网络入口点320比较少。网络入口点320通常使用协助网关与移动设备之间的地址分配和查询的地址解析组件315的某种形式。在本例中,地址解析组件315以动态主机配置协议(DHCP)示出,该协议作为提供地址解析机制的一种方法。
无线数据网络305的中心内部组件是网络路由器330。通常,网络路由器330归特定网络所有,但是可选地,从标准商业可用硬件中构建路由器330。网络路由器330的目的是将通常在相对较大的网络中实现的上千个固定收发台335集中至回到网络入口点320的长距离连接的中心位置。在一些网络中,可以有多级网络路由器330,其中有主和从网络路由器330,但是在所有这样的情况下,功能是类似的。通常,网络路由器330将访问域名服务器340,在此情况下示为用于互联网中的动态域名服务器(DNS)340,来查询路由数据消息的目标。如上所述,固定收发台335向诸如移动设备302之类的移动设备提供无线链路。
为了分配必要的存储器、路由、以及地址资源以发送IP分组,跨过无线网络305打开诸如无线隧道325之类的无线网络隧道。将这样的隧道325建立为称之为分组数据协议或“PDP环境”(即,数据会话)的一部分。为了打开无线隧道325,移动设备302必须使用与无线网络305相关的特定技术。打开这样的无线隧道325的步骤会需要移动设备302来指示域、或者指示想用来打开无线隧道325的网络入口点320。在本例中,隧道先到达使用域名服务器340来确定哪个网络入口点320与所提供的域相匹配的网络路由器330。为了备用,可以从一个移动设备302中打开多个无线隧道,或者在网络上访问不同的网关和服务。一旦发现域名,则隧道延伸至网络入口点320,并且在沿该路径的每个节点处分配必要的资源。然后,网络入口点320使用地址解析组件315来分配移动设备302的IP地址。当已将IP地址分配给移动设备302,以及传输至网关310时,能够将信息从网关310转发至移动设备302。
典型地,依据移动设备302的覆盖概况和活动性,无线隧道325具有有限寿命。为了为其他用户重新捕获由该无线隧道325所占用的资源,无线网络305将在静止或覆盖之外的特定时间段之后撤销无线隧道325。其主要原因是要收回在无线隧道325初次打开时为移动设备302临时存储的IP地址。一旦丢失IP地址、以及撤销无线隧道325,则网关310失去通过传输控制协议(TCP)或通过用户数据报协议(UDP),来发起至移动设备302的IP数据分组的所有能力。
参照图4A,示出了在无线数据网络(如,图3的无线网络305)中,通过连接410与网络服务器405连接的移动设备202的结构框图。网络服务器405是网络服务提供商。通常,网络服务是自含的、自描述的模块应用程序,能够通过万维网(“网络”)来配置(即,公开)、定位、以及调用。其它应用程序,包括其它网络服务,能够发现所配置的网络服务并进行调用。
基础网络服务平台可以基于可扩展标记语言(XML)以及超文本传输协议(HTTP)。XML提供了元语言,其中,可以书写专用语言来表达客户与服务之间、或者合成服务的组件之间的复杂的交互。典型地,网络服务器405将XML转换为中间件请求,并且将结果转换回XML。
使用多个其它平台服务来扩大该基础平台,以组成更具功能性的平台。全功能的网络平台还由三个附加元素组成:简单目标访问协议(SOAP),通用描述、发现和集成服务(UDDI)[未示出],以及网络服务描述语言(WSDL)。
SOAP是将传输数据的唯一方式定义为XML消息的协议规范。SOAP可以是同步的(如,远程过程调用)或者异步的(如,消息)。具体地,SOAP是可以在通过网络被发送之前用来对网络服务请求和响应消息中的信息进行编码的协议中的一个示例。
UDDI用于列出可用的网络服务,以及为客户提供动态地发现特定网络服务的机制。基于网络的分布式目录使网络服务公开者(使信息或服务共享的人)能够自我注册,以及对于客户或网络服务顾客(想获得信息或服务的人)来说,使得能够搜索这些注册。当发现适当的网络服务时,可以获取对该服务的描述。
WSDL是描述网络服务的方式。更具体地,WSDL为网络服务提供商提供了描述通过不同的协议或编码的网络服务请求基本格式的方式。WSDL是网络服务的XML描述,用于描述什么网络服务可以提供、该网络服务在哪、以及怎样调用该网络服务。
在本发明的一个实施例中,网络服务描述体现于WSDL文件中。WSDL文件包括使用网络服务所需的所有信息,包括网络服务器405所期望的消息格式、以及网络服务器405在网络上的位置。此外,能够将WSDL文件转换为将要调用网络服务的代码。
WSDL将服务定义为能够交换消息的网络通信端点或端口的集合。在WSDL中,端点和消息的抽象定义与它们具体的网络配置或数据格式绑定分离。这允许消息的抽象定义的重新使用,其中,消息是所交换数据的抽象描述;以及允许端口类型的重新使用,其中,端口类型是操作的抽象集合。特定端口类型的具体的协议和数据格式说明组成可重新使用的绑定。通过将网络地址与可重新使用的绑定相关联来定义端口,以及端口的集合定义了服务。因此,WSDL文档使用下列元素(这里也称为网络服务描述元素):
·类型:
使用某一类型系统(如,XML方案定义或XSD)的数据类型定义的容器(container);
·消息:
所通信的数据的抽象的类型定义;
·操作:
由服务所支持的动作的抽象描述;
·端口类型:
由一个或多个端点支持的一组抽象操作;
·绑定:
特定端口类型的具体的协议和数据格式规范;
·端口:
定义为绑定和网络地址的组合的单个端点;以及
·服务:
相关端点的集合。
尽管可以使用其它协议和消息格式来与网络服务(如,HTTPGET/POST,多用途网际邮件扩展或MIME)进行通信,但是在这里,将假设SOAP用作移动设备202与网络服务器405之间的通信的调用协议,来进一步对本发明的实施例进行描述。
诸如WSDL和SOAP之类的网络服务协议和格式最初并不是为特别地适于网络服务与移动设备之间的无线通信而设计。因此,可以以WSDL文件的形式为例的网络服务描述会相当冗长。为了保留带宽,以及更有效地支持移动设备上的网络服务,根据本发明的实施例,可以使用网络服务加速器。
参照图4B,示出了网络服务加速器415。网络服务加速器415与网络服务器405、以及与移动设备202进行通信。在本发明的一个实施例中,在服务器上提供网络服务加速器415,其中,该服务器用作在位于网络中的网络服务器405与移动设备202之间的网关(如,图3的网关310)。在本发明的不同实施例中,网络服务加速器415可以位于不同计算设备上或网络中的其它地方,例如,包括网络服务器405自身。
网络服务加速器415将一个或多个文件输出至移动设备202用于进一步处理。然后,由移动设备202使用这些文件来调用一个或多个所需网络服务。
参照图5,示出了在本发明的实施例中处理网络服务描述的方法的流程图,该方法使得网络服务描述适于与移动设备一起使用(如,图4B的移动设备202),通常示为500。
在本发明的该实施例中,网络服务加速器(如,图4B的网络服务加速器415)将来自网络服务器(如,图4B的网络服务器405)的标准网络服务协议转换为无线友好形式,其中,最小化了移动设备使用网络服务所需的信息。
例如,可以通过网络服务加速器,为移动设备来优化WSDL文件形式的网络服务描述,以及将WSDL文件形式的网络服务描述传输至移动设备用于后续使用。类似地,网络服务加速器可以适于将从移动设备接收的数据译为标准网络服务协议。由于网络服务加速器适于处理标准网络服务协议,所以可以使现有的网络服务适于与移动设备一起使用,以及不需要由网络服务提供商单独地提供一组定制的“无线”网络服务。
在步骤510处,例如,由网络服务加速器来接收与网络服务相关联的网络服务描述文件(即,此示例中的WSDL文件),网络服务加速器可能需要支持要在移动设备上执行的一个或多个应用程序。例如,可以从在UDDI注册上标记的位置来获得WSDL文件。其它注册方法也可以用于定位适当的WSDL文件,这些WSDL文件包括商家特定注册协议和可读的基于网站的系统。优选地,网络服务加速器位于与移动设备耦合的远程计算设备上,因而卸载处理所接收的来自移动设备的WSDL文件的任务。
在步骤512处,由网络服务加速器来开始对WSDL文件的解析,在这里,前向地解析WSDL文件中的符号引用,以创建加速器输出文件(即,本例中的最优WSDL文件),使得可以由移动设备单程处理或解析所有这些符号引用。由于标准WSDL具有许多符号引用,这些符号引用会需要控制存储器中完整的WSDL文件来进行解析,所以能够进行单程解析的最优WSDL文件的创建需要移动设备上的较少的资源和处理。例如,可以通过将WSDL文件中的元素表示为图示中的节点来促进步骤512,以及将节点重新排序为服务元素在根部的n阵列树数据结构。
在步骤514处,可以通过不将与移动设备不支持的传输协议相关联的WSDL文件中的元素包含于创建最优WSDL文件的过程中,来任意地“删除”这些元素。例如,如果移动设备将仅通过SOAP呼叫来调用网络服务,则将在创建最优WSDL文件的过程中删除与其它传输协议相关联的元素。这会导致更加紧凑的加速器输出文件,这些文件能够更加快速地传输至移动设备,并且只会需要较少的存储器来进行存储。
在步骤516处,在创建最优WSDL文件的过程中,可以任意地修改与WSDL文件中的元素相关的一个或多个名称。例如,可以重新命名元素以消除名称空间的使用,使得可以使用较短的名称。更一般地,可以使用较短名称来替换元素的较长名称。这会导致出现更加紧凑的加速器输出文件,这些文件能够更加快速地传输至移动设备,并且仅会需要较少的存储器来进行存储。可选地,可以使用诸如WAP二进制XML(WBXML)之类的二进制编码方案来减小文件大小。WBXML文件是XML文件的二进制象征化等同物。
在步骤518处,可以使由步骤510处接收的WSDL文件的网络服务加速器在步骤512至516的处理过程中创建的最优WSDL文件生效。在该步骤执行的错误控制和生效确保最优WSDL文件是有效的XML文件,继而能够由移动设备进行解析或处理。通过在有效的最优WSDL文件传输至移动设备之前执行该步骤,不需要由移动设备执行错误控制和生效(在这里可能不会有效地执行错误控制和生效)。
可选地,可以在解析之前(如在步骤512之前)使在步骤510处接收的WSDL文件生效,以避免处理无效的WSDL文件。
在步骤520处,通过网络连接将最优的(并有效的,如果可应用的话)WSDL文件传输至移动设备。
在步骤522处,由移动设备接收最优WSDL文件,并且通过识别文件中的元素,由移动设备对最优WSDL文件进行处理,其中,文件中的元素定义了网络服务的输入、网络服务的目标服务器(即,网络服务器)、以及输入格式。
在步骤524处,移动设备通过以特定格式将输入数据传输至网络服务来调用网络服务。可以通过在移动设备上执行的应用程序的用户界面,通过接收来自移动设备用户的输入数据来促进该步骤。
在步骤526处,移动设备响应调用,接收来自网络服务的输出数据。然后,移动设备可以通过在移动设备上执行的应用程序的用户界面,向移动设备的用户显示输出数据。
为了说明作为示例的本发明的实施例,考虑下列WSDL文件:
<?xml version="1.0"encoding="UTF-8"?>
<Desc/Clms Page number 19>
<wsdl:definitions
targetNamespace="http://rowen-websphere:8080/axis/Addjws"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://rowen-websphere:8080/axis/Add.jws"
xmlns:intf="http://rowen-websphere:8080/axis/Addjws"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:types/>
<wsdl:message name="addRequest">
<wsdl:part name="a"type="xsd:int"/>
<wsdl:part name="b"type="xsd:int"/>
</wsdl:message>
<wsdl:message name="addResponse">
<wsdl:part name="addReturn"type="xsd:int"/>
</wsdl:message>
<wsdl:portType name="Add">
<wsdl:operation name="add"parameterOrder="ab">
<wsdl:input message="impl:addRequest"name="addRequest"/>
<wsdl:output message="impl:addResponse"name="addResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AddSoapBinding"type="impl:Add">
<wsdlsoap:binding
style="rpc"transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="add">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="addRequest">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://rowen-websphere:8080/axis/Addjws"use="encoded"/>
</wsdl:input>
<wsdl:output name="addResponse">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://rowen-websphere:8080/axis/Add.jws"use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="AddService">
<wsdl:port binding="impl:AddSoapBinding"name="Add">
<wsdlsoap:address location="http://rowen-websphere:8080/axis/Addjws"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
在网络服务加速器处理根据本发明实施例的描述之后,可以将WSDL文件转换为下列最优WSDL文件,这些最优WSDL文件可以传输至移动设备用于进一步处理:
<?xml version="1.0"encoding="UTF-8"?>
<wsdl>
  <tp xmlns=""xmlns:soap="http:/schemas.xmlsoap.org/wsdl/soap/"/>
  <s xmlns=""xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
n="AddService"a="http://rowen-websphere:8080/axis/Addjws"
ns="http://rowen-websphere:8080/axis/Addjws"n="Add">
    <op n="add"x="">
      <i>
     <p n="a"t="xsd:int"/>
     <p n="b"t="xsd:int"/>
        </i>
        <o>
         <p n="addReturn"t="xsd:int"/>
        </o>
    </op>
   </s>
</wsdl>
参照图6,示出了在本发明的实施例中处理网络服务描述的方法的流程图,该方法使得网络服务描述适于与移动设备一起使用(如,图4B的移动设备202),通常示为600。
在本发明的该实施例中,网络服务加速器(如,图4B的网络服务加速器415)将来自网络服务器(如,图4B的网络服务器405)的标准网络服务协议转换为无线友好形式,其中,最小化了移动设备消费网络服务所需的信息。对照图5,网络服务加速器从网络服务描述中提取调用信息并进行保存。从移动设备中将与网络服务随后的调用相关联的信息发送至网络服务加速器,并且将该信息与要发送至网络服务的所保存的调用信息合并,作为有效的网络服务调用。将来自网络服务的结果返回网络服务加速器,网络服务加速器产生代表网络服务调用的结果的无线最优消息,用于传输至移动设备。
步骤610、612和614提供了分别与在图5描述中的步骤510、512和514相同的功能。
在步骤616处,从在步骤610处接收的网络服务描述中提取调用信息。这样的调用信息包括调用网络服务所需信息,例如,该信息可以包括网络服务的位置和调用方法。在网络服务加速器中保存该调用信息,并且该信息不包括在要发送至移动设备的最优WSDL文件的创建中。
步骤618、620和622提供了分别与在图5描述中的步骤516、518和520相同的功能。
在步骤624处,移动设备接收最优WSDL文件,并且移动设备通过识别定义了诸如网络服务的输入之类的网络服务调用所需参数的文件中的元素,来对该最优WSDL文件进行处理。
在步骤626处,移动设备聚集调用网络服务所需的操作参数,如在最优WSDL文件中所定义的。可以由通过在移动设备上执行的应用程序的用户界面来接收来自移动设备用户的数据,来促进该步骤。
在步骤628处,由移动设备将操作参数传输至网络服务加速器。
在步骤630处,将操作参数与保存在网络服务加速器中的调用信息(如,在步骤616处)合并,来生成用于网络服务调用的输入数据。
在步骤632处,网络服务加速器通过将输入数据传输至网络服务来调用网络服务。
在步骤634处,网络服务加速器响应调用,接收来自网络服务的输出数据,并将输出数据传输至移动设备。然后,移动设备可以通过在移动设备上执行的应用程序的用户界面,向移动设备的用户显示输出数据。从网络服务中接收的输出数据可以在发送至移动设备之前进行优化,以减少传输至移动设备的信息量。
参照图7,示出了在本发明另一实施例中处理网络服务描述的方法的流程图,该方法使得网络服务描述适于与移动设备一起使用(如,图4B的移动设备202),通常示为700。
在本发明的该实施例中,网络服务加速器(如,图4B的网络服务加速器415)通过生成移动设备本地语言的代码,来处理来自网络服务器(如,图4B的网络服务器405)的标准网络服务协议,从而消除了对附加解析程序的需要。
例如,WSDL文件形式的网络服务描述可以用于生成Java代码形式的可执行应用程序,随后可以在适于执行Java应用程序的移动设备上执行。因此,移动设备不需要适于理解标准网络服务协议,以及网络服务描述不需要传输至移动设备或由移动设备进行处理。由于网络服务加速器适于控制标准网络服务协议,可以使现有的网络服务适于与移动设备一起使用,以及不需要由网络服务提供商单独地提供一组定制的“无线”网络服务。
此外,在创建可执行应用程序的加速器输出文件的过程中,还可以对应用程序进行编程以生成要在移动设备上显示的用户界面。用户界面可以用于获得来自移动设备用户的输入数据,以促进网络服务调用。网络服务加速器可以适于通过用户界面,将从移动设备中接收的数据译为标准网络服务协议。来自网络服务的输出也可以通过用户界面显示给用户。
在步骤710处,与网络服务相关联的网络服务描述文件(即,在本例中的WSDL文件)由如对于图5的步骤50所描述的网络服务加速器所接收。
在步骤712处,网络服务加速器开始解析WSDL文件,在这里,确定了文件中所定义的所有操作。
在步骤714处,识别与网络服务的输入相关联的名称、类型和其它格式信息,用于步骤712处确定的每个操作。
在步骤716处,包括在调用网络服务时输入数据将被发送到的目标(如,网络服务器)在内的其它信息,以及由网络服务预期输出的格式,也从网络描述中进行识别。
在步骤718处,以应用程序的形式来促进网络服务的调用,基于方法700的先前步骤处获得的信息,生成Java编程语言中的指令。例如,可以对应用程序进行编程以在用户界面内显示入口字段,来提示用户调用网络服务所需的一个或多个输入。应用程序将接收来自移动设备用户的输入数据,并且检查输入数据来确认它们是如网络服务描述所定义的有效类型。也可以对应用程序进行编程来获得与移动设备状态或移动设别环境相关的信息。例如,可以获取设备的位置信息,并将该信息返回网络服务。当已收到所有必要的输入时,可以通过以特定格式将输入数据传输至目标网络服务器,对应用程序进行编程以自动地调用网络服务。
在步骤720处,还可以以Java编程语言来生成指令,以按照先前从网络服务描述中所识别的格式,接收来自网络服务的输出数据,并在用户界面中向用户显示输出数据。
在步骤722处,由Java编译器将在步骤718和720处产生的指令编译为Java字节码形式的加速器输出文件。可以将代码的生效结合在该编译步骤中。
在本发明的不同实施例中,在不需要生成指令以及随后对这些指令进行编译的情况下,可以直接生成Java字节码或者其它目标代码。
在步骤724处,将Java字节码形式的与网络服务相关联的应用程序传输至移动设备,然后可以通过执行Java字节码来对移动设备进行“处理”。
从移动设备用户的角度来看,由于对于程序员来说,不是必须在实现网络服务加速器时创建特定于所选网络服务的网络服务加速器,所以在没有请求定制“无线”版本的请求可用时,可以下载网络服务应用程序。因此,本发明在一些实施例中可以促进客户端编码的自动生成。
参照图8,示出了在本发明的实施例中自动生成代码的过程的逻辑流程图,其中,网络服务加速器适于作为代码生成器(例如,如参照图6所描述的)。在本发明实施例的示例实施方式中,该图示出了在由用户操作的浏览器800、网络服务目录802、网络服务804(由网络服务提供商提供)、以及网络服务加速器806之间的数据流动。
在810处,配备了浏览器800的移动设备的用户通过网络服务目录802,发现一个或多个网络服务。
在812处,将关于一个或多个网络服务的信息通过浏览器800返回用户。
在814处,用户可以使用通过浏览器800接收到的信息来选择特定的网络服务。
在816处,对来自网络服务提供商的WSDL文件形式的所选网络服务804的网络服务描述作出第一请求。
在818处,将与所选网络服务804相关联的WSDL文件返回网络服务加速器806。
在820处,网络服务加速器806将与所选网络服务相关联的Java应用程序描述符(jad)文件返回浏览器800。
在822处,提示用户决定是否下载与所选网络服务804相关联的Java应用程序。
在824处,用户接受下载,并由浏览器800请求可执行文件(如,以Java Archive(jar)格式)。
在826处,通过网络服务加速器806,对来自网络服务提供商的所选网络服务804的WSDL文件形式的网络服务描述作出第二请求,以确保网络服务加速器806所考虑的网络服务描述是当前的。
在828处,将与所选网络服务804相关联的WSDL文件返回网络服务加速器806。
在830处,由网络服务加速器806创建可执行的Java应用程序(如,参照图7的描述),并且通过浏览器800返回给用户。当下载完成时,向用户显示移动设备确认应用程序的接收。
在本发明的不同实施例中,可以将对网络服务的支持结合进移动设备的网络浏览器中。在这些实施例中,网络服务加速器可以适于产生用于支持特定网络服务的浏览器插件程序模块,而不是独立的单机应用程序。
尽管在本发明该实施例的一个示例实施方式中,加速器输出文件是可执行Java应用程序的形式,但是加速器输出文件可以基于不同的语言,或者可以是本发明其它实施方式中的不同形式。
尽管在参照图5和图7的示例描述的本发明的实施例中,移动设备直接调用网络服务,但是在本发明的不同实施例中,如参照图6的描述,移动设备可以通过将信息(操作参数)和/或请求传输至网络服务加速器来间接地调用网络服务。在网络服务加速器适于为移动设备调用网络服务时,由于移动设备将需要较少的信息来开始网络服务调用,所以由网络服务加速器创建和传输至移动设备的加速器输出文件甚至可以更加紧凑。
类似的,在本发明的不同实施例中,可以由网络服务加速器接收来自网络服务的输出,以及将该输出再次传输(如果需要,则进行修改)至移动设备,而不是直接由移动设备接收输出。此外,在本发明的不同实施例中,网络服务加速器可以适于为输出中的改变来监视一个或多个网络服务,并且将这样的改变“推”至移动设备。通过以这种方式使网络服务加速器适应,可以将同步的“拉”操作转换为异步的“推”操作。由于无线网络的特定典型特征(如,低带宽、间歇的连接),典型地,与同步应用程序比较,异步应用程序提供了改进的用户体验。当使用异步应用程序时,移动设备的用户可以访问本地存储在移动设备上的最新数据,同时防止这些数据受到网络等待时间和带宽限制的影响。如果需要,也可以将该特征作为用户定购来提供。
在本发明的不同实施例中,网络服务加速器也可以在与其它协议相关的文件或消息上执行处理。例如,可以由网络服务加速器作出UDDI查询(或者由其它目录或注册系统构成的查询),以及可以在将从UDDI注册中获得的信息传输至移动设备之前,由网络服务加速器处理该信息。
在本发明的不同实施例中,可以将用于执行本发明实施例中的处理网络服务描述的方法的步骤的指令存储在计算机可读介质上,例如,该介质可以包括物理的或传输类型的介质。
已对本发明的多个实施例进行了描述。然而,本领域技术人员将理解,在不偏离所附权利要求所限定的本发明的范围的情况下,可以作出其它变化和修改。

Claims (19)

1、一种处理网络服务描述的方法,使得所述网络服务器适于与移动设备(102、202、302)一起使用,所述网络服务描述包括多个网络服务描述元素,所述方法包括以下步骤:
接收网络服务描述,其中,所述网络服务描述定义了对网络服务的接口;
从所述网络服务描述中创建至少一个加速器输出文件,所述创建步骤包括至少一个优化步骤,在所述优化步骤中,针对所述移动设备优化所述网络服务描述,其中,所述至少一个加速器输出文件是适于由移动设备(102、202、302)处理的最优网络服务描述;以及
将所述至少一个加速器输出文件传输至所述移动设备,其中,所述至少一个加速器输出文件有助于所述移动设备调用所述网络服务;其中,所述至少一个优化步骤包括以下步骤:解决所述网络服务描述中的符号引用,使得所述至少一个加速器输出文件可由所述移动设备单程解析。
2、如权利要求1所述的方法,其中,所述多个网络服务描述元素的每个子集与所述移动设备(102、202、302)不支持的传输协议相关联,以及所述至少一个优化步骤还包括识别所述子集,以及从在所述创建步骤创建的所述至少一个加速器输出文件中排除出所述子集。
3、如权利要求1或2所述的方法,其中,所述至少一个优化步骤还包括修改与一个或多个网络服务描述元素相关联的一个或多个名称。
4、如权利要求1至3之一所述的方法,还包括通过识别网络服务描述元素,来处理所述至少一个加速器输出文件,所述网络服务描述元素定义了所述网络服务器的输入、目标、以及来自所述最优网络服务描述的所述输入的格式。
5、如权利要求4所述的方法,还包括通过将输入数据以所述格式传输至所述目标来调用所述网络服务,以及响应所述调用步骤从所述网络服务中接收输出数据。
6、如权利要求1至5之一所述的方法,其中,所述至少一个优化步骤还包括:从所述网络服务描述中提取调用信息,以及存储所述调用信息。
7、如权利要求1至6之一所述的方法,还包括通过识别定义了所述网络服务的输入的网络服务描述元素并根据所述输入获得操作参数,来处理所述至少一个加速器输出文件。
8、如当依据权利要求6时的权利要求7所述的方法,还包括通过将所述操作参数与所述调用信息合并来生成输入数据。
9、如权利要求8所述的方法,还包括:通过将所述输入数据传输至所述网络服务,以及响应所述调用步骤从所述网络服务中接收输出数据,来调用所述网络服务。
10、如权利要求1至9之一所述的方法,其中,所述至少一个加速器输出文件包括适于在所述移动设备(102、202、302)上执行的代码,用于获得用来调用所述网络服务的输入数据,以及利用所述输入数据来调用所述网络服务。
11、如权利要求1至10之一所述的方法,其中,所述创建步骤包括以下子步骤:
从所述网络服务描述中识别定义了所述网络服务的输入的网络服务描述元素;
产生第一指令,用于生成用户界面以提示用户所述网络服务的所述输入的一个或多个;
产生第二指令,用于获得与所述一个或多个输入相关联的输入数据;
识别定义了目标和所述网络服务的所述输入的格式的网络服务描述元素;以及
产生第三指令,用于通过以所述格式将所述输入数据传输至所述目标,来调用所述网络服务。
12、如权利要求11所述的方法,其中,所述创建步骤还包括以下子步骤:
识别网络服务描述元素,所述网络服务描述元素定义了响应所述网络服务的调用的来自所述网络服务的输出,以及来自所述网络服务描述的所述输出的格式;以及
产生第四指令,用于以所述格式从网络服务中接收输出数据。
13、如权利要求12所述的方法,其中,所述创建步骤还包括以下子步骤:
产生第五指令,用于将从所述网络服务中接收的输出数据输出至所述用户。
14、如权利要求10或当依据权利要求10时的权利要求11至13之一所述的方法,其中,所述创建步骤还包括将在所述创建步骤处产生的指令编译为所述代码。
15、如权利要求10或14所述的方法,还包括通过执行所述代码,处理所述至少一个加速器输出文件。
16、如权利要求1至15之一所述的方法,其中,所述解决步骤包括:
定义具有多个节点的图示,其中,所述每个节点代表所述网络服务描述的元素;以及
将所述多个节点重新排序为具有根节点的树形数据结构。
17、如权利要求16所述的方法,其中,所述根节点代表所述网络服务描述的服务元素。
18、一种网络服务加速器(415),其中,所述网络服务加速器位于网络(305)中的计算设备上,在网络(305)中所述计算设备与移动设备(102、202、302)耦合,以及对所述网络服务加速器进行编程,以执行如权利要求1至17中的任何一个所述的处理网络服务描述的方法的步骤。
19、一种计算机可读介质,包含用于权利要求18的网络服务加速器的一组软件组件,所述软件组件包含指令,用于执行如权利要求1至17中的任何一个所述的处理网络服务描述的方法中的步骤。
CNB2005800122370A 2004-02-26 2005-02-25 处理网络服务描述的装置和方法 Active CN100511226C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04251098.2 2004-02-26
EP04251098A EP1569136B1 (en) 2004-02-26 2004-02-26 An apparatus and method for processing web service descriptions

Publications (2)

Publication Number Publication Date
CN1947116A true CN1947116A (zh) 2007-04-11
CN100511226C CN100511226C (zh) 2009-07-08

Family

ID=34746103

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800122370A Active CN100511226C (zh) 2004-02-26 2005-02-25 处理网络服务描述的装置和方法

Country Status (7)

Country Link
EP (1) EP1569136B1 (zh)
CN (1) CN100511226C (zh)
AT (1) ATE408195T1 (zh)
CA (1) CA2498377C (zh)
DE (1) DE602004016454D1 (zh)
HK (1) HK1081299A1 (zh)
WO (1) WO2005083590A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951402A (zh) * 2010-09-17 2011-01-19 山东中创软件工程股份有限公司 一种Web Service可用性跟踪检测方法、装置及系统
CN101523864B (zh) * 2007-06-29 2012-08-08 捷讯研究有限公司 用于访问应用服务器提供的特征的系统和方法
CN101431525B (zh) * 2007-11-06 2012-08-29 北京傲游天下科技有限公司 网络内容加载的加速方法、系统及其服务器和终端
US8291098B2 (en) 2004-02-26 2012-10-16 Research In Motion Limited Apparatus and method for processing web service descriptions
CN103686852A (zh) * 2012-09-07 2014-03-26 中国移动通信集团贵州有限公司 一种对交互数据进行处理的方法、设备及无线加速系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631017B2 (en) * 2005-12-08 2009-12-08 Motorola, Inc. Method and system for maintaining current data for wireless devices

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254614B2 (en) * 2001-11-20 2007-08-07 Nokia Corporation Web services push gateway

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291098B2 (en) 2004-02-26 2012-10-16 Research In Motion Limited Apparatus and method for processing web service descriptions
CN101523864B (zh) * 2007-06-29 2012-08-08 捷讯研究有限公司 用于访问应用服务器提供的特征的系统和方法
CN101431525B (zh) * 2007-11-06 2012-08-29 北京傲游天下科技有限公司 网络内容加载的加速方法、系统及其服务器和终端
CN101951402A (zh) * 2010-09-17 2011-01-19 山东中创软件工程股份有限公司 一种Web Service可用性跟踪检测方法、装置及系统
CN101951402B (zh) * 2010-09-17 2013-02-20 山东中创软件工程股份有限公司 一种Web Service可用性跟踪检测方法、装置及系统
CN103686852A (zh) * 2012-09-07 2014-03-26 中国移动通信集团贵州有限公司 一种对交互数据进行处理的方法、设备及无线加速系统
CN103686852B (zh) * 2012-09-07 2016-12-21 中国移动通信集团贵州有限公司 一种对交互数据进行处理的方法、设备及无线加速系统

Also Published As

Publication number Publication date
ATE408195T1 (de) 2008-09-15
DE602004016454D1 (de) 2008-10-23
HK1081299A1 (en) 2006-05-12
CA2498377A1 (en) 2005-08-26
WO2005083590A1 (en) 2005-09-09
CN100511226C (zh) 2009-07-08
EP1569136A1 (en) 2005-08-31
CA2498377C (en) 2011-09-27
EP1569136B1 (en) 2008-09-10

Similar Documents

Publication Publication Date Title
US7596622B2 (en) Apparatus and method for processing web service descriptions
CN100352241C (zh) 用于定制业务调用中的行为和接口的系统
CN100336018C (zh) 用于对应用启动进行管理的便携式终端和方法
US7711362B2 (en) System and method for personal identification number messaging
CN1695139A (zh) 用于定义对象以允许为移动通信设备建立设备管理树的方法和设备
EP0954147A2 (en) Centralized service management system for two-way interactive communication devices in data networks
CN1386385A (zh) 在具体使用gsm标准的移动电话网络上处理和发送数字数据的方法和嵌入式微芯片系统
CN1947116A (zh) 处理网络服务描述的装置和方法
CN1812383A (zh) 供应组件应用程序的系统和方法
CN101052167A (zh) 一种通信号码自动更新系统及其实现方法
CN1765105A (zh) 具有修改设施的协议栈
CN1947404B (zh) 聚合网络服务的装置和方法
CN1598851A (zh) Oma设备管理扩充管理移动设备配置设定的系统和方法
CN1343055A (zh) 使用sms和ussd的网络开发与调度
CN101036174A (zh) 使用基于核心的节点进行状态传输的增强技术
CN101068262A (zh) 动态联合内容传送系统和方法
CN1567815A (zh) 信息提供方法、服务器、程序、和存储介质
CN1802826A (zh) 用于在基于mms的通信系统中传输消息的方法
CN1968115A (zh) 用于分布网络服务分发和部署的利用在线服务系统和方法
CN1675910A (zh) 具有禁止与特定网站进行连接的功能的通信终端及其程序
CN103270807A (zh) 针对ip多媒体子系统的卡工具箱支持
CN1136666C (zh) 移动体通信终端装置
CN1846410A (zh) 通过采用释放消息或者状态请求和响应来更新及管理同步标识符的方法
CN101040543A (zh) 发送应用特定的登记或撤销登记数据的方法和系统、服务器和通信终端
CN1812382A (zh) 管理组件应用程序的通信的系统和方法

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
CP03 Change of name, title or address

Address after: Ontario, Canada

Patentee after: BlackBerry Ltd.

Country or region after: Canada

Address before: Ontario, Canada

Patentee before: RESEARCH IN MOTION Ltd.

Country or region before: Canada

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20240527

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right