Writing by Peter Hilton

Pros and cons of using IIS, ASP, PerlScript and ADO on Windows NT

Observations on the pros and cons of using these to produce a web application.

This document records some observations on the pros and cons of using Microsoft Internet Information Server, Active Server Pages, PerlScript and ActiveX Data Objects together on Windows NT to produce a web application.

Ideally it would be possible to consider each of these components independently, but this is not generally the case. This is why, when choosing a web server, programming language, programming language interface, and database interface, it is important to consider whether the choice of one restricts the choice of any of the others.

In the past, Common Gateway Interface (CGI) was a standard interface between the web server and the programming language. Nowadays the two are usually more closely integrated for better performance and functionality. The downside of this is that this web server interface may impose a dependency on the programming language and even on the code itself. For example using Active Server Pages restricts your choice of programming language and will make some of your code dependent on Microsoft Internet Information Server.

Internet Information Server (IIS)

Microsoft Internet Information Server (IIS) is Microsoft's 'enterprise' web server.

Pros

The graphical user interface (GUI) helps new users. IIS has good integration with Performance Monitor, which provides for easy access to extensive usage statistics.

Cons

Conclusion

Almost none of IIS' 'unique selling points' are unique, or selling points. Avoid IIS; instead use Apache, the industry standard web server.

Active Server Pages (ASP)

ASP is an IIS plug-in that pre-processes web pages, allowing you to embed server-side code in a more efficient way than CGI.

Pros

ASP provides a simple interface to user-session management and cookies, which is very useful for most web applications. Using the Windows Scripting Host, ASP also allows a choice of programming language: VBScript, JScript or Perl.

Cons

ASP does not expose HTTP variables as environment variables, which is the conventional approach in web server programming environments (because VBScript cannot access environment variables). Instead a 'Request object' is used, which makes code specific to ASP.

Conclusion

ASP is a good environment for web applications programming, but it offers no particular advantages over the alternatives that it is copied from, such as PHP, GNU Server Pages or the various forms of embedded Perl, such as the Apache::ASP Perl module for Apache. In fact, these alternatives are generally superior to ASP.

PerlScript

PerlScript is ActiveX scripting engine for ActivePerl, ActiveState's Perl distribution for the Win32 platform. PerlScript allows you to use Perl as the ASP language, instead of VBScript or JScript.

Pros

Cons

Perl can be a messy language and requires programmer-discipline to produce maintainable code. This is because 'There's More Than One Way To Do It', as the Perl motto goes, which means that coding styles can vary a lot.

Conclusion

Perl is a good choice of server-side programming language, particularly because it is extrememly well-established in this area. Furthermore, CPAN provides access to an unrivalled repository of high-quality Open Source third-party code. However, other languages such as PHP and Python have certain advantages over Perl, such as cleaner implementations of Object-Oriented Programming.

ActiveX Data Objects (ADO) and OLE DB

ADO is Microsoft's high-level data access interface; OLE DB is Microsoft's low-level data access interface.

Pros

There is very little to recommend ADO other than the fact that it works and doesn't require any complicated configuration.

Cons

There is very little official ADO or OLE DB documentation and, because neither are widely used, there is very little information available on the web. This is in stark contrast to Perl DBI, for example. The situation is even worse for OLE DB.

Conclusion

ADO might be a good choice if you have already decided to use IIS and SQL Server, because of the level of integration. Otherwise, a more mainstream database interface, such as ODBC or Perl DBI would be a better choice.

Share on TwitterShare on LinkedIn