入门:Web Service 核心概念

来源:互联网 发布:扫地僧 知乎 编辑:程序博客网 时间:2024/05/17 02:31

本主题将向您介绍 Web Service 开发的基本概念。
什么是 Web Service
Web Service 是封装在独立实体中的一组功能,此实体可由网络上的其他系统使用。这里的网络可以是公司 Intranet,也可以是 Internet。其他系统可调用这些功能来请求数据或执行操作。由于 Web Service 基于多数系统皆支持的基本标准技术,因此是连接分布式系统的极好方法。

基于标准
Web Service 通过标准技术生成,如 HTTP XML。所有的 Web Service 消息都通过一个称为 SOAP 的标准 XML 消息处理协议交换,而 Web Service 接口则使用 WSDL 标准中的文档进行描述。所有这些标准对于 Web Service 在其上创建的平台都不需要有任何了解。简言之,使用的标准如下:

“WSDL”
Web Service 描述语言(Web Service Description Language,简称 WSDL)文件描述 Web Service 运行以及其他软件应用程序跟 Web Service 接口的方式。可将 WSDL 文件视为 Web Service 的说明手册,该文件解释用户如何使用 Web Service 提供的资源。

“XML”
。可扩展标记语言(Extensible Markup Language,简称 XML)提供了一种公共语言,通过它,不同的应用程序可以在网络上彼此进行交互。要操作 Web Service,用户可以发送一个 XML 消息,包含 Web Service 执行某项操作的请求;作为响应,Web Service 返回另一个包含该项操作结果的 XML 消息。

“SOAP”
XML 消息通常根据 SOAP 语法设置格式。Simple Object Access Protocol (SOAP) 指定了一种标准格式,使应用程序可以互相调用方法,并且在相互之间传递数据。请注意,也有可能出现其他非 SOAP 形式的 XML 消息,这取决于 Web Service 的特定要求。(Web Service WSDL 文件中包含 XML 消息的类型以及所需的特定语法)。

“HTTP & JMS”
。为了令其他应用程序可以跨网络调用 Web ServiceWeb Service 使用广泛使用的协议,如超文本传输协议(HyperText Transfer Protocol,简称 HTTP)和 Java 消息服务(Java Message Service,简称 JMS),接收请求并发送响应。

异步机制

很多业务流程要花一定的时间才能完成;可能是几分钟,甚至更久,或者,有时响应时间是变化的,难以预计。这是同步关系存在的一个问题。在同步关系中,客户端调用 Web Service 的一个方法后,只有在它收到 Web Service 的返回值以后才能继续自己的进程。

WebLogic Workshop 中可以使用异步机制来克服这个问题。在异步通信中,客户端在与 Web Service 通信时不必再停止自己的进程,等待 Web Service 生成响应。具体地说,客户端调用 Web Service 的一个方法,该方法能立即返回简单确认信息,这样就将允许客户端继续执行自己的进程。Web Service 生成响应后,发送一个包含该响应的回调方法到客户端。异步 Web Service 使用对话来关联消息和管理消息交换状态。这样将确保 Web Service 把响应发送到正确的客户端。

缓冲

当多个客户端同时调用对话 Web Service 的请求方法时,不论时间的长短,客户端必须等待直到 Web Service 完成对客户端调用的处理。另外,Web Service 完成对多个请求的处理后并需要发送多个回调消息时,它必须等待客户端处理完一个消息之后,才能发送下一个回调。对于对话 Web Service 来说,特别是对于接收高网络流量的 Web Service,建议始终给 Web Service 的方法和回调添加缓冲。当客户端调用缓冲方法时,调用将存储在缓冲区中,并且客户端不必等待 Web Service 处理调用。当 Web Service 发送回调时,消息将存储在缓冲中,Web Service 不必等到客户端处理完回调。