作者:pan2502851807 | 2023-08-20 10:04
在谷歌宣布他们最近删除了他们的SOAP API的 " SOAP搜索API退役很好 "之后,我很好奇社区在2009年对SOAP的看法.我可以看到它用于远程处理和更详细的客户端 - 服务器无状态沟通,但对于更广泛的[Ajax]网络使用,它现在是多么重要?
让REST URL一劳永逸地删除了对SOAP和那种Web服务的需求吗?
1> ryber..:
REST中没有任何内容表明当您需要发送复杂请求时,不能使用表单POST字段来PUT数据.如果你想尝试将它变成SOAPy,你甚至可以发布大块的庞大XML.
IMHO SOAP只提供一个你永远不需要的包装器.为我杀死它的是Axis和其他引擎将WSDL的存根编译到他们的代码中的方式,然后每当你向WSDL添加一些内容时,它就会打破消费者,即使所有内容都设计为向后兼容.REST永远.
你让它听起来如此"企业化".看我写"企业"应用程序,你不需要任何废话.为什么需要"WS-Security"?简单HTTP身份验证或基于证书的身份验证有什么问题?为什么一切都必须回答每一个可能的问题?SOAP只不过是一堆不必要的臃肿.REST可以做任何你需要的东西而不必永远地绑定到现代CORBA中.我给你这个,SOAP可以通过SMTP使用.如果这不是一个标志它已经过度设计我不知道是什么
@Jon REST没有元数据的概念,因为它是一种架构风格,而不是一种架构本身.使用HTTP执行REST时,您使用HTTP标头来存储元数据.SOAP本身并没有什么问题.我的问题在于供应商工具包会促使您进行RPC样式的远程接口,在这种情况下,您可以通过线路传递序列化对象,并且必须处理客户端上的脆弱代理对象.SOAP和WS-*系列解决了REST不适合的一些真正的企业问题.在HTTP协议足够好的地方,REST可能是更好的选择.
2> marc_s..:
SOAP就在这里 - 理所当然.
在企业环境中,自描述服务(在WSDL的帮助下),使用事务和可靠消息传递的能力是至关重要的.在"一天狂欢"之后,它们比跑步更重要.
REST有很好的用途 - 但它不能完全取代SOAP,也不应该取而代之.REST非常适合轻量级通信 - 推特等.但是也有充分的理由去了解和了解SOAP.
在大多数环境中,SOAP目前拥有更好的工具支持 - 在REST具有可比性之前还需要一段时间.
SOAP允许机器可读的服务描述和服务发现 - REST没有这样的东西,你的REST服务可能 - 或者可能没有 - 被记录,并且记录你的REST服务的英文散文的质量变化很大.
是的,REST现在风靡一时 - 它确实使很多有趣的场景更容易处理.但我认为它还没有为"黄金时段,企业级"的使用做好准备.也许有一天 - 但不是今天.
与使用HTTPS相比,加密消息的重点是什么?
似乎SOAP是在XML成为事实时发明的,现在人们已经意识到大多数情况并不需要它.您只需在REST URL中发布您的ID或一些参数即可.REST基本上就是HTTP的含义,向服务器发布动词和一些参数,而不是大量的脏XML.
再过几年...... SOAP已经死了.抱歉,小伙子 可以使用JWT对安全性进行标记.AQMP具有更高的可靠性.完成.
@ChrisS:我认为两者都有自己的位置 - 我认为SOAP死亡的消息被夸大了.是的,当然 - 在很多情况下,REST会做得很好.但在其他情况下,我现在会在任何一天选择SOAP over REST.示例:如何在REST中进行安全(加密)邮件传输?不只是使用SSL连接 - 实际**消息加密**.相当棘手.....
3> Hank Gay..:
哦,如果只有SOAP死了.我可以向您保证,一些公司仍在尽快采用基于SOAP的RPC策略.