我应该如何集成两个PHP应用程序-通过通用代码、REST和RPC?

我应该如何集成两个PHP应用程序-通过通用代码、REST和RPC?,php,web-applications,Php,Web Applications,我在两个相关的web应用程序上工作,它们是用PHP开发的,独立启动的。随着时间的推移,出于业务原因,我们已经开始更紧密地集成它们的功能。为了实现这一点,我们在一个单独的SVN存储库中为公共代码设置了一个目录,以便在单独部署每个应用程序时可以部署不同版本的代码。任一应用程序存储库中的文本文件都指示应部署公共代码的哪个版本 到目前为止,国际单项体育联合会运作良好,但出现了一些问题和考虑: 此公共接口中任一应用程序使用的所有代码都需要对两个应用程序“可见”。例如,如果应用程序1中的一项通过应用程序2保

我在两个相关的web应用程序上工作,它们是用PHP开发的,独立启动的。随着时间的推移,出于业务原因,我们已经开始更紧密地集成它们的功能。为了实现这一点,我们在一个单独的SVN存储库中为公共代码设置了一个目录,以便在单独部署每个应用程序时可以部署不同版本的代码。任一应用程序存储库中的文本文件都指示应部署公共代码的哪个版本

到目前为止,国际单项体育联合会运作良好,但出现了一些问题和考虑:

此公共接口中任一应用程序使用的所有代码都需要对两个应用程序“可见”。例如,如果应用程序1中的一项通过应用程序2保存,那么所有支持代码、ORM类、支持类等都需要位于公共区域

如果应用程序1正在对应用程序2的代码进行方法调用,那么它将绕过应用程序2的所有启动代码—身份验证、框架等。这可能会导致不理想的结果和意外的依赖关系

在这一点上,我们更愿意将应用程序分开

这两个应用程序相互通信的最佳方式是什么?我们可以使用http通信来确保可靠的接口,并且每个应用程序都通过自己的应用程序进程来处理进程。我们担心http会带来开销,但一个更松散耦合的系统的权衡可能会超过这一担忧

此时,这两个应用程序都运行在同一组服务器上,并且,如前所述,几乎完全使用PHP


编辑:通信将是私有的,并在应用程序中进行身份验证,这意味着没有公共API的计划。

在我看来,使用基于HTTP的API。我以前不得不用一组应用程序来处理这个问题,而常见的代码最终又回来了。如果可以的话,现在就将它们解耦。缓存数据的良好实现,使用pub/sub而不是常量轮询等,应该将开销保持在最低限度。

在我看来,使用基于HTTP的API。我以前不得不用一组应用程序来处理这个问题,而常见的代码最终又回来了。如果可以的话,现在就将它们解耦。一个好的缓存数据的实现,使用pub/sub而不是常量轮询等,应该将开销保持在最低限度。

这取决于您是否希望将应用程序与其他应用程序集成。如果是,那么我宁愿使用SOAP体系结构,以便为下一个应用程序提供更好的接口,可能是其他编程语言。

这取决于您是否希望将应用程序与其他应用程序集成。如果是的话,那么我宁愿使用SOAP架构,以便为下一个应用程序提供更好的接口,可能是其他编程语言。

这是一种权衡;大家都认为,共享代码库更简单、更高效。至少在短期内


xml rpc或基于普通http的api可以很好地工作,并且有利于分离责任,因为您可以获得明确的边界。为了完整性起见,SOAP也是一种选择,但除非迫不得已,否则我不会选择它;大家都认为,共享代码库更简单、更高效。至少在短期内

xml rpc或基于普通http的api可以很好地工作,并且有利于分离责任,因为您可以获得明确的边界。为了完整性起见,SOAP也是一种选择,但除非迫不得已,否则我不会选择它