Step 10: Design for Maintenance


Designing an application for maintenance entails designing with the understanding that even after the program has gone into production, you’ll need to perform additional development tasks. Here is a list of the most common ongoing tasks:

  • Apply service packs and hotfixes It is important to apply service packs and security hotfixes to the operating system and server software as soon as they are available. It’s especially important to apply security hotfixes immediately upon their release. You can be notified of security patches by signing up for the Microsoft Security Update e-mail at this location: http://register.microsoft.com/subscription/subscribeme.asp?id=166 .

    Most service packs and hotfixes require a machine reboot or a software restart, and you should design the system to allow you to do this. One option is to use a server cluster so that you can take down one server without affecting the availability of the application. Another option is to have a facility to notify users when the system will be down for maintenance, allow already logged-on people to finish their current tasks, and disallow new logons as the current users finish their business and log off.

    A second part of this item is to ensure that the company has the resources available to continually apply service packs and hotfixes. As time goes on, if the system is not patched with the latest security hotfixes, it will become increasingly vulnerable to attacks. Failure to apply service packs and hotfixes will lead to a degradation in security over time and make the system increasingly vulnerable.

  • Perform application upgrades Similar to the previous item, you should design the application for upgrades to newer versions. For Web applications, this often means restarting the Web server. For Windows applications, Windows Forms has a great feature known as no-touch deployment, which can dynamically update clients when a new version of the application is made available on the server. For information on no-touch deployment, see the MSDN article at http://msdn.microsoft.com/library/en-us/dv_vstechart/html/vbtchNo-TouchDeploymentInNETFramework.asp .

  • Use monitoring logs You should also design some remote administration capacity, such as SQL Server and IIS monitoring logs. An easy way to do this is via terminal services, which allow you to remotely log on to the server from another machine.

  • Design an Off switch It’s important to have an easy method for turning everything off. This means designing the system to be shut down and ensuring that someone has access to physically turn off the machines. If an intruder has managed to hack into your system, turning off the machines may mean you can isolate the problem and prevent the intruder from inflicting further damage.




Security for Microsoft Visual Basic  .NET
Security for Microsoft Visual Basic .NET
ISBN: 735619190
EAN: N/A
Year: 2003
Pages: 168

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net