2

I want to use CORBA for a C application and thus I wanted to compare the various implementations available on the internet, e.g. the ones mentioned in the title. However, I can't find any comparison that is remotely up-to-date, like this and this.

My core requirements are as follows:

  • Client and server can be created in different languages and compiled on different OS's.
  • The server must be able to push calls.
  • No data overhead, i.e. Web Service with their relatively huge xml messages are out of question.
  • The CORBA implementation must be available under a free license that allows creation of commercial applications.

Can anyone here give advice? I know CORBA is old, as I have read Why has CORBA lost popularity? and Is CORBA legacy?, so I don't want to start another discussion on how horribly bloated CORBA is etc. I'd just like to know which implementation fits my requirements the best, but if you know of something that's better than CORBA, feel free to post it here, too.

Cheers Alex

Community
  • 1
  • 1
Alex
  • 1,198
  • 2
  • 12
  • 26

1 Answers1

4

I think the old comparisons are very old and not relevant any more. Of the three ORBs you mention TAO is actively maintained and supported, it is the leading ORB supporting the IDL to C++ language mapping.

TAO and MICO are both C++ ORBs, Orbit has support for C, so if your requirement is only pure C, than Orbit is the only option. If you can wrap again a C++ ORB in C, than TAO would be the option.

If you are looking for a more modern implementation, than check the new IDL to C++11 language mapping, which is very easy to use. There is one implementation already on the market, called TAOX11, which uses parts of TAO for its core, but that is a commercial ORB with developer licenses and royalty free runtime licenses.

Johnny Willemsen
  • 2,942
  • 1
  • 14
  • 16
  • What about iOS support? According to [the ORBit docs](https://projects.gnome.org/ORBit2/orbit-docs/orbit/x206.html) they don't know for sure, but apparently TAO [supports iOS](http://www.remedy.nl/en/ace-tao-ciao-dance-prod/support). We're using C because performance is very important (and apparently GNOME uses ORBit for the [same reason](https://projects.gnome.org/ORBit2/orbit-docs/orbit/c85.html#AEN104)). How fast is TAO compared to ORBit? – Alex Nov 14 '14 at 08:37
  • 1
    I don't know how fast TAO is, but I wouldn't just go for C for performance, for example C++11 has the new move semantics which also can get you a fast API, but also safe and easy to use. – Johnny Willemsen Nov 14 '14 at 10:35
  • Ok, I will discuss it internally, but I can't find any pricing info, only the evaluation license. Can you tell me what TAOX11 costs? – Alex Nov 14 '14 at 11:28
  • For commercial pricing information contact sales@remedy.nl, stackoverflow is not the place for that. – Johnny Willemsen Nov 14 '14 at 14:23