tags:

views:

830

answers:

5

I am working on a .NET-based server component that talks to a set of destinations (equity options exchanges, to be specific) using a variety of destination-specific protocols. The next destination we plan to add uses CORBA, so I am researching .NET libraries that can speak CORBA.

So far I have found three possibilities:

  • IIOP.NET is an open-source project that seems to be mature and fairly active.
  • J-Integra Espresso is one of Intrinsyc's suite of Microsoft <-> Java interoperability tools.
  • VisiBroker for .NET (previously named 'Janeva') is a module of Borland's VisiBroker CORBA package.

Does anyone have any experience with any of these, good or bad?

Are there other options?

I could use one of the C++-based CORBA libraries (omniORB and TAO seem to be the top two, but there are others) via mixed native-managed C++/CLI code, but the data needs to get to and from the managed core of the server at some point, adding a performance cost for marshalling, and using native C++ libraries in a mixed-code scenario tends to be fairly painful.

Update - we have started to use IIOP.NET, and it is looking pretty good so far. Performance for the most recent version (1.9 sp1) seems acceptable, and the API is reasonably easy to use. I will definitely look at IKVM as suggested by Todd Stout - that looks like a very interesting possibility if IIOP.NET doesn't pan out.

Update #2 (July 2010) - we have been using IIOP.NET in production for a while, with good results. The IIOP.NET project isn't exactly what I would call active, but then again neither is CORBA, so there doesn't seem to be a big need for a lot more development.

+1  A: 

IONA ORBIX is the only one I have experience with.

It works as well as any CORBA broker could be expected too, but, its expensive.

James Anderson
Does ORBIX provide a C# (CORABA-)IDL binding?
Christian.K
Looks like it :- <a href=http://www.iona.com/products/orbix/orbix_platforms.htm>supported platforms</a>The main advantage of ORBIX is actually the number of paltofrms supported.
James Anderson
No - ORBIX is C++ / Java only. They do support lots of permutations of Windows, but only for Visual C++ and various Sun JDK versions.
McKenzieG1
+1  A: 

We used Visibroker C++ and put a .NET wrapper around it. Its a nightmare to maintain! The Janeva product might be OK but Borland don't seem very interested in it these days.

IIOP.Net may be your best bet.

Fortyrunner
+1  A: 

You could use the libraries that are packaged with IKVM. IKVM provides a large portion of the JSE runtime as a set of .Net assemblies (the packaging as a set is a recent enhancement). Sun's java ORB implementation is included in this set of libraries. IKVM accomplishes this by compiling the Open JDK binaries into .Net CIL. You can reference the appropriate libraries and invoke the Java CORBA API directly from .Net code.

Todd Stout
Great suggestion - I will definitely check it out.
McKenzieG1
+1  A: 

IIOP.NET is a good opensource project unfortenely the project stop in 2007. The project don´t have much documentation, but it´s work.

I´m using valuetype in CORBA and IIOP.NET work well.

Makah
A: 

omniORB is active and is constantly being updated

lsalamon
But then again, omniORB has nothing to do with .NET.... (it is only C++ and Python)
splintor