ANTS Profiler™
INFOSys determine best architecture for local government application
by Kathleen Wheatley
When local governments rely on software to manage tasks that are critical to citizens, the architecture has to ensure ease of use, speed and scalability. INFOSys Kommunal is using Red Gate Software's new ANTS Profiler to help deliver these attributes to a new version of its CARE software.
Version 3.0 of CARE is used by more than 300 regional governments and thousands of citizens throughout Germany. The application was originally written in VB3 and has migrated up to VB6. CARE 4.x, expected to be launched within the next year, is being completely rewritten in Microsoft .NET.
A beta version of ANTS Profiler is being used to identify bottlenecks and determine scalability for CARE 4.x. ANTS Profiler enables users to drill down to examine slow lines of code in .NET applications, pinpointing problems in less than five minutes. It identifies areas that are slowing down an application and helps .NET developers understand how complex code actually works.
An intelligent GUI
The GUI for Care4 is complex. It uses hundreds of wizards to mimic customer business processes, asking intelligent questions that guide users through all the data manipulations for a given task. This radically improves end-user efficiency, according to Martin Hossfeld, chief software architect for INFOSys.
Notification of an address change, for example, involves numerous changes to the record. By using a rich GUI with wizards and other tools such as unique identifiers, Hossfeld says it is possible to apply context to the questions asked and avoid duplicating information requests.
"This means that we aren't always asking people questions that they've been asked many times before, such as their date of birth," says Hossfeld. "It also means that we can ask questions that otherwise might be forgotten, such as whether a child's school is also going to change."

Schematic of the CARE 4.x architecture
Getting it right early on
Apart from INFOSys's own ideas, the GUI of CARE 4 has been heavily influenced by the philosophies of Alan Cooper, the father of Visual Basic and author of The Inmates are Running the Asylum. Cooper advocates modeling user tendencies to determine what features, facilities and behavior the application needs in order to be desirable. He maintains that time and effort should be placed on the front end so there is a much better chance of the application working properly and satisfying users once it is launched.
CARE 4's GUI passes data through the application via a data management layer jointly developed by INFOSys and one of its partners. The data layer ensures that all data is handled in accordance with strict German and European data protection laws. It makes certain, for example, that all records are kept for 10 years and that every change creates a new record that is date-stamped.
Compatibility is a major issue with the data layer, since it needs to work with database software from every major vendor to satisfy INFOSys's wide range of customers. This requires that the database be treated as if it is a dumb file store, which in turn means that more sophisticated functionality has to be placed in the data layer.
Finally, there is the issue of scalability. Care4 needs to be able to accommodate anywhere from one user in a small village to more than 2,000 for a city such as Berlin.
INFOSys decided that moving to .NET was the best way to accommodate the dual requirements of a much richer and demanding GUI, and the scalability needed to handle varying numbers of end users.
Determining performance implications
Following Cooper's philosophy and its own internal dictates, INFOSys needed to understand the implications of different design decisions early in the application development process. Hossfeld decided that ANTS Profiler was the tool to help INFOSys make these critical decisions.
One of Hossfeld's first discoveries after running ANTS Profiler was that the typical ADO.NET data handling was taking much more time than he expected. The use of data sets meant that very large amounts of data were being transferred unnecessarily. ANTS Profiler showed that retrieving separate data tables rather than datasets would reduce the data transfer volumes considerably. Hossfeld's team also used ANTS Profiler to cache heavily used data on the client side.
Once the changes were implemented, ANTS Profiler confirmed that this part of the application was up to 10 times faster.
"Identifying these bottlenecks with the tools we were using before would have taken many days or weeks," says Hossfeld. "As we continue to plan the evolution of our applications, ANTS Profiler allows us to make design decisions that enable CARE to run faster and scale much better, especially in the area of data handling."
INFOSys is also using ANTS Profiler to help create its intelligent GUI. .NET provides new libraries and components to assist in that task, but often the performance implications of using these new facilities is not understood. According to Red Gate Software, the extensive class libraries in .NET are essentially black boxes. Unless developers go to the trouble of decompiling them, they have no idea what goes in the code. Developers could produce a well-designed and highly optimized application that is completely undermined by a call to a Microsoft library. ANTS Profiler lets developers know how their code is affected by .NET facilities.
"Using ANTS Profiler, we are confident that we'll be able to assess the impact of GUI design decisions very early in the development process," says Hossfeld.
###
Kathleen Wheatley (cramco@cramco.com) is a freelance writer specializing in IT and other technology topics. She works for Cramblitt & Company in Cary, N.C.





