java - 如何让 Ruby 程序与 Java 程序一起工作?

标签 java ruby-on-rails ruby jakarta-ee

这本身并不是一个问题,而更像是我想知道的关于如何使 Ruby 程序与 Java 程序一起工作的一系列事情。

事情是这样的:我们有两个团队。一个人从事 Java 工作,并用 Java 实现他们的代码和模块。我们在 Ruby 中也做同样的事情。我们应该有一组通用接口(interface),并在我们的 Ruby 程序中使用他们的一些代码,他们也将在他们的 Java 程序中使用我们的一些 Ruby 代码。

在连接这两个模块以提供一个公共(public)模块时需要记住哪些事项?我想这更像是一个指南或一套指导方针,而不是一个直接的答案。因此,请耐心等待,不要报告或关闭此问题。谢谢!

更新:

是的,我们将使用 RESTful 服务。我不需要任何编码帮助。我想要的只是您的贡献,您可能会从使用两种不同语言编码模块并将它们与通用接口(interface)互连的经验中获得贡献。

这就是我想知道的全部内容。虽然这确实是我的一个类项目,但我认为如果有指导方针会更好,这样它也可以帮助其他人。

最佳答案

在您描述的情况下,我倾向于使用 JRuby,以便您的 Ruby 代码可以直接与 Java 进行互操作。您还可以使用 JSON 或其他方式让系统的 Ruby/Java 部分通过套接字进行通信,但是这样做会带来性能成本和复杂性成本。 (性能影响是否真正产生影响取决于 Ruby/Java 部分之间的接口(interface)的“细粒度”程度——处理单个请求需要多少次 Ruby-to-Java 或 Java-to-Ruby 调用。 )

在 JRuby 中,您可以加载 JAR 文件并使用其中定义的 (Java) 类,就像它们是 Ruby 类一样。您还可以采用另一种方式 - 您可以像 Java 应用程序中的“库”一样使用 JRuby 来评估 Ruby 代码。

您可能应该 1) 用 Ja​​va 编写“主”应用程序,并将 Ruby 部分编写为主应用程序调用的“库”,或者 2) 用 Ruby 编写主应用程序,并将 Java 部分编写为图书馆。如果您存在从 Java 代码到 Ruby 以及从 Ruby 到 Java 的循环依赖关系,那么您的代码库将难以理解。

关于java - 如何让 Ruby 程序与 Java 程序一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13127944/

相关文章:

ruby - 使用 Ruby 解析 .cfg 文件?

ruby - Ruby 中的序列

java - 基于 Java 的应用程序的发现机制 API

java - 如何让用户在出错后再次输入变量?

java - Spring找不到用户创建的类

c# - 从 Google 网络历史记录中检索旧搜索

ruby-on-rails - 应该返回什么葡萄救援_从:all block?

ruby-on-rails - 如何在 Windows 7 上安装 ferret gem?

ruby-on-rails - Rails 从两个 Controller 调用相同的操作代码(有一点不同)

ruby - 如何从字符串的开头获取子字符串,直到 Ruby 中字符串中特定索引之前的字符的最后一次出现