Application Services Layer
The top layer of IIS architecture is the Application Services layer. This layer provides some of the extensibility options for IIS. These options include Active Server Pages (ASP) and Index Server.
Web Application Manager
All information enters and exits the Application service layer through the Web Application Manager (WAM). WAM sits above the Web services layer and provides the following features:
- Housing components for ISAPI DLLs
- Translation from Independent Software Vendor (ISV) to core IIS features
- Support multiple ISAPI dlls.
- Crash recovery
- Unit for process isolation
- WAM found in the Wam.dll file.
ISAPI is an application program interface that resides on a server on a server computer for initiating software servcices tuned for Microsoft Windows NT operating system.
Active Server Pages
The Active Server Pages (ASP) component provides the functionality for server-side ASP.
The Index Server component provides functionality for indexing and querying files on IIS. Implemented as a separate ISAPI DLL. Index server objects can also be accessed from ASP.
The Hypertext Transfer Protocol (HTTP) Open Database Connectivity (ODBC) component supports the Internet Database Connector (IDC) scripts. The IDC scripts offer ways to generate dynamic pages from data stored in ODBC compliant databases displayed on Web Pages.
ASP offers a feature rich way to access databases and create dynamic pages and is a more efficient option than using IDC scripts for this task.
Server Side Include
The Server Side Include (SSI) directives component allows IIS to include text, graphics, and application information into an HTML page just before sending the HTML page to a user. SSI can be used to include, for example, a time/date stamp, a copyright notice, or a form for a customer to fill out and return. Using SSI to include a file is an easy way to incorporate text or graphics that will be repeated in many files. Rather than typing the necessary information into every file, SSI allows you to use a statement to instruct the Web server to read from a file instead.
The Web server processes SSI directives while it is processing the HTML page. When it reaches an SSI directive, the Web server inserts the contents of the included file directly into an HTML page. If the included file, in turn, contains an SSI directive, that file is also inserted.
Web service layer
The middle IIS architecture layer is called the Web service layer. This layer houses the core functionality of IIS.
Asynchronous Thread Queue
The asynchronous thread queue (ATQ) component maintains the pool of input-output threads for handling input-output operations. ATQ constantly monitors specific TCP sockets. ATQ also controls the bandwidth throttling feature of IIS. ATQ included in the Isatq.dll file.
The Infocomm.dll component handles the following functions for IIS:
- File handling cache
- Authentication by SSL
- Administration Support
- Service Controller Interface
- Meta cache (runtime cache)
Instance support implements Host Headers for the Web server and multiple domains for the NNTP service
This component handles all FTP requests
This component houses the Distribute Component Object Model (DCOM) for the metabase. It serves as the Gateway for administrators of IIS services.
This component handles all WWW requests.
The Microsoft Internet Server Application Programming Interface (ISAPI) is an alternative to Common Gateway Interface (CGI). ISAPI provides the benefits of low overhead, fast loading, better scalability and efficient use of resources. The extensions are used to process requests and generate custom dynamic data.
An ISAPI filter is another type of ISAPI application. You can use an ISAPI filter to receive notifications of various events during the handling of HTTP requests. The ISAPI filter is a DLL which when first loaded lets the server know what type of HTTP notifications it will handle. Subsequently, that filter will receive those notifications corresponding to those requests whether it is a file, a CGI script or an ISAPI application.
ISAPI filters are very powerful and can be used to facilitate a number of different applications, including the following:
- Custom authentication schemes
- Customized logging
- Traffic analysis or other request analyses
The CGI component supports the use of the Common Gateway Interface on an IIS server. CGI is a server side interface for initiating software services. It includes a set of interfaces that describes how a Web server communicates with software on the same computer. CGI applications always run out of a process.
Windows NT Systems Service Layer
The lowest layer in the IIS architecture is the Windows NT Systems Service Layer. Data enters this layer through TCP/IP and exits through windows sockets.
TCP/IP provides a set of networking protocols that support communication across interconnected networks made up of computers with diverse hardware architecture and operating systems.
Windows Sockets (Winsock) is a Windows implementation of the widely used UC Berkeley sockets. Application Programming Interface (API). Windows sockets interface between programs and the transport protocol and work as a bi-directional pipe for incoming and outgoing data.