Web Service技术特点

Web Service 本质是基于网络的、跨平台的服务调用机制,核心目标是实现系统间松耦合集成(Loose Coupling Integration)


1.标准化(Standards-Based)

Web Service 依赖一整套标准协议体系

层级 标准
传输层 HTTP / HTTPS / SMTP
消息格式 XML / JSON
描述语言 WSDL(Web Service Description Language)
通信协议 SOAP / REST
注册发现 UDDI

特点:

  • 强规范(尤其是 SOAP)
  • 可被自动化工具解析(如生成客户端 stub)

2.跨平台 / 跨语言(Platform & Language Agnostic)

核心价值:

  • Java、Python、Go、.NET 等系统可以互调
  • Linux / Windows / Cloud / 容器环境均可运行

本质原因:

  • 基于 HTTP + 文本协议(XML / JSON)
  • 不依赖二进制协议(如 gRPC 的 protobuf)

3.松耦合(Loose Coupling)

系统之间仅依赖:

  • 接口契约(WSDL / OpenAPI)
  • 数据格式(XML / JSON)

不依赖:

  • 内部实现
  • 运行时环境
  • 技术栈

结果:

  • 可独立部署
  • 可灰度升级
  • 易于服务拆分(微服务基础能力)

4.自描述性(Self-Describing)

通过 WSDL / OpenAPI 描述:

  • 方法
  • 参数
  • 返回值
  • 调用方式

效果:

  • 客户端可以自动生成代码(RPC 化)
  • 减少人工对接成本

5.基于文本协议(Text-Based Messaging)

常见格式:

  • XML(SOAP)
  • JSON(REST)

优缺点:

优点 缺点
可读性强 体积大
易调试 解析性能较低
跨语言兼容好 带宽消耗高

6.可扩展性(Extensibility)

尤其在 SOAP 体系中:

  • Header 可扩展(认证、事务、路由等)
  • 支持 WS-* 标准(如 WS-Security、WS-Transaction)

7.服务(Service-Oriented)

Web Service 是 SOA(Service-Oriented Architecture)的核心实现方式之一:

  • 服务提供者(Provider)
  • 服务消费者(Consumer)
  • 服务注册中心(Registry)

8.网络透明性(Network Transparency)

调用方式类似本地函数:

1
Client → HTTP → Web Service → Response

对调用方来说:

  • 不关心远程细节
  • 类似 RPC(但本质是 HTTP)

9. Web Service 架构流转

sequenceDiagram
    participant Client
    participant Service
    participant Registry

    Client->>Registry: 查询服务地址(可选)
    Registry-->>Client: 返回服务描述(WSDL)

    Client->>Service: 发送请求(SOAP/REST)
    Service-->>Client: 返回响应(XML/JSON)

10. SOAP vs REST(核心差异)

维度 SOAP REST
协议 严格协议 架构风格
数据格式 XML JSON/XML
性能 较低
扩展性 强(WS-*)
易用性 复杂 简单
适用场景 金融/企业级 Web/API/微服务