【发布时间】:2013-02-12 13:51:46
【问题描述】:
我正在为 Oracle NoSQL 数据库的 Python 适配器提出建议。 Oracle NoSQL 数据库作为独立的 Java 应用程序运行,至少在 Java 程序中,您可以通过告诉程序要连接的主机名和端口以及一些配置设置来与它交互。然后,您对包含该配置的“kvstore”对象进行 java 调用。
我想创建一个 Python 库,它基本上公开了 Oracle NoSQL 拥有的 Java 方法的 Python 版本,并将这些方法转换为 Java 以与正在运行的 Oracle NoSQL 应用程序对话,但我不确定哪种技术最好能够做到这一点。
有人知道我想使用什么技术吗?我宁愿不使用 Jython(这样应用程序可以在标准 Python 环境中运行)或 JNI(因为它似乎有一些讨厌的警告。)
编辑:到目前为止,我发现的唯一潜在技术是:Jpype 对我有用吗?
此外,以下是图书馆的理想要求。如果其中一个确实最符合这些要求,我会考虑使用 Jython 或 JNI。
性能。 Oracle NoSQL 的主要优势是性能和可扩展性,因此这将是适配器最重要的组件。
易于为 Python 用户实现。为了让 Python 程序员真正使用该库,他们必须以一种自然的方式相对容易地使用它。
可靠性。它需要能够可靠且无错误,同时在您自然期望 Python 可以使用的平台上工作。 (这就是让我担心 JNI 的原因。听起来它的实现依赖于平台,并且容易出错。)
发展速度。最后一点很重要,它的开发速度相对较快。开发人员团队会喜欢学习 Python 或 C,但我们现在比任何其他编程语言都更了解 Java。
【问题讨论】:
-
对协议进行逆向工程并编写驱动程序,也许?你已经消除了我自然会想到的途径。 CPython + JNI、Jython 或 posix 套接字...
-
如果您列出了您正在寻找的标准,这将有所帮助。 (看起来你已经“可以在标准的 Python 环境中运行了。)
-
@Dwerner 我很高兴听到这些不同选项的好处。我现在列出了标准。我可能不应该从一开始就试图彻底否定 Jython 或 JNI —— 更多的是它是否符合标准。