Archived

This forum has been archived. Please start a new discussion on GitHub.

Is there any relation with ACE?

hi,ZeroC,
I am preparing to develop a project about network administration and investigating some open source toolkits , include ACE and your ICE. I am not very familar with them and can not make a decision how to select one in our project.
From the overview in your website, all the Comparisons
are given to CORBA,but I want to know is there any relaton with ace ? or , Can ICE be used with ACE together?
If so ,are there some examples? My questions may not be very clear due to my lack of the deep understanding to the two toolkits.
Thanks in advance.

Comments

  • No, Ice and Ace have nothing to do with each other. Ace is a low-level comms toolkit. (In a nutshell, a set of utility APIs that make it easier to do socket communications.) Ice is a distributed object infrastructure, somewhat similar to (but better than) CORBA.

    You can use Ace APIs from within an Ice application. (Although, we haven't tried this, and Ace is famous for doing rather silly things with header files, so there may be some problems.)

    For a comparison of CORBA and Ice, see http://www.zeroc.com/iceVsCorba.html

    Cheers,

    Michi.
  • Thank you very much.


    Hope somebody post some example codes using ACE+ICE so I can learn much.
  • hi,

    in your project we started with ACE and TAO (The Ace Orb).
    After we discovered ICE everything related with ACE has been removed.

    ACE's intertion was to support as much platforms as possible and they started out long time ago.
    ACE can work with and without exception handling - comes from a time where
    only a few compilers supported exception handling.

    This brings up the problems Michi mentioned. Almost everything in ACE is done with macros/defines. So debugging is a big pain.

    And almost all support classes exist in IceUtil as well like Mutex, Locks, Threading...

    I don't see any need to use ACE and ICE together.

    Take care

    Tom
  • DeepDiver wrote:
    hi,
    ...
    And almost all support classes exist in IceUtil as well like Mutex, Locks, Threading...

    I don't see any need to use ACE and ICE together.

    Take care

    Tom

    Which is generally not really true. The ACE library support for multithreading and active services is by far more elaborate as what ice contains. So there are a lot of situations, especially in active software processes (e.g. for monitoring hardware signals, etc. ) where you might want to use ACE.

    However, ICE is definitely more comfortable when implementing communications. But a mix of both is not really a problem.