[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

omniORB



Hello Datafolks,

The ORB I mentioned (MICO) doesn't look interesting to us. (They don't
mention multithreading and say performance isn't a goal.)  omniORB,
however, looks very interesting. They seem to pay a lot of attention to
threads and exceptions. Which makes us feel all warm and cozy inside,
right? 

Is this useful to us?
 - Henrik
Ps. note that omniORB is missing some CORBA features (see below), but I
can't tell if we can live without them, so please have a look.

The following info was taken from:
http://www.orl.co.uk/omniORB/omniORBTechnical.html

Technical highlights
* C++ language binding is supported. 
* The IDL compiler uses the compiler front end from Sun, and generates C++
	language mapping conforming 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 the type `Any' are supported. 
* A COS Naming Service, omniNames, is provided. 
* The following platforms are supported: 
	Solaris 2.5/ Sun SparcCompiler C++ version 4.2 
	Digital Unix 3.2/ DEC C++ compiler version 5.5 
	x86 Linux 2.0 / GNU C++ compiler version 2.7.2 / Linuxthreads 0.5 
	x86 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. 
	IBM AIX 4.2/ IBM C Set++ 3.1.4 
	HPUX 10.20/ aC++ (B3910 A.01.04) 
	OpenVMS Alpha 6.2/ DEC C++ compiler 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 
* This release has also been tested with egcc-1.0 that has been patched to
	support thread-safe exception handling. 
* 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. 
 * Dynamic Any (DynAny) not yet supported. This is currently being
implemented. Please visit the omniORB home page for latest updates. 
* 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. 


___________________________________________________________
Henrik Nordberg <HNordberg@lbl.gov> http://nordberg.lbl.gov
Scientific Data Management Research & Development Group
Lawrence Berkeley Laboratory