Key Components in ATL Server


Key Components in ATL Server

One of the problems with creating ISAPI extensions from scratch is the basic infrastructure that you have to create before you can focus on your application logic. ATL Server is designed to solve this problem for you. Its still helpful, however, to look at what these different components are:

  • Thread pool: You need to create a thread pool to handle requests. IIS has a limited number of threads with which to handle requests, and once all of these are used, new requests are rejected.

  • Buffers: Its rare that your application will complete compiling its entire response straight away. To build up your response header, avoid expensive network calls, and enable keep- alive , you must build a buffering system to handle storing your response before its sent.

  • Session state: HTTP is a stateless protocol, but often you need to keep some information between requests. In a consumer Web application, this information is usually details about a given user . To accomplish this, you can use session state, which allows you to store key/value data in a permanent system (memory backed, database backed, or file backed by default).

  • Regular expressions: Many Web applications need to process large amounts of text data, often from query or form variables . Regular expressions enable you to easily extract the information you need from strings. ATL Server regular expressions are based on the very popular Perl style.

  • Caches: ATL Server provides a number of caches to help improve the performance of your application. Some of these caches work automatically in an application (e.g., the stencil cache for caching SRF pages). You can use other caches to make your code more efficient (e.g., the data source cache for caching database connections).

  • Security and cryptography: ATL Server provides support for various security and cryptography functionality, such as Windows NT Challenge/Response (NTLM) and RSA Securitys MD5. These security mechanisms can be useful in intranet and Internet situations.

  • Cookies: To facilitate cookies, you need code to parse incoming cookies and format outgoing cookies correctly.

  • Query parameters: Query parameters are often nontrivial, especially when you consider all the possible escape sequences. Every Web application needs to be able to parse these parameters.

  • Forms: POSTed form data, multipart forms, and so on all must be parsed by the application. Many Web applications need to be able to handle posted data.

The preceding list covers some of the key components a Web application needs to be able to handle. Seem basic? Yes, theyre all basic pieces of functionality. The problem is that they arent provided by ISAPI, so every ISAPI extension developer needs to create this infrastructure over and over. ATL Server not only provides this basic functionality, but also allows developers to take advantage of more advanced Web functionality such as dynamic content, caching, and session state.




ATL Server. High Performance C++ on. NET
Observing the User Experience: A Practitioners Guide to User Research
ISBN: B006Z372QQ
EAN: 2147483647
Year: 2002
Pages: 181

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net