1.web服务
从本质上来说,Web服务是一个可通过网络访问的接口,对外隐藏了服务功能的实现细节,Web服务接口对交互所需的消息格式、传输协议和位置有清晰的表达,一般釆用标准的、规范的XML概念进行描述。当前SOA领域中广泛采用的Web服务的定义是国际商业机器公司(IBM)提出的较为标准的定义,IBM认为“Web服务是新一代的基于网络的应用程序,其可以被公开、获取,并通过Web进行调用”。Web服务解决了以往服务跨平台、跨组织调用和集成的难题,为面向服务体系结构的应用提供了统一的注册、发现、绑定以及集成机制,现已得到广泛应用。

2.web服务方式
WEB服务实际上是一组工具,并有多种不同的方法调用之。三种最普遍的手段是:远程过程调用(RPC),面向服务架构(SOA)以及表象化状态转变(REST)。
(1)远程过程调用
WEB服务提供一个分布式函数或方法接口供用户调用,这是一种比较传统的方式。通常,在WSDL中对RPC接口进行定义(类似于早期的XML-RPC)。
尽管最初的WEB服务广泛采用RPC方式部署,但针对其过于紧密之耦合性的批评声也随之不断。这是因为RPC式WEB服务实质上是利用一个简单的映射,以把用户请求直接转化成为一个特定语言编写的函数或方法。如今,多数服务提供商认定此种方式在未来将难有作为,在他们的推动下,WS-I基本协议集(WS-I
Basic Profile)已不再支持远程过程调用。
(2)面向服务架构
现在,业界比较关注的是遵从面向服务架构(Service-oriented
architecture,SOA)概念来构筑WEB服务。在面向服务架构中,通讯由消息驱动,而不再是某个动作(方法调用)。这种WEB服务也被称作面向消息的服务。
SOA式WEB服务得到了大部分主要软件供应商以及业界专家的支持和肯定。作为与RPC方式的最大差别,SOA方式更加关注如何去连接服务而不是去特定某个实现的细节。WSDL定义了联络服务的必要内容。
(3)具象化状态转移
具象化状态转移式(Representational state
transfer,REST)WEB服务类似于HTTP或其他类似协议,它们把接口限定在一组广为人知的标准动作中(比如HTTP的GET、PUT、DELETE)以供调用。此类WEB服务关注与那些稳定的资源的互动,而不是消息或动作。
此种服务可以通过WSDL来描述SOAP消息内容,通过HTTP限定动作接口;或者完全在SOAP中对动作进行抽象。
3.web服务的特点
(1)高度可集成性
Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准的协议进行互操作,所以在当前环境下最高的可集成性。
(2)WEB服务的高度通用性
Web服务具备对象的良好封装性,对于使用者而言,能且仅能看到该对象提供的功能列表,而不必考虑web服务对象的内部组成,因此有易用性。Web服务对象内封装都是一些通用功能,因此具有高度的复用性。
(3)完全的平台、语言独立性
Web服务对象具有松散耦合的特性,现的核心在于使用XML/SOAP作为消息交换协议,也就是说web服务因此具有语言的独立性。作为Web服务,其开放的标准协议标准协议应该完全免费,以便由任意平台都能够实现。绝大多数规范将最终有W3C或OASIS作为最终版本的发布方和维护方,因此web服务也拥有了平台独立性。
以上梳理了web服务的定义、方式及特点,希望对你有所帮助,如果你想了解更多相关内容,敬请关注三个皮匠报告的行业知识栏目。
推荐阅读:
酷量科技:2022Web3.0市场研究报告(45页).pdf
甲子光年:Web3.0市场生态研究报告(32页).pdf
算力智库:从Web2到Web3-虚拟数字人的价值演进(2022)(49页).pdf