Web Service

简介: 概述  Web Service的出现是为了解决平台的互操作性差、和异构性等问题严重影响了Web应用的发展。它是一种跨平台跨语言的远程调用技术,服务端和客户端可以采用不同的语言编写,也可以在不同的平台上运行。

概述

  Web Service的出现是为了解决平台的互操作性差、和异构性等问题严重影响了Web应用的发展。它是一种跨平台跨语言的远程调用技术,服务端和客户端可以采用不同的语言编写,也可以在不同的平台上运行。

特点

  Web Service是一种部署在Web上的对象或应用组件,客户端可以方便的调用Internet上暴露出来的接口来获得服务。它具有一下特点:

1)良好的封装性

  Web Service是一种部署在Web上的对象,因此具有对象的特点,及良好的封装性,因此客户端只需要知道接口的相关信息而不需要关系具体实现。

2)松耦合

  只要Web Service的调用接口不变,其内部改变对于客户端来说是透明的。

3)使用标准协议规范

  Web服务是基于XML的消息交换机制的,所有的公共契约都采用Internet开放标准协议。

4)高度可集成性

  由于Web Service采用了标准协议作为组件描述,因此他们之间可以通过Web Service来实现互操作。

5)易于构建

  开发人员可以使用任何常用的编程语言及其现有的应用程序组件来构建。

应用场景

1)跨防火墙通信

  分布式应用程序的使用者可能遍布世界各地,客户端和服务端之间可能会有防火墙或者代理服务器,因此客户端和服务端通信问题尤为棘手,Web Service的出现就很好地解决了这一问题。

2)应用程序集成

  对于企业级应用来说,把不同语言不同平台下的应用集成起来可谓是难上加难,Web Service跨平台跨语言的特性只需要各应用之间暴露出来对方需要的接口,而不用关心程序之间的异构性。

3)B2B集成

  Web Service的开放性、跨平台和跨语言是的B2B应用集成更加便捷,缩短集成时间,降低开发成本。

4)软件和数据重用

  组件提供商可以把组件变成Web Service,并把相应的接口提供给服务使用者。这样服务使用者就可以无需将服务组件下载到本地,而是直接在应用中调用服务。

技术架构

  目前有三种主流的Web服务实现方案:REST、SOAP、XML-RPC。XML-RPC已经慢慢被SOAP取代了,现在很少采用。SOAP在成熟度、安全性方面都优于REST,,但是在效率和易使用上,REST更胜一筹,SOAP是Web Service的核心技术,现在很多Web Service是基于SOAP的。

工作原理

  Web Service角色包括服务提供者、服务注册中心和服务使用者。服务提供者在服务注册中心注册和发布自己的服务,并对服务请求进行响应。服务注册中心担任中介的作用,一边接收服务提供者发来的服务,一边供服务使用者在其统一目录中查找合适的服务。服务使用者是根据具体的应用需求调用服务的。

  

目录
相关文章
|
27天前
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
|
27天前
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
27天前
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
|
27天前
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
|
27天前
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
|
27天前
|
Linux Python
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
|
27天前
|
存储 安全 网络安全
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
|
27天前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
|
27天前
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
|
27天前
|
Web App开发 安全 JavaScript
【Azure 应用服务】App Service 通过配置web.config来添加请求返回的响应头(Response Header)
【Azure 应用服务】App Service 通过配置web.config来添加请求返回的响应头(Response Header)