HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML
 

Managing information in the enterprise environment is no small task. These days companies are looking to robust and scalable content-publishing technologies to manage and distribute information as quickly and effectively as possible. A number of challenges have to be overcome first, however. Data is often scattered across and outside the enterprise itself in multiple repositories and multiple formats. Additionally, companies today quite simply expect more from their data: many want information to be customized to the user's requirements and delivered on a dynamic, as-needed basis.

Developing the Enterprise Information Portal
Enter Information Architects Corporation, a worldwide developer of the latest breed of data management solutions: Enterprise Information Portals online information centers that feed dynamic, customized data to individual users.

Information Architects (IA), headquartered in Charlotte, North Carolina, provides a full complement of products and services that answer such next-generation information requirements. Catering to large enterprises around the globe, the company offers management consulting, design, development and deployment of virtual information portal solutions. Customers benefit from IA's expertise in transforming existing information systems architecture to support a heterogeneous, scalable, flexible and ubiquitous Internet/intranet architecture. To help accomplish this goal, IA develops Internet software specifically, middleware applications.

One of IA's flagship products is Metaphoria DTS, a robust and highly scalable Web application framework that provides access to multiple back-end data sources, and presents the data in a unified, Web-friendly format. This ability is critical to financial companies, for example, which have large quantities of data issuing from diverse sources. Data may originate from any number of locations including external Web sites, databases, FTP files or local files and can then be put online.

Metaphoria DTS contains components that understand these various protocols and can plug in and immediately use any new protocols that arrive on the enterprise scene without forcing developers to rewrite their existing applications. Powerful data analysis and display capabilities make moving and transforming enterprise data fast and seamless.

When sensitive data must be pulled together, IA's product is an ideal content-publishing mechanism, and consequently, often used for intranets. The new breed of intranet, the information portal, can deliver all manner of content to individual members of an organization. For example, a user could have ready access to customized personnel information such as remaining vacation days.

To ensure that applications are robust and reliable, IA makes memory debugging and performance optimization a standard part of its software development cycle. IA believes that every developer on the team should test regularly for memory leaks and performance bottlenecks. Finding these problems early keeps them from piling up at the end of a project when time is limited. While developing Metaphoria DTS, IA used JProbe Profiler and JProbe Memory Debugger from KL Group. JProbe helped them clear up memory leaks quickly and improve performance.

IA's Metaphoria DTS is delivering significant benefits to its customers. Not only is their data being transformed efficiently and quickly, companies using Metaphoria DTS are avoiding the often staggering financial and morale-related costs associated with major retraining initiatives. Because data format conversion is automated by Metaphoria DTS, employees within IA customer sites can continue using their traditional methods of managing information. In large enterprise environments with massive and varied data, as well as longstanding methods for handling it, Metaphoria DTS delivers the best of both worlds: companies can keep existing data management processes intact while simultaneously evolving relatively painlessly to a more up-to-date information management system.

Java Fulfills Its Potential
Metaphoria DTS was prototyped using Jigsaw (the reference Web server from the World Wide Web Consortium), and the first shipping version was built exclusively in Java using servlets. Evan Coyne Maloney, Advance Development Group Leader at IA and a key member of the Metaphoria DTS development team, assigns much of the credit for the application's success to the Java platform itself.

Maloney points out that the platform's portability allowed them to write code that could be used with any Web server, allowing them to avoid building in a custom Web server. The application needed to be compatible with any given client's existing server, and with Java this posed no problem because of the portability provided by the standard Java Servlet API. Any other language would have limited IA's target market for the application significantly, as many companies aren't interested in changing their Web server to accommodate other new services. Because these servlets work with virtually any type of Web server, it was the ideal choice.

"There are still some people out there who are surprised when I tell them that we have a site up that's serving 2 million requests per day," Maloney says. "I just let them know that these days Java is, in fact, the perfect server environment for writing applications."

The ability of Java to interact with the native platform environment enhances the features that Metaphoria DTS provides. Although the core product is written entirely in Java, a DTS add-on component allows the product to use COM to extract data directly from Windows applications. This allows DTS to utilize COM interfaces (which don't change) to extract data from files rather than requiring DTS to "know" the file formats (which change frequently). Bypassing the file formats allowed IA to avoid the problem of accommodating changing versions of file types.

JProbe Helps Ensure a Scalable Application
While Java may have been the ideal solution, building and optimizing the application was still challenging. Scalable performance was a key goal. The application went through rigorous stress-testing during the development. Part of this process involved profiling the application with KL Group's JProbe Profiler. IA's developers knew intuitively that they had a performance problem, but hadn't isolated the cause.

IA realized they needed an accurate and highly effective performance tool to help assess the problem, but it took some time to identify the right solution and integrate it into their development. They tried, but subsequently rejected, another competitive profiler because of slow performance, says Maloney. IA finally turned to KL Group's JProbe Profiler, an advanced, highly accurate profiling tool with an intuitive graphical interface. JProbe Memory Debugger, fully integrated with JProbe Profiler, gave Maloney and his team the critical data IA needed on memory allocation.

"Literally within five minutes of running JProbe 2.0 with a development version of our product," Maloney recalls, "we found a problem a memory leak."

JProbe's runtime Memory Usage Graph identified the problem immediately. "As soon as we looked at that graph, we knew we had a memory leak; the plateaus were getting higher and higher right in front of our eyes." By tracking down the cause of the problem using JProbe Memory Debugger's Heap Browser, IA quickly eliminated the offending leak, which was caused by the program's holding object references too long. Specifically, while generating the structure of a Web site, the application was creating many large objects and stuffing them in a container. But object references weren't being released properly the objects were not getting garbage collected and the memory footprint kept growing. Soon the disk started thrashing and performance degraded noticeably.

Using JProbe, they were able to reduce the memory footprint substantially. The application then ran much faster and was more scalable an important factor for a server-based application that needs to service millions of requests a day.

For IA, JProbe offered an indisputable return on investment. "Considering how quickly we found a problem, JProbe was certainly well worth the purchase price! We only wished we had tried it sooner," Maloney says. "In fact, we immediately ordered three copies with GSS so we could implement performance profiling and memory debugging regularly and on a team-wide basis. More important, JProbe allowed us to increase the scalability of our application, helping us to achieve one of our primary goals in developing Metaphoria DTS."

About the Authors
Ethan Henry is KL Group's Java Evangelist and can be reached at [email protected] Josephine Coombe is the head of strategic communications at KL Group. She can be reached at [email protected]

 

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.