不同的书籍和不同的组织为Web服务提供不同的定义.其中一些列在这里.
网络服务是任何可以通过互联网使用的软件标准化的XML消息传递系统. XML用于编码与Web服务的所有通信.例如,客户端通过发送XML消息来调用Web服务,然后等待相应的XML响应.由于所有通信都是XML格式,因此Web服务不依赖于任何一种操作系统或编程语言--Java可以与Perl交谈; Windows应用程序可以与Unix应用程序通信.
Web服务是可以描述,发布,定位或调用的自包含,模块化,分布式,动态应用程序通过网络创建产品,流程和供应链.这些应用程序可以是本地,分布式或基于Web的. Web服务建立在TCP/IP,HTTP,Java,HTML和XML等开放标准之上.
Web服务是基于XML的信息交换使用Internet进行直接应用程序到应用程序交互的系统.这些系统可以包括程序,对象,消息或文档.
Web服务是用于在应用程序或系统之间交换数据的开放协议和标准的集合.以各种编程语言编写并在各种平台上运行的软件应用程序可以使用Web服务以类似于在单个计算机上的进程间通信的方式通过诸如因特网的计算机网络交换数据.这种互操作性(例如,Java和Python之间,或Windows和Linux应用程序之间)是由于使用了开放标准.
总结因此,完整的Web服务是任何 :
可通过Internet或私有(Intranet)获得的服务网络
使用标准化的XML消息系统
不依赖于任何一个系统或编程语言
通过通用XML语法进行自我描述
是可通过简单的查找机制发现
Web服务的组件
基本的Web服务平台是XML + HTTP.所有标准Web服务都使用以下组件 :
SOAP(简单对象访问协议)
UDDI(通用描述,发现和集成)
WSDL(Web服务描述语言)
所有这些组件都在 Web服务架构章节中讨论过.
Web服务如何工作?
Web服务通过使用HTML,XML,WSDL和SOAP等开放标准实现各种应用程序之间的通信.网络服务获取 : 号的帮助;
XML标记数据
SOAP传输消息
WSDL描述服务的可用性.
您可以在Solaris上构建基于Java的Web服务,该服务可从在Windows上运行的Visual Basic程序访问.
您还可以使用C#在Windows上构建新的Web服务,从您的Web应用程序调用,该应用程序基于JavaServer Pages(JSP)并在Linux上运行.
示例
考虑简单的帐户管理和订单处理系统.会计人员使用使用Visual Basic或JSP构建的客户端应用程序来创建新帐户并输入新的客户订单.
此系统的处理逻辑是用Java编写的,驻留在Solaris机器上,它还与数据库交互以存储信息.
执行此操作的步骤如下 :
客户端程序将帐户注册信息捆绑到SOAP消息中.
此SOAP消息作为Web服务发送到Web服务HTTP POST请求的主体.
Web服务解压缩SOAP请求并将其转换为应用程序可以理解的命令.
应用程序根据需要处理信息,并为该客户提供新的唯一帐号.
接下来,Web服务将响应打包到另一个SOAP消息中,然后将其发送回客户端程序m响应其HTTP请求.
客户端程序解压缩SOAP消息以获取帐户注册过程的结果.