Active Template Library (ATL), formerly called ActiveX Template Library) is a Microsoft program library (set of prepackaged program routines) for use when creating Active Server Page ( ASP ) code and other ActiveX program component s with C++ (including Visual C++). A Web site developer that wants to forward user requests to a program in the Web server can write a common gateway interface application or, if the server is Microsoft's Internet Information Server ( IIS ), can include a script in the HTML (Web) page. The page itself is called an Active Server Page (ASP) and has a suffix of .asp. The script in the Active Server Page is interpreted and performed at the server before the page is sent on to the user. Another approach is to have this script (written in Microsoft's VBScript or JScript) in turn call a compiled program, written typically in C++, a sophisticated object-oriented programming language. Since a compiled program runs faster than a script, the Web page will be formulated faster and returned more quickly to the user. A C++ program also can interface more closely with the operating system than a script can, and there are several other advantages. On the other hand, it is more difficult and time-consuming to write a program in C++ than to write one in a script language.
The Active Template Library lets the programmer build Component Object Model s object that can be called by the script on an ASP page. These objects are described by Microsoft as being fast and having industrial strength . Objects you can build using the ATL include full controls, Internet Explorer controls, property pages, and dialog boxes.