什么是 Web 服务

2025年3月17日 | 阅读 3 分钟

一个 Web 服务 可以用以下方式定义:

  • 它是一个用于通信的客户端-服务器应用程序或应用程序组件。
  • 两个设备通过网络进行通信的方法。
  • 它是一个用于可互操作的机器对机器通信的软件系统。
  • 它是一组用于在两个设备或应用程序之间交换信息的标准或协议。

让我们通过下图来理解它

web services

正如您在图中看到的,Java、.net 和 PHP 应用程序可以通过网络上的 Web 服务与其他应用程序通信。 例如,Java 应用程序可以与 Java、.Net 和 PHP 应用程序交互。 因此,Web 服务是一种与语言无关的通信方式。


Web 服务的类型

Web 服务主要有两种类型。

  1. SOAP Web 服务。
  2. RESTful Web 服务。
types of web services

Web 服务特性

基于 XML

Web 服务在数据描述和数据传输层使用 XML。 使用 XML 排除任何网络、操作系统或平台绑定。 基于 Web 服务的操作在其核心级别上是极其可互操作的。

松散耦合

Web 服务的客户端并不直接绑定到 Web 服务。 Web 服务接口可以在不影响客户端与服务通信能力的情况下支持随时间推移的创新。 紧密耦合的系统意味着客户端和服务器逻辑紧密相连,这意味着如果一个接口发生变化,则必须更新另一个接口。 采用松散耦合的架构往往会使软件系统更易于管理,并允许各种系统之间更直接的集成。

粗粒度

Java 等面向对象的技术通过单个方法公开其功能。 特定过程对于在公司层面提供任何合适的功能来说,操作过于精细。 从头开始构建 Java 程序需要创建各种细粒度功能,然后将其收集到由客户端或其他服务使用的粗粒度角色中。

企业及其证明的接口应该是粗粒度的。 Web 服务技术实施了一种定义粗粒度服务的自然方法,该方法接近于正确的业务逻辑量。

可以同步或异步

同步性指定客户端与函数执行的绑定。 在同步调用中,客户端会阻止和延迟完成其服务,然后才能继续。 异步操作允许客户端调用任务,然后执行其他函数。

异步客户端在稍后的时间点获取其结果,而同步客户端在服务完成时接收其效果。 异步能力是启用松散耦合系统的重要方法。

支持远程过程调用 (RPC)

Web 服务允许消费者使用基于 XML 的协议在远程对象上调用过程、函数和方法。 远程系统公开 Web 服务必须支持的输入和输出框架。

通过 Enterprise JavaBeans (EJB) 和 .NET 组件进行组件开发在过去的几年中已成为架构和企业部署的一部分。 这两种技术都通过各种 RPC 机制进行分配和访问。

Web 功能通过提供其自身的服务(相当于传统角色)或通过将传入调用转换为 EJB 或 .NET 组件的调用来支持 RPC。

支持文档交换

XML 的主要优点之一是其通用方式,不仅可以表示数据,还可以表示复杂的文档。 这些文档可以像描述当前地址一样简单,也可以像定义整本书或报价请求 (RFQ) 一样复杂。 Web 服务支持透明地传输文档以促进业务集成。

下一个主题Web 服务组件