The ORB slowly rises
- By Brian Robinson
- May 02, 1999
After years in the wings, an esoteric technology called the Common Object Request Broker Architecture is increasingly finding favor among government agencies as they move toward more distributed applications.
CORBA is a form of middleware - software that links separate applications - that can be incorporated into object-oriented applications. Objects are chunks of code that make up programs, with each object representing a discrete operation. CORBA provides a standard way of creating interfaces between these objects, allowing them to communicate with each other regardless of programming languages or operating systems.
CORBA offers a solution to a major problem that all agencies face in building enterprise environments: how to integrate the legacy systems that make up a large part of their information technology investments.
And while a CORBA standard has existed for nearly a decade, it has grown increasingly popular in the last few years because of newly added functionality and a growing need by customers to support programs in large-scale, complex environments.
A key advantage of CORBA, according to a spokesman for the Defense Information Systems Agency, is its inclusion of standard application program interfaces. That means applications can be developed without regard to changes in the IT infrastructure and can be plugged in is as needed. "This will allow infrastructure and mission applications to evolve separately, supporting timely insertion of emerging products," the spokesman said.
New and Improved
CORBA's star began to rise a little more than three years ago. At that time, the Object Management Group (OMG), Framingham, Mass. - the industry body responsible for steering CORBA's development - added substantially greater functionality in Version 2.0 of the standard. Since then, CORBA has been gaining supporters.
Much of the excitement surrounding CORBA 2.0 is related to the new Internet Inter-ORB Protocol (IIOP), the communication mechanism that all CORBA-compliant ORBs should use to guarantee they will be able to interact. More such items are promised for CORBA 3.0, which is planned to be finalized later this year.
An important marker for government acceptance of CORBA came last year when DISA endorsed it as a preferred middleware standard for the Defense Information Infrastructure Common Operating Environment. A study conducted by DISA compared CORBA to other middleware products - such as Microsoft Corp.'s Distributed Component Object Model and Open Group Ltd.'s Distributed Computing Environment - and came down on the side of CORBA.
The advantages of CORBA, such as platform and language independence and network load balancing, support the general movement toward networked environments, the DISA spokesman said.
Larry Podmolik, chief technology officer for Strategic Technology Resources, a consulting and integration company in Chicago, sees CORBA spreading beyond technology-savvy organizations to the next tier of less-sophisticated companies that are looking more for the end product, and that signals an expansion in the market.
"Every one of our clients either has CORBA in place or is building applications using CORBA," he said. "I still think the CORBA market is not close to being saturated, and we have a long way to go to being in most of the mainstream organizations."
In government, the use of CORBA spans a range of applications and agencies:
* The Federal Aviation Administration, for example, used CORBA to deploy its Bandwidth Management Information System (BIS), which provides administrative services for the FAA's telecommunication experts. CORBA was used to integrate of legacy systems into the BIS and also helped to spread the cost by enabling the FAA to reuse the business object framework developed for the BIS outside of the project. The FAA estimated that this would save 60 percent to 80 percent of the resources needed to develop future applications.
* The State Department's Nonproliferation and Disarmament Fund (NDF) used CORBA to create Tracker97, software that enables companies in republics of the former Soviet Union to communicate with their governments about sensitive issues such as encryption software and nuclear materials. Tracker97 also gives agencies within those governments the ability to share information among themselves and with their counterparts in other republics. By using object technology, the workflow engine in Tracker97 can be customized to fit any country's import/export process.
* The Air Force, with help from Mitre Corp., Bedford, Mass., is investigating the use of CORBA for the Distributed Object Management Integration System, a project that is helping to define the role of distributed object technology in building systems that require high levels of legacy software integration. The Air Force's Contingency Theater Automated Planning System, which is composed of various systems using about 2.5 million lines of code, will serve as the project's experimental base.
CORBA also is increasingly being applied to whole classes of products, such as geographic information systems and simulation systems.
Bill Vass, director of technical services at the CIO's office within the Office of the Secretary of Defense, headed a major project at the Total Army Personnel Command to switch from a mainframe legacy system to a distributed client/server environment.
Vass said he had considered CORBA from the beginning but decided to wait until it matured. Interim plans were made to go in another direction, "but then CORBA made some major jumps in performance around a year and a half ago," he said. "So we went through a proof of concept [using CORBA]."
The proof of concept showed that the architecture based on the CORBA standard worked, successfully communicating between the platforms that needed to coexist in the environment, including mainframe, Unix, Microsoft Windows NT and Windows 95 platforms. There were some drawbacks; development of mainframe ORBs tended to lag behind Unix and Windows NT versions by about six months. But at the end of the day, CORBA worked, Vass said.
"Overall, we are really happy with the way things have worked out," he said.
A Bad Reputation?
Despite the success stories, it may take some time to convince potential users of CORBA's worth because it has a patchy history to overcome. James Ferguson, senior product manager for vendor Inprise Corp., Scotts Valley, Calif., said questions have been raised regarding the extent of CORBA's interoperability and that the specs, in some sense, were too loose.
"But the OMG has cleared all of that up," Ferguson said. "The last of the gaps were cleaned up with the description of the server-side application program interfaces that handle such things as firewalls."
CORBA also has a reputation of sometimes being difficult to handle and requiring significant resources in programming and management. "Pure CORBA has suffered from being attractive but not the easiest thing to use," said Ed Acly, director of middleware research for International Data Corp. "It's seen by many people as being good for the elite but maybe not so good for the rest."
Observers believe that perception should ease over time as vendors produce more and better tools.
And CORBA is not necessarily right for everyone, even for those who already have had a taste of it. For example, Tracker99, the most recent version of the NDF's import/export tracking software, has dropped its CORBA application for a wholly Java solution.
Tracker97 used Java for the client-side approach, with CORBA as the underlying communications architecture, sitting between Netscape Communications Corp.'s Java-enabled browser and Apple Computer Inc.'s Enterprise Objects Framework on the application server. Tracker99 uses a Java front end but employs the Java Remote Method Invocation (RMI) instead of CORBA.
"It's true that CORBA is more robust currently than RMI," said Todd Harbour, director of business development for FGM Inc., the Herndon, Va.-based company that developed and implemented the Tracker program for the NDF. "But we found that we were not exercising CORBA fully anyway. And RMI is free, whereas CORBA is not. So we did a cost analysis and worked out that going with RMI would be more beneficial to us in the end."
Annrai O'Toole, chief technology officer of Iona Technologies, Dublin, Ireland, one of the major players in the CORBA arena, agreed that CORBA is not a magic bullet. But he added that it "is now entirely suitable for most people's needs." Specifically, O'Toole pointed out that CORBA now allows for the integration of component-based models, such as Enterprise JavaBeans, a specification that defines how Java objects interact.
Apart from such things as real-time and embedded support that will be a part of CORBA 3.0, the most significant addition may be the CORBA component model. That will specify a framework for development of plug-and-play CORBA objects and enable tighter integration with Java and other component technologies. In particular, its interplay with Enterprise JavaBeans is stirring considerable interest.
"The spec for Enterprise JavaBeans isn't complete yet, but people are enthralled by what it could do for them," said Paul Kaplan, manager of federal software sales for IBM. "But since the spec isn't complete, they are looking at using CORBA in the interim, which provides for a robust infrastructure and has shown it can scale."
Enterprise JavaBeans and CORBA are different technologies, but they work well together, Kaplan said. The notion that users can develop systems in CORBA today and then migrate those systems to Enterprise JavaBeans in the future without redeveloping them has proven extremely attractive.
"Java is a great language, and Enterprise JavaBeans is simpler to write than CORBA," Vass said. "As long as people can interoperate through the IIOP, I think [the compatibility] will be a big advantage."
--Robinson is a freelance journalist based in Portland, Ore. He can be reached at firstname.lastname@example.org.
HOW IT WORKS
* CORBA is built around the notion of Object Request Brokers (ORB) as the middleware - software that links separate applications - for establishing the client/server relationships between objects.
* When a client sends out a request invoking a method on a server object, the ORB intercepts the request and looks for an object, either on the same machine or anywhere on a network, that can implement the request.
* The ORB also is responsible for getting the results of the request back to the client.
* The ORB provides interoperability between applications on different machines in the networked environment and allows multiple systems to interconnect.
* Everything works transparently to end users, who have no need to know what software or computer system is used to generate the information they are looking for or where it is located on the network.
AT A GLANCE
Status: The use of CORBA products is increasing in the federal government, thanks to recent enhancements to the standard. The Defense Information Systems Agency endorsed the standard last year, and large CORBA applications have been established in agencies such as the State Department and the Federal Aviation Administration.
Issues: New versions of CORBA have proven exceptional at enabling objects within disparate computing platforms to interact, but some users remain wary of CORBA's history of interoperability problems. Others find the technology too difficult to use and have opted for competing architectures.
Outlook: Pretty good. While some users have moved away from CORBA to less-expensive (and less-robust) solutions, many are embracing the recent enhancements to the standard. CORBA 3.0, expected later this year, will add even more functionality, including a framework for plug-and-play objects and tighter integration with Java.