You are on page 1of 4

INTRODUCTION TO CORBA

CORBA or the Common Object Request Broker Architecture is a specification of a


standard architecture for Object Request Brokers (ORBs). The CORBA specification was
developed by the Object Management Group (OMG).

Object Management Architecture or OMA is the specification that defines a broad range
of services to build distributed applications. OMA is depicted in Figure 1 below:

Figure 1: Object Management Architecture

Source: http://www.sei.cmu.edu/str/descriptions/corba.html

As depicted above CORBA plays an important role in the OMA architecture.

As described by the SEI, “OMA services are partitioned into three categories:
CORBAServices, CORBAFacilities, and ApplicationObjects.” These in turn specify
different categories of objects in the OMA which define the functionality needed to
support the development of distributed software systems.

Object Resource Brokers (ORBs) are the “communication infrastructure through which
applications access these services, and through which objects interact with each other”.
CORBA defines the specification of the ORBs.

The brief description of these services is as follows:

 CORBAServices include asynchronous event management, transactions,


persistence, externalization, concurrency, naming, relationships, and lifecycle.
 CORBAFacilities include user interface, information management, system
management, task management, and a variety of "vertical market" facilities in
specific domains such as manufacturing, accounting.
 Application Objects provide services particular to an application or class of
applications.
The ORB component shown in Figure 1 above, can be further described in the following
Figure 2:

Figure 2: Structure of CORBA Interfaces

Source: http://www.sei.cmu.edu/str/descriptions/corba.html

The ORB acts as a central object bus over which CORBA objects interact with each other
located either locally or remotely. Every CORBA object has an interface and exposes a
set of methods. The ORB intercepts the call from the client, finds an object that can
implement the request, passing it the parameters, invoking its method, and returning the
results of the invocation. “The client does not have to be aware of where the object is
located, its programming language, its operating system or any other aspects that are not
part of an object's interface” [OMG 96].

In this way, CORBA supports the development of a distributed system. It also enables
connecting heterogeneous systems or connecting legacy systems with existing systems.

EVALUATION AGAINST SYSTEMS REQUIREMENT

 Availability
We will implement a clustered architecture. This will ensure high availability as it allows
fail-over from a malfunctioning server to a functioning server and thereby insulating
clients from hardware or power failures. It eliminates single points of failure.

 Data Integrity
CORBA supports an Object Transaction Service (OTS) specification that offers several
services for distributed transaction management. OTS enables both ORB and non-ORB
applications to participate in the same transaction, so that object transactions and
procedural transactions can interoperate. It also supports transactions across
heterogeneous ORBs. Overall, OTS together with Concurrency and Control services and
Transactions, offer full commit, rollback, locking and other capabilities, enabling ORB
vendors to offer distributed transaction capabilities.

The WebLogic Server provides transaction management.

 Performance
CORBA provides Dynamic Skeleton Interface (DSI) which allows run-time binding
mechanism for servers. This greatly enhances performance. Moreover, WebLogic Server
supports a host of performance enhancing features, including caching, load-balancing,
connection pooling, and optimizations for a wide variety of operating systems, virtual
machines, and web servers.

 Security
CORBA provides “CORBA Security service”, which is a highly comprehensive security
service for distributed computing. This specification covers several aspects of security –
authentication, authorization, encryption, security and audit services. In addition different
ORB vendors provide additional security features. WebLogic Server supports basic
HTTP authentication with Base64 encoding for services protected by firewalls,
HTTPSecurity for SSL implementations and web services security for protection of data
passed from service to service via the SOAP protocol.

The company can either deploy WebLogic Server’s “out-of-the-box” security services or
use third party security vendors whose products implement SSPI(Security Service
Provider Interface).

 Growth
As the case describes, ACME will continue to grow and acquire new companies.
CORBA can very easily support ACME’s expansion and growth both generically and
through acquisition of firms since CORBA is language independent and platform
independent. ORBs can be implemented on a large number of operating systems – infact
ORBs exist for more than 30 platforms. Secondly uses a common IDL- ie Interface
Definition Language. IDL is used to define the interface of the components and not the
inner workings – for which other standard programming languages may be used. So
growth through integration with newly acquired firms or setting up new offices is very
easily supported.

 Back up & Recovery


CORBA provides strong fault tolerance and load balancing specification. Also since we
will be implementing a clustered architecture, this automatically provides failover service
– that is if one server fails, another one can take over.
References:
http://www.sun.com/swdevelopment/whitepapers/CORBA-vs-DCOM.pdf

http://www.sei.cmu.edu/str/descriptions/corba.html

http://www.cs.colorado.edu/~getrich/Classes/csci5817/Term_Papers/payton/

You might also like