Advertisment

CORBA: Song for All Networks

author-image
VoicenData Bureau
New Update

The advent of object-oriented programming techniques has given rise to the

latest innovation–distributed objects–in the Internet space. Here, an object

is defined as the small task-specific software component, which provides some

kind of services, such as access to database, account management, inventory

tracking, or controlling finances. The innovation is attributed to distribution

of objects over the network easily, permitting a cross-platform future where

objects running on different environment work together seamlessly. Their

importance increases from the fact that they are small, cheap, and easy to

write, upgrade and update. In a network infrastructure, such objects are

distributed over the entire network. It is the Common Object Request Broker

Architecture (CORBA) standard, which makes them work together irrespective of

different client and server operating systems and programming languages.

Advertisment

CORBA is defined by the Object Management Group (OMG) as a complete

distributed object platform specification that addresses interoperability in

distributed heterogeneous environment. There are over 800 OMG members including

vendors and developers as Sun, IBM, Oracle, Novel, Digital, and HP. OMG stages

the development of its standards in phases. CORBA Release 1.0 was released in

1991 and CORBA Release 2.0 in 1995, while CORBA Release 3.0 is round the corner.

The multi-technology network management (MTNM) working group of Tele Management

Forum (TMF) is responsible for CORBA specifications for the network management

layer (NML)/element management layer (EML).

There are several forums, which are involved in development of CORBA

specifications including TMF, TIMI, 3GPP, Parlay, ITU-T, and ETSI. These forums

have a regime of coordination among themselves to keep the standard consistent.

Basic premise behind the evolution of CORBA is that of ‘request for

services of distributed object’. CORBA is an open-vendor independent

specification for an architecture that computer applications employ to work

together over networks. It allows programs from multiple vendors, on almost any

computer, operating system, programming language, and network to interoperate.

Interoperability in a multi-vendor environment has made CORBA widely recognized

and popular. Object request brokers (ORBs) are fundamental to any CORBA

architecture. For any client or server to be a part of the CORBA regime, it must

include an ORB to help it find and communicate with the other CORBA objects.

Once equipped with an ORB, a client or server can use the services of any CORBA

object on any server or host in the network.

Advertisment

How CORBA objects interact and communicate with each other over the network

is governed by a protocol called the Internet Inter ORB Protocol (IIOP) defined

by CORBA. IIOP runs on top of the TCP/IP protocol. CORBA also defines a compiler

called interface definition language (IDL), which provides a language neutral

way to describe an interface for CORBA object and the services object provides.

IDL compiler allows objects written in different languages to communicate with

each other using IIOP and CORBA architecture. To define CORBA interface without

an IDL compiler, a few developers also suggest an alternate compiler to IDL

known as Caffeine using Java2iiop to save time in learning IDL.

CORBA can be conceptualized as a communication bus for client-server objects.

CORBA defines a method to divide application logic among objects distributed

over a network, some on clients, and others on servers. A CORBA ORB, which acts

as a middleware, establishes the connection between client application and the

object it wishes to use, to provide object location and access transparency.

Advertisment
CORBA-BASED

TMM SERVIICE
Service Description
Object

Life Cycle
Defines how

CORBA objects are created, copied, moved and deleted from ORB
Naming Defines how

CORBA objects are organized and accessed using human readable names.

Allows a CORBA client to locate a named CORBA object
 Event

Notification
How objects

notify each other. Enables objects to dynamically register and de-register

interest in specific events
Transaction Allows

transaction contexts between objects to be transparently propagated with

IIOP
Concurrency

Control
Ensure how

CORBA objects can have serialized access. How ORB manages shared access to

objects by multiple users
Relationship How objects

are grouped together or associated with each other dynamically
Externalization Coordinate

transformation of objects to and from external media
Query How search

can be performed for objects existing in multiple storage domains
Licensing

or Metering
How objects

meter their use to provide charge by use component
Properties How new

attribute can be assigned to objects dynamically
Persistency How objects

are stored uniformly in various repositories
Security Provides

encryption, authentication, and authorization to protect data and to

control user access to objects and their services

CORBA architecture provides several services for integration and

inter-operation of distributed objects that help the CORBA objects communicate

with each other to implement their application functionality. Currently, naming

and event notification services are widely supported.

CORBA offers numerous distinguished benefits as listed below:

Advertisment

l It permits a distributed and

heterogeneous collection of objects to interoperate. CORBA objects are fully

inter-operable, thanks to the IIOP.

l It protects investment in the existing systems. It bridges the past

legacy proprietary code with the present open distributed object Internet-based

computing. It provides a path for migrating or advancing legacy systems and

other existing code bases in to the Internet-based multi-vendor cross-platform.

This is accomplished by encapsulating a legacy application module in a CORBA IDL

wrapper that defines an interface to the legacy code creating an object wrapper.

This object wrapper gives the legacy code a CORBA compliant interface, making it

interoperable with other objects in a distributed computing environment

l CORBA is an open standard. It is implemented and supported by several

hardware and operating systems

Advertisment

l CORBA objects interact via interfaces. Therefore, changing an object’s

implementation does not affect other objects or applications

l CORBA provides security features including encryption, authentication,

and authorization, to protect data and to control user’s access to objects and

their services

There are two well-known programming languages that have been used for

developing CORBA, viz Java and C++. Among the two, most commonly Java is

preferred, since it is object-oriented and more flexible, permitting Java object

to work on any OS with a Java virtual machine. CORBA products that support the

Java programming language include:

Advertisment

l Java2ORB from Sun

l VisioBroker from Inprise Corporation

l OrbixWeb from Iona technologies

Advertisment

l WebSphere from IBM, etc

In addition, vendors such as Netscape, Borland, Symantec, IBM, etc, are

adding CORBA support to their visual tools.

Since, the evolution of CORBA has not attained acceptable maturity; ITU-T has

not been able to finalize CORBA standard specifications for multi-vendor

interoperability, so far. Albeit, ITU-T has adopted draft guidelines, which will

be subject to suitable upgradation as soon as new recommendations are available.

The adopted guidelines are:

n ITU recommendation X780: TMN guideline for defining CORBA managed

objects. It specifies guidelines for defining CORBA-based interfaces to software

objects

n ITU recommendation Q816: CORBA-based TMN services (listed in table)

n ITU recommendation M3120: CORBA generic network and NE level

information model

CORBA architecture has emerged as the standard specification for distributed

systems. It permits a distributed and heterogeneous collection of objects to

interoperate. CORBA provides an inter-vendor infrastructure that will be the

architecture of future next-generation network applications. Serious business

systems are being deployed in a distributed environment, which profit from the

services CORBA provides, and the interoperability it guarantees.

Ramdev Sharma, head (product marketing),

Huawei Technologies India

Advertisment