【问题标题】:How to integrate programs written in different programming languages?如何集成用不同编程语言编写的程序?
【发布时间】:2013-09-08 09:54:23
【问题描述】:

我的团队中有两名开发人员。一个将开发 Python 应用程序,另一个将开发 Java 应用程序。 Java 应用程序生成一个供 Python 应用程序使用的布尔值。

如何集成这些应用程序?我考虑过使用:

  • 返回码:Python 应用调用 Java 应用,然后 Java 应用使用 返回代码通知布尔值。
  • 套接字:连接两者 应用程序通过套接字和交换信息。我认为这 是矫枉过正。
  • 文件:Java 应用程序执行其操作,将输出写入 一个文件,然后 Python 应用程序读取该文件并检索布尔值 它需要的价值。

还有其他建议吗?我不只是在寻找解决方案,我也在考虑代码组织和整体解决方案的“美感”等方面。


编辑 1: 感谢@user2387370 推荐使用Jython,但是我用不了。


编辑 2:谢谢@RickyA,我会看看消息系统(例如你提到的 zeromq)。

【问题讨论】:

  • 要混合 Java 和 Python,试试 Jython
  • 你为什么使用两种不同的语言?如果出现问题时一名程序员不在,会发生什么?
  • 感谢@user2387370 的回复,我已经更新了我的问题。
  • 为什么不选择 Jython 作为不使用它的选择意味着您在问题中没有给出的限制
  • @Mark 因为我必须这样做,不幸的是我无法避免这种情况。

标签: java python integration


【解决方案1】:

使用像zeromq 这样的消息系统。它具有两种语言的库,并允许您无缝集成它们。

您提出的选项将获得笨拙的互操作性。 (文件锁、死套接字、死进程等)

另外this 页面列出了一些可用于 pyton/java 互操作的工具。我不能推荐一个,因为我没有用过。

【讨论】:

  • 这是个好主意,我们在另一个项目(OpenStack)中使用过 RabbitMQ。我会看看zeromq。感谢您的建议,很抱歉我无法投票。
  • 欢迎顺便说一句,你的第一个问题很好,尽管其他人可能会怎么想。
猜你喜欢
  • 2020-07-08
  • 1970-01-01
  • 2011-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-01
  • 2014-02-11
相关资源
最近更新 更多