CN101176300A - 根据网络服务定义生成无线应用的系统及方法 - Google Patents
根据网络服务定义生成无线应用的系统及方法 Download PDFInfo
- Publication number
- CN101176300A CN101176300A CNA2005800497899A CN200580049789A CN101176300A CN 101176300 A CN101176300 A CN 101176300A CN A2005800497899 A CNA2005800497899 A CN A2005800497899A CN 200580049789 A CN200580049789 A CN 200580049789A CN 101176300 A CN101176300 A CN 101176300A
- Authority
- CN
- China
- Prior art keywords
- type
- data
- field
- message
- create
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- 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
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/58—Message adaptation for wireless communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
Abstract
本发明公开了一种根据网络服务定义语言创建无线应用的系统及方法,使用了分析网络服务定义的每个消息并将该消息映射到无线应用消息和无线应用数据结构的算法。无线网络边界处的代理服务器使用消息映射以将网络服务消息转换为无线消息,以及将无线消息转换为网络服务消息。
Description
技术领域
本发明总体上涉及无线通信应用和无线通信设备,具体涉及一种根据网络服务定义生成无线应用的装置及方法。
背景技术
无线设备被公认为优选的个人通信媒介,导致了对这种设备的日益增长的需求。这种设备的用户还越来越希望通过这种设备可以使用更多的功能和更广的服务范围。这种对更多功能的需求需要开发针对无线设备的新应用。
无线设备的信息的重要来源是万维网。众所周知,支持网络的设备可以使用许多万维网服务(在下文中简称为“网络服务”)。
图1是现有技术的网络的框图,其中,无线设备用户10a、10b操作无线设备,经由公共域承载网络(carrier)12向应用网关14发送网络服务请求消息。应用网关14通过因特网16将网络服务请求消息转发至相应的网络服务18a、18b。相应的网络服务18a、18b处理该消息,并通过因特网16向应用网关14返回消息。公共域承载网络12将响应消息转发至用户10a、10b所操作的无线设备,该无线设备处理该响应并向无线设备用户10a、10b显示响应内容。
但是,网络服务一般使用复杂数据结构和复杂消息格式。复杂数据结构和复杂消息格式引入了无线设备上很大的存储器开销。这影响了无线设备的性能,使得有必要开发用于提供对网络服务的有效访问的无线应用。
众所周知,熟练的应用开发者可以开发用于从无线设备访问网络服务的无线应用。此外,已知这种应用的开发耗时且花费巨大。
因此,需要一种根据网络服务定义生成无线应用的系统和方法。
发明内容
因此,本发明的目的是提供一种根据网络服务定义生成无线应用的系统和方法。
根据本发明的第一方面,提供了一种根据网络服务定义生成无线应用的方法,包括接受网络服务消息作为输入,并确定每个网络服务消息是输入还是输出消息,其特征在于:为每个网络服务消息创建消息对象和组件映射对象,将组件映射对象链接至消息对象和网络服务消息,并将网络服务消息的消息部分映射到无线应用的消息部分。
根据本发明的另一方面,提供了一种根据网络服务定义生成无线应用的系统,包括应用开发者工作站,所述应用开发者工作站包括计算机可执行代码,所述计算机可执行代码用于接受网络服务消息作为输入、确定每个网络服务消息是输入还是输出消息,其特征在于:计算机可执行代码用于为每个网络服务消息创建消息对象和组件映射对象、将组件映射对象链接至消息对象和网络服务消息、以及将网络服务消息的消息部分映射到无线应用的消息部分。
根据本发明的又一方面,提供了一种可销售的产品,包括存储有计算机可执行代码的计算机可读存储器,所述计算机可执行代码用于执行根据本发明的所有方法。
附图说明
根据下文的详细描述并结合附图,本发明的更多特征和优点将更显而易见,其中:
图1是现有技术的无线网络系统的框图;
图2是示出了创建和启用根据本发明的系统的过程的示意图;
图3是根据本发明的代理服务器的框图;
图4是根据本发明的无线设备的框图;
图5是根据本发明的系统中的无线设备与远程服务之间的消息传递的高级概图;
图6是用于根据网络服务定义生成无线应用的根据本发明的算法的主线的流程图;
图7是图6所示的算法的mapPart函数的流程图;
图8是图7所示的算法的handleElementDeclaration函数的流程图;
图9是图8所示的算法的handleTypeDefinition函数的流程图;
图10是图9所示的算法的handleSimpleTypeDefinition函数的流程图;
图11是图10所示的算法的computeSimpleDataType函数的流程图;
图12是图10所示的算法的mapEnumeration函数的流程图;
图13是图11所示的算法的computeAtomicType函数的流程图;
图14是图9所示的算法的mapDataComponent函数的流程图;
图15a是图14所示的算法的handleComplexTypeDefinition函数的流程图;
图15b是图15a所示的流程图的继续;
图16是图15b所示的算法的handleAttributeDeclaration函数的流程图;
图17是图15b所示的算法的handleAnyAttribute函数的流程图;
图18是图15b所示的算法的handleSimpleContent函数的流程图;
图19是图15a所示的算法的handleParticle函数的流程图;以及
图20是图19所示的算法的handleModelGroup函数的流程图,
注意在附图中始终通过相似的附图标记标识相似的特征。
具体实施方式
本发明提供了一种根据网络服务定义生成无线应用的系统及方法。该系统执行程序代码,该程序代码体现了接收网络服务操作定义、并检查输入和输出消息和该消息中使用的数据结构以生成无线应用中对应的消息和数据定义的算法。此外,该算法输出使每个无线消息与网络服务消息关联、以及使每个无线数据定义与网络服务数据定义关联的映射。位于无线设备与网络服务之间的通信路径中的代理服务器使用该映射,将网络服务消息转换为无线设备上运行的应用所使用的格式,反之亦然。
系统综述
图2是示出了创建和启用根据本发明的系统的过程的示意图。
图1所示的由无线设备的用户10a、10b所访问的远程服务(例如网络服务20)使用复杂消息结构以将信息传递给访问远程服务的用户。同样,网络服务20使用复杂数据结构用于数据存储和数据取回(retrieval)。无线应用开发者22使用网络服务20的规范和应用开发者工具包以创建无线设备应用24和消息映射26,以启用根据本发明的系统。根据针对网络服务20的规范而创建具有消息格式和无线数据结构的无线设备应用24。下文将参照图7-19进行说明,使用根据网络服务定义而生成无线应用的算法来创建无线数据结构。该过程包括将网络服务消息映射到无线消息和数据结构。然后,应用开发者22可以使用用于简化消息和数据结构的自动或半自动的算法,以改进无线设备效率和减少无线带宽使用。
无线网络边界处的代理服务器使用消息映射26,以将复杂服务消息转换为无线消息,然后将无线消息无线地发送至无线设备用户10a、10b。下文将参照图3和5说明,在本发明的一个实施例中,应用数据映射26的代理服务器是应用网关。
图3是根据本发明的代理服务器40的框图。代理服务器40位于无线设备10a、10b和远程服务(例如万维网服务18a、18b)之间的通信路径中。在本发明的一个实施例中,代理服务器40是应用网关,在下文中称之为应用网关40。
应用网关40支持具有面向无线网络的链路42的无线网络接口46。消息转换功能48接收来自无线网络接口46的消息并处理该消息,然后将该消息转发至服务网络接口50。服务网络接口50具有面向服务网络44(例如因特网)的链路,通过该链路将消息转发至相应的网络服务。根据本发明,向应用网关40提供多个消息映射52、54。下文将参照图5详细说明,无线应用开发者22使用根据本发明的算法创建消息映射52、54,消息转换功能48使用消息映射52、54以处理服务请求和服务响应消息。应用开发者22为每个网络服务18a、18b所使用的每个消息类型创建一个消息映射52、54。
图4是根据本发明的无线设备56的框图。无线设备56包括本领域众所周知的网络连接接口58,使用无线设备56以与公共域承载网络12进行无线通信。无线设备56还包括用户接口60,用户接口60可以是小键盘、触摸屏(touch sensitive screen)、语音识别软件或用于无线设备的任何其它的用户接口。设备基础架构62包括存储器、处理器、外围端口、小键盘、显示器和支持无线设备56的功能所需的其它硬件组件。运行时环境(runtime environment)66支持存储对应的应用数据的多个数据结构68a、68n。
操作综述
图5提供了使用根据本发明的无线应用的无线消息传递的概图。在步骤70中,当用户10a希望从网络服务18a请求服务时,无线设备的用户10a以无线格式制定(formulate)服务请求消息。将服务请求消息转发(步骤72)至应用网关40,应用网关40在步骤74中执行服务请求消息映射,以将服务请求消息从无线格式转换为网络服务18a所需的网络服务请求消息格式。应用网关40将网络服务请求消息转发至网络服务18a(步骤76),网络服务18a接收网络服务请求消息并以本领域周知的方式处理该消息(步骤78)。然后,网络服务18a制定并返回网络服务响应消息(步骤80)。应用网关40接收网络服务响应消息,使网络服务响应消息与先前发送的网络服务请求消息关联,并在步骤82中执行网络服务响应消息映射,以将网络服务响应消息转换为具有无线设备10a所使用的无线格式的响应消息。在步骤84中,应用网关40将具有无线格式的响应消息转发至无线设备10a。无线设备10a接收服务响应消息,并在步骤86中执行服务响应消息处理。取决于在步骤86中处理的服务响应消息的内容,在步骤88中,无线设备10a可以向用户生成信息的显示。
使用网络服务定义的应用生成
图6是通过计算机可执行代码体现的根据本发明的算法的主线的流程图,用于根据网络服务定义生成无线应用。例如,图6所示的算法是应用开发者工具包22的一部分(图2)。该算法接受复杂网络服务消息作为输入,并输出无线服务消息和消息映射,允许使用该无线服务消息和消息映射重建复杂网络服务消息。
如图6所示,根据本发明的算法接受网络服务定义所定义的消息,并在步骤100中确定网络服务定义所指定的消息是输入消息还是输出消息。如果所选择的消息是输入消息,则创建输入消息对象(步骤102)。然后,该算法在步骤104中创建componentMapping对象,并将该componentMapping对象链接至消息对象和网络服务定义语言(WSDL)消息(步骤109)。
如果在步骤100中确定该消息是输出消息,该算法创建输出消息对象(步骤106)。然后,该算法创建componentMapping对象(步骤108)并将该componentMapping对象链接至消息对象和WSDL消息(步骤109)。然后,该算法选择第一消息部分(步骤110)并调用名为mapPart的算法函数(步骤112)。本领域的技术人员将理解,该算法将消息部分信息传递至mapPart函数。当所调用的mapPart函数将控制返回给图6所示的主线时,确定是否存在另一消息部分(步骤114)。如果是,该算法调用函数mapPart(步骤112)。否则,在步骤116中该算法确定在网络服务定义中是否存在另一消息。如果是,该算法返回至步骤100。否则,完成该应用生成并且该算法终止执行。
图7是示出了名为mapPart的算法函数的流程图。当在步骤112中调用mapPart时,该算法分支转移(branch)至步骤120并在步骤122中产生消息字段对象。随后,在步骤124中创建fieldMapping对象。然后将fieldMapping对象链接至消息字段对象和WSDL部分(步骤125)。然后,在步骤128中确定被传递至该函数的消息部分是否是元素(element)。如果该消息部分是元素,则调用handleElementDeclaration(步骤132)。否则,调用handleTypeDefinition(步骤130)。
图8是示出了算法函数handleElementDeclaration(140)的流程图。在步骤142中,该算法确定元素类型。然后该算法调用算法函数handleTypeDefinition(步骤144),将类型定义信息传递至算法函数handleTypeDefinition,并返回图7中的步骤132。
图9是示出了从图7的步骤130分支转移至的算法函数handleTypeDefinition(步骤150)的流程图。在步骤152中,确定类型数据组件是否是简单类型。如果是,则该算法调用函数handleSimpleTypeDefinition(步骤154),将简单类型定义传递至函数handleSimpleTypeDefinition。如果不是,则该算法调用函数mapDataComponent(步骤156),将数据组件定义传递至函数mapDataComponent。然后该算法返回图7中的步骤130。
图10是示出了图9的步骤154中调用的函数handleSimpleTypeDefinition(160)的流程图。在步骤162中确定该简单数据类型是否是枚举。如果是,该算法调用函数mapEnumeration(步骤164),将枚举定义传递至函数mapEnumeration。如果不是,该算法调用函数computeSimpleDataType(步骤166),将该简单数据类型定义传递至函数computeSimpleDataType。在任一情况下,该算法然后返回至图9所示的步骤154。
图11是示出了图10的步骤166中调用的函数computeSimpleDataType(170)的流程图。在步骤172中,确定简单数据类型是否是原子(atomic)。如果是,该算法调用函数computeAtomicType(步骤174),将原子类型定义传递至函数computeAtomicType。如果该简单数据类型不是原子,则在步骤176中确定该简单数据类型是否是列表。如果是,将字段数组特性设置为“真”(步骤178)并且算法随新参数分支转移回到(步骤180)步骤170。如果简单数据类型既不是原子也不是列表,该类型是根据本发明的无线应用所不支持的联合(union)。因此,丢弃该字段对象和该字段映射对象(步骤182),并且算法返回至图10所示的步骤166。
图12是示出了图10所示的步骤164中所调用的算法函数mapEnumeration(190)的流程图。在步骤192中创建枚举对象。然后,创建enumerationMapping对象(步骤194),并将enumerationMapping对象链接至枚举对象和简单类型定义(步骤195)。然后为每个枚举值创建并映射枚举文字对象(步骤196)。然后算法返回至图10所示的步骤164。
图13是示出了图11所示的步骤174中调用的computeAtomicType(200)的流程图。在步骤202中,以本领域周知的方式使用转换表来确定对应的数据类型。然后,基于数据类型对该字段进行更新(步骤204),且该算法返回至图11所示的步骤174。
图14是示出了图9所示的步骤156中调用的mapDataComponent(210)的流程图。在步骤212中,该算法创建数据对象,然后创建componentMapping对象(步骤214)。然后该算法将componentMapping对象链接至数据对象和复杂类型定义(步骤215)。然后,该算法在步骤216中调用handleComplexTypeDefinition,并返回至图7所示的步骤156。
图15a和15b示出了从图14所示的步骤216调用的算法函数handleComplexTypeDefinition(220)。在步骤222中,该算法确定复杂数据类型是否具有基本类型。如果是,该算法首先基于该基本类型调用图14所示的函数mapDataComponent(步骤224)。然后该算法将数据对象设为当前复杂类型的原型(步骤226),并在步骤228中以本领域周知的方式确定当前复杂类型的类别(category)。在步骤230中,确定该类别是否是空类型。如果是,该算法分支转移至图15b中所示的步骤256。如果不是,则确定该类别是否是简单类型(步骤232)。如果是,该算法调用函数handleSimpleContent(步骤234)并分支转移至图15b所示的步骤256。如果不是简单类型,该算法确定该类别是否是混合类型(步骤236)。如果是,则丢弃该数据对象和componentMapping对象,且该算法返回至图14所示的步骤216。如果该类别不是混合类型,则该算法确定该类别是否是Element_Only类型(步骤238)。如果是,该算法调用handleParticle(步骤240)并分支转移至图15b中的步骤256。如果不是,该算法选择第一属性(步骤242)并在步骤244中确定该属性是否是固定约束。如果是,在步骤250中确定是否存在另一属性并且该过程分支转移回到步骤244。如果该属性不是固定约束,在步骤246中确定该属性是否是禁止使用。如果是,在步骤250中确定是否存在另一属性且该过程分支转移回到步骤244。如果不是,在步骤248中调用handleAttributeDeclaration并且该过程分支转移至步骤250。在步骤252中确定该复杂类型是否具有“任何属性(AnyAttribute)”类型。如果是,调用函数handleAnyAttribute(步骤254)并将该复杂类型定义传递至该函数。如果不是,在步骤256中确定在该数据对象中是否存在任何字段。如果在该数据对象中存在字段,则该算法返回至图14所示的步骤216。如果在该数据对象中不存在字段,则该算法丢弃该数据对象和componentMapping对象(步骤258),并返回至图14所示的步骤26。
图16是示出了从图15b的步骤248调用的名为handleAttributeDeclaration的算法部分(260)的流程图。在步骤262中,该算法创建数据字段对象,在步骤264中,该算法创建fieldMapping对象。然后,该算法将fieldMapping对象链接至数据字段对象和属性声明(步骤265),并调用图10所示的handleSimpleTypeDefinition(步骤266)。然后,该算法返回至图15b的步骤248。
图17是从图15b的步骤254调用的算法函数部分handleAnyAttibute(270)的流程图。在步骤272中,该算法创建数据字段对象,并在步骤274中创建fieldMapping对象。然后,该算法将fieldMapping对象链接至数据字段对象和anyAttribute(步骤275),并将数据字段类型设为“字符串”(步骤276)。然后,该算法返回至图15b中的步骤254。
图18是根据本发明的名为handleSimpleContent的算法函数(278)的流程图。在步骤279中,该算法创建数据字段对象,并在步骤280中创建fieldMapping对象,然后确定内容类型(步骤281)。然后,该算法调用函数handleSimpleTypeDefinition(步骤282),并将内容类型定义传递至函数handleSimpleTypeDefinition。
图19是从图15a的步骤240调用的算法函数handleParticle(300)的流程图。在步骤302中,该算法确定该粒子(particle)是否是元素声明。如果不是,该算法确定该粒子是否是“任何”类型(步骤304)。如果不是元素声明或“任何”类型,(步骤306)该粒子是模型组。如果该粒子是模型组,则该算法调用handleModelGroup(步骤308)。
如果在步骤302中确定该粒子是元素声明,该算法创建数据字段对象(步骤31)并创建fieldMapping对象(步骤312)。然后,该算法将fieldMapping对象链接至数据字段对象和元素声明(步骤318)。然后确定最大取值是否大于一(步骤320),如果是,将字段数组特性设置为“真”(步骤328)并返回图15a中的步骤240。
否则,如果确定该粒子为“任何”类型(步骤304),该算法创建数据字段对象(步骤314),创建字段映射对象(步骤315),并且该算法将fieldMapping对象链接至数据字段对象和“任何”类型(步骤316)。然后,该算法将字段类型设为“字符串”(步骤326),并确定最大取值是否大于一(步骤330)。如果不是,该算法返回图15a中的步骤240。否则,该算法将字段数组特性设置为“真”(步骤332)。然后,该算法返回图15a中的步骤240。
图20是示出了从图18的步骤308调用的handleModleGroup(283)的流程图。在步骤284中,该算法选择模型组中的第一粒子。然后该算法调用(步骤285)图19中所示的handleParticle(300)。然后,该算法在步骤286中确定该模型组中是否存在另一粒子。如果是,该算法再次调用handleParticle(步骤285),并且在模型组中所有粒子得到处理之前反复进行该过程。然后,该算法返回图19中的步骤308,随后返回图15a中的步骤240。
本领域的技术人员将理解,上述算法根据网络服务定义创建无线设备应用。本领域的技术人员还将理解,无线设备资源和可用于无线通信的数据传输带宽是有限的。因此,优选地,通过使复杂数据结构扁平化(flatten)以及使用申请人的与无线消息和数据简化相关的共同未决(co-pending)专利申请中描述的减少字段大小和消息复杂度的其它方法,上文参照图6-19所描述的算法所创建的数据结构和消息得以简化。
本领域的技术人员还将理解,上文所述的算法仅表示可以使用网络服务定义来生成无线应用的一种方式。因此,上文参照图6-19所描述的算法仅表示为示意性的。因此本发明的范围仅由所附的权利要求所限定。
Claims (20)
1.一种根据网络服务定义生成无线应用的方法,包括接受网络服务消息作为输入,并确定每个网络服务消息是输入还是输出消息,其特征在于:
为每个网络服务消息创建消息对象和组件映射对象,将组件映射对象链接至消息对象和网络服务消息,并将网络服务消息的消息部分映射到无线应用的消息部分。
2.根据权利要求1所述的方法,其中,映射消息部分的步骤包括:创建消息字段对象、创建字段映射对象以及将字段映射对象链接至消息字段对象和网络服务消息部分。
3.根据权利要求2所述的方法,还包括:
选择消息部分;
确定所述消息部分是否是元素声明;
如果所述消息部分是元素声明,则确定所述元素类型;以及确定所述消息部分是简单数据类型、枚举还是复杂类型。
4.根据权利要求3所述的方法,其中,如果消息部分是简单数据类型,则所述方法还包括确定所述简单数据类型是原子类型、列表还是联合。
5.根据权利要求4所述的方法,其中,如果简单数据类型是原子类型,则所述方法包括:使用转换表来确定对应的数据类型,并基于该数据类型更新消息字段对象。
6.根据权利要求4所述的方法,其中,如果简单数据类型是枚举,则所述方法还包括:
创建枚举对象;
创建枚举映射对象;
将枚举映射对象链接至枚举对象和简单数据类型定义;以及为每个枚举类型创建枚举文字对象并映射所述枚举文字对象。
7.根据权利要求3所述的方法,其中,如果消息部分是复杂类型,则所述方法还包括:
创建数据对象;
创建组件映射对象;
将组件映射对象链接至数据对象和复杂类型定义;以及
确定复杂类型是否具有基本类型。
8.根据权利要求7所述的方法,其中,如果复杂类型具有基本类型,则所述方法还包括:
创建数据对象;
创建组件映射对象;
将组件映射对象链接至数据对象和复杂类型定义;
将数据对象设置为当前复杂类型的原型;以及
确定复杂类型的类别。
9.根据权利要求8所述的方法,还包括:
确定所述类别是否是空、简单、混合或element_only之一;
如果所述类别是空、简单或仅元素之一,确定数据对象中是否存在任何字段;以及
如果数据对象中不存在任何字段,则丢弃数据对象和组件映射对象。
10.根据权利要求9所述的方法,其中,如果所述类别是混合,则所述方法包括丢弃数据对象和组件映射对象。
11.根据权利要求9所述的方法,其中,如果所述类别不是空、简单、混合或element_only之一,所述方法还包括:
选择所述复杂类型的属性;以及
确定所述属性是否是固定约束和禁止使用之一。
12.根据权利要求11所述的方法,其中,如果所述属性不是固定约束或禁止使用,则所述方法还包括:
创建数据字段对象;
创建字段映射对象;
将字段映射对象链接至数据字段对象和属性声明;以及
确定属性声明是枚举还是简单数据类型。
13.根据权利要求9所述的方法,其中,如果所述复杂类型具有“任何”属性,则所述方法还包括:
创建数据字段对象;
创建字段映射对象;
将字段映射对象链接至数据字段对象和“任何属性”;
将数据字段类型设为“字符串”;
确定数据对象中是否存在任何字段;以及
如果数据对象不包含字段,则丢弃该数据对象和组件映射对象。
14.根据权利要求9所述的方法,其中,如果类别类型是简单,则所述方法还包括:
创建数据字段对象;
创建字段映射对象;
确定简单类别的内容类型;以及
确定所述内容是枚举还是简单数据类型。
15.根据权利要求9所述的方法,其中,如果类别类型是element_only,则所述方法还包括:确定类别的粒子是元素声明、“任何”类型还是模型组。
16.根据权利要求15所述的方法,其中,如果所述粒子是元素声明或“任何”类型,则所述方法还包括:
创建数据字段对象;
创建字段映射对象;
将字段映射对象链接至数据字段对象和“任何”类型;
将日期字段类型设为“字符串”;
确定所述粒子的最大取值;以及
如果所述最大取值大于一,则将字段数组特性设为“真”。
17.根据权利要求16所述的方法,其中,如果所述粒子是模型组,则所述方法还包括:
针对模型组中的每个粒子:
创建数据字段对象;
创建字段映射对象;
将字段映射对象链接至数据字段对象以及元素声明和“任何”类型之一;
确定所述粒子的最大取值;
如果所述最大取值大于一,将字段数组特性设为“真”;以及
如果类别类型是“任何”,将日期字段类型设为“字符串”。
18.根据权利要求17所述的方法,其中,如果最大取值是1并且所述粒子是元素声明,则所述方法还包括:确定所述粒子是否是简单类型。
19.一种根据网络服务定义生成无线应用的系统,包括应用开发者工作站,所述应用开发者工作站包括计算机可执行代码,所述计算机可执行代码用于接受网络服务消息作为输入、确定每个网络服务消息是输入还是输出消息,其特征在于:
计算机可执行代码用于为每个网络服务消息创建消息对象和组件映射对象、将组件映射对象链接至消息对象和网络服务消息、以及将网络服务消息的消息部分映射到无线应用的消息部分。
20.一种可销售的产品,包括存储有计算机可执行代码的计算机可读存储器,所述计算机可执行代码用于执行权利要求1-18中任意一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67201305P | 2005-04-18 | 2005-04-18 | |
US60/672,013 | 2005-04-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101176300A true CN101176300A (zh) | 2008-05-07 |
Family
ID=37114650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800497899A Pending CN101176300A (zh) | 2005-04-18 | 2005-09-09 | 根据网络服务定义生成无线应用的系统及方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7769897B2 (zh) |
EP (1) | EP1872521A4 (zh) |
CN (1) | CN101176300A (zh) |
CA (1) | CA2604489C (zh) |
WO (1) | WO2006110980A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683870A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 用于枚举数据访问的方法和装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030054806A1 (en) * | 2001-08-15 | 2003-03-20 | Raymond Ho | System and method for defining, creating and deploying wireless applications |
CA2527447C (en) * | 2005-11-18 | 2015-05-05 | Allen Vi Cuong Chan | Message oriented construction of web services |
US8275834B2 (en) * | 2009-09-14 | 2012-09-25 | Applied Research Associates, Inc. | Multi-modal, geo-tempo communications systems |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US624748A (en) * | 1899-05-09 | Hot-blast box | ||
US6247048B1 (en) * | 1998-04-30 | 2001-06-12 | Openwave Systems Inc | Method and apparatus for transcoding character sets between internet hosts and thin client devices over data networks |
FI109756B (fi) * | 1998-09-21 | 2002-09-30 | Nokia Corp | Menetelmä tiedonsiirtojärjestelmässä paikallisten resurssien hyödyntämiseksi, tiedonsiirtojärjestelmä ja langaton viestin |
US20010047395A1 (en) * | 2000-01-25 | 2001-11-29 | Kehyeh Szutu | Linking to a service by mapping an internet-independent unique identifier to a stored program |
DE60101740T2 (de) | 2000-05-09 | 2004-08-05 | Sun Microsystems, Inc., Santa Clara | Transformation von objekten zwischen einer rechnerprogrammiersprache und einer daten-darstellungssprache |
US6922685B2 (en) * | 2000-05-22 | 2005-07-26 | Mci, Inc. | Method and system for managing partitioned data resources |
US6990654B2 (en) * | 2000-09-14 | 2006-01-24 | Bea Systems, Inc. | XML-based graphical user interface application development toolkit |
US6901437B1 (en) * | 2000-10-06 | 2005-05-31 | Verizon Laboratories Inc. | Mobile cache for dynamically composing user-specific information |
EP2267619A1 (en) * | 2000-12-22 | 2010-12-29 | Research in Motion Limited | Information browser system and method for a wireless communication device |
US7546298B2 (en) * | 2001-01-09 | 2009-06-09 | Nextair Corporation | Software, devices and methods facilitating execution of server-side applications at mobile devices |
US20020103822A1 (en) * | 2001-02-01 | 2002-08-01 | Isaac Miller | Method and system for customizing an object for downloading via the internet |
WO2002091364A1 (en) * | 2001-05-04 | 2002-11-14 | Unisys Corporation | Dynamic generation of voice application information from a web server |
US7039037B2 (en) * | 2001-08-20 | 2006-05-02 | Wang Jiwei R | Method and apparatus for providing service selection, redirection and managing of subscriber access to multiple WAP (Wireless Application Protocol) gateways simultaneously |
US7254614B2 (en) * | 2001-11-20 | 2007-08-07 | Nokia Corporation | Web services push gateway |
WO2003063137A1 (en) * | 2002-01-22 | 2003-07-31 | V-Enable, Inc. | Multi-modal information delivery system |
US20030179775A1 (en) * | 2002-03-20 | 2003-09-25 | Carolan Jason T. | Service delivery network system and method |
US20040003033A1 (en) * | 2002-06-27 | 2004-01-01 | Yury Kamen | Method and system for generating a web service interface |
US7461067B2 (en) * | 2002-09-13 | 2008-12-02 | Motricity, Inc. | System for supporting production, management and delivery of media content for wireless devices |
US7409674B2 (en) | 2002-12-26 | 2008-08-05 | Research In Motion Limited | System and method of creating and communicating with component based wireless applications |
US20040220998A1 (en) | 2002-12-26 | 2004-11-04 | Michael Shenfield | System and method of building wireless component applications |
US20060088050A1 (en) * | 2003-05-23 | 2006-04-27 | Xius India Ltd. | System for a next generation wireless intelligent services engine (WISENG) |
CA2539468C (en) * | 2003-09-17 | 2014-03-18 | Research In Motion Limited | System and method for asynchronous wireless services using reverse service schema generation |
CA2539465C (en) * | 2003-09-17 | 2012-12-04 | Research In Motion Limited | System and method for management of mutating applications |
JP2007525744A (ja) * | 2004-01-13 | 2007-09-06 | ケイティーフリーテル カンパニー リミテッド | 文字列を使用した無線インターネットサービス接続方法及び装置 |
US20050198304A1 (en) * | 2004-01-15 | 2005-09-08 | Ian Oliver | System and method for access point translation of web service content |
US20050176449A1 (en) * | 2004-02-05 | 2005-08-11 | Yahoo! Inc. | Method and system for simplified access to alerts with a mobile device |
US20050193361A1 (en) * | 2004-02-27 | 2005-09-01 | Vitanov Kamen B. | System and method for presentation of wireless application data using repetitive UI layouts |
-
2005
- 2005-09-09 EP EP05779546A patent/EP1872521A4/en not_active Withdrawn
- 2005-09-09 CN CNA2005800497899A patent/CN101176300A/zh active Pending
- 2005-09-09 CA CA2604489A patent/CA2604489C/en active Active
- 2005-09-09 WO PCT/CA2005/001378 patent/WO2006110980A1/en active Search and Examination
- 2005-09-09 US US11/221,820 patent/US7769897B2/en active Active
-
2010
- 2010-06-24 US US12/822,248 patent/US7912984B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683870A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 用于枚举数据访问的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CA2604489C (en) | 2013-11-19 |
US20100262951A1 (en) | 2010-10-14 |
EP1872521A1 (en) | 2008-01-02 |
EP1872521A4 (en) | 2008-07-02 |
US7912984B2 (en) | 2011-03-22 |
US7769897B2 (en) | 2010-08-03 |
US20060234763A1 (en) | 2006-10-19 |
WO2006110980A1 (en) | 2006-10-26 |
CA2604489A1 (en) | 2006-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7912935B2 (en) | Development and deployment of mobile and desktop applications within a flexible markup-based distributed architecture | |
Keidl et al. | Towards context-aware adaptable web services | |
CA2420023C (en) | Accessing data stored at an intermediary from a service | |
AU2001295024B2 (en) | Developing applications online | |
AU2001290686B2 (en) | Customizing content provided by a service | |
AU2001291300B2 (en) | Providing content from multiple services | |
US20020042831A1 (en) | System and method for building applications that adapt for multiple device and protocol standards | |
US20110113090A1 (en) | Dynamic mobile client | |
US20110010613A1 (en) | System and method for building mixed mode execution environment for component applications | |
SG172622A1 (en) | System and method for building wireless applications with intelligent mapping between user interface and data components | |
AU2001293254A1 (en) | Accessing data stored at an intermediary from a service | |
AU2001291300A1 (en) | Providing content from multiple services | |
CN105808701A (zh) | 实现表单自动化验证及多系统间通讯的方法及系统 | |
Dunkel et al. | Model-driven architecture for mobile applications | |
CN101176300A (zh) | 根据网络服务定义生成无线应用的系统及方法 | |
Zarikas et al. | An architecture for a self-adapting information system for tourists | |
Mohammadi et al. | Developing Wireless GIS: Using Java and XML Technologies | |
Kim et al. | Integrated service creation environment for open network services | |
KR20040096173A (ko) | 이동통신 단말기로의 유선프로그램 구축 시스템 및 그방법과 그 방법에 대한 컴퓨터 프로그램을 저장한 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20080507 |