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:
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.
IIOP.NET is a good opensource project unfortenely the project stoped in 2007. The project doesn´t have much documentation, but it works.
I´m using valuetype in CORBA and IIOP.NET works well.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With