Register | Forgot password?
Switch to Arabic
Saturday, March 20 - 2010

CORBA - What is it all about?

  • United Arab Emirates: Tuesday, June 28 - 2005 at 10:33

The main objective of adopting a CORBA specification is achieving application-to-application integration regardless of various differences at the levels of network, operating system, hardware, and programming language.

Article continues below
  • Maitha Malek
    Maitha Malek
CORBA, which stands for "Common Object Request Broker Architecture," is an open distributed object computing infrastructure that allows interoperation between distributed applications. It is a major initiative lead by the non-profit organization Object Management Group (OMG) that develops and maintains computer industry specifications for distributed enterprise applications. These specifications are free-of-charge and several IT companies have implemented them including IONA Technologies (Orbix ORB) and ObjecSpace (Voyager ORB). CORBA has been successfully used in various mission-critical applications such as healthcare and banking.

The main value-added by CORBA to distributed enterprise applications is the automation of network tasks. The development of such applications poses multiple challenges including how to locate appropriate services, how to guarantee a reliable delivery of information despite risks of network disconnections, and how to recover from disconnections with less impact on the business process under execution. These challenges result in an additional burden on application developers. To reduce the complexity of some of these technical challenges, CORBA as a middleware technology is deemed appropriate. Abstracting communication details, supporting communications in a transparent way, and recovering from potential crashes are some of the objectives of the CORBA technology. As a result, application developers can now focus on the underlying logic of the functionalities to offer to end-users, instead of low-level technical details.

The main elements in CORBA specification are:

Object Request Broker (ORB): responsible for routing the invocation or request from the client (source) to the server (destination), and returning back the response.

CORBAServices: a collection of packages that are used in the IDL interface to provide services to the CORBA system. These services are mainly used in ORB. Examples of these services are:
o Startup Service: a request could start automatically whenever it invokes the ORB.
o Life Cycle Services: an item on the bus can be identified with a process like create, copy, move, or delete.
o Naming Service: name can be given to an item on the bus for identification reason.
o Persistence Service: items can be saved in a storage area like Object Databases (ODBMS) through a single interface.
o Event Service: a registration to specific events can be given to any item on the bus.

CORBAFacilities: a set of IDL-defined frameworks that are used as a services provider to the application objects. The two main facilities are horizontal and vertical facilities which specify regulations needed to manage business components.

As part of our senior capstone project, we designed, developed, and simulated the operation of a Distributed Online Library System, using both VisiBroker ORB (info.borland.com/techpubs/bes) for Java and Java as a middleware and implementation language respectively. The library object implementation, namely the server, offers various services to potential borrowers including search, borrow, and return resources to clients existing within the same Local Area Network. For data management purposes, the server was connected to a database through the Java Database Connectivity (JDBC). Moreover, a thread safe utility was used in order to isolate clients' concurrent requests and achieve data consistency and integrity. For communication to be established between a client and the server, CORBA middleware must run on both machines. The middleware hides the heterogeneity of the underlying platforms, programming languages, network, and hardware. It coordinates the connection and interoperation of separate applications across a network.

When a client submits a request to the server, the ORB is in charge of locating the object implementation, delivering the request to the object (and activates the object if needed), and returning the response to the client. The client is unaware of the location of the object whether it is on the same machine or across a network. The client can use a remote object by obtaining a reference to that object using binding. Known as Static Invocation Interface (SII), this type of binding is appropriate when the object type is declared during design-time. The client uses the object reference to invoke an operation on the object or to reference data contained by the object.

Despite some criticisms preventing the widespread adoption of CORBA by the IT community (e.g., complexity of use, learning curve, appropriate for large applications) and the availability of other competing technologies such Microsoft DCOM and Java RMI, CORBA has a larger scope (in terms of utilities, features, etc.), as it does not only use CORBA's distributed object abstraction, but also elements of the Object Management Architecture (OMA). CORBA is independent from any programming languages and bypasses the heterogeneity obstacle of programming languages and vendors' implementations of the CORBA specification.

Notes and media contacts

By
Suad Al Shamsi and Maitha Malek
College of Information Systems
Zayed University
Dubai Campus

Maitha Malek is a 23 year old Zayed University student majoring in Computer Systems. She expects to graduate in June 2005. Java Programming, Web Design, Networking (CCNA1, CCNA2), Oracle are some of the major courses she studied in her courses, and she also interned in IT Department of Gulf News, during which she built sites for the Wheels, InsideOut and Aquarius magazines. She is planning to take more Networking courses from Cisco and hopes to set up her own business. In her spare time, Maitha enjoys reading books, programming, playing chess and volunteer work.

Suad Salem Al Shamsi is also a senior student at Zayed University specializing in Computer Systems and will graduate in June 2005. She would like to work for a software developer. Her hobbies include playing puzzles or any challenging games, and drawing.

This paper reports on a capstone project entitled "A Distributed Online Library System", conducted under the supervision of Z. Maamar, College of Information Systems, Zayed University.

Disclaimer:

Articles in this section are primarily provided directly by the companies appearing or PR agencies which are solely responsible for the content. The companies concerned may use the above content on their respective web sites provided they link back to http://www.ameinfo.com

Any opinions, advice, statements, offers or other information expressed in this section of the AMEinfo.com Web site are those of the authors and do not necessarily reflect the views of AME Info FZ LLC / Emap Limited. AME Info FZ LLC / Emap Limited is not responsible or liable for the content, accuracy or reliability of any material, advice, opinion or statement in this section of the AMEinfo.com Web site.

For details about submitting your stories, please read the guide - all content published is subject to our terms and conditions