Search
 
     
   
   
   
  A Distributed Object Infrastructure
   
 
 

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 :

  • Callback
  • Polling


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

 
 
     
Copyright © 2006 iCMG. All rights reserved.
Site Index | Contact Us | Legal & Privacy Policy