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)?的主要内容,如果未能解决你的问题,请参考以下文章

CORBA ORB

gunicorn + nginx:通过套接字或代理服务器?

Java Socks 代理套接字错误

通过 socks 代理的 SSL 套接字 - 客户端 <---> 服务器数据是不是加密?

通过套接字连接将 https 代理请求传递到命名管道(node.js)

公共对象请求代理体系结构CORBA体系