I\'ve been enamoured with component based programming (be it with COM, another system, or just using the paradigm in plain C++). It requires a bit of getting used to, if one is
ICE from ZeroC http://www.zeroc.com/ is another alternative.
For those CORBA old-timers, Michi Henning was one of the gurus of the day. He is now with ZeroC. It is an open-source, cross-platform, including all your targets (including Linux), system.
C++ is only one of the languages, and ICE's C++ bindings are significantly better than the CORBA C++ bindings are.