CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

使用 HTTP/POST 进行 Internet/分布式计算

作者: Xuan Shi ,  出处:developerWorks 中国 , 责任编辑: 叶江, 
2006-07-04 16:13
  许多关于语义 Web 服务的研究都侧重于将服务聚合流程作为服务语义的一部分进行建模和描述。本文说明了 Web 服务聚合流程的建模不应作为语义服务描述框架的一部分,因为服务请求程序没有任何兴趣、关系或责任来处理此类过程。

  许多关于语义 Web服务的研究都侧重于将服务聚合流程作为服务语义的一部分进行建模和描述。本文说明了 Web 服务聚合流程的建模不应作为语义服务描述框架的一部分,因为服务请求程序没有任何兴趣、关系或责任来处理此类过程。

  本文着重讨论服务请求程序和服务提供程序之间的请求和响应关系。文中所建议的方法可增加 Internet 的价值,将其作为分布式计算和系统集成的网络——即使没有计算机知识背景的用户也能做到这一点。在所建议的做法中,使用语义 Web 服务是一个简单的“剪切-复制-粘贴”过程。要实现语义 Web 服务,需要各个领域特定的标准支持。

  引言

  Web 服务提供程序和服务请求程序之间的基本关系是请求和响应的关系。服务请求程序通常会将请求发送到服务提供程序,服务提供程序会提供请求的解决方案(如果无法对请求进行处理,则为错误消息)来进行响应。在特定的应用程序涉及多个 Web 服务时,则必须考虑进行服务聚合或集成。此时有望可以按照完成特定任务所需的特定顺序对 Web 服务进行自动地动态发现、组合和调用。语义 Web 服务的研究和开发的症结在于服务聚合流程的建模和描述。

  变得越来越复杂的语义 Web 服务框架表明 Web 服务技术方面有很大的局限。与万维网的广受欢迎(任何可以连接到 Internet 的人都可以使用万维网)相比,Web 服务当前只是一个专门为计算机专业人士提供的工具,而不是面向各个领域的用户。Mazzocchi 认为,“即使是 XML 人员也并不理解 RDF/OWL 中的语义 Web 语言”。不过,服务请求程序并不需要了解服务提供程序如何处理其请求,而且请求程序也没有责任了解如何通过逻辑建模提供服务。语义 Web 服务方面的很多研究并不关注对服务的意义进行描述,而是将重点放在服务聚合的过程,后者对服务请求程序并没有意义。

  本文首先将回顾语义 Web 服务技术的最新发展。接着将讨论如何将组合 Web 服务转换为原子过程——以及如何描述单个请求-响应关系中在不同的服务领域中实际集成多个 Web 服务的此类原子 Web 服务的服务语义。然后,本文将给出一些建议方法,以演示可以如何使用 HTTP/POST 实现 Internet/分布式计算或语义/智能 Web 服务,并讨论未来开发工作中的挑战。

  SOAP Web 服务

  Web 服务可为用不同的平台和编程语言开发的应用程序提供新层次的互操作性。每个服务都对具体的业务功能进行封装,可以使用 SOAP 绑定 HTTP 的方式,通过 Web 服务描述语言(Web Services Description Language,WSDL)接口调用此类业务功能,以在服务请求程序和服务提供程序之间传递消息。SOAP 使用序列化器和反序列化器将软件应用程序的本机语言转换为 SOAP 协议,以在网络上传输请求和响应。Deem (2002) 指出,“SOAP 提供的最有用的功能是可以在平台特定的格式和用于 SOAP 消息的 XML 格式之间进行数据转换。正是得益于这个功能,运行于一个平台上的功能才能将信息传递给运行于另一个平台上的应用程序。”有关更多信息,请参阅参考资料。

  SOAP 可以解决语法级别的互操作性问题,但语义问题仍然未得到解决。Web 服务将对具体业务功能进行封装,这就隐藏了供请求程序用于理解数据和服务语义所需的信息。用户必须通过对象和数据流关系图才能了解实现细节,以便部署服务(Shi,2004)。在实际情况中,WSDL 接口仅反映对象、数据类型、函数和变量的命名系统和层次关系(编程人员开发 Web 服务时会使用这些信息),而不会反映数据和服务的含义(语义)。Web 服务的语法体系结构无法清楚地表达数据和服务的含义;不过其中却充满了冗余信息。

  图 1(Shi,2004)阐释了这些问题。此关系图显示了如何理解和调用 ESRI 提供的 Address Finder Web 服务的 findAddress 函数,ESRI 是一家全球领先的地理信息系统 (GIS) 软件供应商。我们可以在以下位置找到 Address Finder Web 服务的 WSDL 文件:http://arcweb.esri.com/services/v2/AddressFinder.wsdl。

  可以使用 findAddress 函数来查找给定街道地址的位置(经度和纬度)。根据此付费 Web 服务的语义,服务请求程序必须:

  •   1. 提供有效的用户名、密码,以调用身份验证 Web 服务来获得身份验证令牌
  •   2. 指定要在此应用程序中使用的数据源
  •   3. 使用此动态生成的令牌和指定的数据源并提供地址来调用 findAddress 函数。

  最后此 Web 服务将返回输入地址的经度和纬度。

  简要总结如下:

  •   输入要求 为用户名、密码、数据源、街道地址、城市、州、邮政编码
  •   输出 将为与输入地址匹配的经度和纬度的列表,或者一条错误消息。

  不过,我们无法从图 1 或此 WSDL 文件中找到如此直接的信息。而且,服务请求程序无法根据关系图确定必须使用两个 Web 服务来获得期望的结果。其中一些字符串数据类型显得很有意义,如:street、intersection、city、state、province、zone 和 country。不过,WSDL 中充满了冗余信息,这些信息对新手或外行而言并不是必需的。对于 WSDL 的大部分内容,我们都必须对其含义进行猜测。例如,LocationInfo、ArrayOfLocation、Location[]、description1、description2、addressFinderOptions、token、matchType 都是各种对象、数据类型、函数、变量的名称,但却并不能表示其真正的含义。谁会知道 WSDL 中 description1、description2、addressFinderOptions、token、matchType 等等的含义呢?总之,WSDL 中包含的名称并不表示各个 Web 服务的含义,各个 Web 服务的语义并不包含在此 WSDL 文件中。

  图 1. 用于帮助理解和调用 Address Finder Web 服务的工作流程图

共10页。 1 2 3 4 5 6 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i