不同的书籍和不同的组织为Web服务提供不同的定义。其中有些列在这里。
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服务通过计算机网络(如Internet)以类似于单个计算机上的进程间通信的方式交换数据。这种互操作性(例如,Java和Python之间,或Windows和Linux应用程序)是由于使用开放标准。
总而言之,完整的Web服务因此是任何服务:
基本的Web服务平台是XML + HTTP。所有标准Web服务使用以下组件工作
所有这些组件都已在“ Web服务架构”一章中探讨过。
Web服务通过使用开放标准(如HTML,XML,WSDL和SOAP)实现各种应用程序之间的通信。Web服务有以下帮助:
您可以在Solaris上创建基于Java的Web服务,该服务可以从在Windows上运行的Visual Basic程序访问。
您还可以使用C#在Windows上创建新的Web服务,可以从基于JavaServer Pages(JSP)的Web应用程序调用并在Linux上运行。
考虑一个简单的帐户管理和订单处理系统。会计人员使用由Visual Basic或JSP创建的客户端应用程序来创建新帐户并输入新的客户订单。
该系统的处理逻辑是用Java编写的,它驻留在一个Solaris机器上,它也与一个数据库进行交互以存储信息。
执行此操作的步骤如下:
客户端程序将帐户注册信息捆绑成一个SOAP消息。
该SOAP消息作为HTTP POST请求的主体发送到Web服务。
Web服务解包SOAP请求并将其转换为应用程序可以理解的命令。
应用程序根据需要处理信息,并对该客户使用新的唯一帐号进行响应。
接下来,Web服务将响应打包到另一个SOAP消息中,它将响应其HTTP请求发送回客户端程序。
客户端程序解包SOAP消息以获取帐户注册过程的结果。