Brett Burridge on Internet Information Server (IIS) - Microsoft's attempt in establishing Windows NT as a viable alternative to Unix as the platform of choice in the fiercely competitive web server market.
![]()
IIS has been around for quite some time now. IIS 2.0 can be found on the Windows NT 4.0 Server installation CD-ROM. This version of IIS was pretty basic, and changing advanced settings usually involved messing around with the Windows registry. Version 3.0 was little different from 2.0, but it did see the introduction of server-side scripting through the use of the innovative Active Server Pages [1]. By contrast, version 4.0 of IIS saw a radical change to the application. IIS 4.0 sported a completely new user interface, a host of new features, and improved reliability.
There are three versions of an Internet Information Server 4 installation, all of which are installed from the same IIS Windows NT 4.0 Option Pack CD-ROM (or website) [2]:
Like the Windows 95/98 version, the Windows NT 4 Workstation version also supports a limited number of simultaneous network connections.
So although both Windows NT 4 Workstation and Windows 95/98 can be used to host a website, it is recommended that IIS be installed on Windows NT Server. Hosting on the other operating systems is, however, useful for development purposes.

Figure 1: The Internet Information Server/Personal Web Server
installer is easy to use
Whilst Internet Information Server will work on just about any recent Pentium PC, for a reliable system it is recommended to purchase a dedicated machine. A system such as the popular Dell PowerEdge series [3] is recommended. A PowerEdge 2300 with twin Pentium III 500MHz processors, 512Mb RAM and 18 Gb of disk space currently costs less than £4000. It is also essential not to overload the server with applications that don't co-exist together very well. In particular, it is better to install IIS on a standalone server (i.e. not a Primary or Backup Domain Controller), and not on a machine already hosting resource intensive applications such as Exchange Server or SQL Server.
The order of software installation is also important. A useful list of which applications to install if IIS is to be installed on the same machine as Site Server 3.0 and/or SQL Server is available [4]. As a general guide, the following installation order will work well:
For optimum security the machine should have its disks formatted with the NTFS file system.
There are three methods of managing IIS. The first is to use the Microsoft Management Console (MMC). The MMC is a container for "Snap-ins", which allow the management of specific services. Most of Windows 2000 will be managed through the use of the MMC with specific Snap-ins. Extensions to IIS (such as Microsoft Site Server) also use "Snap-ins". Provided you have the appropriate Snap-in, services can be administered from remote machines on the network.
The MMC is fairly straightforward to use, and there is context-sensitive help available for most functions. An example screen from the MMC is shown in Figure 2.

Figure 2: Administering Internet Information Server (IIS) through
the Microsoft Management Console (MMC)
A second method of administering IIS is through a web browser. Obviously care must be taken to ensure that the administrative site is adequately protected from unauthorised accesses. There are a few things that cannot be done through the web administration interface, such as stopping and restarting the web server.
The final method of administering IIS is through a scripting language such as the Windows Scripting Host. IIS comes with several example scripts. These examples will be of use should some of the functions of IIS be automated, such as the automatic creation of a large number of new websites or periodically restarting the IIS services.
As you would expect, IIS is fully integrated with Windows NT, so the performance of the web services can be monitored using the Windows NT Performance monitor, the Event Log can be used to view important messages, and so on.

