专利名称:将基于万维网的服务转换成Web服务的方法和设备的制作方法
将基于万维网的服务转换成Web服务的方法和设备技术领域
本申请总体上涉及基于万维网的服务和Web(万维网)服务的领域,更具体而言, 涉及一种将基于万维网的服务转换成Web服务的方法和设备。
背景技术:
Web服务是目前常用的工业标准,其通过Web服务描述语言(WSDL,Web Services Description Language)定义的接口文件,使得异构的系统之间能够方便和快捷地相互调用。Web服务提供了一种机器对机器的接口,因此在面向服务架构(SOA, Service-Oriented Architecture)中扮演了重要的角色。而且,大部分流行的编程语言中都支持Web服务。
随着万维网的快速发展,许多服务发布到万维网网站上作为基于万维网的服务, 例如翻译服务、搜索服务等。但是,这些基于万维网的服务是面向用户的,没有提供机器对机器的接口,也没有采用Web服务来描述接口。因此,其它系统无法直接调用上述基于万维网的服务。为了使其它系统能够直接调用上述基于万维网的服务,需要将这些面向用户的基于万维网的服务转换成Web服务。发明内容
在下文中将给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
现有技术中,为了将这些面向用户的基于万维网的服务转换成Web服务,一般需要更改现有系统,例如修改源代码,增加Web服务的接口,并且重新部署等。这种方法一般比较费时费力,而且在很多情况下甚至不可行。因此,存在这样的需求在基本上不改变现有系统的情况下,简单和高效地将基于万维网的服务转换成Web服务。
根据本申请的实施例,提供了一种将基于万维网的服务转换成Web服务的方法, 包括获得用户通过浏览器访问万维网网站的基于万维网的服务期间在浏览器与万维网网站之间交互的HTTP (超文本传送协议)消息序列;根据HTTP消息序列中包含基于万维网的服务的结果的HTTP结果消息及其中的结果参数,分析HTTP消息序列,以识别与HTTP结果消息关联的HTTP请求消息中的参数及其来源,以及与HTTP结果消息关联的HTTP响应消息中的参数及其目的地;以及按照HTTP消息序列中记录的顺序,将与HTTP结果消息关联的 HTTP请求消息和HTTP 响应消息的序列封装成Web服务,其中,Web服务的输入参数包括来源于浏览器的参数,而Web服务的输出参数包括HTTP结果消息中的结果参数。
根据本申请的实施例,获得步骤可包括为用户中的每个用户生成相应的线程标记;将线程标记插入相应的用户在浏览器和万维网网站之间交互的HTTP消息中;以及根据线程标记来分别记录用户中的每个用户在浏览器和万维网网站之间交互的HTTP消息序列。
根据本发明的实施例,分析步骤包括接收用户在HTTP结果消息中指定并发送的基于万维网的服务的结果;以及提取结果参数在HTTP结果消息中的位置信息。
根据本发明的实施例,其中,与HTTP结果消息关联的HTTP请求消息中的参数的来源包括浏览器、和与HTTP结果消息关联的HTTP响应消息;以及与HTTP结果消息关联的 HTTP响应消息中的参数的目的地包括浏览器、和与HTTP结果消息关联的HTTP请求消息。
根据本发明的实施例,其中,参数为HTTP消息中的标签名及其值的对,标签名的值由以下至少之一指定浏览器、Cookie、和其它HTTP响应消息。
根据本申请的实施例,提供了一种将基于万维网的服务转换成Web服务的设备, 该设备可包括获得装置,用于获得用户通过浏览器访问万维网网站的基于万维网的服务期间在浏览器与万维网网站之间交互的超文本传输协议HTTP消息序列;分析装置,用于根据HTTP消息序列中包含基于万维网的服务的结果的HTTP结果消息及其中的结果参数, 分析HTTP消息序列,以识别与HTTP结果消息关联的HTTP请求消息中的参数及其来源,以及与HTTP结果消息关联的HTTP响应消息中的参数及其目的地;以及封装装置,用于按照 HTTP消息序列中记录的顺序,将与HTTP结果消息关联的HTTP请求消息和HTTP响应消息的序列封装成Web服务,其中,Web服务的输入参数包括来源于 浏览器的参数,而Web服务的输出参数包括HTTP结果消息中的结果参数。
根据本发明的实施例,获得装置可包括生成装置,用于为用户中的每个用户生成相应的线程标记;插入装置,用于将线程标记插入相应的用户在浏览器和万维网网站之间交互的HTTP消息中;以及记录装置,用于根据线程标记来分别记录用户中的每个用户在浏览器和万维网网站之间交互的HTTP消息序列。
根据本发明的实施例,分析装置可包括接收结果装置,用于接收用户在HTTP结果消息中指定并发送的基于万维网的服务的结果;以及提取装置,用于提取结果参数在 HTTP结果消息中的位置信息。
根据本发明的实施例,其中,与HTTP结果消息关联的HTTP请求消息中的参数的来源包括浏览器、和与HTTP结果消息关联的HTTP响应消息;以及与HTTP结果消息关联的 HTTP响应消息中的参数的目的地包括浏览器、和与HTTP结果消息关联的HTTP请求消息。
根据本发明的实施例,其中,参数为HTTP消息中的标签名及其值的对,标签名的值由以下至少之一指定浏览器、Cookie、和其它HTTP响应消息。
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中
图1示出根据本发明的一个实施例的将基于万维网的服务转换成Web服务的方法的处理的流程图2是示出对HTTP消息序列进行分析的过程的示意图3是示出将HTTP消息序列的分析结果封装成Web服务的过程的示意图4示出根据本发明的一个实施例的获得HTTP消息序列的处理的流程图5示出根据本发明的一个实施例的标注HTTP结果消息中的基于万维网服务的结果的处理的流程图6是示出标注HTTP结果消息中的基于万维网服务的结果的过程的示意图7示出根据本发明的一个实施例的调用所封装的Web服务的处理的流程图8A示出根据本发明的一个实施例的将基于万维网的服务转换成Web服务的设备的框图SB示出根据本发明的另一实施例的将基于万维网的服务转换成Web服务的设备的框图9示出根据本发明的一个实施例的用于获得HTTP消息序列的获得装置的框图10示出根据本发明的一个实施例的用于分析HTTP消息序列的分析装置的框图;以及
图11示出了可用于作为实施根据本发明的实施例的信息处理设备的示意性框图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见, 在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施方式的过程中可以做出很多特定于实施方式的决定,以便实现开发人员的具体目标,并且这些决定可能会随着实施方式的不同而有所改变。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构,而省略了与本发明关系不大的其他细节。
图1示出根据本发明的一个实施例的将基于万维网的服务转换成Web服务的方法的处理的流程图。申请人注意到 ,虽然基于万维网的服务种类繁多,但是从底层协议的角度来看,基于万维网的服务基本上都是由一系列固定的HTTP消息构成,只是每次由HTTP消息所携带的参数的值不同。例如,参数可以包含在统一资源定位符URL (Uniform Resource Locator)的查询Query部分、Cookie和通过“通知(post) ”方法发送到服务器的字符串中。 如果能够从一系列固定的HTTP消息中识别出与用户感兴趣的HTTP结果消息关联的HTTP 消息的序列,则可以通过重放与用户感兴趣的HTTP结果消息关联的HTTP消息的序列并赋以不同的参数值,来重现基于万维网服务的整个过程,即可以将与用户感兴趣的HTTP结果消息关联的HTTP消息的序列封装成Web服务,当其它系统调用所封装的Web服务时,可以模拟用户在浏览器上访问基于万维网服务的整个过程。因此,可以在基本上不改变现有系统的情况下,简单和高效地将基于万维网的服务转换成Web服务。
在借助根据本发明的实施例的将基于万维网的服务转换成Web服务的方法对基于万维网的服务进行转换时,如图1所示,该方法在步骤100开始。
在步骤102,获得用户通过浏览器访问万维网网站的基于万维网的服务期间在浏览器与万维网网站之间交互的超文本传输协议HTTP消息序列。
如上所述,随着万维网的飞速发展,许多服务发布到万维网网站上作为基于万维网的服务。用户通过浏览器访问万维网网站,便可以使用万维网网站上的基于万维网的服务。例如,用户可以通过浏览器来访问翻译网站,在用户输入某一国家的语言后,通过该翻译网站上的翻译服务,用户便可以得到与输入的某一国家的语言对应的另一国家的语言。 该翻译服务是面向用户的,例如,需要用户手动打开浏览器来访问该翻译网站,手动输入某一国家的语言,点击翻译按钮等,然后再手动将得到的另一国家的语言复制出来用于其它目的。
在用户通过浏览器访问万维网网站并使用万维网网站上的基于万维网的服务期间,从底层协议的角度来看,实际上是在浏览器与万维网网站之间进行了一系列的HTTP消息的交互。HTTP消息包括由浏览器发出的HTTP请求消息、和由万维网网站返回的HTTP响应消息。可以在HTTP消息中携带参数,该参数是HTTP消息中的标签名与其值的对。例如, 在 HTTP 请求消息的 URL 的 Query 部分 “GET/translate_a/t client = t&text = go % home&hl = zh-CN&sl = en&tl = zh-CN&multires =1. · · ” 中,“client = t” 为参数,其中“client”为标签名,“t”为标签名“client”的值。类似地,“text = go% home,,、“hl = zh_CN”、“sl = en”、“tl = zh_CN”和“multires = I”也均为参数,其中,等号左边的为标签名,等号右边的为相应的标签名的值。再例如,在HTTP请求消息的Cookie “SINAGL0BAL =121. 236. 25. 106. 150781292069345446 ;· · · ” 中,“SINAGL0BAL = 121. 236. 25. 106. 150 781292069345446” 为参数,其中“SINAGL0BAL” 为标签名,“121. 236. 25. 106. 150781292069 345446”为标签名“SINAGL0BAL”的值。又例如,在HTTP请求消息的通过“通知(post) ”方法发送到服务器的字符串 “service = miniblog&client = ssologin. js % 28vl. 3. 12 % 29&entry = miniblog... ”中,“service = miniblog” 为参数,其中,“service” 为标签名, 而“miniblog”为标签名“service”的值。类似地,“client = ssologin. js% 28vl. 3. 12% 29”和“entry = miniblog”也均为参数,其中,等号左边的为标签名,而等号右边的为相应的标签名的值。
在下文中,为了描述的方便起见,仅以参数中的标签名来代表参数。例如,对于参数“client = t”,仅 以其中的标签名“client”来代表参数“client = t”。
下面,结合图2来详细说明在浏览器与万维网网站之间交互的超文本传输协议 HTTP消息序列。图2是示出对HTTP消息序列进行分析的过程的示意图。
假设用“女”代表参数;用“”代表包含参数“ * ”的HTTP请求消息;用 “#( * )”代表包含在HTTP响应消息中的参数“#”,其中参数“#”是根据参数而得到的。例如,如图2所示,输入参数203包括“a,b,c,d”四个参数,其为用户通过浏览器而输入的参数。HTTP请求消息“ (a) ”表示包含参数“a”的HTTP请求消息;相应地,“ j (a) ”表示包含在HTTP响应消息304中的参数“ j ”,其中,参数“ j ”是根据参数“a”而得到的。类似地,HTTP请求消息“ (a, b) ”表示包含参数“a,b”的HTTP请求消息;相应地,“e (a,b) ” 表示包含在HTTP响应消息205中的参数“e”,其中,参数“e”是根据参数“a,b”而得到的。 类似地,HTTP请求消息“(b,c) ”表示包含参数“b,c”的HTTP请求消息;相应地,“f (b,c) ” 表示包含在HTTP响应消息206中的参数“f”,其中,参数“f”是根据参数“b,c”而得到的。 类似地,HTTP请求消息“(e,f) ”表示包含参数“e,f”的HTTP请求消息;相应地,“m(e,f) ” 表示包含在HTTP响应消息207中的参数“m”,其中,参数“m”是根据参数“e,f”而得到的。 类似地,HTTP请求消息“(f,d) ”表示包含参数“f,d”的HTTP请求消息;相应地,“g(f,d) ”表示包含在HTTP响应消息208中的参数“g”,其中,参数“g”是根据参数“f,d”而得到的。 类似地,HTTP请求消息“(e,g) ”表示包含参数“e,g”的HTTP请求消息;相应地,“h(e,g) ” 表示包含在HTTP响应消息209中的参数“h”,其中,参数“h”是根据参数“e,g”而得到的。 然后,万维网网站将HTTP响应消息207和209返回给浏览器。
因此,如图2所示,在用户通过浏览器访问万维网网站并使用万维网网站上的基于万维网的服务期间,由HTTP消息序列“HTTP请求消息“(a) ”、HTTP响应消息204“ j (a) ”, HTTP请求消息“ (a, b) ”、HTTP响应消息“e (a,b) ”,HTTP请求消息“(b,c) ”、HTTP响应消息 206 “f (b,c) ”, HTTP 请求消息“(e,f) ”、HTTP 响应消息 207 “m(e,f) ”, HTTP 请求消息“ (f, d) ”、HTTP 响应消息 208 “g(f,d) ”, HTTP 请求消息“(e,f) ”和 HTTP 响应消息 209 “h(e, g) ””构成了浏览器与万维网网站之间的交互。
返回参考图1。在步骤102之后,该方法前进到步骤104。在步骤104,根据HTTP 消息序列中包含基于万维网的服务的结果的HTTP结果消息及其中的结果参数,分析HTTP 消息序列,以识别与HTTP结果消息关联的HTTP请求消息中的参数及其来源,以及与HTTP 结果消息关联的HTTP响应消息中的参数及其目的地。
万维网网站可以返回多个HTTP响应消息。在由万维网网站返回的多个HTTP响应消息中,有些是用户感兴趣的内容,有些不是用户感兴趣的内容。可以将用于感兴趣的内容所对应的HTTP响应消息作为HTTP结果消息,以及忽略不是用户感兴趣的内容所对应的 HTTP响应消息。另外,将HTTP结果消息中所包含的参数作为结果参数。
还是以图2为例,万维网网站可以返回HTTP响应消息207 “m(e,f) ”、和HTTP响应消息209 “h (e,g) ”。在上述HTTP响应消息207 “m(e,f) ”、和HTTP响应消息209 “h (e, g) ”中,HTTP响应消息209 “h(e,g) ”是用户感兴趣的内容,而HTTP响应消息 207 “m(e,f)”不是用户感兴趣的内容。因此,可以将HTTP响应消息209 “h(e,g) ”作为HTTP结果消息,以及忽略HTTP响应消息207 “m(e,f) ”。另外,将作为HTTP结果消息的HTTP响应消息 209 “h(e,g) ”中的参数“h”作为结果参数。
根据上文描述可知,在浏览器与万维网网站之间存在固定的HTTP消息序列。在上述HTTP消息序列的HTTP消息中,有些HTTP消息与HTTP结果消息相关联,而有些HTTP消息则与HTTP结果消息无关联。如果为得出HTTP结果消息需要依赖于某一 HTTP消息,则该 HTTP消息就是与HTTP结果消息相关联的。反之,如果为得出HTTP结果消息不需要依赖于另一 HTTP消息,则该HTTP消息就是与HTTP结果消息无关联的。如上所述,HTTP消息包括 HTTP请求消息、和HTTP响应消息。因此,与HTTP结果消息相关联的HTTP消息具体包括与 HTTP结果消息相关联的HTTP请求消息、和与HTTP结果消息相关联的HTTP响应消息。
具体地,可以通过一个HTTP消息中包含的参数与其它HTTP消息中包含的参数之间是否具有对应关系,来判断这些HTTP消息之间是否相关联。如果一个HTTP消息中包含的参数与其它HTTP消息中包含的参数之间具有对应关系,则这些HTTP消息是相关联的。反之,则这些HTTP消息之间是无关联的。例如,如果一个HTTP请求消息中的参数来源于其它 HTTP响应消息,则HTTP请求消息与其它HTTP响应消息相关联。再例如,如果一个HTTP响应消息中的参数以其它HTTP请求消息为目的地,即如果一个HTTP响应消息中的参数被作为其它HTTP请求消息中的参数,则HTTP响应消息和其它HTTP请求消息相关联。还例如, 如果一个HTTP请求消息中的参数导致其它HTTP响应消息中的参数,则HTTP请求消息与其它HTTP响应消息相关联。又例如,如果一个HTTP响应消息中的参数是根据其它HTTP请求消息中的参数而得到的,则HTTP响应消息与其它HTTP请求消息相关联。
参考图2,例如,HTTP请求消息“(e,g) ”包括两个参数“ e ”和“ g”,其中参数“ e ”来源于HTTP响应消息205 “e (a,b) ”,而参数“g”来源于HTTP响应消息208 “g(f,d) ”,因此 HTTP请求消息“(e,g) ”与HTTP响应消息205 “e (a,b) ”、HTTP响应消息208 “g (f,d) ”相关联。再例如,HTTP响应消息208 “g(f,d) ”包括参数“g”,其中参数“g”以HTTP请求消息 “(e,g) ”为目的地,即参数“g”被作为HTTP请求消息“(e,g) ”中的参数,因此HTTP响应消息208 “g (f,d) ”与HTTP请求消息“(e,g) ”相关联。还例如,HTTP请求消息“(f,d) ”包括参数“f”和“d”,其中参数“f”和“d”导致HTTP响应消息208 “g(f,d) ”中的参数“g”,因此HTTP请求消息“(f,d) ”与HTTP响应消息208 “g(f,d) ”相关联。又例如,HTTP响应消息208 “g(f,d) ”包括参数“g”,其中参数“g”是根据HTTP请求消息“(f,d) ”中的参数“f” 和“d”而得到的,因此HTTP响应消息208 “g(f,d) ”与HTTP请求消息“(f,d) ”相关联。
可以从HTTP结果消息开始,根据不同HTTP消息中的参数之间的对应关系,来识别与HTTP结果消息相关联的HTTP请求消息和HTTP响应消息。具体地,可以根据HTTP结果消息中的结果参数,识别结果参数是由哪些HTTP请求消息中的参数导致的,再识别这些HTTP 请求消息中的参数来源于哪些HTTP响应消息,然后识别这些HTTP响应消息中的参数又是由哪些HTTP请求消息中的参数导致的,如此不断循环,直至参数的来源被识别为来自浏览器或用户的输入为止。
接着参考图2,可以从作为HTTP结果消息的HTTP响应消息209 “h (e,g) ”开始,来识别与HTTP响应消息209 “h (e,g) ”相关联的HTTP消息。由于HTTP响应消息209 “h (e, g) ”包含参数“h”,其中参数“h”是根据HTTP请求消息“(e,g) ”中的参数“e”和“g”而得到的,因此HTTP响应消息209 “h (e, g) ”与HTTP请求消息“(e,g) ”相关联。
接着,从HTTP请求消息“ (e, g) ”开始,来识别与HTTP请求消息“ (e, g) ”相关联的HTTP消息。由于HTTP请求消息“ (e,g) ”包含两个参数“e”和“g”,其中参数“e”来源于 HTTP响应消息205 “e (a,b) ”,而参数“g”来源于HTTP响应消息208 “g(f,d) ”,因此HTTP 请求消息“(e,g) ”与HTTP响应消息205 “e (a,b) ”、HTTP响应消息208 “g (f,d) ”相关联。
然后,分别从HTTP响应消息205 “e (a,b) ”、HTTP响应消息208 “g (f,d) ”开始,来识别与HTTP响应消息205 “e(a,b) ”相关联的HTTP消息、与HTTP响应消息208 “g(f,d) ” 相关联的HTTP消息。由于HTTP响应消息205 “e(a,b) ”包括参数“e”,其中参数“e”是根据HTTP请求消息“ (a, b) ”中的参数“a”和“b”而得到的,因此HTTP响应消息205 “e (a,b)”与HTTP请求消息“ (a, b) ”相关联。另外,由于HTTP响应消息208 “g(f,d) ”包括参数 “g”,其中参数“g ”是根据HTTP请求消息“(f,d) ”中的参数“f ”和“d”而得到的,因此HTTP 响应消息208 “g (f,d) ”与HTTP请求消息“(f,d) ”相关联。
接着,分别从HTTP请求消息“ (a, b) ”、HTTP请求消息“(f,d) ”开始,来识别与HTTP 请求消息“ (a,b) ”相关联的HTTP消息、与HTTP请求消息“(f,d) ”相关联的HTTP消息。由于HTTP请求消息“(a,b) ”包括参数“a”和“b”,其中参数“a”和“b”都是来源于浏览器或用户的输入,因此没有与HTTP请求消息“(a,b) ”相关联的HTTP消息,从而结束根据参数 “a”和“b”所进行的识别。由于HTTP请求消息“(f,d)”包括参数“f”和“d”,其中参数“f” 来源于HTTP响应消息206 “f (b,c) ”,而参数“d”来源于浏览器或用户的输入,因此HTTP请求消息“(f,d) ”与HTTP响应消息206 “f (b,c) ”相关联,另外结束根据参数“d”所进行的识别。
接着,从HTTP响应消息206 “ f (b,c) ”开始,来识别与HTTP响应消息206 “ f (b, c) ”相关联的HTTP消息。由于HTTP响应消息206 “f (b,c) ”包括参数“f”,其中参数“f”是根据HTTP请求消息“(b,c) ”中的参数“b”和“c”而得到的,因此HTTP响应消息206 “f (b, c) ”与HTTP请求消息“(b,c) ”相关联。
接着,从HTTP请求消息“(b,c) ”开始,来识别与HTTP请求消息“(b,c) ”相关联的 HTTP消息。由于HTTP请求消息“(b,c) ”包括参数“b”和“c”,其中参数“b”和“c”都是来源于浏览器或用户的输入,因此没有与HTTP请求消息“ (b,c) ”相关联的HTTP消息,从而结束根据参数“b”和“c”所进行的识别。
由此可见,与HTTP结果消息关联的HTTP请求消息中的参数的来源包括浏览器、和与HTTP结果消息关联的HTTP响应消息。例如,在图2的示例中,HTTP请求消息“(a,b) ”中的参数“a”和“b”来自于浏览器;而HTTP请求消息“ (e, f) ”中的参数“e”和“f”分别来自于与作为HTTP结果消息的HTTP响应消息209“h(e,g) ”相关联的HTTP响应消息205“e(a,b)”、HTTP响应消息206 “f (b,c) ”另外,与HTTP结果消息关联的HTTP响应消息中的参数的目的地包括浏览器、和与HTTP结果消息关联的HTTP请求消息。例如,在图2的示例中, 作为HTTP结果消息的HTTP响应消息209 “h(e,g) ”中的参数“h”的目的地为浏览器;而 HTTP响应消息206 “f (b,c) ”中的参数“f”的目的地是HTTP请求消息“g(f,d) ”。
因此,从浏览器与万维网网站之间的HTTP消息序列“HTTP请求消息“(a) ”、HTTP 响应消息204“ j (a) ”,HTTP请求消息“ (a,b) ”、HTTP响应消息“e (a,b) ”,HTTP请求消息“(b, c)”、HTTP 响应消息 206 “f (b,c) ”,HTTP 请求消息“(e,f) ”、HTTP 响应消息 207 “m(e,f) ”, HTTP 请求消息“(f,d) ”、HTTP 响应消息 208 “g(f,d) ”,HTTP 请求消息“(e,f) ”、HTTP 响应消息209 “h(e,g) ””中,可以识别出为得出作为HTTP结果消息的HTTP响应消息209 “h(e,g)”所需要依赖的以下HTTP请求消息和HTTP响应消息HTTP请求消息“(a,b) ”、HTTP响应消息“e(a,b) ”,HTTP请求消息“(b,c) ”、HTTP响应消息206 “f (b,c) ”,HTTP请求消息 “ (f, d) ”、HTTP响应消息208 “g(f,d) ”,HTTP请求消息“ (e, f) ”。因此,在图2的示例中, “HTTP请求消息“ (a, b) ”、HTTP响应消息“e (a,b) ”,HTTP请求消息“(b,c) ”、HTTP响应消息206“f (b,c) ”, HTTP 请求消息“(f,d) ”、HTTP 响应消息 208 “g(f,d) ”, HTTP 请求消息“(e,f)””都是与作为HTTP结果消息的HTTP响应消息209 “h (e, g) ”相关联的HTTP消息。另一方面,在图2的示例中,为得出作为HTTP结果消息的HTTP响应消息209 “h(e,g) ”,不需要依赖于“HTTP请求消息“ (a) ”、HTTP响应消息204 “ j (a),,,,,因此“HTTP请求消息“ (a) ”、 HTTP响应消息204 “ j (a) ””是与作为HTTP结果消息的HTTP响应消息209 “h (e, g) ”无关联的HTTP消息。
返回参考图1。在步骤104之后,该方法前进到步骤106。在步骤106,按照HTTP 消息序列中记录的顺序,将与HTTP结果消息关联的HTTP请求消息和HTTP响应消息的序列封装成Web服务,其中,Web服务的输入参数包括来源于浏览器的参数,而Web服务的输出参数包括HTTP结果消息中的结果参数。
如上所述,在浏览器与万维网网站之间的交互是按照一系列固定的HTTP消息的顺序来进行的。换言之,从浏览器接收用户输入的输入参数开始,由浏览器根据输入参数向万维网网站发出HTTP请求消息。万维网网站接收到HTTP请求消息后生成HTTP响应消息, 这些HTTP响应消息可以返回给浏览器,也可以作为其它HTTP请求消息中的参数的来源而进一步发出其它HTTP请求消息,不断重复该过程直至得到与用户感兴趣内容对应的HTTP 结果消息。最后,万维网网站将HTTP结果消息返回给浏览器。
另外,根据上述步骤104已经从浏览器与万 维网网站之间交互的HTTP消息序列中识别出了与HTTP结果消息相关联的HTTP请求消息和HTTP响应消息的序列。可以将这些与HTTP结果消息相关联的HTTP请求消息和HTTP响应消息称为关键的HTTP消息(HTTP请求消息和HTTP响应消息),而将与HTTP结果消息无关联的HTTP请求消息和HTTP响应消息称为无用的HTTP消息(HTTP请求消息和HTTP响应消息)。在识别出关键的HTTP消息之后,可以将关键的HTTP消息按照其在原始的固定的HTTP消息序列中的顺序连接起来,从而形成从浏览器的输入参数到万维网网站的HTTP结果消息中的结果参数之间的关键路径, 进而可将该关键路径封装成Web服务。该Web服务的输入参数包括来源于浏览器或用户输入的参数,而该Web服务服务的输出参数包括HTTP结果消息中的结果参数。
由于可以将包括关键的HTTP消息的关键路径封装成Web服务,将来源于浏览器或用户输入的参数作为输入参数,并将HTTP结果消息中的结果参数作为输出参数,因此可以在不修改现有系统的情况下,通过模拟现有的基于万维网的服务而将其转换成Web服务, 从而可以节省大量的人力物力,而且易于实现和应用。另外,由于转换后的Web服务中仅包括关键的HTTP消息,而排除了无用的HTTP消息,因此转换后的Web服务的运行效率可以得到了显著提高。
结合图3来具体说明将HTTP消息序列的分析结果封装成Web服务的过程。图3 是示出将HTTP消息序列的分析结果封装成Web服务的过程的示意图。
如图3所示,接收到来自浏览器或用户输入的参数“a,b,c,d”之后,可以根据参数 “a”发出HTTP请求消息“ (a) ”,根据参数“a”和“b”发出HTTP请求消息“ (a, b) ”,根据参数 “b”和“c”发出HTTP请求消息“(b,c) ”。在接收到HTTP请求消息“ (a) ”、“ (a, b) ”和“(b, c) ”后,可以根据HTTP请求消息“ (a) ”生成HTTP响应消息204 “ j (a) ”,根据HTTP请求消息“ (a, b) ”生成HTTP响应消息205 “e (a,b) ”,根据HTTP请求消息“(b,c) ”生成HTTP响应消息206 “f (b,c) ”。其中,HTTP响应消息204 “ j (a) ”可以返回给浏览器,HTTP响应消息205 “e (a,b) ”和HTTP响应消息206 “f (b,c) ”可以分别作为HTTP请求消息“(e,f) ”中的参数“e”和“f”的来源而进一步发出HTTP请求消息“(e,f) ”,HTTP响应消息206 “f (b, c) ”和浏览器可以分别作为HTTP请求消息“(f,d) ”中的参数“f”和“d”的来源而进一步发出HTTP请求消息“(f,d) ”。然后,可以根据HTTP请求消息“(e,f) ”生成HTTP响应消息207“m(e,f) ”,根据 HTTP 请求消息“(f,d) ”生成 HTTP 响应消息 208 “g(f,d) ”。其中,HTTP 响应消息207 “m(e,f) ”可以返回给浏览器,另外HTTP响应消息205 “e(a,b) ”和HTTP响应消息208 “g(f,d) ”可以分别作为HTTP请求消息HTTP请求消息“(e,g) ”中的参数“e” 和“g”的来源而进一步发出HTTP请求消息“(e,g)”。然后,可以根据HTTP请求消息“(e,g)”生成HTTP响应消息209。最后,可以将HTTP响应消息209作为HTTP结果消息返回给浏览器。
另外,根据上述步骤104,从浏览器与万维网网站之间的HTTP消息序列“HTTP请求消息“ (a) ”、HTTP 响应消息 204 “ j (a) ”,HTTP 请求消息“ (a, b) ”、HTTP 响应消息“e (a,b) ”,HTTP 请求消息“(b,c) ”、HTTP 响应消息 206 “f (b,c) ”,HTTP 请求消息“(e,f) ”、HTTP 响应消息 207 “m(e,f) ”, HTTP 请求消息“(f,d) ”、HTTP 响应消息 208 “g(f,d) ”, HTTP 请求消息 “(e,f) ”、HTTP响应消息209 “h (e,g) ””中,可以识别出以下关键的HTTP消息=HTTP请求消息 “ (a, b) ”、HTTP 响应消息 “e (a,b) ”,HTTP 请求消息 “(b,c) ”、HTTP 响应消息 206 “f (b,c)”,HTTP 请求消息 “(f,d) ”、HTTP 响应消息 208 “g (f,d) ”,HTTP 请求消息 “(e,f) ” ;另外可以识别出以下无用的HTTP消息=HTTP请求消息“ (a) ”、HTTP响应消息204 “ j (a) ”, HTTP 请求消息“ (e,f) 'HTTP响应消息207 “m(e,f) ”。然后,如图3中的虚线框所示,将关键的 HTTP消息按照虚线框内所示的“(HTTP请求消息“(a,b) ” 一 HTTP响应消息“e (a,b) ”,HTTP 请求消息 “(b,c) ” — HTTP 响应消息 206 “f (b,c) ” — HTTP 请求消息 “(f,d) ” — HTTP 响应消息208 “g(f,d),,)一 HTTP请求消息“(e,f) ” — HTTP响应消息“h(e,f) ””的顺序连接起来,从而形成从输入参数“a,b,c,d”到HTTP结果消息209中的结果参数“h”之间的关键路径,进而可将该关键路径封装成Web服务300。该Web服务300的输入参数包括来源于浏览器或用户输入的参数“a,b,c,d”,而该Web服务300的输出参数包括HTTP结果消息 209中的结果参数“h”。
本领域技术人员应该理解,图2和图3中的 HTTP消息、参数及其之间的顺序和关联关系等仅是示例性的,还可以采用其它的HTTP消息、参数及其之间的顺序和关联关系坐寸ο
最后,该方法在步骤108处结束。
下面,根据图4来详细说明获得HTTP消息序列的一个实施例。图4示出根据本发明的一个实施例的获得HTTP消息序列的处理的流程图。
如图4所示,在步骤402,为用户中的每个用户生成相应的线程标记。
当用户通过浏览器访问万维网网站上的基于万维网的服务时,浏览器可以为不同的用户生成不同的线程标记。每个线程标记对应于一位用户,从而可以根据线程标记来区分不同用户的HTTP消息序列。
接着,在步骤404,将线程标记插入相应的用户在浏览器和万维网网站之间交互的 HTTP消息中。
在步骤402为不同的用户生成不同的线程标记之后,浏览器可以将生成的线程标记插入到相应的用户在浏览器和万维网网站之间交互的HTTP消息中。具体地,可以通过浏览器插件来实现线程标记到HTTP消息的插入。本领域技术人员可以理解,还可以采用其它的方式来实现线程标记到HTTP消息的插入。然后,浏览器将插入了线程标记的HTTP消息发送给万维网网站。
接着,在步骤406,根据线程标记来分别记录用户中的每个用户在浏览器和万维网网站之间交互的HTTP消息序列。
可以在浏览器与万维网网站之间设置代理服务器,该代理服务器接收浏览器发送的HTTP消息并转发给万维网网站,以及该代理服务器接收万维网网站返回的HTTP消息并转发给浏览器。代理服务器在接收到浏览器发送的HTTP消息或者万维网网站返回的HTTP 时,根据HTTP消息中所携带的线程标记,判断该HTTP消息所属的用户,然后将该HTTP消息记录到其所属的用户的HTTP消息序列中。
最后,该方法在步骤408处结束。
根据本实施例,本发明可以支持多用户,从而可以显著提高系统的处理能力,并且可以扩大本发明的应用领域。
下面结合图5和图6来详细说明标注HTTP结果消息中的基于万维网服务的结果的处理的具体过程。图5示出根据本发明的一个实施例的标注HTTP结果消息中的基于万维网服务的结果的处理的流程图;图6是示出标注HTTP结果消息中的基于万维网服务的结果的过程的示意图。
如图5所示,在步骤502,接收用户在HTTP结果消息中指定并发送的基于万维网的服务的结果。
在万维网网站返回给浏览器的HTTP结果消息中可以存在多个内容,其中有些内容是用户感兴趣的内容,即是用户访问万维网网站上的基于万维网的服务所希望获得的结果;而有些则不是用户感兴趣的内容。用户可以在HTTP结果消息所包含的多个内容中指定或标注用户所感兴趣的内容,即指定或标注用户所希望获得的基于万维网的服务的结果。 可以通过各种方式来指定或标注用户所希望获得的结果,例如可以通过浏览器插件来实现上述指定或标注功能。在用户指定或标注了其所希望获得的基于万维网的服务的结果之后,可以将所指定或标注的基于万维网服务的结果发送给设置在浏览器与万维网网站之间的代理服务器。代理服务器可以接收并保存用户发送的由用户指定或标注的基于万维网服务的结果。替选地,可以在用户发送给代理服务器的由用户指定或标注的基于万维网服务的结果中插入线程标签,代理服务器在接收到用户发送的由用户指定或标注的基于万维网服务的结果之后,根据其中携带的线程标签将其分别保存到线程标记所属的用户的存储位置中。
下面,结合图6来说明通过浏览器插件来指定或标准HTTP结果消息中的基于万维网服务的结果的过程。在万维网网站返回给浏览器的HTTP结果消息的显示页面602上显示有多个内容,例如,指示基于万维网的服务类型的类型标识603 (在本示例中为“翻译” 服务),原始语言字符串604 (在本示例中为英文字符串“go home”),以及目标语言字符串 606(在本示例中为中文字符串“回家”)等。浏览器插件可以检测指针(未示出)在页面 602上的位置。当用户将指针(未示出)放置在页面602上的内容附近时,浏览器插件可以根据检测到的指针位置,将在检测到的指针位置附近的 内容指定或标注为用户感兴趣的基于万维网的服务的结果。例如,当用户将指针(未示出)放置在目标语言字符串606(在本示例中为中文字符串“回家”)附近时,浏览器插件可以将目标语言字符串606(在本示例中为中文字符串“回家”)指定或标注为用户感兴趣的基于万维网的服务的结果,并且可以用方框将目标语言字符串606(在本示例中为中文字符串“回家”)包围起来,以表示已经指定或标注了基于万维网的服务的结果。
在已经指定或标注了基于万维网的服务的结果之后,浏览器插件可以弹出一个对话框608。在对话框608中可以显示之前已经指定或标注的基于万维网的服务的结果,例如,在本示例中为中文字符串“回家”614。在对话框608中,还可以显示“发送标注”按钮 610、和“不发送”按钮612。当用户点击“发送标注”按钮610时,可以将已经指定或标注的基于万维网的服务的结果(在本示例中为中文字符串“回家”614)发送给设置在浏览器与万维网网站之间的代理服务器。如果用户点击“不发送”按钮612,则不发送已经指定或标注的基于万维网的服务的结果(在本示例中为中文字符串“回家”614)。
本领域技术人员应当理解,浏览器插件还可以采用其它的具体实现方式来实现, 只要其能够指定或标注基于万维网的服务的结果、并能够将已经指定或标注的基于万维网的服务的结果发送给代理服务器即可。
接着,在步骤504,提取结果参数在HTTP结果消息中的位置信息。
代理服务器在接收了由浏览器发送的由用户指定或标注的基于万维网的服务的结果之后,可以根据该结果所对应的结果参数,在HTTP结果消息中提取该结果参数的位置信息。根据所提取的结果参数的位置信息可以准确地在HTTP结果消息中找到结果参数。例如,该位置信息可以为结果参数在HTTP结果消息中的路径信息,例如相对路径信息、或绝对路径彳目息等。
最后,该方法在步骤506结束。
根据本实施例,用户可以很容易指定或标注基于万维网的服务的结果,并且能够很容易在HTTP结果消息中定位结果参数的位置。
下面结合图7来详细说明调用所封装的Web服务的处理的一个实施例。图7示出根据本发明的一个实施例的调用所封装的Web服务的处理的流程图。
如图7所示,在步骤702,接收对Web服务的调用,其中,对Web服务的调用的输入参数包括来源于浏览器的参数。
还是以图3为例,当其它系统需要调用所封装的Web服务300时,为Web服务300 的输入参数“a,b,c,d”分别提供新的参数值。
接着,在步骤704,通过根据当前来源的参数来更新与HTTP结果消息关联的HTTP 请求消息中的参数,按照HTTP消息序列中记录的顺序,重复与HTTP结果消息关联的HTTP 请求消息和HTTP响应消息的序列,直到获得当前的HTTP结果消息。
接着图3的示例,根据输入参数“a,b,c”的当前参数值,分别更新HTTP请求消息 “ (a,b) ”、“b,c”中的参数,进而得至Ij HTTP响应消息205“e(a,b) ”、HTTP响应消息206 “f(b, c)”中的参数的当前值;根据输入参数“d”的当前参数值、和HTTP响应消息206 “f (b,c) ” 中的参数的当前值分别更新HTTP请求消息“(f,d) ”中的参数,进而得到HTTP响应消息208“g(f,d) ”中的参数的当前值;根据HTTP响应消息205 “e(a,b) ”、HTTP响应消息208 中的参数的当前值,分别更新HTTP请求消息“(e,g) ”中的参数,进而得到HTTP响应消息209“h(e,g) ”中的参数的当前值,即,最终获得了 HTTP结果消息中的参数的当前值。
接着,在步骤706,将当前的HTTP结果消息中的结果参数返回给调用Web服务的调用方。
接着图3的示例,将HTTP响应消息209 “h(e,g) ”中的参数的当前值返回给Web 服务的调用方。
最后,该方法在步骤708处结束。
由此可见,参数中的标签名的值可以由以下至少之一指定浏览器、Cookie、和其它HTTP响应消息。例如,在图3的示例中,参数“a,b,c,d”的值可以由来自浏览器的用户输入来指定、或者由Cookie中存储的值来指定;而HTTP请求消息“e,g”中的参数“e”和 “g”的值分别由HTTP请求消息205 “e (a,b) ”和HTTP响应消息208 “g (f,d) ”来指定。
根据本实施例,在将基于万维网的服务转换成Web服务之后,可以由其它系统来任意调用该Web服务,从而将面向用户的服务转换成机器对机器的服务。
下面结合图8A来详细说明根据本发明的一个实施例的将基于万维网的服务转换成Web服务的设备的配置。图8A示出根据本发明的一个实施例的将基于万维网的服务转换成Web服务的设备的框图。将基于万维网的服务转换成Web服务的设备800包括获得装置802,用于获得用户通过浏览器访问万维网网站的基于万维网的服务期间在浏览器与万维网网站之间交互的超文本传输协议HTTP消息序列;分析装置804,用于根据HTTP消息序列中包含基于万维网的服务的结果的HTTP结果消息及其中的结果参数,分析HTTP消息序列,以识别与HTTP 结果消息关联的HTTP请求消息中的参数及其来源,以及与HTTP结果消息关联的HTTP响应消息中的参数及其目的地;以及封装装置806,用于按照HTTP消息序列中记录的顺序,将与 HTTP结果消息关联的HTTP请求消息和HTTP响应消息的序列封装成Web服务,其中,Web服务的输入参数包括来源于浏览器的参数,而Web服务的输出参数包括HTTP结果消息中的结果参数。
需要指出的是,在与装置有关的实施例中所涉及的相关术语或表述与以上对根据本发明的实施例的方法的实施例阐述中所使用的术语或表述对应,在此不再赘述。
图9示出根据本发明的一个实施例的用于获得HTTP消息序列的获得装置的框图。 如图9所示,获得装置802包括生成装置902,用于为用户中的每个用户生成相应的线程标记;插入装置904,用于将线程标记插入相应的用户在浏览器和万维网网站之间交互的 HTTP消息中;以及记录装置906,用于根据线程标记来分别记录用户中的每个用户在浏览器和万维网网站之间交互的HTTP消息序列。
图10示出根据本发明的一个实施例的用于分析HTTP消息序列的分析装置的框图。如图10所示,分析装置804包括接收结果装置1002,用于接收用户在HTTP结果消息中指定并发送的基于万维网的服务的结果;以及提取装置1004,用于提取结果参数在HTTP 结果消息中的位置信息。
图SB示出根据本发明的另一实施例的将基于万维网的服务转换成Web服务的设备的框图。如图8B所示,将基于万维网的服务转换成Web服务的设备800’包括获得装置802,用于获得用户通过浏览器访问万维网网站的基于万维网的服务期间在浏览器与万维网网站之间交互的超文本传输协议HTTP消息序列;分析装置804,用于根据HTTP消息序列中包含基于万维网的服务的结果的HTTP结果消息及其中的结果参数,分析HTTP消息序列,以识别与HTTP结果消息关联的HTTP请求消息中的参数及其来源,以及与HTTP结果消息关联的HTTP响应消息中的参数及其目的地;封装装置806,用于按照HTTP消息序列中记录的顺序,将与HTTP结果消息关联的HTTP请求消息和HTTP响应消息的序列封装成Web服务,其中,Web服务的输入参数包括来源于浏览器的参数,而Web服务的输出参数包括HTTP 结果消息中的结果参数;接收调用装置808,用于接收对Web服务的调用,其中,对Web服务的调用的输入参数包括来源于浏览器的参数;重复装置810,用于通过根据当前来源的参数来更新与HTTP结果消息关联的HTTP请求消息中的参数,按照HTTP消息序列中记录的顺序,重复与HTTP结果消息关联的HTTP请求消息和HTTP响应消息的序列,直到获得当前的 HTTP结果消息;以及返回装置812,用于将当前的HTTP结果消息中的结果参数返回给调用 Web服务的调用方。
上述图8至图10中的各个装置例如可以被配置成按照相应方法中的相应步骤的工作方式来操作。细节参见上述针对根据本申请的实施例的方法所阐述的实施例。在此不再赘述。
本领域技术人员理解,在上面描述的根据本发明各实施例的收据图像处理方法中的各步骤或者收据图像处理装置中的各功能装置,可以根据实际需要进行任意的组合,即, 一个收据图像处理方法实施例中的处理步骤可以与其它收据图像处理方法实施例中的处理步骤进行组合,或者,一个收据图像处理设备实施例中的功能装置可以与其它收据图像处理设备实施例中的功能装置进行组合,以便实现所期望的技术目的。
此外,本申请的实施例还提出了一种程序产品,该程序产品承载机器可执行的指令,当在信息处理设备上执行指令时,指令使得信息处理设备执行根据上述本发明的实施例的将基于万维网的服务转换成Web服务的方法。
此外,本申请的实施例还提出了一种存储介质,该存储介质包括机器可读的程序代码,当在信息处理设备上执行程序代码时,程序代码使得所述信息处理设备执行根据上述本发明的实施例的将基于万维网的服务转换成Web服务的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的公开中。存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
根据本发明的实施例的将基于万维网的服务转换成Web服务的设备及其各个组成部件可通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的信息处理设备(例如图11所示的通用计算机1600)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
在图11中,中央处理单元(CPU) 1601根据只读存储器(ROM) 1602中存储的程序或从存储部分1608加载到随机存取存储器(RAM) 1603的程序执行各种处理。在RAM 1603中, 也根据需要存储当CPU 1601执行各种处理等等时所需的数据。CPU 160KROM 1602和R AM 1603经由总线1604彼此连接。输入/输出接口 1605也连接到总线1604。
下述部件连接到输入/输出接口 1605 :输入部分1606(包括键盘、鼠标等等)、输出部分1607(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1608 (包括硬盘等)、通信部分1609 (包括网络接口卡比如LAN卡、调制解调器等)。 通信部分1609经由网络比如因特网执行通信处理。根据需要,驱动器1610也可连接到输入/输出接口 1605。可拆卸介质1611比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器1610上,使得从中读出的计算机程序根据需要被安装到存储部分1608中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1611安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图11所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1611。可拆卸介质1611的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(⑶-ROM)和数字通用盘 (DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是 ROM 1602、存储部分1608中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
指令代码由机器读取并执行时,可执行上述根据本发明实施例的方法。
最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。此外,在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。再者,由措辞“第一”,“第二”,“第三”等等限定的技术特征或者参数,并不因为这些措辞的使用而具有特定的顺序或者优先级或者重要性程度。换句话说,这些措辞的使用只是为了区分或识别这些技术特征或者参数而没有任何其他的限定含义。
通过以上的描述不难看出,本发明的实施例提供的技术方案包括但不限于
附记1. 一种将基于万维网的服务转换成Web服务的方法,包括
获得用户通过浏览器访问万维网网站的基于万维网的服务期间在所述浏览器与所述万维网网站之间交互的超文本传输协议HTTP消息序列;
根据所述HTTP消息序列中包含所述基于万维网的服务的结果的HTTP结果消息及其中的结果参数,分析所述HTTP消息序列,以识别与所述HTTP结果消息关联的HTTP请求消息中的参数及其来源,以及与所述HTTP结果消息关联的HTTP响应消息中的参数及其目的地;以及
按照所述HTTP消息序列中记录的顺序,将与所述HTTP结果消息关联的所述HTTP 请求消息和所述HTTP响应消息的序列封装成所述Web服务,其中,所述Web服务的输入参数包括来源于所述浏览器的参数,而所述Web服务的输出参数包括所述HTTP结果消息中的结果参数。
附记2.根据附记I所述的方法,其中,所述获得步骤包括
为所述用户中的每个用户生成相应的线程标记;
将所述线程标记插入相应的用户在所述浏览器和所述万维网网站之间交互的 HTTP消息中;以及
根据所述线程标记来分别记录所述用户中的每个用户在所述浏览器和所述万维网网站之间交互的HTTP消息序列。
附记3.根据附记I所述的方法,其中,所述分析步骤包括
接收用户在所述HTTP结果消息中指定并发送的所述基于万维网的服务的结果; 以及
提取所述结果参数在所述HTTP结果消息中的位置信息。
附记4.根据附记3所述的方法,还包括以下步骤
接收对所述Web服务的调用,其中,对所述Web服务的调用的输入参数包括来源于所述浏览器的参数;
通过根据当前来源的参数来更新与所述HTTP结果消息关联的所述HTTP请求消息中的参数,按照所述HTTP消息序列中记录的顺序,重复与所述HTTP结果消息关联的所述 HTTP请求消息和所述HTTP响应消息的序列,直到获得当前的HTTP结果消息;以及
将所述当前的HTTP结果消息中的结果参数返回给调用所述Web服务的调用方。
附记5.根据附记4所述的方法,其中,所述返回步骤包括
根据所述位置信息,从所述当前的HTTP结果消息中获取所述当前的HTTP结果消息中的结果参数。
附记6.根据附记1-5中任一项所述的方法,其中,
与所述HTTP结果消息关联的所述HTTP请求消息中的参数的来源包括浏览器、和与所述HTTP结果消息关联的所述HTTP响应消息;以及
与所述HTTP结果消息关联的所述HTTP响应消息中的参数的目的地包括浏览器、 和与所述HTTP结果消息关联的所述HTTP请求消息。
附记7.根据附记1-5中任一项所述的方法,其中,所述参数为所述HTTP消息中的标签名及其值的对,所述标签名的值由以下至少之一指定浏览器、Cookie、和其它HTTP响应消息。
附记8. —种将基于万维网的服务转换成Web服务的设备,包括
获得装置,用于获得用户通过浏览器访问万维网网站的基于万维网的服务期间在所述浏览器与所述万维网网站之间交互的超文本传输协议HTTP消息序列;
分析装置,用于根据所述HTTP消息序列中包含所述基于万维网的服务的结果的 HTTP结果消息及其中的结果参数,分析所述HTTP消息序列,以识别与所述HTTP结果消息关联的HTTP请求消息中的参数及其来源,以及与所述HTTP结果消息关联的HTTP响应消息中的参数及其目的地;以及
封装装置,用于按照所述HTTP消息序列中记录的顺序,将与所述HTTP结果消息关联的所述HTTP请求消息和所述HTTP响应消息的序列封装成所述Web服务,其中,所述Web 服务的输入参数包括来源于所述浏览器的参数,而所述Web服务的输出参数包括所述HTTP 结果消息中的结果参数。
附记9.根据附记8所述的设备,其中,所述获得装置包括
生成装置,用于为所述用户中的每个用户生成相应的线程标记;
插入装置,用于将所述线程标记插入相应的用户在所述浏览器和所述万维网网站之间交互的HTTP消息中;以及
记录装置,用于根据所述线程标记来分别记录所述用户中的每个用户在所述浏览器和所述万维网网站之间交互的HTTP消息序列。
附记10.根据附记8所述的设备,其中,所述分析装置包括
接收结果装置,用于接收用户在所述HTTP结果消息中指定并发送的所述基于万维网的服务的结果;以及
提取装置,用于提取所述结果参数在所述HTTP结果消息中的位置信息。
附记11.根据权利要求10所述的设备,还包括
接收调用装置,用于接收对所述Web服务的调用,其中,对所述Web服务的调用的输入参数包括来源于所述浏览器的参数;
重复装置,用于通过根据当前来源的参数来更新与所述HTTP结果消息关联的所述HTTP请求消息中的参数,按照所述HTTP消息序列中记录的顺序,重复与所述HTTP结果消息关联的所述HTTP请求消息和所述HTTP响应消息的序列,直到获得当前的HTTP结果消息;以及
返回装置,用于将所述当前的HTTP结果消息中的结果参数返回给调用所述Web服务的调用方。
附记12.根据附记11所述的设备,其中,所述返回装置包括
获取装置,用于根据所述位置信息,从所述当前的HTTP结果消息中获取所述当前的HTTP结果消息中的结果参数。
附记13.根据附记8-12中任一项所述的设备,其中,
与所述HTTP结果消息关联的所述HTTP请求消息中的参数的来源包括浏览器、和与所述HTTP结果消息关联的所述HTTP响应消息;以及
与所述HTTP结果消息关联的所述HTTP响应消息中的参数的目的地包括浏览器、 和与所述HTTP结果消息关联的所述HTTP请求消息。
附记14.根据附记8-12中任一项所述的设备,其中,所述参数为所述HTTP消息中的标签名及其值的对,所述标签名的值由以下至少之一指定浏览器、Cookie、和其它HTTP 响应消息。
附记15. —种程序产品,该程序产品承载机器可执行的指令,当在信息处理设备上执行所述指令时,所述指令使得所述信息处理设备执行如附记1-7中任一项所述的将基于万维网的服务转换成Web服务的方法。
附记16. —种存储介质,该存储介质包括机器可读的程序代码,当在信息处理设备上执行所述程序代码时,所述程序代码使得所述信息处理设备执行如附记1-7中任一项所述的将基于万维网的服务转换成Web服务的方法。
以上虽然结合附图详细描述了本发明的实施例,但是应当明白,上面所描述的实施方式只是用于说明本发明,而并不构成对本发明的限制。对于本领域的技术人员来说,可以对上述实施方式作出各种修改和变更而没有背离本发明的实质和范围。因此,本发明的范围仅由所 附的权利要求及其等同含义来限定。
权利要求
1.一种将基于万维网的服务转换成Web服务的方法,包括获得用户通过浏览器访问万维网网站的基于万维网的服务期间在所述浏览器与所述万维网网站之间交互的超文本传输协议HTTP消息序列;根据所述HTTP消息序列中包含所述基于万维网的服务的结果的HTTP结果消息及其中的结果参数,分析所述HTTP消息序列,以识别与所述HTTP结果消息关联的HTTP请求消息中的参数及其来源,以及与所述HTTP结果消息关联的HTTP响应消息中的参数及其目的地; 以及按照所述HTTP消息序列中记录的顺序,将与所述HTTP结果消息关联的所述HTTP请求消息和所述HTTP响应消息的序列封装成所述Web服务,其中,所述Web服务的输入参数包括来源于所述浏览器的参数,而所述Web服务的输出参数包括所述HTTP结果消息中的结果参数。
2.根据权利要求1所述的方法,其中,所述获得步骤包括为所述用户中的每个用户生成相应的线程标记;将所述线程标记插入相应的用户在所述浏览器和所述万维网网站之间交互的HTTP消息中;以及根据所述线程标记来分别记录所述用户中的每个用户在所述浏览器和所述万维网网站之间交互的HTTP消息序列。
3.根据权利要求1所述的方法,其中,所述分析步骤包括接收用户在所述HTTP结果消息中指定并发送的所述基于万维网的服务的结果;以及提取所述结果参数在所述HTTP结果消息中的位置信息。
4.根据权利要求1-3中任一项所述的方法,其中,与所述HTTP结果消息关联的所述HTTP请求消息中的参数的来源包括浏览器、和与所述HTTP结果消息关联的所述HTTP响应消息;以及与所述HTTP结果消息关联的所述HTTP响应消息中的参数的目的地包括浏览器、和与所述HTTP结果消息关联的所述HTTP请求消息。
5.根据权利要求1-3中任一项所述的方法,其中,所述参数为所述HTTP消息中的标签名及其值的对,所述标签名的值由以下至少之一指定浏览器、Cookie、和其它HTTP响应消肩、O
6.一种将基于万维网的服务转换成Web服务的设备,包括获得装置,用于获得用户通过浏览器访问万维网网站的基于万维网的服务期间在所述浏览器与所述万维网网站之间交互的超文本传输协议HTTP消息序列;分析装置,用于根据所述HTTP消息序列中包含所述基于万维网的服务的结果的HTTP 结果消息及其中的结果参数,分析所述HTTP消息序列,以识别与所述HTTP结果消息关联的 HTTP请求消息中的参数及其来源,以及与所述HTTP结果消息关联的HTTP响应消息中的参数及其目的地;以及封装装置,用于按照所述HTTP消息序列中记录的顺序,将与所述HTTP结果消息关联的所述HTTP请求消息和所述HTTP响应消息的序列封装成所述Web服务,其中,所述Web服务的输入参数包括来源于所述浏览器的参数,而所述Web服务的输出参数包括所述HTTP结果消息中的结果参数。
7.根据权利要求6所述的设备,其中,所述获得装置包括生成装置,用于为所述用户中的每个用户生成相应的线程标记;插入装置,用于将所述线程标记插入相应的用户在所述浏览器和所述万维网网站之间交互的HTTP消息中;以及记录装置,用于根据所述线程标记来分别记录所述用户中的每个用户在所述浏览器和所述万维网网站之间交互的HTTP消息序列。
8.根据权利要求6所述的设备,其中,所述分析装置包括接收结果装置,用于接收用户在所述HTTP结果消息中指定并发送的所述基于万维网的服务的结果;以及提取装置,用于提取所述结果参数在所述HTTP结果消息中的位置信息。
9.根据权利要求6-8中任一项所述的设备,其中,与所述HTTP结果消息关联的所述HTTP请求消息中的参数的来源包括浏览器、和与所述HTTP结果消息关联的所述HTTP响应消息;以及与所述HTTP结果消息关联的所述HTTP响应消息中的参数的目的地包括浏览器、和与所述HTTP结果消息关联的所述HTTP请求消息。
10.根据权利要求6-8中任一项所述的设备,其中,所述参数为所述HTTP消息中的标签名及其值的对,所述标签名的值由以下至少之一指定浏览器、Cookie、和其它HTTP响应消
全文摘要
本申请提供一种将基于万维网的服务转换成Web服务的方法和设备,该方法包括获得用户通过浏览器访问万维网网站的基于万维网的服务期间在浏览器与万维网网站之间交互的超文本传输协议HTTP消息序列;根据HTTP消息序列中包含基于万维网的服务的结果的HTTP结果消息及其中的结果参数,分析HTTP消息序列,以识别与HTTP结果消息关联的HTTP请求消息中的参数及其来源,以及与HTTP结果消息关联的HTTP响应消息中的参数及其目的地;以及按照HTTP消息序列中记录的顺序,将与HTTP结果消息关联的HTTP请求消息和HTTP响应消息的序列封装成Web服务,其中,Web服务的输入参数包括来源于浏览器的参数,而Web服务的输出参数包括HTTP结果消息中的结果参数。
文档编号H04L29/08GK103023947SQ20111030575
公开日2013年4月3日 申请日期2011年9月23日 优先权日2011年9月23日
发明者邹纲, 皮冰锋, 王主龙, 粂照宣, 张军, 钟朝亮, 李绍明, 于浩, 松尾昭彦 申请人:富士通株式会社