ruby-on-rails - C/Ruby 接口(interface)的最佳选择

标签 ruby-on-rails c interface

我有一个 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/

相关文章:

ruby-on-rails - 关于空 belongs_to 关联的最佳实践

ruby-on-rails - Rails form_for 关系模型

结合 Docbook 和 Doxygen 文档类型。

c# - 是否有类似 ICollection<t> 的接口(interface),但专为排序的集合设计?

ruby-on-rails - 如何在 Rails 中定义 postgres 函数以及它们的范围和生命周期是什么?

ruby-on-rails - 如何重构 Rails 'params' 方法

c - 为什么 clang-tidy 说 vsnprintf 有一个未初始化的 va_list 参数?

c++ - 如何为多个命令实现管道?

c++ - 创建一种接口(interface) C++

C# 最佳实践 : Using a delegate or an interface as a class dependency