Preface
Purpose of the CORBA Utilities
The
CORBA Utilities package has grown organically from the
real-world experiences I have had over the last 11 years in
my work as a consultant and trainer for IONA Technologies. This
collection of utilities provides both software and practical
advice that dramatically simplify the development and deployment
of CORBA applications. I have used them to speed up the
development of applications that are easy to write and maintain,
flexible in how they are deployed, and portable to different
CORBA products. A lot of people, both inside IONA and elsewhere,
also have found these utilities to be helpful.
Obtaining and Installing the
Software
The CORBA Utilities package (including both the
software and documentation) is available at:
www.CiaranMcHale.com/download/.
The author usually announces a new release on the
comp.object.corba newsgroup. If you would like to
receive an email notification whenever a new version of the CORBA
Utilities package has been released then send an email to the
author (
Ciaran@CiaranMcHale.com).
Your email address will be used
only for the purposes of
notifying you that a new version of the CORBA Utilities package
is available; your email address will
not be shared with
other people/organizations, and you will
not receive any
SPAM email from the author. The
README-unix.txt and
README-windows.txt files in the top-level directory of
the distribution contain instructions for installing the CORBA
Utilities package.
How to Read this Book
In
general, each of the CORBA Utilities can be used independently of
the others. This means that you do
not have to read this
book from start to finish. Instead, just read the individual
chapter for the utility that is of interest to you. The
implementations of some of the C++ classes rely upon the
portability header files (Chapter
4).
However, that is an implementation detail, and you do
not need to read the Chapter
4
unless the subject matter is of interest to you.
Technical Support
The CORBA
Utilities package is not an official product of IONA
Technologies. Instead, it has been developed and is maintained by
Ciaran McHale, who is a Principal Consultant at IONA
Technologies. Bug reports, requests for enhancements and
miscellaneous comments should be sent by email to:
Ciaran@CiaranMcHale.com.
Training Courses
Since developing
the CORBA Utilities, the author has completely overhauled IONA's
CORBA development training courses so that they now embody the
CORBA Utilities package. For example, the courses:
- Discuss both the “raw” CORBA
APIs for creating POAs and the PoaUtility class
(Chapter 5).
Students usually agree that the PoaUtility class is
far simpler to use.
- Discuss the “raw” CORBA APIs
for importing and exporting object references via files and the
Naming Service, plus the importObjRef() and
exportObjRef() functions (Chapter 2).
Students can appreciate the ease-of-use and flexibility offered
by the latter.
- Source code portability is stressed
throughout the training courses. The exercise system of the C++
course makes use of the portability header files
(Chapter 4).
In fact, the source code of the entire C++ exercise system
(about 15,000 lines of code) compiles cleanly with Orbix,
Orbacus, TAO and omniORB. Likewise, the entire source code of
the Java exercise system compiles cleanly with Orbix and
Orbacus. We may consider enhancing the training courses to
cover other open-source CORBA implementations in the future, if
there is demand.
If you are impressed with the high quality and practical
advice of the CORBA Utilities package then you will probably also
find the training courses to be equally impressive. You can find
details of these training courses on the IONA web site (
www.iona.com).
Acknowledgments
First,
thank you to: Roland Schnir for contributing
Chapter
1
(
Tips for Windows); Adrian Trenaman for porting the
importObjRef() and
exportObjRef() functions
(Chapter
2)
from C++ to Java; Perry Russell for providing TAO support; and
Duncan Grisby for his help that made the omniORB port possible.
Thanks also to Oliver Kellogg who has given me information that
will help me port the utilities to other CORBA implementations
(although, unfortunately, that will have to wait until I have
more spare time). Second, thank you to people who have given me
feedback on the utilities that has allowed me to mature them:
Adrian Trenaman, Brian Kelly, Donal Arundel, Michael McKnerney,
Perry Russell, Rebecca Bergersen and Steve Vinoski. Finally,
thank you to others who have helped, in one way or another, with
the practical issues of making the CORBA Utilities freely
available: Jane Merritt, Klaus Hofmann zur Linden, Neil Kenealy
and Stephen Zangerl-Salter.