CORBA 代理/代理通过 HTTP 还是通过套接字访问(对于 PHP)?
Posted
技术标签:
【中文标题】CORBA 代理/代理通过 HTTP 还是通过套接字访问(对于 PHP)?【英文标题】:CORBA broker / proxy over HTTP or accessible via sockets (for PHP)? 【发布时间】:2011-04-13 09:58:03 【问题描述】:我正在考虑将现有的 php 代码库连接到远程 CORBA 服务。所有实际数据都通过 XML 传递,所以我认为我不需要 IDL 到 PHP 的映射来进行远程调用。我只需要连接到 CORBA 服务,将 XML 字符串传输给它,然后读取 XML 响应。
在对此进行一些研究后,我发现了 CORBA4PHP PHP 扩展,尽管我有一些保留(最后更新于 2009 年),但我将尝试使用它。我还发现了许多 Java 和 Python 实现。
为了避免处理新的 PHP 扩展,我想知道是否存在任何语言的 CORBA HTTP 代理来处理与 CORBA 服务的通信。我会将 HTTP POST 发送到代理(或某些套接字通信),它会将其中继到 CORBA 服务,并将其响应中继回给我。
这样的代理存在吗?
【问题讨论】:
【参考方案1】:我不知道这样的服务,但也许其他人可能知道。也就是说,考虑到您的 IDL 是多么简单,我会继续尝试 CORBA4PHP 扩展并在可行的情况下使用它。
如果它不起作用(我不知道它的质量),那么自己构建这样一个代理真的很简单:
-
下载一个免费的 ORB(假设您获得了一个用于 Java 的 ORB,例如 JacORB)
编译您的 IDL 并为 CORBA 服务构建客户端
为您的 Java 应用程序添加一个前端 API,您的 PHP 代码将使用它来调用它并传入包含您的 XML 的字符串参数(POST 听起来很合理,并且有很多方法可以在 Java 中实现这样的事情)
【讨论】:
我试一试时无法编译 CORBA4PHP。我也尝试了PHP4,即universe-phpext.sourceforge.net,但没有成功。现在,我正在探索远程服务的 Java 示例客户端,该客户端获取一个 XML 文件并将其提交给服务,打印出响应。我可能会通过 PHP 调用它以通过exec()
开始,然后可能通过 PHP-Java 桥接。以上是关于CORBA 代理/代理通过 HTTP 还是通过套接字访问(对于 PHP)?的主要内容,如果未能解决你的问题,请参考以下文章
通过 socks 代理的 SSL 套接字 - 客户端 <---> 服务器数据是不是加密?