云计算中的Web服务

云计算中的Web服务

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

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

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

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

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

Web服务允许使用不同语言编写的程序通过Web服务之间交换数据来连接客户端和服务器。客户端通过提交XML请求调用Web服务,然后服务以XML响应做出回应。

  • Web服务的功能
  • 可以通过Internet或内部网络访问。
  • 使用标准化的XML消息协议。
  • 与操作系统或编程语言无关。
  • 使用XML标准是自我描述的。

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

Web服务组件

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

1. SOAP(Simple Object Access Protocol)

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

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

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

“信封”分为两半。头部先出现,然后是主体。头部包含路由数据或将XML文档指向应该发送到的客户端的信息。真正的消息将在主体中。

2. UDDI(Universal Description, Search, and Integration)

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

UDDI注册表将保存在线服务所需的信息,比如电话簿,包含特定人员的姓名、地址和电话号码,以便客户端应用程序可以找到它。

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

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

Web服务是如何工作的?

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

云计算中的Web服务

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

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

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

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

Web服务的特点

Web服务具有以下特点:

(a) 基于XML: Web服务的信息表示和数据传输层使用XML。使用XML时不需要网络、操作系统或平台绑定。在中间级别,基于Web的应用程序是高度交互的。

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

松耦合的架构使软件系统更易于管理,并且更容易在不同结构之间进行集成。

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

异步客户端稍后获得其结果,但同步客户端在服务完成后立即获得其效果。启用松耦合系统的能力要求具有异步功能。

(d) 粗粒度: 面向对象的系统(如Java)以不同方式提供其服务。在企业层面上,一个操作对于单个技术来说太大了,无法发挥其优势。从零开始构建Java应用程序需要开发多个细粒度策略,然后将它们组合成消费者或服务者使用的粗粒度提供程序。

企业应该是粗粒度的,它们暴露的接口也应该是粗粒度的。构建Web服务是定义具有大量业务逻辑的粗粒度服务的简单方法。

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

长期以来,JavaBeans(EJBs)和.NET组件在架构和企业部署中越来越流行。多种RPC技术用于分配和访问它们。

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

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程