加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService

发布时间:2020-12-16 21:47:17 所属栏目:安全 来源:网络整理
导读:Web Service这个词是我日常工作当中听到的最多的一个词,一直以来我对它的认识都处于一种很模糊的状态,基于求真务实的工作态度,今天决定对它一窥究竟 维基百科:Web Service 是一种面向服务的架构技术,通过标准的Web协议提供服务,目的是保证不同平台的应

Web Service这个词是我日常工作当中听到的最多的一个词,一直以来我对它的认识都处于一种很模糊的状态,基于求真务实的工作态度,今天决定对它一窥究竟

维基百科:Web Service 是一种面向服务的架构技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。
百度百科:WebService 是一个平台独立的,低耦合的,自包含的、基于可编程的Web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。使用Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。
依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述,自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
知乎上面也有相关的探讨Web Service通俗理解

分析角度

上面这些概念读过之后,对Web Service有了一个初步的概念性的认识,也许脑海中已经有了这些词:基于网络的,平台独立的,自包含,模块化,低耦合,可编程,分布式,服务,应用程序。好,接下来我们就用自己的知识把它总结下:
首先分析事物需要多角度才能准确把握

  • 服务角度:通俗理解Web
    Service是由企业发布的完成一定功能需求的需求的应用服务,其他公司或应用软件可以通过Internet来访问并使用这项应用服务;
  • 程序角度:同时Web Service也是自包含的、模块化的应用程序,具备的功能可以在Web中被描述、发布、查找以及调用;
  • 组成部分:Web Service是基于网络的、分布式的模块化组件,它执行特定的任务;
  • 遵循规范:基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP,这些规范使得Web Service能与其他兼任的组件进行操作。

包含模块

考虑到并没某个独立文档包含一切相关内容,可采用模块化的方式给出对Web Service的描述,但不能给出一个“绝对全面和准确”的定义。受外部环境和实现技术影响,各方给出的核心定义可能稍有出入,但通常包括三个模块:SOAP,WSDL,UDDI

  • SOAP(Simple Object Access Protocol)
    简单对象存取协议,用来描述传递信息的格式。是一个基于XML的协议交换消息,可以使用HTTP来传输这些信息。简单是因为该技术业界称为“它是第一个没有发明任何新技术的技术”;
  • WSDL(Web Services Description Language)
    Web服务描述语言,用来描述如何访问具体的接口。描述Web服务和说明如何与Web服务通信的XML(标准通用标记语言的子集)语言;
  • UDDI(Universal Description,Discovery,and Integration)
    通用描述、发现与集成服务,它是一个基于XML的跨平台的描述规范,可以使世界范围内的企业在互联网上发布自己所提供的服务。用来管理,分发,查询Web Service。

使用方式

使用Web Service的方式:

  • RPC(Remote Procedure Call Protocol)Web
    Service提供一个分布式函数或方法接口供用户调用,这是一种比较传统的方式。通常,在WSDL中对RPC接口进行定义。尽管最初的Web
    Service广泛采用RPC这种方式部署,但是针对其过于紧密之耦合性的批评声也络绎不绝。原因是RPC式的Web
    Service服务是利用一个简单的映射,把用户请求直接转换为一个特定语言编写的函数或方法。详情参见
  • SOA(Service-Oriented Architecture)相比RPC式的Web Service,面向服务架构(SOA)得到了大部分主要软件供应商以及业界专家的支持和肯定。因为SOA方式更加关注如何去连接服务而不是去特地某个实现的细节。详情参见
  • REST(Representational state transfer)
    表达性状态转移(Representational state transfer,REST)类似于HTTP协议,REST把接口限定在一组HTTP操作中,比如GTP、PUT、DELETE等以供调用,此种服务可以通过WSDL来描述SOAP消息内容,通过HTTP限定动作接口;或者完全在SOAP中对动作进行抽象。详情参见

架构

Web Service架构:

主要有两大阵营:一种是基于soap协议的,另外一种就是基于restful思想的;REST 对 Web 的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL 的接口设计,由于Restful Api接口的设计思想,后者国外商业应用更多。例如谷歌推特提供的api借口. WebService的两种方式SOAP和REST比较

总结

RESTful架构:
1. 每一个URI代表一种资源;
2. 客户端和服务器之间,传递这种资源的某种表现层;
3. 客户端通过四个HTTP动词,对服务器端资源进行操作,实现”表现层状态转化”。

小总结(插入WebApi):

  • RESTful 只是一种架构风格
  • WebApi是面向资源的
  • WebService是面向功能的

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读