A Brief History of ASP

I l @ ve RuBoard

When Active Server Pages was first released in November of 1996, four years ago as this book is going to press, it provided an easy way to create dynamic Web pages. Although Common Gateway Interface (CGI) and Perl were very popular at the time, ASP quickly gained popularity for four reasons. These included ease of data access, ease of page design, Component Object Model (COM) interoperability, and a relatively flat learning curve for many programmers already familiar with Visual Basic.

For more information about the origins of ASP, originally code-named Denali, see http://msdn.microsoft.com/library/periodic/period96/Denali.htm.

First, if ASP had not been released with ActiveX Data Objects (ADO), it most likely would not have gained in popularity as quickly as it did. ADO replaced Remote Data Objects (RDO) and later Data Access Objects (DAO) as Microsoft's preferred method of accessing databases, and it provided a simple, straightforward object model.

Second, with the release of ASP 1.0 came the first Microsoft Visual Studio application suite, which includes Visual InterDev 1.0. This tool provided many features, especially for a 1.0 product, and took advantage of Microsoft's FrontPage Server Extensions (FPSE) to allow easy maintenance of Web sites without the need for a separate FTP client. Intellisense for COM and built-in ASP objects as well as a data access control made this a very popular editor despite its shortcomings, such as its Graphical User Interface (GUI) editor, which relied on an early version of FrontPage.

It is probably safe to say that if it were not for ASP, the third-party component market would not be the multimillion dollar per year industry that it is today. Certainly this was not the only factor, as third-party controls for Visual Basic predated the COM revolution, but in my opinion, ASP and COM have allowed some businesses to become very profitable by selling pre-packaged components for use on web servers. The ability to purchase off-the-shelf components and plug them into a Web site simply did not exist for all but the most skilled of programmers prior to the release of ASP 1.0. By bringing this capability to the masses, ASP opened up an entirely new market for component vendors , who continue to provide powerful off-the-shelf tools that are easily integrated into ASP applications.

The fourth feature of ASP that sparked its popularity was its use of VBScript as its default language. This allowed the many programmers who were already familiar with Visual Basic to quickly jump into ASP programming with minimal learning required. For the many programmers familiar with JavaScript, or the syntactically similar C, JScript was offered as well. In fact, Microsoft provided the ability to use other third-party languages as well, and it wasn't long before one could write ASP code in Perl.

As cool as it was, ASP 1.0 had some significant limitations. One major limitation for anyone working with COM components was that the Web server needed to be restarted whenever a Dynamic Link Library (DLL) needed to be updated (A COM object is stored as a .DLL file). Other security and performance issues were addressed, but the largest improvements from ASP 1.0 to 2.0 came in the form of Microsoft Transaction Server (MTS). ASP 2.0 shipped as part of Internet Information Server (IIS) 4.0 and MTS 1.0 shipped as part of the free Windows NT 4 Option Pack.

With IIS 4.0, Microsoft introduced the new Microsoft Management Console (MMC), which was used to administer both IIS 4.0 and MTS. MTS made life much easier for anyone developing or using COM components. It handled installation and uninstallation of the components, alleviating the need to restart the Web service (or often the server itself), and also removed a lot of the burden of handling transactions from the developer. In addition, it acted as an object broker, effectively caching object instances and brokering them out on request. This technique led to the current focus on "stateless" components because this was necessary for such object reuse to be effective. In addition, newer versions of ADO further enhanced developers' abilities to work with remote data, using new techniques like XML streams, among other things.

In February 2000, Microsoft released IIS 5.0 with Windows 2000. With IIS 5.0, ASP was in version 3.0, and MTS was replaced with COM+ services. COM+ essentially combined the functionality of MTS with message queuing services, and ASP gained some additional functionality, including a few more methods and intrinsic object properties. On the whole, the major differences between programming in ASP 2.0 and ASP 3.0 lay in the supporting services like COM+ more than in the language itself. Anyone who could write VBScript in ASP 1.0 with Visual InterDev 1.0 would still be perfectly at home using IIS 4.0 or IIS 5.0. This simply is not the case with ASP.NET.

Microsoft employees Mark Anders and Scott Guthrie began developing what would become ASP.NET in early January of 1998. At this time, ASP was just a year old, but some of its limitations were already quite evident. For instance, the restriction to scripting languages and the lack of a component model for ASP made it difficult to develop good tools for it. The interspersing of code with output HyperText Markup Language (HTML) frequently resulted in problems when designers and developers worked together on the same project. ASP.NET was designed from the start to address the limitations of ASP and overcome them.

Mark and Scott chose to build ASP.NET, then called ASP+, on the Next Generation Web Services (NGWS) Runtime that was then in development. NGWS, which would become .NET, provided a rich set of programming libraries, and would soon include the new language C#, in which ASP.NET itself is written. At this time, ASP.NET has been in development for over three years, and Microsoft's focus with this product remains on these priorities:

  • Factored design. ASP.NET is written as a set of modular components that can be replaced or extended as needed.

  • Scalability. Great efforts were made to build a highly scalable model, especially with regard to maintaining state.

  • Availability. ASP.NET has been designed to intelligently detect crashes, memory leaks, and deadlocks and to recover from these events gracefully.

  • Performance. ASP.NET takes advantage of compiled languages and early binding to improve performance, and also features extensive caching support.

  • Tools integration. Microsoft's goal is to make building a Web site as easy as building a form using Visual Basic. Visual Studio .NET is the first tool to provide this functionality, but the other vendors are sure to follow with their own toolsets.

I l @ ve RuBoard


Asp. Net. By Example
ASP.NET by Example
ISBN: 0789725622
EAN: 2147483647
Year: 2001
Pages: 154

Similar book on Amazon

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