首页> 中国专利> 跟踪和定位web服务更新过程中的改变的方法和装置

跟踪和定位web服务更新过程中的改变的方法和装置

摘要

本发明涉及客户端web服务,尤其涉及用于跟踪和定位客户端网上服务程序更新过程中的网上服务改变的方法和装置。本发明的方法和装置可以被实现在web服务的用户端应用程序的开发平台中,也可以实现在web服务提供者的服务器中,或者提供在独立于web服务的用户和提供者的第三方。本发明能够为每一个用户本地定制化所述版本通知或API升级指南。所述用户所关注的目标web服务的改变历史能够被本地跟踪并且本地存储,从而用户能够使用上述改变历史轻松地在本地更新其客户端代码。

著录项

  • 公开/公告号CN101425922A

    专利类型发明专利

  • 公开/公告日2009-05-06

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200710168209.9

  • 发明设计人 房茹;王俪;陈滢;

    申请日2007-10-31

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人马浩

  • 地址 美国纽约

  • 入库时间 2023-12-17 21:49:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-14

    未缴年费专利权终止 IPC(主分类):H04L12/24 授权公告日:20110928 终止日期:20151031 申请日:20071031

    专利权的终止

  • 2011-09-28

    授权

    授权

  • 2009-07-01

    实质审查的生效

    实质审查的生效

  • 2009-05-06

    公开

    公开

说明书

技术领域

本发明涉及web服务(网上服务程序)的客户端程序,尤其涉及用于跟踪和定位web服务客户端程序更新过程中的web服务改变的方法和装置。

背景技术

