现在我对SOAP和rest式服务之间的区别有了一点了解。

我的问题是什么时候应该使用SOAP,什么时候应该使用RESTful;当谈到性能/速度或请求处理时,哪一个“更好”?

我是第一次在RESTful (Java)实现它,我想知道更多关于它;我以前处理过SOAP。

这是这篇文章的后续问题。


当前回答

REST是一种体系结构。 REST将给出人类可读的结果。 REST是非状态的。 REST服务很容易被缓存。

SOAP是一种协议。它可以运行在JMS、FTP和HTTP之上。

其他回答

SOAP Web服务:

如果您的应用程序需要有保证的可靠性和安全性级别,那么SOAP将提供额外的标准来确保这种类型的操作。 如果双方(服务提供者和服务使用者)必须就交换格式达成一致,那么SOAP将为这种类型的交互提供严格的规范。

RestWeb服务:

完全无状态操作:用于无状态的CRUD(创建、读取、更新和删除)操作。 缓存情况:如果信息需要缓存。

REST在大多数情况下更容易使用,也更灵活。与SOAP不同,REST不必使用XML来提供响应。我们可以找到基于rest的Web服务,这些服务以命令分隔值(CSV)、JavaScript对象符号(JSON)和真正简单联合(RSS)格式输出数据。

我们可以以一种易于在应用程序所需的语言中解析的形式获得所需的输出。REST更高效(使用更小的消息格式)、更快,并且在设计理念上更接近其他Web技术。

REST和SOAP的区别:

REST几乎总是更快。SOAP的主要优点是它提供了一种机制,可以让服务向客户端描述自己,并宣传它们的存在。

REST轻量级得多,几乎可以使用任何工具实现,从而降低带宽,缩短学习曲线。然而,客户端必须知道要发送什么以及期望发送什么。

通常,当您向外界发布复杂或可能更改的API时,SOAP将更有用。除此之外,REST通常是更好的选择。

REST没有WSDL (Web描述语言)接口定义。 REST基于HTTP,但SOAP可以基于任何传输协议,如HTTP、FTP、SMTP、JMS等。