有两种方法来查看Web服务体系结构:
Web服务架构中有三个主要角色:
这是Web服务的提供者。服务提供商实现该服务并使其在Internet上可用。
这是Web服务的任何消费者。请求者通过打开网络连接并发送XML请求来利用现有的Web服务。
这是一个逻辑上集中的服务目录。注册表提供了开发人员可以发布新服务或查找现有服务的中心位置。因此,它作为公司及其服务的集中式交换所。
查看Web服务架构的第二个选项是检查新兴的Web服务协议栈。堆栈仍在发展,但目前有四个主要层。
该层负责在应用程序之间传输消息。目前,此层包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),文件传输协议(FTP)以及更新的协议,如块扩展交换协议(BEEP)。
该层负责以通用的XML格式对消息进行编码,以便可以在任一端理解消息。目前,该层包括XML-RPC和SOAP。
该层负责描述特定Web服务的公共接口。目前,服务描述通过Web服务描述语言(WSDL)来处理。
该层负责将服务集中到公共注册表中,并提供简单的发布/查找功能。目前,通过通用描述,发现和集成(UDDI)处理服务发现。
随着Web服务的发展,可以添加附加的层,并且可以向每个层添加附加的技术。
下一章将介绍Web服务的组件。
Web服务协议栈的底层是服务传输。该层负责在两台计算机之间实际传输XML消息。
目前,HTTP是最受欢迎的服务传输选项。HTTP是简单,稳定和广泛部署。此外,大多数防火墙允许HTTP流量。这允许XML-RPC或SOAP消息伪装成HTTP消息。如果要集成远程应用程序,这很好,但它确实引起了一些安全问题。
这是一个有希望的替代HTTP。BEEP是创建新协议的新型互联网工程任务组(IETF)框架。BEEP直接在TCP上分层,并且包括许多内置功能,包括初始握手协议,认证,安全性和错误处理。使用BEEP,可以为各种应用程序创建新的协议,包括即时消息,文件传输,内容联合和网络管理。
SOAP不绑定到任何特定的传输协议。实际上,您可以通过HTTP,SMTP或FTP使用SOAP。因此,一个有希望的想法是使用SOAP over BEEP。