【资料图】
早期的网络服务(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等辅助协议在内的分布式事务处理方式。