2010-03-22 69 views
0

背景:经验丰富的PHP开发人员,主要是* nix背景。使用COM API访问应用程序的策略PHP

我正在写需要用专用的第三方系统交互的PHP应用程序。第三方系统仅限Windows。 PHP应用程序将是生活在单独的基于Linux系统

的第三方应用程序上已被描述为具有“COM API”,我需要从PHP应用程序交谈。这在建筑学上看起来像什么?我从PHP手册的COM section开始,但我有特定的问题。

具体的问题:

  1. 我可以直接从另一台服务器上运行PHP应用程序跟一个COM API?如果是这样,怎么样? (我需要什么样的PHP扩展,或者我将使用什么协议/ PHP函数来与API交谈)

  2. 如果对号码2的回答是否定的,我会假设我需要某种应用程序在可以与COM通话的Windows机器上,然后在Windows机器上使用PHP打开的服务。是否有这种类型的预构建框架?

  3. 这是胡说八道和/或我说了什么极度愚蠢吗? (很有可能,因为我什么“COM”有点模糊不和不包括)

我显然不是在寻找一个完整的解决方案在这里,我只是想获得一个对于什么是和不可能的一般概念以及我希望Google提供什么样的东西。

谢谢!

回答

2

正常情况下,“COM API”被包含在一个DLL文件或Active X控件(有点像一个dll文件),你引用从Windows应用程序将加载COM DLL就像任何其他DLL。 COM实际上只是试图使DLL更容易重用以及解决DLL的许多其他问题。

所以答案为数字1是否定的。 对号码2的回答是肯定的。我个人会用WCF为COM API创建一个包装器。 WCF基本上是用于构建Web服务的Microsoft .NET技术。这会让使用PHP的api更容易。最大的障碍将是学习WCF以及弄清楚如何将COM api中的成员映射到Web服务中的成员,因为数据类型可能需要以某种方式进行转换。 WCF应用程序可以作为一个Windows服务托管或托管在IIS中,因此这种方式可以杀死所有鸟类。

你可以选择使用.NET中的较旧的Web服务已经WCF绕前,我只是个人喜欢WCF更好,因为它是更灵活。如果您点击足够多的时间通过微软的非常不友好的网络广播网站,您可以在WCF上下载一系列视频: http://www.dasblonde.net/2007/06/24/WCFWebcastSeries.aspx

-3不,我不这么认为。

+0

+1为一个好方法。我也完全同意你的个人资料中的“关于我”。 – 2010-03-22 20:52:07

相关问题