java - 如何在 Visual Studio 项目中集成 Java 和 Python?

标签 java python vb.net visual-studio

我正在开发一种涉及专有格式的数据库创建、操作和扩展的软件,该软件部分受到 SQL 的启发,但范围更广。 我的部分软件是用 Python 编写的,大部分是用 Java 编写的,只有一点前端是用 Visual Basic 编写的。如何将用 Python 和 Java 编写的后端代码与 VB (2012) 集成,并在单个解决方案中调用它们之间的函数?

最佳答案

我会选择三种语言中的一种作为您的数据库后端,然后开发一个 API 以使用 HTTP 或其他一些协议(protocol)在它们之间进行交互。

例如,您可以使用 Python Django很棒的 ORM 来开发你的数据库模型,然后使用 Django Tastypie库在诸如 http://localhost/api/v2/foo/(foo 对象列表)和 http://localhost/api/等端点为您的数据库模型公开 API 资源v2/foo/24/(foo.id = 24 的详细 foo 对象)。

然后,在您的 VB.NET App_Code 文件夹中编写一个名为 localhostRESTfulApi 的类,它使用您的 django-tastypie API。根据您的需要,这可以是简单的也可以是复杂的。

简单的情况包括使用类似 localhostRESTfulApi.POST([endpoint URL], [new object data]) 的方式详细调用 API。您必须了解 POST/GET/PATCH 请求在所有情况下的工作方式,这不是很 OOP-y。

复杂的解决方案是在 django 数据库后端为你的对象重写包装器作为 VB 中的类(在 Java 中再次),它有一个构造函数,该构造函数采用 null 作为新对象或对象的 id ,然后在实例化时通过 API 检索该对象(例如,通过使用 localhostRESTfulApi.GET 方法。这样你就可以节省一些笨重的东西必须在对象类的私有(private)方法中编写 API GET/POST 逻辑,而不是散落在整个应用程序中。

您还可以编写一个 save() 方法,该方法在幕后执行适当的 API PATCH/PUT 请求以与数据库后端同步——或者可能覆盖您的 get/set 类上的属性方法以即时检索和保存更改(无需调用异步 save() 方法)。


我很想知道其他 SO 用户提出了哪些解决方案。这只是我之前在多语言/平台应用程序上完成的一种方法(为此我还需要一个外部 RESTful API)。

关于java - 如何在 Visual Studio 项目中集成 Java 和 Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402883/

相关文章:

java - 我无法使用Spring MVC 3访问jsp页面

python - 在 matplotlib 上绘制条形图

python - 使用 simplejson 序列化简单类对象的最简单方法?

vb.net - 无法将表格定位到中心

c# - VB.NET 到 C# 转换器

Java - 无法解析从数据库返回的数据

java - 运行时未从 .jar 文件中提取文件

python - 为什么我的箱线图没有出现在 python 中?

windows - DataGridViewComboBoxCell 的 SelectedIndex?网络

java - 如何将反射与 Mockito 模拟对象一起使用