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