 |
CORBA
is a distributed object framework proposed
by a consortium of 600+ companies called the
Object Management Group (OMG). Since its inception
in 1991, CORBA has existed in some form or
the other as an adopted technology of the
OMG's open, neutral, standards-setting process.
|
It
has the lead in the market due to reasons like:
 |
It
is easy to define, implement and use
interfaces. |
 |
It
is integrated well with other technologies
like databases and user interface generation
system |
 |
It
supports both static and dynamic usage
|
 |
IIOP
is an agreed protocol used for communication
between ORBs |
 |
It
has encouraged continued innovations
and updates due to competing implementations.
|
|
It all started with CORBA
1.0 followed by CORBA 1.0, which defined the Interface
Definition Language (IDL) and the Application
Programming Interfaces (API) that enable client/server
object interaction with an Object Request Broker
(ORB). CORBA 2.0 was adopted in 1994 and it defines
true interoperability by specifying how ORB's
from different vendors can communicate. This protocol,
known as the Internet Inter-ORB Protocol (IIOP),
is required to be implemented by all vendors who
want to call their products CORBA compliant.
The new version of CORBA, 3.0 have several significant
features.It defines new CORBAservices, and improvements
to the core specification. It is expected to simplify
the use of CORBA ORBs for the development of distributed
object applications and include features that
will facilitate CORBA's adoption in the enterprise.
What
Does CORBA 3.0 Have to Offer ?
Let us see the features of CORBA 3.0 by dividing
it into three major categories:
Distributed Component
CORBA
Component Model (CCM)
CORBA 3.0's major highlight is the introduction
of a CORBA component model (CCM). It is the most
significant addition to CORBA since the definition
of IIOP in CORBA 2.0. There was a lot of criticism
that CORBA was too complicated for the average
programmer to work with. This specification includes
mechanisms to allow visual-programming tools to
assemble pre-built components and is thus very
beneficial for programmers.
The CORBA Component Model introduces an architecture
for packaging and deployment of component implementations
using an XML vocabulary and defines a MOF-based
metamodel for both components and component packages.
| "The
approval of the CORBA Component Model
is a crucial step in the continuing
advancement of open component technology.
CCM expands CORBA's possibilities and
gives companies the advantages inherent
in other accepted platforms such as
COM. The interoperability of this model
and the broad support from the industry
is exactly what our customers need to
build powerful electronic business applications
that leverage their investments in a
variety of component sources." |
-
Sridhar Iyengar,
Unisys Fellow
and Chief Technologist, Unisys Object
Management Programs |
|
CORBA Scripting Language
Specification
Another notable addition is the CORBA Scripting
Language Specification. It simplifies the CORBA
development process and enables the composition
and assembly of components using scripts. Complexities
such as memory allocation and deallocation, memory
pointers and compilation and linking procedures
are eliminated. It thus enables the client developers
to create and access CORBA servers keeping the
development of business logic as the focal point.
Portable
Object Adapter (POA)
The only standard object adapter defined in
CORBA 2.0 is the Basic Object Adapter (BOA). It
allowed the creation of a variety of CORBA objects.
But ORB vendors discovered that BOA lacked some
features resulting in the vendors developing their
own proprietary extensions like creating Object
References. This resulted in poor portability
between ORB implementations. The new standard
object adapter, the Portable Object Adapter (POA)
exhibits new features that allows applications
and their servants to be portable between ORBs
supplied by different vendors.
Object
By Value
Another ongoing criticism of CORBA 2.0 was that
it did not support passing objects by value. This
problem has been addressed in the Objects By Value
Specification. It provides a straightforward and
efficient method of passing information in an
object-oriented form across the network. It thus
enables the programmers to integrate CORBA into
modern programming languages like Java in a better
way.
Internet Integration
Firewall Specification
There was a need for the CORBA communications
protocol to work with the firewall products resulting
in the formulation of the CORBA 3.0 Firewall specification.
It defines interfaces for passing CORBA's underlying
Internet Inter-ORB Protocol (IIOP) through a firewall.
It also furnishes options for allowing the firewall
to perform filtering and proxying on either side.
This is very important for extending the secure
use of CORBA to the Internet and across organizational
boundaries.
Quality of Service Management
CORBA Messaging Specification
There was a criticism that CORBA was not able
to cope with large distributed systems. Keeping
this in mind, the CORBA Messaging Specification
has been adopted by the OMG.
The tasks tackled by Asynchronous Messaging specification
includes defining quality of service (QoS) agreement
levels and making changes to Corba's Interface
Definition Language (IDL) to allow for delays
in communication.
It preserves the invocation techniques that existed
in CORBA 2.0 and provides two new asynchronous
request techniques namely :
Minimum
CORBA
TheMinimum CORBA Specification
has been designed such that a CORBA-compliant
system can operate in an embedded environment.
Minimum CORBA does not include the dynamic features
of CORBA like Dynamic Invocation Interface. The
reason being that the embedded systems once finalized
is burned into chips and their interaction with
the outside world is predictable.
Ever-Increasing Role in the Computing
World of Future
OMG members have arrived at the base CORBA infrastructure
after ten years of work. Now they are refining
it further to accommodate future business needs.
The additional features that have been provided
by CORBA 3.0 bring ease-of-use and precise control
to the established architecture.
Despite the power and capability of the CORBA
architecture and the Object Management Architecture
surrounding it, CORBA still faces a number of
challenges to its success. These challenges come
in the form of competing technologies, or in the
very process by which CORBA and related specifications
are adopted.
Thus new capabilities and enhancements are being
added all the time. In this article we have seen
some of the enhancements in CORBA 3.0 and there
are more to come as the OMG has big plans for
CORBA. In the future CORBA will not only be more
robust and powerful but also become more seamlessly
integrated with application development.
- Saraswathy
Ashok, Content Editor
|