Landgraff attributes P&W's success with Corba to its advanced programming skills. "We are very experienced. We have 15 very good object programmers who came out of our artificial intelligence projects," he says.
All Wrapped Up
After a year of researching Corba, First Union National Bank started a Corba project in January 1998. The bank has two major Corba applications: Customer Central, an object-based front end to its mainframe customer information system, and Document Central, a server-based document generation application.
Each application is a Corba component that wraps other things. For instance, Document Central encapsulates existing word processing functionality and adds a Corba interface, turning it into a Corba component that can be accessed through an ORB. For Customer Central, the developers similarly encapsulated an existing legacy application.
The clients for these applications are primarily Visual Basic applications, says Bill Barnett, First Union's manager of distributed application technologies. To make Corba work in the Microsoft application environment, the bank had to provide a Dynamic Link Library on the client side to make Corba appear as an ActiveX component. The bank turned to a commercial product, Visual Edge Software Ltd.'s Object Bridge, for the DLL that provides ActiveX-to-Corba transformation, and to Inprise Corp. for Corba support. "To the developer of the client application, it looks like ActiveX, but what comes out is Corba," Barnett says.
For First Union, Corba is a strategic part of its enterprise architecture. "It's important because it's both language- and platform-independent," he says. Still, the commercial implementations of Corba lack industrial-strength capabilities that high transaction environments like First Union's need, such as load balancing and failover. Corba has some rudimentary load balancing, but First Union really wants services on par with a transaction monitor, Barnett says. As the ORB vendors and transaction monitor vendors collaborate, Barnett expects Corba to acquire those industrial strength services.
Xerox Corp. turned to the combination of Corba and Java to create a human resources application to be accessed by employees via a browser over the corporate intranet. The application, called PeopleNet, lets employees review and change benefits, sign up for training, and take advantage of many human resources functions. The application frees the HR staff through user self-service for routine information requests, updates, and changes.
At first, Xerox tried to build the application using Java applets talking with database servers. Neither Java Database Connectivity nor sockets worked sufficiently well in making the back-end connection. Developers found what they needed in Corba. It let them build the Java front end and connect with Oracle databases without wrestling with low-level communications and database calls, says Jim Johnson, architecture manager for Xerox's human resources IT group.
Xerox's biggest problem was not with Corba, but with Java. "We had to download large Java classes," which wasn't acceptable, says Johnson. The solution was to cache the Java classes--400 Kbytes' worth--on the client. In this way, the classes are downloaded only once. The application also uses HTML for static information. The majority of Xerox's 37,000 users, however, still access the application through a Visual Basic client application rather than a browser. The VB client application is 40 Mbytes--100 times the size for the same functionality of the Java classes and Corba code.
Xerox developers took 12 months to create the PeopleNet Java client and Corba middle tier. The application consists of 35 functions, each a Java applet or HTML page. Despite the big installed base of Visual Basic clients, Xerox developers avoided Microsoft's COM because the IT department is dependent on Oracle and Unix servers, while COM works only in the Windows environment.
Despite successes like these, Corba's ultimate success is not a foregone conclusion, and developers and analysts continue to complain of problems. "The core pieces of Corba are there, but it still needs a lot of help," says Sally Cusack, an analyst with SPG Analyst Services. Cusack has found that Corba works well for tightly defined transactions, but isn't sufficiently flexible for online, real-time processing.
A senior developer at a major overnight delivery company in California used Corba to build its first distributed component application. The effort took six months for the modest application, after which the team declared it a success. The application works as long as the client is using the recommended browser and nobody tries to port the application to a different vendor's ORB. Developers hope the Corba industry will eliminate such pesky problems as ORB interoperability and browser constraints.