Web Services 现在是个热门话题,与之相关的XML, XSLT, SOAP, UDDI, WSDL等等词汇也都成了热门关键字。究竟这些技术是如何被集成运用到一起的,它们在Web Services中所扮演的角色又如何,在Connie Smith的一篇关于PMIF的论文中我居然发现了一段关于Web Services的介绍非常简洁清晰,在这儿与大家分享一下。
一个Web Service是一个被设计用来支持机器与机器之间通过网络进行跨平台交互操作的软件系统。Web Services是封装完整的应用模块,并自带描述信息,可以在网路上发布,可以被定位查找,可以通过Web被调用。
要访问一个Web Service,用户必须知道这个服务的定义(比如接口信息),而不需要知道它是怎样实现的(比如用什么语言写的)。因此,客户软件和服务器软件可以是使用不同语言编写的,这就是互操作性(interoperability)。
在Web Service架构中有三个主要元素,全部是基于XML(eXtensible Markup Language):SOAP(Simple Object Access Protocol) 、WSDL(Web Services Description Language) 和 UDDI(Universal Description, Discovery, and Integration)。
SOAP直译是简单对象访问协议,是访问Web Services的标准协议,它使得不同应用软件之间进行信息交换和通信成为可能。它是一种基于XML的通信和远程过程调用协议,在现有的多种传输协议上都可以工作,例如 TCP,HTTP,SMTP等。一个SOAP消息是一个XML文件,具有四个基本组成部分:信封(envelope)、信头(header)、内容(body)和出错(fault)。
WSDL也是一种基于XML的语言,直译是网络服务描述语言,它描述了一个Web Service所提供的操作以及它的接口定义。
UDDI是一个Web Service的注册登记处,用户通过它可以查找到当前已经发布的Web Service有哪些及在哪里可以找到。
有了这些技术,我们现在可以定义:一个Web Service是一个发布在网络上的,可以通过SOAP访问的,由WSDL描述的,在UDDI注册登记的网络服务。