web服务的兴起使越来越多的人依赖基于web服务的软件来做生意。例如,现在有许多服务提供商提供Web服务(或者叫做onlineAPI)供用户调用,例如Google的Map服务、Flickr的图片服务、YouTube的视频服务。ProgrammableWeb网站(http://www.programmableweb.com/apis)列出了现在比较流行的Web服务。用户通过调用或者集成这些Web服务可以方便地构建自己的应用程序。例如,用户调用eBay提供的eCommerce Web服务和Google的Map服务,可以方便的构造出一个应用程序,用来查询商品的价格及供应商的地理位置。

但是这些在线提供的API(应用程序接口)频繁地定期或不定期改变。这些容易改变的web服务对其用户提出了挑战,即,如何容易地被通知所述改变并且以高效方式适应于所述改变。

例如,以ebay提供的web服务作为例子,在2004年4月(以下数据来自于O’Reilly的白皮书《Web Services in Action:Integratingwith the Marketplace》(http://cascadetg.com/downloads/whitepaper ebaywebservices.pdf)):

超过200,000的eBay卖家使用基于基于eBay Web服务的应用程序;

eBay上使用基于API的软件的卖家平均每分钟产生595个新销售单以及10202美元;

eBay卖家使用的商品显示查询服务功能,40%通过eBay的Web服务进行;

eBay每个月支持超过1,000,000,000次API调用;

这些数据在近两年中增长的很快。根据我们对eBay提供的Web服务进行的进一步观察和分析,我们还发现:

eBay提供的Web服务按计划每月公布两次版本通知(releasenote),其中指示改变的调用、模式(schema)改变、新功能等等;

在多数版本通知中最常出现的是模式改变;

一个高效的开发人员需要2天时间来调整其代码以适应新版本的web服务。

由此可见的一个技术问题是作为开发人员的用户如何跟踪其目标web服务的改变并且高效地进行适应性修改。

当前web服务提供者公布所述新版本的web服务时,所述新服务被版本序号或时间戳加以标记。同时,所述版本通知或更新指南也被发布,以帮助开发人员改变其客户端程序代码。大多数的版本通知是html网页并以RSS/Atom feed或电子邮件发布给所述服务的客户。例如,eBay的web服务版本(参见http://developer.ebay.com/)由其自己定义的版本号标记,并且在新版本公布时发送给开发人员。Amazon的web服务是通过添加时间戳到Web服务的地址空间(namespace)来标记服务版本,开发人员可以通过电子邮件被通知、或订购版本通知页的RSS feed。

但是,现有技术的方案有如下缺陷:

- 服务提供者依据他们自己的内容和格式而公布所述版本通知,所述版本通知不能被客户定制。因此,每个服务请求者都需要阅读整个版本通知,然后才知道是否包含涉及自己程序的改变,是否需要更改其客户端应用程序。

- 通常所述版本通知很长并且所述客户端应用程序很大。因此开发人员很难找到哪些代码需要改变以适应于所述目标服务的改变。

- 版本通知定期频繁地(例如每两周)发布,但是开发人员可能由于出差等多种原因无法每次都及时阅读并更新其应用程序。例如,开发人员出差几个月之后回来,发现需要手工处理很多个版本通知,这是很大的工作量,而且容易出错。

举例来进行说明。首先,如附图1a所示,服务提供者发送版本通知1,用户基于其自己的应用程序确认出相关的部分,即元素A改变为元素A1、元素B改变为元素B1、元素C改变为元素C1。接下来,用户根据所述改变修改其相应代码。但是,有时候用户可能因为某些原因而遗漏某些改变,例如本次的改变不是很重要并且不会影响所述应用程序的使用。因此用户将来可能会遗忘本次改变。然后问题就出现了。假设用户忘记了第一个改变,即忘记了元素A改变为元素A1。现在服务提供者发送版本通知2,如附图1b所示,其中元素A1改变为元素A2、元素B1改变为元素B2、元素C1改变为元素C2。显然,对于所述开发人员而言,很难认识到其客户端代码中的旧元素A已经被改变为A2,因为他已经忘记了第一次A变化到A1,所以在他的应用程序中没有A1。很遗憾,他在将来会失去A的所有改变,从而可能导致其应用程序不可用。而当这种情况发生时,对于用户而言是极难找出问题在哪里。

发明内容

为了解决上述问题,本发明提出了一种新的方法和装置,用于跟踪并且定位跟客户端应用程序相关的web服务变更从而方便客户端应用程序进行改变。

为了实现该目的,本发明设计了一种方法和装置,其不仅帮助用户动态高效地记录web服务的相关改变而无需太多人工工作量,更重要的是它能够自动定位应用程序中何处应该进行更改以及相应的更改历史。

本发明独特地提供了一种跟踪和定位web服务改变的方法和装置,用于在web服务用户端保持目标web服务的改变历史。本发明的方法和装置可以被实现为一种插件,其能够被置于web服务的用户端应用程序的开发平台中。可选的,本发明的方法和装置也可以实现在web服务提供者的服务器中,或者提供在独立于web服务的用户和提供者的第三方。

本发明的优点在于以下至少之一:能够为每一个用户本地定制所述版本通知或API升级指南(服务描述文件);所述用户所关注的目标web服务的改变历史能够被本地跟踪并且本地存储;本发明还可以把所有改变转换为标准的原语描述,从而可以在客户端统一各种web服务提供者对服务变化的描述,消除了不同web服务提供者之间的差异。用户能够使用上述改变历史轻松地在本地更新其客户端代码,更为自动化的客户端代码更新提供了基础。

本发明一方面提供了一种用于记录web服务改变历史的改变历史记录方法,包括:接收步骤,用于接收包括web服务的改变描述的版本通知;转换步骤,用于从所述版本通知中找出与用户使用元素相关的改变描述;历史生成及保存步骤,用于基于所述与用户使用元素相关的改变描述来生成与用户使用元素相关的改变历史并保存在客户端本地。

本发明另一方面提供了一种用于记录web服务改变历史的改变历史记录装置,包括:转换引擎,用于接收包括web服务改变描述的版本通知,以及从所述版本通知中找出与所述用户使用元素相关的改变描述;历史生成装置,用于从所述转换引擎接收所述与用户使用元素相关的改变描述,并生成与所述用户使用元素相关的改变历史。

本发明再一方面还提供了一种改变更新支持器的实现,用于根据版本通知来更新客户端应用程序,所述改变更新支持器包括:如前所述的改变历史记录装置;版本通知接收装置,用于接收新的版本通知并输入到所述改变历史记录装置中,所述版本通知包括web服务的改变描述;代码检索装置,用于从客户端应用程序中检索用户使用元素并输入到所述改变历史记录装置中;以及其中所述改变历史记录装置输出所述用户使用元素的改变历史。

附图说明

这里结合以下描述和附图描述某些图示的范例方法和装置。结合附图考虑下面的详细描述,其它的优点和新颖的特征可以显而易见。发明本身的构思及其优选使用方式和实施例通过参照如下附图和具体实施方式而被更好地理解,其中

附图1a和1b显示了现有技术中发布版本通知的例子。

附图2显示了本发明的改变历史记录方法的一种优选实施方式。

附图3显示了本发明的改变历史记录方法和装置被实施在web服务的客户开发平台。

附图4显示了根据本发明一个优选实施方式的改变历史记录器的结构框图。

附图5显示了附图4所示的改变历史记录器的实施细节。

附图6-7显示了应用本发明解决背景技术所提出的技术问题的例子。

附图8显示了应用本发明到Amazon E-Commerce Web服务的例子。

附图9显示了本发明的改变历史记录器被实现在web服务提供者的例子。

具体实施方式

参考附图2,显示了本发明的提出的改变历史记录方法的一种优选实施方式。所述方法用于记录web服务改变历史,包括:接收步骤201,用于接收包括web服务的改变描述的版本通知,所述版本通知包括对web服务的改变描述;转换步骤202,用于根据预定的转换规则,对所述版本通知进行转换,并且从转换后的版本通知中找出与用户使用元素相关的改变描述,以生成一个定制化版本通知,其中所述用户使用元素至少包括:用户的应用程序所使用到的web服务、操作、消息、数据元素、类型、属性之一或其组合;历史生成步骤203,用于基于与用户使用元素相关的改变描述来生成与所述用户使用元素相关的改变历史,并将改变历史保存在本地。

根据本发明的一个优选实施方式,上述转换规则包括把各种格式的版本通知翻译为标准的改变描述原语。例如,本发明优选的一组标准改变描述原语为:“增加(ADD)”、“删除(REMOVE)”和“更新(UPDATE)”,下文将进一步详述。

参看附图3,显示了实现上述改变历史记录方法的装置的优选实施例。在这个实施例中,改变历史记录器304被实施在客户端。具体而言,是被实施在当前web服务的客户端开发平台301中。所述改变历史记录器304可以实现为被驻留在客户端的改变更新支持器302中。所述改变历史记录器304能够保持该web服务客户端应用程序303所使用的服务元素的改变历史305。基于所述改变历史记录器304,所述改变更新支持器302可以帮助用户根据所述新版本通知来更新所述客户端应用程序303。这样,所述客户端的用户就可以轻松地找出在哪里改变其客户端代码。

如本领域的技术人员所能够理解的,在本发明所提出的改变历史记录器304的基础上,客户端的所述改变更新支持器305可以为用户提供多方面的辅助,包括根据改变历史记录器304所记录的改变历史来提示更新客户端应用程序的部分,甚至自动根据所述改变历史自动更新代码。下文将结合本发明提供的改变历史记录器对这些扩展功能做进一步介绍。

参见附图4,显示了根据本发明的一个范例实施例的改变历史记录器304的框图。

所述改变历史记录器304包含两个部件,转换引擎402以及历史生成器403。

一方面,所述转换引擎402从web服务提供者接收一个新的版本通知,将其转换为预定格式。如本领域的技术人员所了解的,可以使用本领域的已有技术,例如通过email、RSS接收器、Atom接收器、FTP等技术来接收版本通知。下文将对该转换步骤进行进一步的说明。

另一方面,所述转换引擎402接收所述用户的“用户使用元素”(Consumer Used Element)401,通常包括用户开发其应用程序所用到的服务(service)、操作(operation)、消息(message)、数据元素(element)、类型(type)、属性(attribute)等等。可以通过开发人员手工输入而得到所述用户使用元素401。也可以利用代码检索和文本匹配等现有技术来得到。例如,目前每个web服务提供者都提供WSDL文件(例如Amazon Web服务的WSDL文件可以从网址http://webservices.amazon.com/A WSECommerceService/A WSECommerceService.wsdl?得到),其中描述了其提供的原始web服务的细节。因为WSDL是一种EXtensible Markup Language(XML)语言,所以可使用各种XML解析工具,或者使用现有的WSDL解析器解析该原始web服务的WSDL文件,以得到该web服务中的所有元素名称,现有的WSDL解析器很多,例如使用WSDL4J[3]、C++WSDL Parser[4]等。然后,在开发人员开发了其客户端应用程序之后,可以使用一个简单的代码读取器来比较该客户端应用程序中所使用的元素和从WSDL文件中得到的所有web服务元素的名称,从中找出用户使用元素的名称。

在接收了所述用户使用元素401和所述新版本通知404之后,所述转换引擎402对该新版本通知404进行搜索,从中找出与所述用户使用元素401相关的改变描述(如附图1a中的“Element A changes toelement A1”就是与A有关的的改变描述),并对这部分改变描述按照一定的转换规则进行转换,然后发送给所述历史生成器403。

所述历史生成器403从所述转换引擎402接收与所述用户使用元素相关的改变描述,然后根据预定的历史格式把这部分改变描述记录为改变历史(change history)305,还可在本地或远程地保存所述改变历史305。

如本领域技术人员所理解的,所述改变历史可以被用来帮助开发人员修改其应用程序代码。这可以通过程序的静态或者动态自动更新实现,或者通过通知机制通知用户手工更改代码实现。

参照附图5,说明本发明的改变历史记录器的一个优选结构。应当理解,附图5的实施例仅是说明性描述而不是限制性描述。本领域的技术人员可以基于附图4的教导以各种实施方式来实现本发明的改变历史记录器的具体结构。

所述改变历史记录器304中的所述转换引擎402具有3个部件用于支持所述转换功能:版本通知解析器503、版本通知翻译器504以及定制化版本通知生成器505。

所述版本通知解析器503进行的操作是:解析所述版本通知501并且获取web服务改变的描述。目前,不同的web服务提供商所提供的版本通知的格式也不相同,例如google、eBay、Amazon等web服务提供者所提供的版本通知都使用其自己定义的格式。可使用诸如XML解析技术(例如可用于读取RSS文件或Atom文件的DOM、SAX)对其解析,并转换为所需格式。

此外,由于不同的web服务提供者所提供的版本通知通常使用不同的改变描述原语(Change Description Primitive),因此需要将其映射为统一的改变描述原语。

本发明的一个优选实施方式采用3个改变描述原语506:增加(ADD)、删除(REMOVE)和更新(UPDATE),来统一地翻译所接收的版本通知。所述增加(ADD)原语是指一些新的服务元素(包括服务、操作、消息等)被添加到所述目标服务。所述删除(REMOVE)原语是指有些服务元素被从所述目标服务中删除。所述更新(UPDATE)原语是指目标服务中的元素被重新命名或改变赋值。所有改变都可以用上述三种标准原语之一描述。

相应的,预定的转换规则可以如下所示:

-“ADDED”、“NEW”等被映射为“ADD”;

-“DELETE”、“CANCEL”、“REMOVE”等被映射为“REMOVE”;-“CHANGE TO”、“CHANGED TO”等被映射为“UPDATE”。

所述版本通知翻译器504接收解析后的版本通知之后,根据上述的转换规则对解析后的版本通知进行翻译转换,其中所得到的内容采用了统一的改变描述原语。

如本领域技术人员所理解的,上述转换规则仅仅是示例性的。转换规则可以由web服务提供者或客户应用程序的开发人员来提供,其中显示了所述版本通知中的改变描述原语和用户预定的改变描述原语之间的映射关系。

这样,各种格式的版本通知的改变描述原语都被统一地翻译转换,例如“改变成(CHANGE TO)”、“被改变为(CHANGED TO)”都被统一翻译为“更新(UPDATE)”原语。经过上述处理之后,版本通知中的所有改变都使用所述3个标准原语加以描述。这样的好处一是可以在客户端统一各种web服务提供者对服务变化的描述,消除了不同web服务提供者之间的差异;二是为后续的更新客户端程序提供了支持,后续程序可以读懂标准原语描述的变化来帮助用户自动更新程序。

然后,所述定制化版本通知生成器505会根据一个用户使用元素列表502来选择所述客户端应用程序开发人员所感兴趣的改变描述部分。

如前所述,所述用户使用元素列表502描述了哪部分服务元素已经被所述客户端应用程序使用,它可以通过开发人员手工输入而得到,也可以利用代码检索和文本匹配等现有技术来得到。根据所述用户使用元素列表502,定制化版本通知生成器505找出与所述用户使用元素相关的改变部分,产生定制化的改变描述,然后发送给所述历史生成器403。

根据本发明的一个优选方式,如附图5所示,所述历史生成器403包括历史创建器507和历史存储库509。

所述历史存储库509存储所述客户端应用程序调用的每个服务的改变历史文件。例如,客户端应用程序调用两个服务,一个是Amazon E-commerce web服务,另一个是Google Map web服务。然后,客户可以有两个改变历史文件来保持这两个服务的改变历史。所述历史存储库509能够存储这两个文件的内容。所述改变历史可以是一个数据库、文件系统或甚至是一个文件。例如,如果所述历史存储库被实施为数据库,则所述改变历史文件被解析,然后文件内容被保存为数据库中的表项。如果历史存储库509被实施为文件系统,则所述改变历史被写在文件上直接保存在该文件系统中。

Web服务的用户端的所述开发人员能够访问该历史存储库509以得到所述改变历史。

历史创建器507用于创建新的改变历史记录。例如,从所述历史存储库509获取已经创建的改变历史记录,根据预定的历史描述格式508来把新的改变描述插入其中以产生新的改变历史记录。如本领域技术人员所容易理解的,所述历史描述格式508可以由所述客户应用程序开发人员或所述服务的用户端根据需要而给出定义。

参见附图6-7,显示了本发明如何克服背景技术所提出的技术问题的一个例子。附图6的系统与附图3的系统基本相同。仍然考虑背景技术部分所举的例子,所接收的版本通知1至n可以是附图1a和1b所示的版本通知1和版本通知2。当版本通知1到达时,根据转换规则对其转换,并选择与客户应用程序相关的改变部分。

这里假设在所述客户应用程序中只使用了服务元素A、B和C。则定制化的版本通知如附图7a所示。其它从D到Z的服务元素被省略。

与使用元素A、B、C相关的改变历史如附图7b所示。当前用户使用元素被更新为A1、B1、C1。

经过一段时间版本通知2到达。如附图7c所示,版本通知2被定制化为只保留与使用元素A1、B1、C1相关的改变描述。版本通知2中,元素A1重新命名为A2,B1重新命名为B2。

然后,与使用元素A、B、C相关的改变历史如附图7d所示的树状数据结构。在本实施例中,历史描述格式仅仅使用了术语“到(to)”和“在...之中(in...)”来保持版本通知中的改变链。

此时,如果开发人员希望更新其客户端代码,参照附图7d很容易找出需要修改源代码中的哪些部分以及应当参考所述版本通知的哪些部分。

下面参见附图8,使用Amazon E-Commerce Web服务和Eclipse开发平台给出一个实例说明本发明的“改变历史记录器”的工作过程。注意,在本实施例中,所述改变历史记录器是被实施在客户端的应用程序开发平台中,即Eclipse开发平台。

客户端应用程序8030完成的功能是:根据用户输入,调用Amazon e-commerce Web服务8040的itemSearch()方法,查询相关的商品,并打印出所有商品属性。

Amazon通过RSS方式发布自己的版本通知。如本领域人员所知的,可以使用RSS接收阅读器8021来接收这些版本通知。在本实施例中,使用代码检索的方法找到用户使用到的Amazon e-commerceWeb服务元素。在本实施例中用户使用的web服务8040是itemSearch()方法。根据Amazon发布的wsdl文件,该itemSearch()方法的输入输出消息定义为ItemSearchRequest、ItemSearchResponse;所述消息的数据元素为ItemAttributes,等等。上述的方法Itemsearch、消息Itemsearchrequest、Itemsearchresponse和数据元素ItemAttributes等的具体细节都被定义在wsdl文件中(参见如下网址的内容

http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl?)

如本领域的技术人员所公知的,上述“方法”、“消息”、“数据元素”之间的逻辑层次从高到低的简化表示如下:

Itemsearch

            Itemsearchrequest

            Itemsearchresponse

                            ItemAttributes

                                         ......

在本实施例中,通过代码检索器8022,发现了当前用户的应用程序调用了哪些服务元素,包括Itemsearch方法;Itemsearchrequest和Itemsearchresponse消息;ItemAttributes数据元素等。但是,在本技术领域,通常不选择“方法”(例如,Itemsearch)和“消息”(例如,Itemsearchrequest和Itemsearchresponse)作为用户使用元素。这是因为版本通知中基本上很少涉及“方法”和“消息”的改变。版本通知中绝大多数的改变都发生在“消息”之下的级别(例如,涉及ItemAttributes这一“数据元素”级别、甚至更低的“属性”级别的改变)。因此在本例中选择ItemAttributes作为用户使用元素。

需要注意的是,由于选择了ItemAttributes作为用户使用元素,则某些改变-例如增加(add)新“方法”、或新“消息”的改变-是本发明所不能检查出来的。但是,已经存在的客户端程序不会调用新的方法,因此涉及增加新方法的改变对于客户端程序的用户而言也是不关心的。此外,对于web服务提供的“方法”,输入和/或输出消息通常总是固定的,实际的版本通知中不会出现增加新消息的情况。此外,版本通知中也基本不会有更新(update)“方法”或”消息”之类的改变,因为实际上具体改变都发生并且归类于“消息”之下的级别。

在这个例子中,基于用户使用元素“ItemAttributes”生成相关的改变历史之后,代码更新主要是由用户手工完成。代码更新器8024的作用是把相关变化反映在eclipse的编辑窗口上。

Amazon的Amazon E-Commerce Service8040的版本通知参见如下网址:

(http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=17)

如附图8所示,Amazon在3个月内发布了3次版本通知,发布日期分别是2006-9-11、2006-11-8、2006-11-14,其发布网址如下所示:

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=421 & categoryID=17

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=480 & categoryID=17

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=493 & categoryID=17

如附图8所示,上述3个版本通知依次通过RSS生成器8041发送,并输入到RSS接收阅读器8021,然后被输入到本发明的改变历史记录器8023中。在改变历史记录器8023中,上述版本通知根据预定的变换规则被转换为标准的改变描述原语。

对于Amazon E-commerce Web服务的版本通知,预定义如下的转换规则:

“new features”对应于“add”;

“resolved issues”对应于“update”。

(在Amazon的上述3个版本通知中未发现关于“remove”内容的改变,所以暂不需要相关remove的转换规则。)

与此同时,代码检索客户端应用程序。如前所述,在本实施例中,通过前述的服务元素查找部分(即,代码检索器)发现了当前用户的应用程序调用了哪些服务元素。结果包括:Itemsearch方法;Itemsearchrequest和Itemsearchresponse消息;ItemAttributes数据元素等。在本示例中选择ItemAttributes作为用户使用元素(用于示例,不限于此)。

确定了用户使用元素为ItemAttributes之后,以“ItemAttributes”为关键字进行检索版本通知。对每一次的版本通知,对每一个用户使用元素,都使用关键字进行遍历查找,找到与之对应的描述,就把含有这个关键字的一段话或者相关表的一行都记录下来,保存在变化历史的这个关键字之下。

以本例中的用户使用元素“ItemAttributes”为例,每当版本通知到达(例如,2006-9-11的版本通知、2006-11-8的版本通知、2006-11-14的版本通知),我们就以ItemAttributes为关键字进行遍历查找,把含有关键字“ItemAttributes”的一段话或者相关表的一行都记录下来,保存在变化历史的这个关键字之下,从而根据所述用户使用元素ItemAttributes得到定制化的改变历史记录。

最终所记录的改变历史记录可以以html文件方式保存在改变历史记录器8023中。根据一个优选实施例,其内容如下所示:

Change history of Amazon E-commerce Web service

Element ItemAttributes

Add attributes(in release note 2006-09-11):

AnalogVideoFormat--Video format

Club Type--Type of golf club

CompatibleDevices--Compatible devices

DataLinkProtocol--Datalink protocol

DisplayColorSupport--Color depth supported by the display

FilmColorType--Type of film

FormFactor--External memory type

Genre--Specifies the genre of the item

HandOrientation--Specifies whether the golf club is for people who are right handed or

                 left handed

HardDiskInterface--Specifies the hard drive interface,such as SCSI

HardwarePlatform--Specifies the computer hardware platform

LensType--Type of camera lens

MediaType--Type of storage media

OperatingSystem--Computer's operating system

OpticalSensorResolution--Resolution of optical sensors

ProductTypeName--Name of the product type

ProductTypeSubcategory--Subcategory of the product type

RemovableStorage--Type of removable storage media.See MediaType

RequiredVoltageRange--Maximum voltage allowed.

SkillLevel--Specifies the skill level recommended

ShaftMaterialType--Type of material used in the shaft of a golf club

SupportedMediaSize--Specifies the storage media sizes supported

Add attributes(in release note 2006-09-11):

In the JP locale,Item Attributes now returns a new element,IsPreannounce.If the value ispresent in the response,the item is being announced before being released.

Update attribute symbol to symbol(in release note 2006-09-11):

In the JP locale,the symbol that represents a copyright was being returned

incorrectly.Now,the copyright symbol is returned correctly in the Feature item attribute,which is returned by the ItemAttributes response group.

Update attribute ListPrice to ListPrice(in release note 2006-11-14):

In the DE locale,the ListPrice in ItemAttributes response group returned was incorrect.This problem has been fixed.Most items,however,do not have ListPrice values.

注:symbol和ListPrice两个attributes没有换名,所以描述是Update attribute symbolto symbol和Update attribute ListPrice to ListPrice

如附图8所示,上述改变历史被输入到代码更新器8024中,以帮助用户在Eclipse开发平台上更新代码。

例如,如果用户在2006年9月10日到2006年11月15日之间都没有更新过自己的客户端程序,那么11月15日后当他打开Eclipse编辑窗口的时候,程序中可能需要调整的部分就会高亮显示出来。例如附图8所示的服务客户端程序8030中,代码部分的ItemAttributes被高亮显示。点击这个高亮部分,就会弹出提示框,链接到如上所示的变化历史记录。这样用户就能方便的发现自己需要更新的代码部分,例如,需要在返回消息处理部分添加对“IsPreannounce”元素的解析和处理。

上述例子中,改变历史按照时间先后顺序依次列出。2006-11-08的版本通知中没有涉及ItemAttributes的改变,因此没有关于2006-11-08版本通知的改变。此外,改变历史还按照改变描述原语“ADD”、“UPDATE”被分类,其中上述3个版本通知中没有“REMOVE”类的改变。

应该注意到,上述给出的改变历史的格式仅是范例性的。如本领域技术人员所了解的,在一种优选实施方式中所述改变历史记录器可产生一个树状结构的改变历史记录,我们称之为改变历史记录树。在这个树状结构中,每个根节点都是一个Web服务元素,例如方法,消息,消息参数,这个根节点中每一层的节点记录在一次版本通知中跟该根节点元素相关的变化。根节点是在服务元素第一次变化,即第一次出现在版本通知中加进改变历史记录树中的。如图7d所示,三个根节点分别为服务元素A,B,C,根节点下面记录在每一次版本通知中跟A,B,C三个元素相关的变化。三个根节点,元素A,B,C是在收到版本通知1时加进改变历史记录树中的。这样,通过索引该改变历史记录树结构,用户能够轻松高效地找出发生改变时某个类是如何改变的。此外,还可以检测用户最频繁使用的服务元素,并根据用户的调用频率按优先顺序排列所述改变历史的内容。因此,用户可以找到对其应用程序影响最显著的最重要的改变。

在上述例子中,本发明的方法和装置被实现为一种插件,其被置于web服务的用户端应用程序的开发平台中。

可选的,本发明的方法和装置也可以实现在web服务提供者端的服务器9000中,如附图9所示。在附图9的系统中,web服务9004提供多个方法可被客户端调用,web服务客户端应用程序9013通过网络可以调用一个或多个web服务提供的方法。web服务客户端应用程序9013的开发者9012可以请求他感兴趣的定制化的版本通知。Web服务提供者9000可以监控被调用的web服务9004的执行状态,例如由服务调用监视器9003来监控用户对web服务9004的调用操作,因此可以由web服务提供者9000来检测每个用户使用的服务元素。web服务提供者9000还可以检测每个用户最频繁使用的服务元素。另一方面,由web服务提供者9000根据用户请求以及上述监控的执行状态来为该用户定制版本通知或API更新指南,还可以根据调用频率来优先排序版本通知或API更新指南的内容。举例而言,web服务提供者9000提供有定制化版本通知产生器9002,用于接收版本通知9001。所述定制化版本通知产生器9002响应于开发用户9012的请求,基于服务调用监视器9003监控得到的用户使用元素,对版本通知9001进行定制化处理,然后发送定制化的版本通知到改变预订器9011,其中所述改变预订器9011也位于web服务客户端9010。从而开发用户9012可以从改变预订器9011获取定制化的版本通知。所述开发用户9012可以基于所述定制化版本通知来更新web服务客户端应用程序9013。

附图9所述的实施方式具有如下额外优点:如果用户遗漏某些服务改变元素,web服务提供者为其可以找到。此外,所述版本通知或API更新指南文档的内容可以根据每个用户的调用频率按优先顺序排列。因此,每个用户可以找到对应用程序影响最显著的最重要的改变。

所述使用频率可以是,例如web服务提供者两次发布版本通知的时间间隔内客户端调用该服务元素的使用次数。在服务器端,服务器可以监控用户调用的频率。另一方面,在客户端也有这样的技术可以实现,这是由客户端程序运行环境来提供的,经过简单的处理,客户端程序运行环境,例如IBM WebSphere Application Server(WAS),就可以监控某段时间内客户端调用Web服务的次数。

如本领域的技术人员所理解的,可替换的,本发明的方法和装置也可以提供在独立于web服务用户和提供者的第三方。

除非另有说明,本发明所述的功能可用硬件或软件或它们的结合来运行。然而,在一优选实施列中,除非另有说明,这些功能是由处理器,如计算机或电子数据处理器,按照编码,如计算机程序编码,的集成电路来执行的。一般来说,为了实现本发明的实施例而执行的方法可以是操作系统或特定应用程序的一部分、程序、模块、对象或指令序列。本发明的软件通常包括将由本地计算机呈现成机器可读格式的众多指令,因此是可执行指令。此外,程序包括相对于程序来说驻留在本地或在存储器中找到的变量和数据结构。另外,各种程序可以根据在本发明的特定实施例中实现它们的应用方法来识别。当携带指向本发明的功能的计算机可读指令时,这样的信号承载媒体代表本发明的实施例。

尽管是参考典型的具体实施方式对本发明进行的描述,但应该理解本发明并不限于所披露的典型具体实施方式。下述权利要求的范围符合最宽泛的解释,以至于包括所有修改、等价结构和功能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号