我正在为一个个人项目做一些关于SOAP的研究,我偶然发现了一个网站,列出了使用SOAP的利弊,我理解其中大多数是什么意思,除了这个缺点之外:
在利用HTTP进行传输时,SOAP通常仅限于池,而不是事件通知。此外,在典型情况下,只有一个客户端可以使用一个服务器的服务。
根据我对池的理解,不应该存在为可重用性而将SOAP对象池的问题。池只是一种反复使用相同资源的方法,就像连接到数据库一样。对于事件通知的上下文也不完全确定。
所以我在这里的两个问题是,上面的引文是什么意思,这个信息是正确的吗?
网址:http://searchsoa.techtarget.com/definition/SOAP
发布于 2016-08-28 11:47:57
SOAP是RPC,在RPC中,一些本地客户端调用某个远程目标上的方法并接收结果。这就是它的工作原理,所以SOAP也是这样工作的。客户端调用一个服务请求某些东西,而该服务只是响应。
如果您想要这种类型的通信中的“事件”,最简单的方法是更频繁地调用服务(即轮询)。这有一个优点,即服务器或客户端不会发生任何更改。这是相同的RPC调用,但执行频率更高。
如今,每个人都连接到网络上,每个人都订阅了各种各样的服务。当他们周围的世界发生了什么事情时,他们就想得到通知。池在这个用户和服务的海洋中变得效率低下,因为您在浪费资源。您可以轮询一个服务100次,只为了得到一个通知。由于这一原因,技术在不断发展,因此资源的使用减少到最低限度。它的发展方向是推动服务。
现在几乎所有的事情都发生在浏览器中。每个浏览器制造商都急于实现最新的技术变革和HTML5规范。这意味着将通知推送给用户的实际页面,而不是使用Ajax、comet等伪造通知。
SOAP从1998年就已经出现了,而且它的移动速度不如网络的其他部分,主要是因为SOAP主要是一个企业玩家,因为它是一种协议。因为这是一个协议,所以你必须在不破坏协议的情况下向它提供新的技术。事情进展得更慢,所以人们放弃了SOAP,转而采用其他的服务器-客户端通信方式。
SOAP通常仅限于池,而不是事件通知.
这是正确的。但要注意,“典型”并不意味着“总是”。
你可以有活动,但更难。它涉及到使用规格说明 (如WS-Eventing和WS-寻址 )。这是SOAP客户机运行方式的改变,因为客户机现在也成为某种服务,因为它也需要接收调用,而不仅仅是初始化它们。如果您的技术栈实现了这些规范,那么对您有好处,但如果没有,那么您必须自己构建它,这是一个真正的痛苦。
因此,由于这些原因,如果您没有阻塞性能或资源使用问题,您“通常”选择使用SOAP进行轮询,而不是使用事件通知。
https://stackoverflow.com/questions/39029542
复制相似问题