Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SOA架构_Php_Soap_Architecture_Zend Framework2 - Fatal编程技术网

Php SOA架构

Php SOA架构,php,soap,architecture,zend-framework2,Php,Soap,Architecture,Zend Framework2,我正在使用由SOAP和XML实现的ZF2和SOA构建一个基于PHP的web应用程序。因此,我的开发人员现在正在SOAP中构建每一个函数,并从相关控制器调用它,就像外部系统正在使用此API/web服务一样。因此,我们所做的是正确的还是我们作为这个应用程序的web服务的开发人员,我们不应该调用web服务,而不是直接将请求发送到控制器而不通过soap 这方面的最佳做法是什么?当然,答案是这要视情况而定 使用外部API层构建应用程序具有一些真正的优势。它验证层,确保API完整。它还允许您执行诸如分离应用

我正在使用由SOAP和XML实现的ZF2和SOA构建一个基于PHP的web应用程序。因此,我的开发人员现在正在SOAP中构建每一个函数,并从相关控制器调用它,就像外部系统正在使用此API/web服务一样。因此,我们所做的是正确的还是我们作为这个应用程序的web服务的开发人员,我们不应该调用web服务,而不是直接将请求发送到控制器而不通过soap


这方面的最佳做法是什么?

当然,答案是这要视情况而定

使用外部API层构建应用程序具有一些真正的优势。它验证层,确保API完整。它还允许您执行诸如分离应用程序的层之类的操作,从而使您能够更轻松地扩展不同的层

最终,我真的更喜欢用这种方式构建我的应用程序,不幸的是,与所有事情一样,这是有成本的。这种成本通常是性能。进行SOAP序列化/反序列化通常会对性能造成重大影响,当您意识到可以通过绑定到业务逻辑而不必经历反序列化/序列化请求/响应周期,从而使性能加倍时,这种影响通常会降低。我通常的折衷方案是使用webservice API公开的相同API,但使用直接绑定客户机


但这一成本可能与您的应用程序完全无关。如果您小心地保持API非常粗粒度,从而最大限度地减少调用数量,那么SOAP消息传递的成本可能会低到无法察觉的程度。但是,与所有性能问题一样,不要假设、度量。你认为让你慢下来的东西可能完全被其他成分或层次所包含。

答案很好。谢谢,但从技术上讲,我如何创建和使用直接绑定客户端?我正在使用ZF2。