Oops, they are old alright! So what do the contemporary Ruby
programmer do when distributed objects is the order of the day?
Corba is pretty ugly, so we do our best to avoid it whenever possible.
There are other solutions for Ruby that are more idiomatic.
However, at work we use Corba and need to interface our ruby scripts
with our C++ applications. Last I checked, rinn only supported UIOP and
not IIOP, so it was unusable between multiple machines. Instead of
taking the time to write real Corba bindings, we decided to write C++
extensions that wrap the Corba calls and are callable from Ruby.
We originally wrapped the extensions using SWIG, but decided that was
more trouble than it was worth (it doesn't provide a fine-grained enough
interface for creating types -- something we've found particularly
useful with enumerated types). We later wrote our own library similar
to boost:
ython called excruby, which we currently use today.
One idea we've had to make things a little easier is to write a C++
interface to the TAO interface repository and the dynamic invocation
interface (DII). This would allow Corba wrappers to be dynamically
generated, which would make the actual calls using DII (so the library
wouldn't actually have to speak Corba). Finding/making time for such a
project is difficult, though.
Paul