October 4, 1999
Microsoft Corp. IIS and Visual Studio
The Microsoft platform has the best suite of development tools, but the least reliability. Nevertheless, if you work in a Microsoft shop, and your clients and servers are Windows-based, odds are you'll use IIS and Visual Studio, a duo that should let you develop the most complex Web applications.
Large IIS client/server applications typically have three tiers. The front end can be developed using HTML, Java applets and JavaScript. A middle tier would be built using Active Server Pages (ASP) and ActiveX (Dynamic Link Libraries). A database back end such as SQL Server typically contains tables, stored procedures and views.
IIS's middle tier is very strong. ActiveX components can be developed using the separately available Microsoft Visual Studio 6.0, which includes Visual Basic, Visual C++ and Visual J++. The tools in this large suite of development environments let you develop ActiveX components that can be invoked from ASP code and can communicate to a back-end database.
ASP is not a language, but rather a framework that allows you to plug in any compatible server-side scripting engine. We have successfully used the third-party PerlScript scripting engine to write ASP code, but we will focus on VBScript, which is built into IIS. The client browser never sees the ASP code; rather, the Web server (IIS, in this case) processes the ASP code on the server before it sends the processed Web page to the browser. ASP is easy to use for straightforward examples (as are PHP and server-side JavaScript); however, doing any complex work can become difficult.
Implementing the ActiveX components using Visual Basic lets programmers use familiar syntax for both the ASP scripts and ActiveX components.
Visual Basic is easy to learn, yet is a very powerful language. The Visual Basic IDE is more mature than almost any other environment available for server-side Web development. It offers tight integration with Visual Source Safe, a source-code control tool available as part of Visual Studio. Visual Basic's debugger is superb, allowing developers to roll back execution, skip statements and modify code on the fly.
Managing and opening the database connections, running queries against the database and dealing with the result sets are incredibly simple in Visual Basic. For example, the components require just two or three lines of ADO (ActiveX Database Objects) code to open a connection to a database. The ActiveX components can retrieve large result sets and store them in dynamic data structures. Complex business logic can be applied to the result sets, making it easy to develop sophisticated applications. ASP ties the business logic to the user interface, acting as a bridge between the browser and the ActiveX components.
IIS and ASP also offer session management through user-defined session variables, with lifespans limited to a session that ends when you close your browser or explicitly abandon all session variables programmatically. Session management is such a good idea that the latest beta versions of PHP and Netscape's Enterprise Server also offer it as a built-in feature.
If you do not need a three-tier application and you skip the components layer, ASP code can directly open ADO connections to databases. These connections can be stored in application or session variables, allowing you to build a complete and relatively powerful database-driven application using only HTML and ASP.
But ASP is only as stable as Windows, since it's not designed to work with any other Web development environments. Unlike more mature OSes, NT server can lock up completely due to simple flaws in an application's logic. Choosing this environment means living with the instability.