我有一个 Ruby on Rails 应用程序,它需要与后端 C 应用程序进行通信,我想知道最佳方法的共识是什么。
这两个应用程序将在不同的服务器上运行,Rails 应用程序将在(部分)公共(public)网址上运行。 C 应用程序完全位于防火墙内。出于安全原因,我不希望他们共享数据库。我最初的方法是 Web 服务是正确的选择。
首先,我是否缺少任何可能比我的 Web 服务假设更好的替代方案?
其次,虽然我在使用 gSOAP 中的 C 中的 SOAP 方面拥有丰富的经验(重要的是,将编写 C 端的人也有丰富的经验!),但 Ruby on Rails 更喜欢 REST 模型。
但是 C 代码的 RESTful 接口(interface)到底需要什么?有没有像 gSOAP 这样的东西可以从 C 实现 RESTFUL 接口(interface)?
有人觉得哪一条是阻力最小的路径吗?
编辑:忘记提及 C 应用程序确实已经有一个使用 Aapche/CGI 的 Web 界面。
最佳答案
对于 C 调用 Rails,libcurl 可能是一个不错的选择。进行 REST 调用非常简单,因为它主要是通过字符串连接加上表单编码的 url。例子很丰富:
http://curl.haxx.se/libcurl/c/example.html
如果您需要通过 REST 将 Rails 转为 C...呃。也许是 Apache 和直接的 cgi?或者只是将其包装在它自己的 Rails 应用程序中并直接从该应用程序进行调用?说真的,如果您需要通过 REST 使用 Rails to C,我希望您能得到一个好的答案。
关于ruby-on-rails - C/Ruby 接口(interface)的最佳选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7796847/