Home ESF Logo Text Only Quick link to main content

Home | Services | Events | Features | Interviews | Profiles | Reviews | News | Resources | Press | Archive

Lecture 1 - IIS Introduction

Table of contents

1.0 Introduction

2.0 IIS Architecture

3.0 IIS Metabase

4.0 IIS Support Services

5.0 The Microsoft Messaging Queue (MSMQf)

6.0 Site Server Express

7.0 Internet Connection Services

1.0 Introduction

As we already know Internet Information Server (IIS) is part of the NT Server 4.0 and it the server service that will serve your interactive data-driven web applications to web browsers (clients). It is therefore essential that you have a working knowledge of IIS for both the administration of your development / test server and for the roll out of your application onto the production server .




Windows NT Server Logo


2.0 IIS Architecture

IIS as you already know is a scalable enterprise network tool for publishing FTP and Web content both internally for intranets and externally for Internet sites.

More internet sites are being built for and hosted on IIS severs because of the popularity and usability of NT Server in the commercial market, (read as far easier to configure than the equivalent UNIX Apache). Windows NT Server and IIS at the time of writing (Dec 1999) amounted to 39% of the worlds Web servers, and over 75% of the browsers used on the web today are either Internet Explorer 4.0 or above .

It is essential that you understand the basic foundations and architecture so you will grasp the more complex administrative tasks and be more successful at problem solving!

Microsoft call IIS a CORE PRODUCT, this means that it is designed to work with a variety of components of the Windows NT Platform, such as NT's built-in security.




IIS is part of the NT Server which is the basis to MS Backoffice

