从 Excel 使用 EJB 的最佳解决方案
题
我们希望允许从 Excel 访问我们的一些 EJB。目标是提供可通过 VBA 使用的 API。
我们的 EJB 大多是无状态会话 Bean,它们使用 POJO 执行简单的 CRUD 操作。
一些可能的解决方案:
- 将 EJB 作为 Web 服务公开并创建一个包装它们的 VB/C# dll,
- 使用 Corba 从 C# 访问 EJB,
- 创建一个使用 Java 访问 EJB 的 COM 库,
欢迎指出这些解决方案的框架或其他想法。
解决方案
你可以看一下 IIOP.NET, ,它解决了这个问题。
其他提示
如果您有一个相当新的 ejb 容器,最便宜和最简单的方法应该是将您的 bean 公开为 Web 服务并从 VB/C# 调用它。这不需要任何额外的工具或库。
我从事一个名为的开源项目 XL循环 - 该框架允许您将 POJO 函数公开为 Excel 函数。
它包括:
- Excel 加载项 (XLL),通过 TCP 与以下对象进行通信:
- 一个 Java 服务器/库,调用 java 方法。
您可以将此 java 函数服务器嵌入到 EJB 中,并将其部署为应用程序服务器的一部分。
回到 VB6/COM/DCOM 时代,我们使用了该套件 J-Integra 来完成这个任务。不过我对 .NET 版本没有经验。
我强烈推荐 IKVM. 。它是一个 java 字节码到 .NET 汇编编译器(即JAR --> DLL),我用它在 Excel 自动化服务器中创建实时 JMX 链接和侦听器。创建 EJB 客户端存根和支持库的 .NET 程序集对您来说应该不难。
//尼古拉斯
你可以尝试 奥巴 (我从事这个项目):
Obba 是电子表格应用程序的 Java 对象处理程序。
它提供了电子表格和 Java 类之间的桥梁,使得电子表格可以用作 Java 库的图形用户界面。从电子表格访问 Java 库不需要粘合代码(不需要 VBA,不需要特殊的 Java 代码)。对象由其原始构造函数实例化。使用“按名称”反射来调用构造函数和方法。不需要特定于电子表格的工厂方法。Obba 提供了处理电子表格中对象的函数。
提供插件的 Java 虚拟机可以在同一计算机或远程计算机上运行 - 无需对电子表格进行任何更改,即电子表格中引用的对象可以驻留在远程 Java 虚拟机上。