|
SYS-CON.TV Webcasts
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Top Links You Must Click On
Product Reviews Xerox Uses Java Tool to Cut Development Time in Half
Xerox Uses Java Tool to Cut Development Time in Half
By: Cara O'Sullivan
Sep. 1, 1998 12:00 AM
A global company in the document processing business, Xerox Corporation offers a wide array of products and consulting services including publishing systems, copiers, printers, scanners, fax machines and document management software along with related products and services. Xerox started the office copying revolution with the introduction of its 914 copier in 1959. Today Xerox stands poised for the continued expansion of the global document processing market, already enormous at $200 billion a year and growing 10% a year. Including Fuji Xerox, whose results are not consolidated in accounting statements, Xerox worldwide revenues in 1996 were $25 billion, two thirds of which were generated outside the U.S. In June 1996 Karen Mihara, development manager, and Jim Johnson, chief technologist at Xerox Corporation, faced a challenge. Their task: to migrate the Xerox PeopleNet, a client/server application that serves more than 33,000 U.S. employees, to the Web. Because Xerox PeopleNet is one of the company's most critical employee/management empowerment tools, the migration would have to be seamless. Employees use the application to access and update their personal information, reference policy and process manuals, review salary planning information, submit paperwork electronically and perform workflow processes. "One of our goals in placing Xerox PeopleNet on our enterprise-wide intranet was to move to a more productive, object-oriented development environment," says Mihara. "We also wanted a Web-based application to ease deployment and support of Xerox's installed base of Windows, UNIX and Macintosh workstations." But Mihara and Johnson didn't want to have to start from scratch. They especially wanted to make sure they could still use the existing Oracle databases that contained the proven data sources and business logic for the client/server application. It was crucial that the new Web-based application be able to work with Oracle database technology. Making the Evaluation "It was also very important that we be able to easily migrate our developers from Microsoft's Visual Basic, which we'd used for the client/server application, to Java for the Web-based application," says Johnson. Adds Mihara, "What we needed was a Java graphical development environment that closely mirrored Visual Basic and gave us some of the same advantages. Visual Basic was quick and easy for our developers to use for prototyping and debugging. We needed that same functionality in a development environment for the Web." Part of the challenge for Mihara and Johnson in evaluating Java development tools was that at the time Java was just emerging as an industry standard. They were concerned about finding a stable development environment that supported Java's still evolving features. Mihara and Johnson looked at several Java development tools until they found a solution that fit their needs. "Of all the Java development environments we looked at, Symantec's Visual Café for Java was the most stable and feature-rich," says Johnson. Symantec also consistently puts out Visual Café releases and updates in sync with Java's. For developers, this was critical.
Migrating from Visual Basic to Java-Based Visual Café Visual Café also has an Interaction Wizard that will generate code to connect events and methods between selected components. Visual Basic does not generate interaction between components. In addition, Visual Café accommodates developers who don't want to use the Visual design (RAD) mode. Source code can be directly edited, compiled and debugged within Café.
Debugging Visual Café provides a comprehensive debugging environment that allows debugging of applets (in Java's Applet viewer, Netscape Navigator or Microsoft's Internet Explorer). Says Johnson, "We have been able to debug third-party components, in-house- developed components, multithreaded applets, CORBA-based communications and multiple applets communicating via shared memory without any problems."
Creating In-House
Components for Use as Standard Objects "In Visual Basic, if you wanted to reuse code between different programs, you had to copy the code over into the source code for each program," points out Mihara. "With this software you can set up components once, add them to the graphical tool palette and any developer can simply drag-and-drop the components into another applet. "This also means that logic or components need only be written and tested once, which considerably shortens our testing cycle," Mihara continues. For the Xerox PeopleNet Web project, developers relied heavily on components because of their inherent reusability and the ability to drive implementation and development standards. Visual Café has the very useful feature of being able to "import" custom components onto a development palette. Mihara and Johnson's team developed two basic types of components: (1) a wrapper component of third-party or standard Java graphical or functional components, and (2) custom graphical components. The wrapper components were implemented to enforce look and feel, or standardize operational behavior by restricting properties or methods behaviors. A big benefit of these types of components included simplifying the development environment so junior developers could come quickly up to speed. Examples of wrapper-type components were a table component (the base component was KL Group's LiveTable component and a CORBA server connection class). The connection class, which interfaces to an Oracle database via Persistence Software's PowerTier product, was implemented in such a way that the CORBA connection could be shared among the various applets a user would request during a session. The connection class was implemented through the use of a common class that utilized static variables. A simple method from that class, setObjectServer(), is found in Listing 1. Functionally, the establishment of a method like setObjectServer() has several advantages. First, it allows a standard simple interface for developers to establish CORBA connections. Second, it saves on client and server resources as each applet can share a single CORBA connection and limit the times the CORBA connection is initiated. The components developed for Xerox PeopleNet Web fell primarily into the user interface realm of the product. The lightweight components do not use operating system "peers," and therefore provide a common look across all platforms. This is important in this case because Xerox has a heterogeneous desktop environment and a very large user base to support (more than 36,000 users). Examples of these types of components include a standard applet header, text label, custom buttons and tab control.
Easing the Learning Curve Mihara said she likes what she hasn't heard about using the software from the developers. "With Visual Basic, the applications tended to be very difficult to debug. Its close ties to the Windows operating system made the applications behave differently, depending on the Windows version and the other applications that were installed. Things were unpredictable," she says. "But I haven't heard any of our developers voice these complaints about Java and Visual Café. When you run Java applets in Visual Café, they're consistent. It's a much more stable and consistent development environment." Johnson calculates that using the tool has cut development time in half - or more. "Because we used Visual Café, it took dramatically less time for us to develop Xerox PeopleNet," he says. "It's a good investment," he continues. "Just think about how much you pay your developers for their time to see what Java and Visual Café can save your company." Reader Feedback: Page 1 of 1
Enterprise Open Source Magazine Latest Stories . . .
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||