Case Studies

Case Studies

A Disciplined Approach to Software Engineering
Leads to a Highly-Scaled,
Ultra-High-Availability Windows NT Solution

Knowledge Management Associates, Inc. (KMA), Burlington, Mass., a producer of corporate portals and intranets, is known for tackling the toughest, most complex projects. Still, a project for a leading management consulting firm was tough even by KMA standards. The firm asked KMA to build an intranet that would provide its more than eight thousand worldwide consultants with fast access to a vast trove of information generated both within and outside the company.
Because of the global nature of the user base, the entire system had to be available twenty-four hours a day, seven days a week. All maintenance of its eighteen servers, including the replications, synchronizations, and reindexings required due to continuous data updates, had to happen "on the fly," without taking down servers.
Performance was another hurdle. The system needed to provide near-real-time querying not just of internal corporate data stored across multiple servers, but a variety of external data sources, as well.
Because of the highly-distributed nature of the solution, as well as the stringent availability and performance requirements, KMA co-founder and chief technologist Jorge Rodriguez decided to use a consultant accustomed to pushing Windows NT Server and Microsoft BackOffice to the limit. He didn't want a "cowboy," however, but someone who would take a disciplined approach to systems design, thus achieving an optimal balance between performance and stability.

The Importance of Careful Analysis
The choice, he says, was obvious: Reliable Software, Inc., Brookline, Mass., a specialist in crafting solutions involving Microsoft Corp. technologies, including Windows NT Server, Microsoft Visual C++, Microsoft SQL Server, and Microsoft's Component Object Model (COM). Reliable Software's principal, Michael Stiefel, Ph.D., has more than fifteen years' experience building systems, and formerly served as a Microsoft Corp. consultant.

Rodriguez says he frequently calls in Stiefel for the really tough technical challenges because, "I know he will do a very careful analysis of the issues, and come up with an elegant solution. He's not like some consultants who will just say to try something. I can really trust Michael's analysis and carefulness. I've worked with many consultants in my thirty years in the business, and Michael is one of the very best."
While the KMA team focused on the application's data schema, data sources, and user interface, Stiefel focused on the application's "kernel," working to optimize it for stability and speed. His first task was to analyze and, if necessary, refine the design specification. "The demands in terms of availability made this an unusually difficult project," he recalls. "There was basically no room for the application to break. Once this went live, people would be depending on it, and it would have to stay live."
He also analyzed the design from the standpoint of performance-in particular, to determine which components needed to be crafted in C++ as opposed to Visual Basic. It was a critical decision involving some important tradeoffs, as C++ code typically offers better performance than Visual Basic, but takes longer to develop.
Finally, he examined the application's multitasking requirements, determining where multithreaded operation was required, how it should be set up, and what protections needed to be put in place.
"There were lots of pieces that all had to be coordinated together so that you could get good throughput and reliable operation," he says of the overall project. "It required a detailed understanding of the COM infrastructure, as well as issues of synchronization and marshalling."

Good Design Leads to Faster Delivery
Once the design stage was finished, Stiefel began writing the code. It became immediately apparent that the use of a rigorous design process was to pay off spectacularly in the form of a shortened development cycle. "All of Michael's initial guesses panned out," says Rodriguez, who adds, "Getting the core application working properly in such a short time gave us and our clients a great deal of confidence that we could deliver the solution in an extremely timely fashion."

Stiefel also assisted the project by evaluating code for other areas of the project, and by mentoring KMA 's less experienced staff in areas including source-code control, programming practices, and programming discipline. "Michael is a great teacher, and because he actually does what he teaches, he switches easily between the theoretical and the applied," says David Goldstein, KMA 's president. "He can discuss a principle of software engineering, and then right then and there write some code to illustrate it. That's very valuable."
The completed application was delivered to the client in December, 1999, and has been in continuous use every since. There has been no unscheduled downtime, and very little scheduled downtime. The system now receives 5,000 queries per week, and research that used to take the firm's consultants three weeks "now takes just a few minutes," according to Rodriguez.

All Content (c) 2000 - 2014 Reliable Software, Inc. All rights reserved.