This is the version 2.5.0 release of omniORB. We also refer to this version
as omniORB2. 

The last public release is 2.4.0. For a summary of changes since the last
release, please read the file CHANGES_250 . For a summary of changes from
release 2.2.0 to 2.4.0, please see the file CHANGES_240.

omniORB2 is copyright Olivetti & Oracle Research Laboratory. It is free
software. The programs in omniORB2 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 omniORB2
are distributed under the GNU Library General Public Licence. See the file
COPYING.LIB for copying permission of these libraries.

omniORB2 contains source code that is derived from the SunSoft OMG IDL
Compiler Front End (CFE) version 1.3. The IDL CFE is copyright Sun
Microsystems and is distributed here under the terms and conditions written
in the file src/tool/omniidl2/COPYING.CFE.


README files
============

README.win32 - contains important information on building and using omniORB2 
               on Windows NT and Windows 95.

README.unix  - contains important information on building and using omniORB2
               on Unix platforms.

README.openvms - contains important information on building and using omniORB2
               on openVMS.

README.linux - contains further information on using omniORB2 on linux.

README.egcs  - contains information on building omniORB2 with egcs-1.0.

PORTING      - contains instructions on porting omniORB2.

CHANGES_250      - contains details of changes from 2.4.0 to 2.5.0.

CHANGES_240      - contains details of changes from 2.2.0 to 2.4.0.

IMPORTANT NOTE for users upgrading from 2.2.0: 
		From release 2.4.0 onwards, the naming service uses the prefix 
                pragma "omg.org". This is introduced to bring our
                environment in line with the clarifications in the CORBA 
                specification. Unfortunately, this results in on-the-wire 
                incompatibility with clients that are linked with the old 
                library, i.e. any programs linked before version 2.4.0
                was released. Please read the installation instructions in 
                README.win32 or README.unix for details.


Technical Highlights
====================

omniORB2 is an Object Request Broker (ORB) which implements
specification 2.0 of the Common Object Request Broker Architecture (CORBA).

- C++ language bindings are supported. The mapping conforms to the latest
  revision of the CORBA specification.

- The Internet Inter-ORB Protocol (IIOP) is used as the native protocol.

- The omniORB2 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.

- A COS Naming Service, omniNames, is provided.

- The following platforms are supported:
 
  o Solaris 2.5/ Sun SparcCompiler C++ version 4.2
  o Digital Unix 3.2/ DEC C++ compiler version 5.5
  o Linux 2.0 (x86)/ GNU C++ compiler version 2.7.2 / Linuxthreads 0.5
  o Windows NT / Windows 95 / Visual C++ version 5.0

  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.

  o IBM AIX 4.2/ IBM C Set++ 3.1.4
  o HPUX 10.20/ aC++ (B3910 A.01.04)
  o OpenVMS Alpha 6.2/ DEC C++ compiler 5.5  (UCX 4.1 ECO 8)
  o OpenVMS Vax 6.1/ DEC C++ compiler 5.5  (UCX 4.0 ECO 1)
  o NextStep 3.3/ gcc-2.7.2

  This release has also been tested with egcc-1.0 that has been patched to 
  support thread-safe exception handling. See README.EGCS for details.

  The ports to Mac OS and SGI Irix 6.x are known to exist. However, the 
  ports have not been merged into the source tree yet.

  It should be straightforward to port omniORB2 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
================

omniORB2 is not yet a complete implementation of the CORBA core. The
following features are not supported in the current release. 

- The Dynamic Invocation Interface (DII) is not supported. 

- The Dynamic Skeleton Interface (DSI) is not supported. 


Missing features
================

The following features are missing from omniORB2. 
We are not currently planning on adding support for these features.

- The BOA only supports the persistent server activation policy. Other
  dynamic activation and deactivation polices are not supported.

- omniORB2 does not has its own Interface Repository.


Installation	
============

Installation instructions are provided in the following files:

- README.unix  for all unix platforms
- README.win32 for Windows NT and Windows 95


Documentation
=============

- omniORB2 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 omniORB2 are located in
  ./src/examples. 


Recommended Additional Documentation
====================================

omniORB2 is based on the following OMG specifications. 

- The Common Object Request Broker: Architecture and Specification. The
  current version is available on-line at 
         http://www.omg.org/corba/corbiiop.htm

  In particular, omniORB2 users will find chapter 3 "OMG IDL Syntax and
  Semantics" and chapter 16 "Mapping of OMG IDL to C++" particularly
  relevant.

- The COS Naming Service Specification. The current version is available
  on-line at 
          http://www.omg.org/corba/sectrans.htm
  

Contact
=======

If you have any queries, suggestions and problems in using omniORB2,
contact omniorb@orl.co.uk. We'd like to hear from you.

The latest version of omniORB2 is available from our Web pages:

         http://www.orl.co.uk/omniORB/omniORB.html

There is also a mailing list: omniorb-list@orl.co.uk. 

This list carries announcements of new releases and provides a forum for
omniORB2 users and developers to discuss the usage and future development
of omniORB2.

If you want to add yourself to this mailing list, send the following command
in the body of your email to "omniorb-list-request@orl.co.uk":

     subscribe


The archives of the mailing list are available at:

         http://www.orl.co.uk/omniORB/archives/
