2008-12-04 85 views
20

我正在研究一個基於.NET的服務器組件,它使用各種特定於目標的協議與一組目標(權限選項交換,具體)進行對話。我們計劃添加的下一個目標使用CORBA,因此我正在研究可以講CORBA的.NET庫。.NET中的CORBA - (dis)推薦的庫?

到目前爲止,我已經發現了三種可能性:

  • IIOP.NET是一個開源項目,這似乎是成熟的和相當活躍。
  • J-Integra Espresso是Intrinsyc的一套微軟< - > Java互操作工具。
  • VisiBroker for .NET(以前稱爲'Janeva')是Borland的VisiBroker CORBA包的一個模塊。

有沒有人有任何這些經驗,好或壞?

還有其他選擇嗎?

我可以使用基於C++的CORBA庫之一(omniORBTAO似乎是前兩個,但也有其他)通過混合本機託管的C++/CLI代碼,但數據需要去往和來自在某些時候服務器的託管核心,增加了編組的性能成本,並且在混合代碼場景中使用本地C++庫往往相當痛苦。

更新 - 我們已經開始使用IIOP.NET,目前看起來相當不錯。最新版本(1.9 SP1)的性能似乎可以接受,並且API相當易於使用。我一定會按照Todd Stout的建議看看IKVM - 如果IIOP.NET沒有出現,這看起來像是一個非常有趣的可能性。

更新#2(2010年7月) - 我們已經在生產中使用了IIOP.NET一段時間,並取得了良好的效果。 IIOP.NET項目並不完全是我所稱的活動,但是再也不是CORBA,所以似乎沒有大量的更多開發需求。

+2

感謝您對問題的更新,非常有用! – MichaelvR 2011-11-25 13:27:07

回答

6

IIOP.NET是一個不錯的開源項目,不幸的是該項目在2007年停止。 該項目沒有太多的文檔,但它的工作原理。

我在CORBA和IIOP.NET中使用了valuetype,效果很好。

0

IONA ORBIX是我唯一有經驗的人。

它的工作方式和任何CORBA經紀人都可以預計的一樣,但是,它的價格很高。

+0

ORBIX是否提供C#(CORABA-)IDL綁定? – 2008-12-05 05:47:06

+0

看起來像這樣: - supported platforms ORBIX的主要優點實際上是支持paltofrms的數量。 – 2008-12-05 08:08:32

4

我們使用了Visibroker C++並在其上放置了一個.NET包裝器。它是一個噩夢來維護! Janeva的產品可能沒問題,但Borland對這些日子似乎並不感興趣。

IIOP.Net可能是你最好的選擇。

2

您可以使用與IKVM一起打包的庫。 IKVM作爲一組.Net程序集提供了JSE運行時的很大一部分(作爲一個集合的打包是最近的增強)。 Sun的java ORB實現包含在這組庫中。 IKVM通過將Open JDK二進制文件編譯爲.Net CIL來完成此操作。您可以引用相應的庫並直接從.Net代碼調用Java CORBA API。