Web Service
1)RPC风格的Web Service:
XML-RPC:
1)XML-RPC是一种使用XML格式封装方法调用,并使用HTTP协议作为传送机制的RPC风格的实现。
2)XML-RPC的请求方法都是HTTP协议的POST方法,请求和响应的数据格式均为XML。
3)XML-RPC的数据格式和使用XML作为资源的表述的REST外观上很相似,但数据则大相径庭:
REST式的XML信息的主体是对一个资源状态的表述,无须包含方法信息,因为其请求的HTTP方法就已经决定了这一点。XML-RPC的请求数据结构额外包含方法调用信息和参数信息。
4)对于响应信息的内容:REST式的包含了响应实体信息以及HTTP状态码和可选的异常信息,而XML-RPC的返回信息仅仅是对方法调用的响应信息。
基于SOAP+WSDL+UDDI等技术实现的RPC风格的Web服务:
1)SOAP(Simple Object Access Protocol):简单对象访问协议
说明:基于HTTP和XML,用于在网络中传输数据。可以这样理解:SOAP = 在HTTP的基础上+XML数据
2)WSDL(WebService Description Language):Web服务描述语言
说明:通过XML的形式说明服务的地址、服务提供的方法、以及如何调用这些方法。
3)UDDI(Universal Description Discovery and Integration):通用描述、发现与集成
说明:
1>UDDI是一个分布式的互联网服务注册机制,它集描述、发现和集成为一体,其核心是注册机制。
2>UDDI实现了一组可公开访问的接口,通过这些接口,网络服务可以向服务信息库注册其服务信息、服务需求者可以找到分散在世界各地的网络服务。
注:JAX-WS(Java API for XML Web services):在Java中,对RPC风格的Web Service制定的实现标准。
***说明:XML-RPC现在已经被基于SOAP+WSDL+UDDI等技术实现的RPC风格的Web服务取代,在Java中,JAX-RPC标准已经被JAX-WS取代。
2)REST风格的 Web Service
注:JAX-RS(Java API for RESTful Web Services):在Java中,对REST风格的Web Service制定的实现标准。Jersey是JAX-RS标准的参考实现。
3)注意:RPC风格的Web Service和REST风格的Web Service各有其优势,并不是一种替代关系。实际开发中,二者可以共存于同一个项目中。
4)RESTful Web Service 与 RPC Web Service 的比较:
1)与RPC相比,REST更轻量和快速。
2)请求的方法不同:REST采用标准的HTTP方法;RPC采用HTTP的POST方法,其方法信息包含在SOAP协议包或HTTP协议包中,方法名不具有通用性。
3)作用域角度:REST采用URI显示定义作用域;RPC的作用域信息同样包含在协议包中,不能直观呈现。
4)相较于REST式的Web Service,RPC式的Web Service功能更强大、设计更复杂,而且同样是跨平台、跨语言的,对复杂的数据类型的支持也非常好。
5)REST无须引入SOAP消息传输层,无须注册服务,也没有客户端存根等
6)REST并没有像基于SOAP+WSDL+UDDI等技术实现的RPC风格的Web服务那样,提供诸如安全策略等全面的标准规范。
Web Service基础
最新推荐文章于 2024-09-02 14:54:59 发布