2008-09-18 38 views
1

我們希望從Excel中訪問我們的一些EJB。目標是爲VBA提供一個可用的API。使用Excel中的EJB的最佳解決方案

我們的EJB大多是無狀態會話Bean,它們對POJO執行簡單的CRUD操作。

一些可能的解決方案:

  • 揭露的EJB作爲Web服務,並創建一個VB/C#DLL包裝他們,
  • 使用CORBA的從C#訪問的EJB,
  • 創建使用COM庫訪問EJB的Java,

歡迎使用這些解決方案或其他想法的框架的指針。

回答

2

你可以看看IIOP.NET,它解決了這個問題。

2

如果您有一個相當新的ejb容器,最便宜和最容易的應該是將您的bean作爲Web服務公開並從VB/C#調用它。這不需要任何額外的工具或庫。

0

回到VB6/COM/DCOM時代,我們使用套件J-Integra來完成此任務。雖然我沒有使用.NET版本的經驗。

0

我強烈推薦IKVM。它是.NET程序集編譯器(即JAR - > DLL)的Java字節碼,我用它在Excel自動化服務器中創建實時JMX鏈接和偵聽器。您創建EJB客戶端存根控件庫和支持庫的.NET程序集應該不難。

//尼古拉斯

2

我名爲XLLoop一個開源項目工作 - 這個框架可以讓你暴露POJO功能爲Excel函數。

它包括:

  1. 的Excel加載(XLL),它通過TCP通信:
  2. 一個Java服務器/庫,它調用Java方法。

您可以將此Java函數服務器嵌入到EJB中,並將其作爲應用服務器的一部分進行部署。

+0

感謝您的回答,我會研究它,但它似乎很有趣 – Michel 2009-05-11 12:52:49

0

你可以嘗試Obba(我在這個項目上):

OBBA是電子表格應用程序的Java對象處理機。

它提供了電子表格和Java類之間的橋樑,使得電子表格可以用作Java庫的圖形用戶界面。從電子表格訪問您的Java庫不需要粘合代碼(不需要VBA,不需要特殊的Java代碼)。對象由其原始構造函數實例化。構造函數和方法使用「按名稱」反射來調用。電子表格特定的工廠方法不是必需的。 Obba提供了處理電子表格中的對象的函數。

提供加載項的Java虛擬機可以在同一臺計算機或遠程計算機上運行 - 不需要更改電子表格,即電子表格中引用的對象可以駐留在遠程Java虛擬機上。