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: 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