我有一个假想的软件,它有两个组件A和B.组件B可以在本地部署在与A相同的机器上,也可以远程部署组件B.我想知道是否有任何编程语言中的技术/方法/配置可以透明地处理对B的API的调用,而不管B是本地部署还是远程部署。为了结束开发者,它应该显示为相同的函数调用。在本地或远程调用函数
回答
如果您使用远程调用(例如,通过使用.net remoting或Java RMI),即使这两个组件部署在同一台计算机上,也可以执行调用。
在Windows中,您可以使用COM/DCOM
来实现您想要实现的目标。从程序的角度来看,组件可以是远程的或本地的并不重要,它仍然被实例化并以相同的方式使用。
在COM/DCOm中,对本地部署组件的调用是否是本地函数调用?当组件出现在同一台机器上并通过直接函数调用调用API时,我想避免使用套接字。但是当组件被远程部署时,系统应该使用RPC或任何其他机制。 –
只需将B的API Url或位置保存为应用程序的一个配置文件中的可配置文件,并试图在整个应用程序中访问此配置设置即可完成,但需要做的一件事是指向本地API或Remote Api。
因此,就最终开发人员而言,只有在应用程序的配置文件中进行更改,其余功能调用保持不变,而不管组件B是本地部署还是远程部署。
例如:一个Php应用程序试图访问在互联网上任何地方部署的API web服务。
感谢
在引用文本时,用>字符作为行的前缀。缩进四个空格将文本格式化为代码,消除了换行并使文本变得难以阅读。 – Amy
- 1. 从远程脚本块调用函数
- 2. 从远程函数调用
- 3. 远程调用Flex后调用函数
- 4. 使用通用参数本地或远程执行powershell脚本
- 5. Asyncsocket:没有本地或远程地址
- 6. WebView:从远程HTML调用本地JavaScript
- 7. 远程过程调用与本地过程调用
- 8. iPhone应用程序本地或远程数据库
- 9. 调试GWT应用程序在本地/远程,而在Tomcat
- 10. 在反应本地调用js函数
- 11. jquery调用远程php函数
- 12. AutobahnJS:远程调用异步函数
- 13. 从函数调用远程sproc
- 14. AJAX调用一个远程JS函数
- 15. 远程调用bash脚本失败,但在本地运行
- 16. 打开本地或远程文件Widget
- 17. Ansible有条件delegate_to本地或远程?
- 18. 本地文件或远程服务器
- 19. 决定返回本地或远程
- 20. 授权访问(远程或本地)
- 21. 本地服务或远程服务?
- 22. NSIncrementalStore - 使用本地和远程数据
- 23. 在本地备份远程数据库
- 24. SOAP WCF Webservice在本地或远程调用时的行为有所不同
- 25. 使用远程数据本地调试swf
- 26. 我的本地PowerShell脚本如何调用远程PowerShell脚本?
- 27. Pycharm上的远程调试连接本地和远程路径
- 28. 如何远程调用正在Eclipse中调试的applet函数?
- 29. 使用QFuture调用本地类函数
- 30. 推送时使用的是本地或远程版本的git?
RPC和本地电话将始终具有完全不同的可靠性和性能特点,所以你问的问题它不是真的有可能是“透明”切换一个为其他。 – 2011-11-27 13:47:21
你可以查看“关于分布式计算的一个注释”来评论这种方法 – sdcvvc