云计算中的 Web 服务

17 Mar 2025 | 6 分钟阅读

互联网是连接数十万台属于不同网络的计算机的全球网络。

Web 服务是一种在万维网上在客户端和服务器应用程序之间传播消息的标准化方法。Web 服务是一个软件模块,旨在完成一组特定的任务。Web 服务可以在云计算中的网络上找到和实现。

Web 服务能够向调用该 Web 服务的客户端提供功能。

Web 服务是一组开放协议和标准,允许不同应用程序或系统之间交换数据。Web 服务可以由用不同编程语言和在不同平台上编写的软件程序使用,通过计算机网络(例如互联网)交换数据。同样,计算机上的通信可以是进程间的。

任何使用标准化 Web 协议(HTTP 或 HTTPS)通过互联网(通常是 XML(可扩展标记语言))连接、互操作和交换数据消息的软件、应用程序或云技术都被视为 Web 服务。

Web 服务允许用不同语言开发的程序通过 Web 服务交换数据,从而在客户端和服务器之间连接。客户端通过提交 XML 请求来调用 Web 服务,该服务会以 XML 响应进行响应。

  • Web 服务功能
  • 可以通过互联网或内联网访问。
  • 标准化的 XML 消息协议。
  • 操作系统或编程语言独立。
  • 使用 XML 标准是自描述的。

可以使用简单的位置方法来检测它。

Web 服务组件

XML 和 HTTP 是最基本的 Web 服务平台。所有典型的 Web 服务都使用以下组件

1. SOAP(简单对象访问协议)

SOAP 代表“简单对象访问协议”。它是一种传输无关的消息协议。SOAP 建立在以 SOAP 消息形式发送 XML 数据的基础上。每个消息都附有一个称为 XML 文档的文档。

只有 XML 文档的结构,而不是内容,遵循某种模式。Web 服务和 SOAP 的优点在于所有内容都通过标准 Web 协议 HTTP 发送。

每个 SOAP 文档都需要一个称为元素的根元素。在 XML 文档中,根元素是第一个元素。

“信封”分为两部分。首先是头部,然后是主体。头部包含路由数据,即指示 XML 文档应发送到哪个客户端的信息。实际消息将在主体中。

2. UDDI(通用描述、发现和集成)

UDDI 是用于指定、发布和搜索在线服务提供商的标准。它提供了一个规范,有助于通过 Web 服务托管数据。UDDI 提供了一个存储库,WSDL 文件可以在其中托管,以便客户端应用程序可以搜索 WSDL 文件以了解 Web 服务提供的各种操作。因此,客户端应用程序将完全访问 UDDI,UDDI 作为所有 WSDL 文件的数据库。

UDDI 注册中心将保留在线服务所需的信息,例如包含某个人的姓名、地址和电话号码的电话簿,以便客户端应用程序可以找到它。

3. WSDL(Web 服务描述语言)

实现 Web 服务的客户端必须知道 Web 服务的位置。如果找不到 Web 服务,则无法使用它。其次,客户端应用程序必须了解 Web 服务做什么才能实现正确的 Web 服务。WSDL(Web 服务描述语言)用于实现此目的。WSDL 文件是另一个基于 XML 的文件,它描述 Web 服务如何与客户端应用程序交互。客户端应用程序将使用 WSDL 文档了解 Web 服务的位于何处以及如何访问它。

Web 服务如何工作?

该图显示了 Web 服务如何运行的简化版本。客户端将使用请求向托管实际 Web 服务的服务器发送一系列 Web 服务调用。

Web Services in Cloud Computing

远程过程调用用于执行这些请求。对相应 Web 服务托管的方法的调用称为远程过程调用 (RPC)。示例:Flipkart 提供了一个 Web 服务,可以显示 Flipkart.com 上提供的商品价格。前端或表示层可以用 .NET 或 Java 编写,但 Web 服务可以使用编程语言进行通信。

客户端和服务器之间交换的数据 XML 是 Web 服务设计中最重要的部分。XML(可扩展标记语言)是一种简单、中间的语言,可以被各种编程语言理解。它等同于 HTML。

因此,当程序相互通信时,它们使用 XML。它为用不同编程语言编写的应用程序相互通信提供了一个通用平台。

Web 服务采用 SOAP(简单对象访问协议)在应用程序之间传输 XML 数据。数据使用标准 HTTP 发送。SOAP 消息是从 Web 服务发送到应用程序的数据。SOAP 消息中只包含一个 XML 文档。调用 Web 服务的客户端应用程序可以用任何编程语言构建,因为内容是用 XML 编写的。

Web 服务的特点

Web 服务具有以下特点

(a) 基于 XML: Web 服务的信息表示和记录传输层采用 XML。使用 XML 时无需进行网络、操作系统或平台绑定。在中间层,基于 Web 提供的应用程序具有高度交互性。

(b) 松散耦合: 互联网服务提供商的订阅者不一定直接连接到该服务提供商。Web 服务提供商的用户界面可能会随着时间的推移而改变,而不会影响用户与服务提供商交互的能力。强耦合系统意味着导师和服务器的决策是密不可分的,这表明如果一个接口发生变化,另一个必须更新。

松散连接的架构使软件系统更易于管理,并且更容易在不同结构之间集成。

(c) 同步或异步能力: 同步性指客户端与函数执行的连接。异步操作允许客户端启动任务并继续执行其他任务。在同步调用中,客户端被阻塞,客户端必须等待服务完成其操作才能继续。

异步客户端稍后获得结果,但同步客户端在服务完成后立即获得效果。启用松散连接系统需要异步能力。

(d) 粗粒度: 面向对象系统(例如 Java)以不同的方式提供其服务。在企业级别,一个操作对于字符技术来说太大了,无法有用。从头开始构建 Java 应用程序需要开发多个细粒度策略,然后将其组合成一个粗粒度提供商,由购买者或服务使用。

企业应该粗粒度,它们公开的接口也应该如此。构建 Web 服务是定义粗粒度服务的简单方法,这些服务可以访问大量的商业企业逻辑。

(e) 支持远程过程调用: 消费者可以使用基于 XML 的协议来调用使用 Web 服务的远程对象上的过程、函数和方法。Web 服务必须支持远程系统的输入和输出框架。

企业范围的组件开发 多年来,JavaBeans (EJBs) 和 .NET 组件在架构和企业部署中变得越来越普遍。几种 RPC 技术用于分配和访问它们。

Web 函数可以通过提供其服务(类似于传统角色)或将传入调用转换为 EJB 或 .NET 组件调用来支持 RPC。

(f) 支持文档交换: XML 用于与数据和复杂实体进行通信的最具吸引力的特性之一。