The ACE ORB (TAO)
TAO --
pronounced "dow" -- is an open-source, free implementation of a
CORBA-compliant ORB and many CORBA services. TAO is built atop
(and distributed with) Doug Schmidt's Adaptive Communication
Environment (ACE). ACE
is a general purpose, multi-platform, patterns-based C++ framework
and class library, particularly well-suited to the inherent
challenges of real-time network programming.
One chief benefit of TAO is that it stays fairly close to the
current CORBA spec. Because it is open-source, it can adapt
fairly quickly to an updated specification. The Portable Object
Adapter (POA) is a good example of this. Only recently was it
adopted as a standard to replace the ill-defined Basic Object
Adapter (BOA). TAO was one of the first ORBs, commercial or
otherwise, to implement the POA. At present (3/99), no commercial
ORB vendors offer an implementation of the POA.
The chief drawback to TAO is its lack of documentation,
most of which is contained within the source
distribution or white papers that concentrate on specific
features of TAO rather than a broad, tutorial-style
introduction. The most common way of learning TAO is to study,
build, break, debug, and/or refine the examples and tests in the
TAO distribution. In addition to this tutorial, it may be
beneficial to look in these directories:
For Unix platforms, three environment variables should be set when
building or running any programs that depend on ACE/TAO:
- $ACE_ROOT -- should contain the path to the installed ACE
distribution, e.g. "/projects/ACE/ACE_wrappers"
- $TAO_ROOT -- should be set to "$ACE_ROOT/TAO"
- $LD_LIBRARY_PATH -- should contain "$ACE_ROOT/ace"
For Win32 apps, adjust your PATH variable so that the DLL files in
%ACE_ROOT%\bin are accessible, or copy the DLL files to
some place in the existing PATH. When building, you'll need to
update your INCLUDE and LIB paths appropriately. Because ACE has
been ported to all the major development platforms, TAO
applications should compile and run without modification on either
a Wintel or Unix box. Of course, the Wintel versions should be
built as Win32 Console applications. MFC apps using ACE/TAO are
also possible, but these obviously won't port to a Unix box.
Back to... [ Corba Tutorials ]
Jim Crossley
Last modified: Thu Mar 25 08:33:27 EST 1999