CORBA standard helps aerospace companies tackle software problems

Nov. 1, 1997
PHOENIX - The need to cut costs and save time in systems development is leading aerospace and defense engineers to use the Common Object Request Broker Architecture (CORBA) standard to bind different software programming technologies together.

By John McHale

PHOENIX - The need to cut costs and save time in systems development is leading aerospace and defense engineers to use the Common Object Request Broker Architecture (CORBA) standard to bind different software programming technologies together.

"With the CORBA architecture, we`ve re-defined the starting point of every new CORBA application we build and we now have the potential to avoid $750,000 in development and implementation costs," says Wayne Haughey, information system group leader at AlliedSignal Engines in Phoenix. "Every CORBA project we start leverages our company investment because our components avoid a combined total of five to six man-years of development and implementation effort."

CORBA is an open distributed object computing infrastructure introduced in 1991 by the Object Management Group in Framingham, Mass. It automates many common network programming tasks such as object registration, location, and activation; request demultiplexing; framing and error-handling; parameter marshaling and demarshaling; and operation dispatching.

Reusable software

The initial launch of the AlliedSignal CORBA project showed engineers in the company`s engines division in Phoenix can reduce development costs by $750,000 per new application by using a library of reusable CORBA software components.

Engineers at the Boeing Commercial Aircraft Group in Seattle, meanwhile, are using an object request broker called Orbix from Iona Technologies in Cambridge, Mass., to integrate third-party software applications for a manufacturing re-engineering project.

An object request broker helps software engineers develop CORBA objects, and arranges for objects to access each other at run-time as defined by the CORBA specification.

"Our work in integrating a host of diverse applications into a reliable robust manufacturing infrastructure presented us with a host of challenges," explains Tom Schick, senior vice president at Boeing. "By taking the open standards-based approach offered by Orbix we have been able to develop a full-featured, distributed system which has exceeded our expectations."

CORBA components include: security, persistence, tracing, help, and the ability to send e-mail. Developers can leverage the functionality of each component in application development projects without having to understand the complexity of the component and can focus on providing business solutions.

CORBA has a well-defined abstract interface, a definite interface language, and provides flexibility across applications, says John Siegel, director of domain technology at the Object Management Group. It decouples systems to enable software engineers to modify separate components in isolation, and reduce development costs through shared-application services.

CORBA also defines the interface definition language and the application programming interfaces that enable client/server object interaction within a specific implementation of an object request broker, he says. CORBA 2.0, defines interoperability by specifying how object request brokers from different vendors can interoperate.

Object request broker

Using an object request broker, a client transparently invokes a method on a server object, which can be on the same machine or across a network. It intercepts the call and is responsible for finding an object that can implement the request, pass it the parameters, invoke its method, and return the results.

The client does not have to know the location of the object, its programming language, its operating system, or any other system aspects that are not part of an object`s interface, according to an Object Management Group statement. In so doing, the object request broker provides interoperability between applications on different machines in heterogeneous distributed environments and seamlessly interconnects different object systems.

The object request brokers also let programmers choose the most appropriate operating system, execution environment, programming language to use for each component of a system under construction, and enable the integration of existing components. CORBA also provides a strong defense against system obsolescence. Software engineers can easily map all common functionality through the object request broker, Siegel says.

An object request broker defines the protocol through the interface definition language - an implementation language-independent specification.

The interface definition language defines the types of objects by specifying their interfaces. An interface consists of a set of named operations and the parameters to those operations. The language is the means by which a particular object tells its potential clients what operations are available and how they should be invoked. From the interface definition language definitions, it is possible to map CORBA objects into particular programming languages or object systems.

Engineers also can add interfaces to an interface repository service, which represents the components of an interface as objects, permitting runtime access to these components.

The primary components in the CORBA object request broker architecture are: object implementation,; the object request broker, the object request broker interface, the CORBA interface definition language stubs and skeletons, the dynamic invocation interface, the dynamic skeleton interface, and the object adapter.

Another aspect of CORBA is the Internet inter object request broker protocol - an object request broker transport protocol defined as part of the CORBA 2.0 specification. This protocol enables network objects from several CORBA-compliant object request brokers to interoperate transparently over the Internet.

Different products that have emerged from CORBA object request brokers range from small-footprint "ORBlets" for widely distributed web-based clients, to industrial-strength object request brokers suitable for high-volume mission-critical transactional systems.

Java connection

"Java is the first step toward creating an Object Web, but it is still not enough," say Robert Orfali and Dan Harkey in their book, Client/Server Programming with Java and CORBA. "Java offers tremendous flexibility for distributed application development, but it currently does not support a client/server paradigm. To do this, Java needs to be augmented with a distributed object infrastructure, which is where the Object Management Group`s CORBA comes into the picture. CORBA provides the missing link between the Java portable application environment and the world of intergalactic back-end services. The intersection of Java and CORBA object technologies is the natural next step in the evolution of the Object Web."

"The respective object models of Java and CORBA correspond closely to one another-they both support the notion of abstract interfaces distinct from implementations or classes; CORBA interface definition language data types map naturally to Java data types; their interface inheritance mechanisms are nearly identical; CORBA name spaces-modules-map directly onto Java packages;" writes David Curtis, director of platform technology at the Object Management Group. "Java allows you to create portable objects and easily distribute them; CORBA allows you to connect them together and to integrate them with rest of you computing environment-databases, legacy systems, objects or applications written in other languages."

Engineers at the Object Management Group are incorporating support for Java into their architecture, specifying a standard language mapping from interface definition language to Java, and developing specifications for automatically generating interface definition language from Java interfaces, Curtis adds.

"The OMG`s membership recognize the importance of Java as a programming platform for distributed object technology, and work proceeds apace to merge the two technologies (Java and CORBA) to produce a combined capability whose whole is more powerful than the sum of its parts."

CORBA`s main competition in the middleware solutions market is Distributed Component Object Model from Microsoft Corp. of Redmond, Wash. It is a low-level extension of the Component Object Model, the core object technology within Microsoft`s ActiveX software.

A third distributed object technology, JavaTM RMI (Remote Method Invocation) is part of the Java 1.1 Development Kit, and is a solution for building distributed Java-only applications.

One of the main problems with Distributed Component Object Model is its lack of object-oriented capability, while another strength of CORBA is its security, Siegel says. "One of the goals of our architecture and interface is to distribute object system using well known secure mechanisms such as KERBEROS encryption."

For more information on CORBA contact the Object Management Group by phone at 508-820-4300, by fax at 508-820-4303, by mail at Object Management Group, 12 Framingham Corporate Center, 492 Old Connecticut Road, Framingham, Mass., 01701, by e-mail at info@omg. org, or on the World Wide Web at http:// www.omg.org.

Voice your opinion!

To join the conversation, and become an exclusive member of Military Aerospace, create an account today!