Figure 3: Standard Windows NT tools can be used to measure server
performance
IIS is a major application - it weighs in at over 70Mb for a full install. A few of the main features will be described below.
If any of your users are regular users of Microsoft FrontPage then you will no doubt receive many requests for installing the FrontPage Server Extensions on your web server. These basically serve two main purposes:
Because of a number of security issues, many administrators are uncomfortable with the thought of installing these Server Extensions on Unix based systems. However, it is generally accepted that the Server Extensions are more secure if used on Windows NT systems. If installed and used correctly, they are no more insecure than traditional FTP access to servers, since the biggest security risk is usually the loss of users' passwords.
IIS is supplied with the FrontPage Server Extensions, but it is highly recommended that the latest versions are installed from the Microsoft FrontPage website [5]. The FrontPage 2000 Server Extensions are also now available, and work well with IIS 4.
IIS supports traditional Common Gateway Interface (CGI) scripts that can be written in any language supported by the web server in question. Perl for Windows NT is developing rapidly, and most Unix Perl scripts can be ported to Windows NT without too much difficulty.
IIS supports several methods for server-side interactivity. Active Server Pages are an excellent facility for the rapid creation of server-side scripts, and were described in Issue 20 of Ariadne [1]. IIS provides support for the creation of ASP documents written in VBScript or JScript. A free third party solution [6] allows ASP documents to be written in PerlScript, a popular relative of the Perl language. ASP can also be extended through the creation of COM (Component Object Model) objects written in languages such as Visual Basic, Visual C++ and Java [14]. Alternatively, there are plenty of pre-compiled objects that can be used. IIS is supplied with a few COM objects that can be used for database access, content rotation, finding client browser capabilities etc. Alternatively, a wide variety of 3rd party components are available [13], many of which have been released as freeware.
IIS also supports both Internet Database Connector (IDC) applications, and Internet Information Server Application Interface (ISAPI) applications. ISAPI can be used to extend the functionality of the web server, and ISAPI applications typically outperform their CGI counterparts. For example, the Internet Information Server resource kit contains ISAPI filters for adding Distributed Authoring and Versioning (DAV) support and for caching the output of selected ASP files.
As your website grows, it soon becomes essential to establish some method of rapidly finding the document you are looking for. Index Server 2.0 is supplied with IIS (but will only run on Windows NT 4 Server). It trawls the Windows NT file system and catalogues a variety of file types. Its main benefits are:
The downside to Index Server is that it isn't really suited for cataloguing content from several web servers, so if you have multiple web servers and want to provide a unified search facility it is worth considering a product such as Microsoft Site Server 3.0 [7].
One of the attractions of IIS is the ease in which databases can be connected to web pages. This functionality is provided by the Data Access components. IIS is supplied with the ability to connect to common databases such as Access, Oracle, SQL Server and ODBC compliant databases. There are several ways of accessing such databases from the web; the use of custom written front-ends using Active Server Pages is the most widely used method.
Microsoft has grand plans for unifying its approach to data management - the Microsoft Universal Data Access website has further details [15].
Site Server Express can be used to generate statistics from your website. However, it is fairly slow and not really up to the task for creating reports from busy sites. An alternative is to use the ever popular Analog [8], which is able to create reports from IIS log files.
Transaction Server offers the ability to create sophisticated distributed applications. It can be used from Active Server Pages to control transactions, where the outcome of that transaction is critical. For example, if your institution created a web based facility for users to change their passwords, it would be critically important for the user to know that the password changing routine had either succeeded or failed.
When installed on Windows NT Server, IIS also includes SMTP and NNTP services. The SMTP service is particularly useful in that it can be used to send email from Active Server Pages. The NNTP service could be used for hosting discussion sites and customer support areas.
Out of the box, IIS has support for Active Server Pages [1], which is rapidly becoming the development environment of choice for sophisticated (e-business) web applications. The included Data Access Components included with IIS make it possible to directly link databases to Active Server Pages. Transaction server and IIS's load balancing support are invaluable in the development of robust distributed web applications.
There are also an increasing number of additional applications that can be incorporated into IIS in order to extend the web server into areas such as E-Commerce and data warehousing. One particularly interesting application is Microsoft's Site Server 3.0. This adds additional features to IIS, such as site searching facilities, personalisation & membership and content control. The Site Server 3.0 search facility was described in Issue 19 of Ariadne [7].
IIS is particularly popular for hosting Intranets. The attraction for hosting Intranets with IIS is the tight integration with the other services provided by Windows NT Server. In particular, there is full integration with the Windows NT security model, making it straightforward to set up restricted access areas of the site. Setting up IIS to use Secure Sockets Layer 3.0 (SSL) encryption is also fairly straightforward.
IIS is supplied with a large amount of high quality documentation in HTML format (see Figure 4). This documentation describes all the features and components of the server, including extensive documentation for ASP (using both VBScript and JScript) together with plenty of background information on subjects such as the use of Intranets and web server security.
A wide range of printed books covering the installation and management of IIS are available from most book stores. There are also some very good resources for IIS on the web, although Active Server Page technology tends to generate the most interest. 15seconds [9] is a good place to start, as is ASPWatch [10].

Figure 4: The documentation supplied with IIS is plentiful and
generally of excellent quality
For anyone who wants in depth knowledge of IIS, studying for the Implementing and Supporting Microsoft Internet Information Server 4.0 exam [11] is worthwhile. Anyone passing this exam achieves Microsoft Certified Professional status. The exam can also be used to earn credit towards the highly sought after Microsoft Certified Systems Engineer + Internet and Microsoft Certified Professional + Internet certifications.
Internet Information Server is Microsoft's attempt to establish Windows NT Server as a viable alternative to Unix in the lucrative web server hosting market. IIS 4.0 is a quality application - it is reliable, easy to use, and yet is packed full of useful and advanced features. However, despite the rapid growth in the number of web servers on the Internet, IIS has not yet made significant inroads into the huge market share of Apache (in August 1999, Apache had a 55% market share compared to 22% for Microsoft servers [12]). It will be interesting to see if the release of IIS 5 (an essential part of Windows 2000) will increase the market share of IIS.
Brett Burridge
Computing Service
University of Essex
Colchester
Essex, CO4 3SQ
Email: brettb@essex.ac.uk
Web site: http://www.essex.ac.uk/