IIS also communicates and integrates with:

  • MS Management Console (MMC )
  • MS Message Queue (MSMQ )
  • Microsoft Transaction Server (MTS )
  • And many other services.

    Each component in this family is an object of the underlying operating system and IIS is one of the modules that we will be using in depth!

    So what is this modular approach and services?

    Before Microsoft introduced the Windows operating system, PC operating systems were monolithic code, all programs that run on the operating system were entirely self contained within a single executable. So although many programs print each program had to have a duplicate of the code within the executable to support printing .

    With the introduction of a file type called Dynamic Link Libraries (DLL) in Windows, Microsoft enabled common application code to be stored in one file the DLL. This means that many applications can use the same DLL to print, the applications just need to know how to reference the DLL which in turn handles the printing.

    This modular approach streamlines application development and makes it easier to use the same program with multiple printers or other devices.

    When Microsoft created Windows NT operating system they introduced "Services", in Windows 3.x and DOS any program that had to continually interact with the operating system was implemented as a Terminate and Stay Resident (TSR) application. In NT Server most of the functions are implemented as services (e.g. the Server Service, Workstation Service and Browser Service).

    When you add to your NT Server environment new components whose design requires that they always run when the server is operating, these will most likely be NT Services. IIS and its related components are NT Services here are some:

  • Internet Information Server (IIS )
  • MS Management Console (MMC )
  • MS Message Queue (MSMQ )
  • Microsoft Transaction Server (MTS )
  • Data Access Components
  • Index Server
  • Certificate Server
  • Site Server Express

    So is IIS a full server?

    Well the name implies that it is a full server product, but it is actually a service that runs on top of Windows NT Server. Because IIS is a service , it can take advantage of NT's modular design and interact with other services and components. An example is IIS uses the Windows NT Directory Database, which is the central repository of all user accounts, group accounts and NT machine accounts. Because IIS can use Directory Database, there is no need for a duplicate IIS user account information .

    2.1 IIS Architecture and TCP/IP

    TCP/IP (Transmission Control Protocol/Internet Protocol) is an industry standard suite of protocols (a protocol is a set of guide lines for a conversation). TCP/IP contains multiple protocols with each protocol handling a specific type of data transfer or error reporting .

    Understanding TCP/IP - core protocols

    TCP/IP consists of the following core protocols each designed for a certain type of network communication :

    ARP One of the first steps in establishing a connection to a remote host. The Address Resolution Protocol (ARP) finds a computer's hardware address from a known IP address.
    TCP Transmission Control Protocol (TCP) is one of the two transport protocols that carry the data. It is TCP that carries the data when you request a Web document.
    IP Internet Protocol (IP) is used for addressing, routing and forwarding network packets. When you specify a Web site you want to reach, it is IP that routes that request.
    ICMP When a destination cannot be reached the ICMP responds with a Destination Host Unreachable message.
    IGMP Internet Group Management Protocol (IGMP) announces your presence to routers when you start your computer
    UDP User Datagram Protocol is the other transport protocol within the TCP/IP suite. When an Internet Client machine starts, if it is a Dynamic Host Configuration Protocol (DHCP) client, it will request an IP address from DHCP servers in your network. This request is sent over UDP.
    FTP File Transfer Protocol (FTP) is a TCP/IP core protocol, as well as an application. You can use FTP to transfer files to and from TCP/IP hosts.
    HTTP HyperText transfer protocol (HTTP) is not one of the TCP/IP core protocols, but should be included here because of its relevance to IIS. HTTP is the protocol used to request Web documents.

    The process of requesting and receiving a Web site document:

    1. The client machine running web browser has a URL entered
    2. The client computer sends the request to the Domain Name Server (DNS server)
    3. The DNS server checks its own records or queries another DNS server until it finds a record for the requested URL
    4. The DNS server responds to the original URL resolution request with the IP address of the site
    5. The client checks to see if it can connect to the Web site in the local network. If it cannot, it uses ARP to locate the hardware address of the router that forwards the network traffic.
    6. After finding the hardware address of the router, the client sends an HTTP GET request to the Web site.
    7. The Internet server checks to see if the requesting user has the proper permissions to access the file. If so, the server sends back the requested document. Each component of the Web site, such as graphics and frames, has to be accessed by individual HTTP GET requests and file session establishments .

    There are many possible responses that a server can send back to the client after the connection is made.

    IIS supports FTP, HTTP and a host of other protocols, since we are interested in web applications we will quickly review HTTP or Web communications :

    When IIS is returning documents via HTTP, IIS can respond to client requests in one of these ways:

  • Return a static file
  • Launch a Common Gateway Interface (CGI) script
  • Launch an Internet Server Application Programming Interface (ISAPI) extension

    Returning a static file - static files sit on the hard disk of the IIS, the actual client request is sent as a HTTP GET request using the TCP port 80. When the server receives the request, it checks the users permissions to access the requested file. IIS does not change the file's contents, it is a simple request and response.

    CGI Scripts - Common Gateway Interface (CGI) applications are script files that execute on the server-side of the IIS process. When a client requests a file with an executable extension IIS launches that executable, the results are returned as an HTML document. You can use CGI scripts to perform simple database queries, create user counters or other dynamic HTML documents and sent via HTTP.

    ISAPI Extensions - when a client requests a file with a DLL extension, IIS checks to see if the code of the DLL is already in memory. If it is not IIS loads the DLL, if it does IIS uses the existing code. The advantages of using ISAPI over CGI are increased performance because a separate process from IIS does not need to be run.

    ASP (Active Server Pages) and IDC (Internet Database Connector) files are handled differently by IIS, IIS executes them using ISAPI extensions and script maps.

    3.0 IIS Metabase

    When MS-DOS was king, all configuration information was stored in the AUTOEXEC.BAT and CONFIG.SYS files. With the Introduction of Windows operating system INI files were introduced to contain all the various aspects of your systems configuration. Now with NT all system configuration information is stored in the Registry (hard disk configurations, security policies etc). In IIS 4, all configuration information is stored in IIS Metabase, very similar to NT's registry.

    The Metabase has a hierarchy as the NT Registry does and contains both binary and textual data. IIS Metabase is stored in a file named METABASE.BIN. To edit IIS MetaBase run MetaBase Editor, you can load it by running METAEDIT.EXE.

    In reality you will not have to use MetaBase much. With IIS 4 the administrative interface for IIS is now the MMC (Microsoft Management Console).

    4.0 IIS Support Services

    IIS is a very effective web server for sending HTML files to Web browsers, but Microsoft have been building a number of core applications to increase the functionality of IIS by facilitating its security and ease of use. These supportive services which add power to IIS 4 are:

    Microsoft Management Console (MMC)

  • Enables all IIS settings to be controlled through this application
  • In NT 4.x each administrative task had its own user interface, to alleviate the confusions the MMC was created and was released in Windows NT 4 Option Pack.
  • When you now install IIS the MMC Snap in Internet Service Manager is installed to your system to add it to your MMC configuration.

    Microsoft Transaction Server (MTS)

  • This system integration package provides the ability to execute multiple operations as a single operation, ensuring that all parts of an operation succeed or else the entire operation fails.
  • With MTS developers can write applications for a single user, MTS will automatically scale and manage it for network use, meaning developers need not worry about the networking issues and simplifies other complex development tasks.

    Microsoft Index Server

  • This service provides search engine functionality for Web sites, Index Server can scan all the Web pages on a server and other documents (word, excel, power point) that have a scanning filter, a user can then click the hyperlink to the documents.
  • This means that information traditionally locked away as word and excel documents can be quickly accessed by your intranet or internet site search facility.

    Certificate Server

  • Microsoft requires a certificate from a certificate authority in order to use Secure Sockets Layer, a protocol used to secure data exchanges between web browsers and servers.
  • Certificate server allows you to act as your own certificate authority when generating SSL keys, the digital files used to encrypt data.

    Active Server Pages (ASP)

  • Active Server Pages is a method of creating dynamic HTML documents.
  • ASPs are dynamic documents, i.e. data contained can change each time you load the document into your web browser.
  • ASP does this by using server-side scripting embedded in the HTML document. The script runs on the server-side of the process NOT the client side. Your client browser does not need to understand the scripting language in order for it to run.
  • To use ASP you must have a database containing data! And you rely on other related Microsoft services such as MS Data Access Components.

    4.1 MS Data Access Components

    Database web sites are the way forward! Web sites used to be read only, in the last year however Web front ends for databases have become more common.

    To facilitate Web-to-database connectivity and to simplify what was previously a very complex data access model, MS Data Access Components (MDSE.) were developed.

    Data access components comprise of several sets of technologies:

  • ActiveX Data Objects ( ADO )
  • And the underlying OLDE consumers and providers .

    Before DAC to provide Web access to your databases you had to use an Open Database Connectivity (ODBC) driver and a Data Source Name (DSN) for each of the databases you wanted your application to access.

    Your web application connected to the DSN wrapper for the database's ODBC driver- and used that connection to access the data stored within the tables that made up the datbase. If there were several databases that you had to access from a single Web site, you would need multiple DSNs and multiple ODBC drivers, making it slow!

    When using MSDAC you no longer need to specify a DSN or ODBC driver, MSDAC performs a series of steps for every database connection this is how it works:

    1. Client application (typically by using an ActiveX Data Object) makes a call to the OLE DB client stub (consumer)
    2. The OLE DB client stub acts as an interface for the OLE DB Providers (on installing a database application and OLE DB provider for that application is installed). The OLE DB providers take the place of the old ODBC drivers an the DSNs by providing low level access to the database.
    3. The OLE DB provider handles information about the underlying database solution.

    MSDAC streamlines the linking of web sites to databases, using MSDAC you can use the same code to access any data store from an SQL Server database to an Oracle database. Since OLE DB connections use COM the communications are faster than if they were using ODBC drivers

    5.0 The Microsoft Messaging Queue (MSMQf)

    The MSMQ is a store and forwarding application that utilizes messaging queues, where message refers to the data stored in the queue.

    6.0 Site Server Express

    This service will give you performance details of your site, Site Server Express 2 is included in NT 4 Option Pack. The package enables you to see how many users are accessing a particular document within your site and will provide reports in HTML format.

    7.0 Internet Connection Services

    This is a set of remote access services, designed with ISPs in mind, allowing remote users to connect to the Internet through your NT Server (running the Internet Connection Services):

    Microsoft connection manager - provides support for point to point tunneling protocol

    The connection manager administration kit - used to establish connection profiles

    Internet authentication services - provides remote user authentication

    Connection point services - provides centralised administration of phone books, client configurations.



  • Home | Services | Events | Features | Interviews | Profiles | Reviews | News | Resources | Press | Archive
    About ITWales | Privacy Policy

    All material on this website ©2002-2008 ITWales
    spacer

    Search ITWales

    Advanced Search
    envelope Subscribe to
    ITWales Updates
    Click Here!