网络服务是一个与平台独立、低耦合、自包含、基于可编程的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置,且可用于开发分布式、互操作的应用程序。它是一种服务导向架构的技术,通过标准的Web协议提供服务,以确保不同平台的应用服务间的互操作性。
网络服务
运行在网络应用层,并提供数据存储、操作、表达、通信或其他采用主从或对等架构、基于应用层网络协议的服务。英文缩写WS。
- 英文名称
- web service
- 所属学科
- 计算机科学技术
万维网的主要国际标准组织——万维网联盟(world wide web consortium,W3C)最早给出了网络服务的定义,认为它是一个由许多应用程序接口(application programming interface,API)组成的软件系统,旨在支持通过网络实现不同机器间的互操作。
早期的网络服务(web service, WS)主要采用远程过程调用(RPC)方式,包括三大要素:WSDL、UDDI和SOAP。万维网服务描述语言(web service description language,WSDL)用于描述服务,通用描述发布与集成(universal description, discovery, integration,UDDI)用于发布、查找服务,而简单对象访问协议(simple object access protocol,SOAP)则用于执行服务调用。这种网络服务通常被称为SOAP WS。
之后,业界比较关注从服务导向架构(service-oriented architecture,SOA)角度来构筑Web服务,即SOA WS。在SOA WS中,通信由消息驱动,而不再是某个方法调用,因而它也被称作面向消息的Web服务。
表述性状态转移式(representational state transfer,REST)Web服务采取类似于HTTP的网络协议,通过HTTP将调用接口限定在诸如GET、PUT、DELETE之类的标准动作中。与SOA WS或SOAP WS不同,它更关注同稳定资源间的互动,而不是消息或动作;它既可以通过WSDL来描述SOAP消息内容,也可以完全在SOAP中对动作进行抽象。
为扩展WEB服务能力,新的标准已经被开发出来。这些标准通常被冠以WS字头,包括:①WS安全(WS-security)。作为HTTPS保护的一种替代或扩充,它定义了如何在简单对象访问协议(SOAP)中使用XML加密或XML签名来保护消息传递。②WS可靠性(WS-reliability)。作为来自OASIS的标准协议,用于提供可靠的Web服务间消息传递。③WS可靠消息(WS-reliable messaging)由Microsoft、BEA和IBM公司发布,并由OASIS实施标准化、以提供可靠信息的协议。④WS寻址(WS-addressing)定义了在SOAP消息内描述发送方与接收方的地址命名方式。⑤WS事务(WS-transaction)定义了WS-coordination、WS-atomictransaction、WS-businessactivity核心事务协议以及WS-address、WS-security等辅助协议在内的分布式事务处理方式。
Web服务通常由参与者和基本操作构成。参与者包括服务提供者、请求者和服务代理,而基本操作则包括发布、查找与绑定。服务提供者负责将服务发布在服务代理的某个目录上;当请求者调用该服务时,首先利用服务代理提供的目录进行搜索,得到服务调用信息,利用这些信息去调用服务。之后,请求者和提供者将直接进行通信,而无须经过服务代理。Web服务的基本内容包括服务发现、服务组合、服务管理与服务等级协议等。