不同的书籍和不同的组织对Web服务提供不同的定义。
-
Web服务是任何可以在Internet上使用并使用标准化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服务就是以下任何服务:
-
可通过Internet或专用(内联网)网络使用
-
使用2标准化的XML消息传递系统
-
不受任何一种操作系统或编程语言的束缚
-
通过通用的XML语法进行自我描述
-
通过简单的查找机制即可发现
Web服务的组成部分
基本的Web服务平台是XML + HTTP。所有标准Web服务都使用以下组件工作-
-
SOAP(简单对象访问协议)
-
UDDI(通用描述,发现和集成)
-
WSDL(Web服务描述语言)
所有这些组件已在“ Web服务体系结构”一章中进行了讨论。
Web服务如何工作?
Web服务通过使用开放标准(例如HTML,XML,WSDL和SOAP)来实现各种应用程序之间的通信。Web服务需要以下帮助:
-
XML标记数据
-
SOAP传输消息
-
WSDL描述服务的可用性。
您可以在Solaris上构建基于Java的Web服务,可从Windows上运行的Visual Basic程序访问该服务。
您还可以使用C#在Windows上构建新的Web服务,该服务可以从基于JavaServer Pages(JSP)并在Linux上运行的Web应用程序中调用。
例
考虑一个简单的帐户管理和订单处理系统。会计人员使用Visual Basic或JSP构建的客户应用程序来创建新帐户并输入新客户订单。
该系统的处理逻辑是用Java编写的,并且驻留在Solaris机器上,该机器还与数据库进行交互以存储信息。
执行此操作的步骤如下-
-
客户端程序将帐户注册信息捆绑到SOAP消息中。
-
该SOAP消息作为HTTP POST请求的主体发送到Web服务。
-
Web服务将SOAP请求解压缩并将其转换为应用程序可以理解的命令。
-
该应用程序根据需要处理信息,并以该客户的新唯一帐号响应。
-
接下来,Web服务将响应打包到另一个SOAP消息中,以响应其HTTP请求将其发送回客户端程序。
-
客户端程序将SOAP消息解压缩以获得帐户注册过程的结果。