FTP Online
 
 

Design for Success
Design and modeling tools can start your enterprise applications off on the right path—and keep them there. These two case studies show you how.
by Edmund X. DeJesus

Posted October 15, 2003

The old days of application design are gone—and good riddance. No longer do developers have to keep a wrinkled, faded, hand-drawn diagram taped to the wall of their cube to guide them. In fashioning today's powerful-but-nimble enterprise applications, the design isn't a sacred relic, but a living, changing, and potent ally.

What makes an application design useful are the tools that support it. These tools aren't just for drawing pretty pictures. Modern design and modeling tools can generate code automatically, take code and reverse-design the module, create database tables with supporting links and logic, and provide consistency that will simplify development, testing, and maintenance for years to come.

Here are two case studies that demonstrate how using the right design tools can save time and effort—the first at a university; the second, at a business intelligence provider.

School of Design
Minneapolis-based Capella University is an online accredited university offering a variety of graduate programs in five schools. Like most modern universities, it embodies everything that any good business enterprise does. It has to support its customers and staff, pay the bills, comply with government regulations, provide lots of information to lots of different types of users, and do this all swiftly, simply, and economically.

Capella's computer systems include student information, customer relations management (CRM), general ledger, document management, and financial aid. As you can imagine, these systems require massive amounts of data that is constantly being generated, acquired, stored, accessed, integrated, sorted, queried, investigated, and published. Supporting their data warehouses and main databases is the ER/Studio design and modeling tool from San Francisco-based Embarcadero Technologies.

"We selected our current tools in the first quarter of 2003," says Steve Elkins, manager of business intelligence for Capella. At that time, many of the designers were more familiar with a different design tool. However, they were dismayed by the unstable repository in that tool's latest upgrade. "People kept losing work when the repository got corrupted, requiring us to redo the work, roll back to previous levels, or restore earlier versions," says Elkins.

Some of the developers in business systems had been using ER/Studio and liked it. The designers adopted ER/Studio and haven't looked back. Users found that ER/Studio was sufficiently similar to tools they had experience with, so there was practically no learning curve. A one-hour phone session got everyone up to speed on ER/Studio.

Extracting Designs From Legacy Databases
One immediate use was dealing with the existing databases. ER/Studio has the ability to automatically reverse-engineer a variety of ODBC databases (including DB2, Oracle, SQL Server, and Sybase) to extract the underlying design schema. That capability can save designers considerable time in analyzing and understanding the legacy databases they often must start with. This extracted design then serves as the baseline for further work and enhancements.

Of course, Capella's database designers mainly use ER/Studio to perform more "forward-engineering" design tasks. As they do, one of the main features they have found useful is ER/Studio's ability to integrate with their other tools. "We migrate from ER/Studio to MetaStage (Ascential Software's metadata management tool) and to DataStage (data transformation tool, also from Ascential)," explains Elkins. Ultimately, the data ends up in a reporting tool from Brio Software. This ability to integrate well with other tools is essential in design. Unless you're buying all your tools from a single manufacturer, you must be able to get the products to talk to one another.

Elkins has seen first-hand how making the same metadata available to developers, maintainers, and users can simplify enterprise application development; and, conversely, how metadata issues can impede development. In a previous position, Elkins was part of an effort to create a data warehouse to report the quality of certain secure transactions. The end users hated the result, and blamed the end-tool that they were using. However, the problem was that there were no plain-English descriptions attached to the cryptically named data objects. This is a simple, but telling, example of the misuse of metadata.

Capella's business systems group also uses the same ER/Studio repository that the designers use. This allows any changes to the design to ripple through the development process simply and effectively.

Elkins has been pleased with the relationship with Embarcadero. Capella has asked for certain metadata elements, and additional tags on entities and attributes. "Embarcadero has been very responsive," comments Elkins. In fact, Elkins is looking forward to trying out Embarcadero's new tool, DT/Studio, which combines database design and an ETL (extract, transform, load) tool.

Marketing Models
OneSource in Concord, Mass., is a business intelligence provider, oriented primarily to marketing and sales professionals. With OneSource's products, users can manage staff and contacts, combining content from different sources in a form that makes it easy to organize and sort information.

Clearly, when you're providing business intelligence and ways of manipulating data, you need to have a firm grasp on the data yourself. OneSource uses the XDE family of modeling and development tools from Rational (part of IBM, Somers, N.Y.).

One of the main reasons for selecting XDE was its support for UML (Unified Modeling Language). OneSource uses UML extensively in its modeling activities. However, perhaps an even stronger selling point was the ability to launch XDE from within OneSource's chosen Integrated Development Environment (IDE), Microsoft Visual Studio. Many modeling tools are purely external to the development process, and can represent a real obstacle to smooth and seamless integration of application development. "XDE is closer to the code," observes Mark Israel, CTO of OneSource.

XDE can generate code automatically from UML, which is a necessary and expected capability. However, XDE can also reverse-generate UML from existing code. This is a problem that all designers face: dealing with legacy code that has no supporting model. Generating a baseline model can then serve as the foundation for future development.

Not only does XDE perform that task, but it also lets you view the UML graphically as the code executes. Israel reports that this can serve as a useful debugging tool. "We once used XDE to profile an existing code base, then watched the UML as the code executed. It became clear that a certain component was being called twice unnecessarily."

While XDE supports UML, it doesn't enforce UML with users. "We've seen other products that are very strict in their enforcement of UML," advises Israel. Such UML zealots might have their customers, but most users prefer to control a tool, rather than let the tool control them.

Getting Up to Speed
It was necessary for all the OneSource designers to get up to speed on UML before they could use XDE effectively. "We had some external training for that on a high level," notes Israel. They also took advantage of some of the online training that Rational provides.

Israel has identified one feature of XDE that should be of interest to anyone contemplating outsourcing some development work. "When you work with outsourcing, you need to define to a lower level: every class and every method on each class," Israel points out. XDE lets you do that, so the results are less ambiguous, and the developers can work more independently because they don't require as much communication.

Whereas XDE integrates well with Visual Studio and source code control, not all tools play together so nicely. "We had to work to integrate our metadata tools," reports Israel. When you go for best-of-breed tools, you must expect some trade-offs in integration.

OneSource has been satisfied with its relationship with Rational. "Since we deal with three main vendors—Borland, Microsoft, and Rational—it can get tricky sorting out who's responsible for any problems, but Rational has been very supportive," remarks Israel.

In the future, OneSource hopes to add further capabilities to its modeling repertoire, such as more detailed design. Another is integrated testing, which allows testing at the design level before development begins. Finally, the use of metrics would enable designers to demonstrate return on investment, as well as to support planning, estimation, and management.

About the Author
Edmund X. DeJesus is a freelance technical writer in Norwood, Mass. You can reach him by e-mail at dejesus@compuserve.com.