Active Template Library (ATL), anteriormente chamada ActiveX Template Library) é uma biblioteca de programas da Microsoft (conjunto de rotinas de programas pré-empacotados) para uso na criação de código Active Server Page ( ASP ) e outros componentes de programas ActiveX com C++ (incluindo Visual C++). Um desenvolvedor de site da Web que deseja encaminhar solicitações de usuários para um programa no servidor Web pode escrever um aplicativo de interface de gateway comum ou, se o servidor for o Internet Information Server ( IIS ) da Microsoft, pode incluir um script na página HTML (Web). A própria página é chamada de Active Server Page (ASP) e tem um sufixo .asp. O script na página Servidor Ativo é interpretado e executado no servidor antes da página ser enviada ao usuário. Outra abordagem é ter este script (escrito em VBScript ou JScript da Microsoft), por sua vez, chamar um programa compilado, escrito tipicamente em C++, uma sofisticada linguagem de programação orientada a objetos. Como um programa compilado roda mais rápido que um script, a página Web será formulada mais rapidamente e retornada mais rapidamente ao usuário. Um programa em C++ também pode interagir mais estreitamente com o sistema operacional do que um script, e há várias outras vantagens. Por outro lado, é mais difícil e demorado escrever um programa em C++ do que em uma linguagem de script.
A Biblioteca de Modelos Ativos permite ao programador construir o objeto Component Object Model s que pode ser chamado pelo script em uma página ASP. Estes objetos são descritos pela Microsoft como sendo rápidos e tendo força industrial . Os objetos que você pode construir usando o ATL incluem controles completos, controles do Internet Explorer, páginas de propriedades, e caixas de diálogo.