This is version 3.0.4 of omniORB. We also refer to this version as
omniORB3.
This release is a minor release since omniORB 3.0.3. For a summary
of changes since the last release, please read the file ReleaseNote_omniORB_304.
omniORB3 is copyright AT&T Laboratories - Cambridge. It is
free software. The programs in omniORB3 are distributed under the
GNU General Public Licence as published by the Free Software
Foundation. See the file COPYING for
copying permission of these programs. The libraries in omniORB3
are distributed under the GNU Library General Public Licence. See
the file COPYING.LIB for copying
permission of these libraries.
We impose no restriction on the use of the IDL compiler
output. The stub code produced by the IDL compiler is not considered a
derived work of it.
README files
IMPORTANT NOTE for users upgrading from 2.7.1 or earlier:
Since 2.8.0, omniORB2 has been updated to CORBA 2.3. In order to comply
with the 2.3 specification, it is necessary to change the
semantics of the extraction of string, object reference and typecode
from an Any. Please read CHANGES_280 for details.
Technical Highlights
omniORB3 is an Object Request Broker (ORB) which implements
specification 2.3 of the Common Object Request Broker Architecture
(CORBA).
- C++ language bindings are supported. The mapping conforms to the
latest revision of the CORBA specification.
- Support for the Portable Object Adapter (POA) NEW!
- Support for the Interoperable Naming Service (INS)NEW!
- The Internet Inter-ORB Protocol (IIOP 1.0) is used as the native
protocol.
- The omniORB3 runtime is fully multithreaded. It uses native
platform thread support encapsulated with a small class library,
omnithread, to abstract away from differences in native thread APIs.
- TypeCode and type Any are supported.
- DynAny is supported (CORBA 2.2)
- The Dynamic Invocation and Dynamic Skeleton interfaces are
supported
- A COS Naming Service, omniNames, is provided.
- The following platforms are supported:
- Solaris 2.{5,6}/ Sun SparcCompiler C++ version 4.2
- Windows NT / Windows 95 / Visual C++ version 5.0
(and also version 6.0)
- Linux 2.x (x86)/egcs-1.1.2/binutils-2.9.1.0.14/GNU Libc
version 2
- HPUX 11.00/ aC++
- SGI Irix 6.x/SGI C++ compiler 7.2
Ports to the following platforms are available. These ports are
done by external contributors and have been integrated into the
source tree. For these platforms, no pre-compiled binary is
available.
- Digital Unix 4.0D/ DEC C++ compiler version 6.1
- IBM AIX 4.2/ IBM C Set++ 3.1.4
- IBM AIX 4.3/ IBM C Set++ 3.6.6
- HPUX 10.20/ aC++ (B3910 A.01.04)
- OpenVMS Alpha 6.2/ DEC C++ compiler 6.2/5.5 (UCX 4.1 ECO 8)
- OpenVMS Vax 6.1/ DEC C++ compiler 5.5 (UCX 4.0 ECO 1)
- NextStep 3.3/ gcc-2.7.2
- Reliant Unix 5.43/CDS++
- Phar Lap's Real Time ETS Kernel
- SCO Unixware 7
- Linux 2.x powerpc/Debian
- An earlier port to MacOS exists but has not been fully
integrated into the source tree. An adaption kit is available
here.
- An earlier port to the embedded OS RTEMS exists. More
information is available
here.
- Linux 2.0 (x86)/ GNU C++ compiler version 2.7.2 /libc-5/ Linuxthreads 0.5
- SCO OpenServer 5/g++ (May need some changes in the source to
work around compiler bugs.
The compiler can compile omniORB 2.7.1 unchanged.)
- Digital Unix 3.2/ DEC C++ compiler version 5.5 (Need to apply
the patch in patches/dec_CXX_5.6.patch to work around compiler
bugs.)
A ports to LynxOS is known to exist but it has not been integrated
into the source tree.
It should be straightforward to port omniORB3 to any platform
which supports POSIX style threads, BSD style sockets and has a
decent C++ compiler which supports exceptions.
- It has been tested for interoperability via IIOP with other ORBs,
such as Iona Orbix 2.2 MT, Iona OrbixWeb 2.0.1, Visigenic Visibroker
for C++, and HP ORB Plus 2.5.
Work in progress
omniORB3 is not yet a complete implementation of the CORBA core.
The following features are not supported in the current release.
- Support for IDL type longlong, longdouble, wchar, wstring, fixed,
valuetype
Missing features
The following features are missing from omniORB3. We are not
currently planning on adding support for these features.
- omniORB3 does not has its own Interface Repository. However any
CORBA compliant Interface Repository can be used with omniORB3.
Installation
Installation instructions are provided in the following files:
Documentation
- omniORB3 user guides are located in the ./doc directory. They are
available in latex, postscript, acrobat and html formats.
- Man pages for the programs in this distribution are located
in ./man directory.
- README files are provided throughout the distribution tree.
They provide specific information about the directories and files,
tools and examples. You may want to explore the tree to become
familiar with the information provided in the README files.
Examples
- Example programs that demonstrate the use of omniORB3 are located in ./src/examples.
Recommended Additional Documentation
omniORB3 is based on the following OMG specifications.
- The Common Object Request Broker: Architecture and
Specification. The current version can be found on the
OMG website,
here.
In particular, omniORB3 users
will find chapter 3 "OMG IDL Syntax and Semantics" and
chapter 23 "Mapping of OMG IDL to C++" particularly
relevant.
- The COS Naming Service Specification. The current version is
available on-line at the OMG website.
Contact
If you have any queries, suggestions and problems in using omniORB3,
contact
omniorb@uk.research.att.com.
We'd like to hear from you.
The latest version of omniORB3 is available from our
Web pages.
There is also a mailing list:
omniorb-list@uk.research.att.com
This list carries announcements of new releases and provides a forum
for omniORB3 users and developers to discuss the usage and future
development of omniORB3.
If you want to add yourself to this mailing list, send the following
command in the body of your email to
omniorb-list-request@uk.research.att.com
subscribe
The archives of the mailing list are available here . |