运行 Java 来自 .Net 的计算引擎

Run Java computation engine from .Net

我有一个场景,我们在 Java 中编写了一个特定领域的计算引擎作为重量级 Swing 应用程序的一部分。到目前为止一切顺利。

现在,新出现的需求要求我们将此功能的一部分(即计算引擎及其输出)与另一个在 VB.NET 中编写为 Web 应用程序的遗留产品相集成。有没有办法:

  1. 让 .NET Web 应用程序调用 Java 计算引擎并迭代其输出
  2. 还能够从 Java applet 调用相同的 Java 计算引擎以进行类似于原始 Swing 应用程序的输出表示(这应该不难,除非关于计算引擎正在 Java 基于变化)
  3. 让计算引擎保留为一个代码库,这样对一个应用程序的任何更改也会自动反映在另一个应用程序中

我查看了有关从 .NET 语言调用 Java 代码的其他问题,但之前没有见过这种双重使用场景,想知道是否有建议的最佳实践。

我想到的是将您的 Java 引擎包装在网络端点后面。此端点(例如 REST Web 服务或类似的东西)将允许其他应用程序与您的 Java 引擎通信,而无需关心引擎本身是如何实现的。

这还允许您在 Java 引擎上进行更改,并且它们立即可供其他应用程序使用,因为逻辑将在一个地方。