简单地说,Web服务是一个自包含的软件组件,执行特定的功能并将关于它的功能的信息通过网络发布给其他组件。Web服务基于一组互联网标准,包括Web服务定义语言(WSDL),这是描述服务输出的连接点的XML格式;统一描述、发现和集成(UDDI)规范,这是一组用于描述和发现Web服务的XML协议和一种基础架构;还有简单对象访问协议(SOAP),这是用于Web服务之间的消息和RPC风格通信的基于XML协议。
利用这三种技术,Web服务可以混合和匹配,创建革命性的应用、过程和价值链。
注意 你可能注意到Web服务技术中可扩展标示语言(XML)的中心地位——因为XML很容易以结构化的风格表现数据,为应用之间的通信提供了强大的骨干。因此,Web服务通常指的是XML Web服务,但是在技术上并没有要求使用XML实现这些服务。
更加吸引人的是,Web服务为减轻集成多个Web应用、协调传递数据的标准、协议、平台等任务的艰巨性提供了一种条理清晰的机制。Web服务能够通过WSDL、UDDI和SOAP描述自身的功能,并且搜索其他Web服务并与之进行交互。因此,Web服务提供了不同组织互相连接应用,管理跨越网络的动态电子商务,而不需要顾及应用、设计或者运行时环境(ASP.NET、ISAPI、COM、PHP、J2EE等)的一种方法。
Web服务和普通的旧式网站有什么不同?Web服务针对的是没有智能的实体而不是最终用户。正如Microsoft所描述的,“与网站、基于浏览器的交互或者依赖平台的技术相反,Web服务是通过定义好的格式和协议,以平台独立和语言无关的风格提供的计算机到计算机的服务。”
图7-1图解描述了Web服务集成到我们在第1章中描述的典型Web应用架构的方式。(我们省略了原图中的一些细节,聚焦于澄清Web服务的作用)。图7-1显示了虚构的公司A上的一个Web服务,将关于公司A的应用信息发布给其他公司(虚构的公司B)和互联网客户。我们来谈谈本图中的Web服务技术更重要的一些方面。
图7-1 模式化的Web服务架构图