ORB Overview
The Novell exteNd Messaging Platform's ORB is
an enterprise-class JavaTM CORBA
ORB and set of services featuring industry leading performance and scalability.
It has a small footprint and an excellent set of features for developing,
deploying, and managing large scale distributed Java applications.
The ORB
implements the core and interworking sections of CORBA 2.4. It includes
features such as
-
Java language Mappings (IDL to Java,
and Java to IDL)
-
Portable Object Adapter (POA)
-
Objects by Value
-
Server Activation
-
Clustering for Load Balancing and Fail
Over
-
IIOP Connection Concentrator
-
IIOP tunneling thru HTTP
-
Common Secure Interoperability (CSIv2)
-
Interoperable Name Service
-
Multicast Object Invocations, and
-
Object Transaction Service pluggability
Interoperability
Existing infrastructure
and applications often exist across various hardware architecture, operating
systems and languages. CORBA, OMG's open, vendor-independent architecture
and infrastructure help these diverse applications work together over networks.
A CORBA based application from any vendor, computer, operating system,
programming language, and network can interoperate with any other system
using the standard protocol, IIOP. CORBA is a proven, reliable, scalable
technology and Novell's ORB takes full advantage of everything
it has to offer.
This release of
the ORB has been tested to interoperate with the 1.3 version of the Sun
Java 2 Enterprise Edition (J2EE) reference implementation.
Flexible Runtime
& Compilers
The ORB contains a complete
set of feature rich compilers that support programming using OMG IDL as
well as Java RMI using a variety of Object Adapters. The ORB contains a
high-performance, flexible CORBA/IIOP ORB runtime. It implements several
object adapters, delegates, transports, protocols, interceptors, and connection/threading
policies.
-
Java IDL and RMI/IIOP
-
Portable Object Adapter (POA)
-
Objects by Value
-
Thread and Connection Management Policies
-
Multicast Invocations
-
Doors Transport (Solaris only)
-
POA support for Fault Tolerance and
Load Balancing
High Performance
and Scalability
The ORB is one of the fastest Java
CORBA ORB in the industry. It contains a high performance and flexible
CORBA/IIOP ORB runtime. Several object adapters, delegates, transports,
protocols,
interceptors, and connection/threading policies are implemented.
IIOP Connection Concentrator:
The IIOP Connection Concentrator feature of the ORB funnels
client/server communication (in both directions) to reduce resource utilization
on the server. Using this feature, a distributed application can literally
support tens of thousands of simultaneously connected clients. The gateways
can be statically or dynamically configured with fail-over support. The
gateway can also be used as an IIOP proxy to navigate a firewall. When
this feature is used, some round trip performance is compromised for gains
in the overall scalability of the system.
Doors Transport (Solaris only):
The Doors transport feature allows the ORB to further optimize intra-machine
communication using the Doors inter-process communication APIs provided
by the Solaris Operating System. For the average message sizes, there is
typically a 100% performance boost. The figure below compares the ORB performance
against some of the other popular Java CORBA ORBs.
Figure 1: ORB Performance comparison
on Solaris with JDK 1.2.
Fault Tolerant COS Naming:
The ORB provides multiple COS Naming Context implementations - transient,
persistent (with pluggable data store.) It also provides the notion of
Object and Context Groups for providing load balancing and fault tolerance
of published objects and the name space itself. A Name Service can be started
inside a dedicated server or in-process along with any server implementation.
Server Clustering: The ORB's
POA implementation provides support for pooling together multiple
machines into a single cluster using the ORB's Load Balancing and Fail
Over policies. An application can be run over several machines and can
tolerate process, computer, and network failures and stay available.
Security Service
The ORB implements the level 0 of the
CORBA standard Common Secure Interoperability v2.0 (CSIv2) specification.
This includes client authentication using GSS username/password and public
key, Identity Assertion, and IIOP over SSL and TLS. It also supports the
notion of pluggable protection spaces (realms) for authenticating the users/applications.
Interoperable
Name Service
The ORB supports the latest Interoperable
Name Service specification. This includes the extended naming Context and
the various URL schemes (corbaloc, corbaname, etc.) for resolving Initial
objects. Both transient and persistent Name Services are included. The ORB
provides multiple COS Naming Context implementations - transient, persistent
(with pluggable data store.)
The ORB's Name Service is also
accessible using the Java Naming and Directory (JNDI) APIs using the COSNaming
JNDI provider from Sun Microsystems.
Server Activation
Service
The ORB provides mechanisms and APIs
for defining, monitoring, activating, and deactivating servers (Java VMs).
When a method is invoked on an object, the client and server ORB runtime
interact with the ORB activation daemon to automatically locate or
restart an instance of a server containing the object implementation.
Transaction
Service Pluggability
The ORB is Object Transaction Service
(OTS) v1.2 aware. It provides OTS POA policies for creating transactional
objects, supports both implicit and explicit transaction context propagation,
and callbacks to the sender/receiver hooks of the transaction service.
The Novell exteNd Messaging Platform's JTS
transaction manager is plugged into the ORB to provide distributed transactions
using OTS as well as XA resources.
Administration
and Monitoring
The ORB provides several command line
tools for managing ORB servers, browsing name space, and managing the security
realms.
It also includes APIs for monitoring
runtime properties of the various Messaging Platform technologies. A GUI based
console can be used to view the ORB, JMS, and JTS runtime properties.
Copyright © 1998-2003,
Novell, Inc.
All rights reserved.