1. What is ATL Server?

It provides the functionality required to build large scale internet sites like:

SOAP messaging
caching facilities
threading facilities
regular expression processing
management of session-state
performance monitoring
MIME support
integration with IIS and class for interacting with security
cryptographic infrastructure.

2. Can you explain the ATL Server architecture?

The Web server receives requests from the client and passes them on to the ISAPI extension DLL when the request is for a file extension handled by that DLL.

The ISAPI extension DLL receives requests from IIS and passes them on to the appropriate Web application DLL.

Web application DLLs provide application-specific functionality for handling requests and generating responses.

Server response files are text files that contain the static parts of a response and special tags describing where request handler methods can be called to generate the dynamic parts of the response.

3. Explain the capabilities of ATL Server?

It provides the functionality required to build large scale internet sites like:

SOAP messaging
caching facilities
threading facilities
regular expression processing
management of session-state
performance monitoring
MIME support
Integration with IIS and class for interacting with security
cryptographic infrastructure.

4. Explain the concepts of ATL Server?

ATL Server is developed by Microsoft for developing web based applications.
ATL Server is a library of C++ classes that allow developers to build internet based applications.
It includes a template library which is dedicated for use with developing Web-based applications.

5. Explain SRF Files with an example?

The simplest SRF file must contain one or more references to application DLLs and one or more calls to a function within those DLLs.
Eg:
{{handler ATLServerHelloWorld.dll/Default}}
<html>
<body>
{{Hello CareerRide}}
</body>
</html>
The first line of the file is used to identify the DLL and the class that the SRF file will make calls to.
{{handler ATLServerHelloWorld.dll/Default}}.

6. What is SRF Files?

SRF files contain HTML and script tags denoted by the {{ opening and }} closing braces.
A single SRF file may call code from a number of application DLLs and a single application DLL may serve a number of SRF files.

7. Can you explain the three main components of the ATL Server project - the Web application DLL, the ISAPI extension DLL, and the server response file?

There can be many Web application DLLs in a virtual directory which can provide one or more named request handlers.
They have the functionality for handling requests and generating responses.
They expose request handlers that communicate with the ISAPI extension DLL.
Each Web application DLL can be used from multiple server response files.
Server response files are basically text files.
They contain the static parts of a response and special tags.
These special tags describe where request handler methods can be called to generate the dynamic parts of the response.
Each server response file can use more than one Web application DLL.
The requests from IIS are received by the ISAPI extension DLL and are passed to the appropriate Web application DLL.
It provides the request handling infrastructure and common services used by the Web application DLLs.
One ISAPI extension DLL exists per virtual directory and it handles requests for files with the .dll and .srf extensions.

8. Explain what is the information that SRFs typically contain?

SRF files contain HTML and script tags denoted by the {{ opening and }} closing braces.

A single SRF file may call code from a number of application DLLs and a single application DLL may serve a number of SRF files.

Following is a list of tags used in the SRF:

The codepage tag within an SRF is used when the SRF is parsed.
The comment tag does not rendered on the client Web browser.
The handler tag specifies the name of the Web application DLL and the name of the request handler. There can only be one handler tag per SRF.
The include tag inserts the rendered content of another SRF at the current position of the SRF that uses it.
The locale tag signifies that any content rendered after that point in the file should support the locale that is specified.
The replacement tag is a customized tag that is replaced with content from the request handler within your Web application DLL.
The subhandler tag defines an additional request handler. Unlike the handler tag, there can be multiple subhandler tags within an SRF.

9. Do you know what is a stencil in ATL Server?

A stencil is any text file that contains special tags understood by CStencil Class (used to parse a stencil and generate a text stream by replacing elements found within the stencil by output generated by an object implementing the ITagReplacer interface) or a derived class.

A SRF is a stencil containing tags understood by CHtmlStencil.