Despite the advantages of a lengthy ASP design stage, ASP pages are still typically designed hastily. Rigorous ASP design hasn’t gained wide acceptance due to three reasons:
Businesses are operating on Internet time. Due to the fact that businesses must operate at Internet time to stay competitive, many of the lengthier software development phases that are enjoyed in classical software development are rushed through or sidestepped completely for web applications.
Active Server Pages are created using scripting languages. Scripting languages are meant to solve small, discrete problems. Rarely does a developer consider using a scripting language to tackle a formidable programming challenge. Therefore, when coding with a scripting language, it may seem and feel unjustifiable to spend any significant amount of time working on the design of the script.
Active Server Pages are easy to use, and can build powerful, dynamic web sites quickly. This, of course, is an advantage of using ASP to develop a web site, but it is a bit of a double-edged sword. Due to developers’ expectations concerning the ease of development and quick time frame for creating an ASP web site, a lengthy design process may seem out of place.
You may have noted a slight contradiction in the last couple of pages. In Section 1.2 I mention that ASP scripts can be used to build large, data-driven web sites, yet in the second bulleted item above, I state that rarely will a scripting language be used for a large project.
For large web projects, compiled components should be created in a high-level programming language like Visual C++, Java, or Visual Basic, and used within ASP pages. In Chapter 7, we’ll look at combining ASP development with compiled components.
While ASP design has been lacking, it is not because ASP makes such design difficult. In fact, quite the opposite is true; several techniques can be used to create robust, reusable ASP scripts. In Section 1.4, next, and throughout the rest of this book, we’ll be looking at the tools and methodologies to accomplish this.