ATL Server es una tecnología desarrollada originalmente por Microsoft para el desarrollo de aplicaciones web . Utiliza un motor de reemplazo de etiquetas escrito en C++ para renderizar páginas web . Se basa en tecnologías existentes como ISAPI y la Biblioteca de Plantillas Activas (ATL) , e incluye una biblioteca de plantillas específica para el desarrollo de aplicaciones web.
ATL Server apareció por primera vez con Visual Studio .NET 2003. Se incluyó en Visual Studio 2005 , pero dejó de recibir soporte tras el lanzamiento de Visual Studio 2008. La mayor parte del código fuente de ATL Server se ha publicado como un proyecto de código compartido en CodePlex , un sitio web de intercambio de código administrado por Microsoft.
Una aplicación de servidor ATL típica consta de al menos una DLL de extensión ISAPI junto con uno o varios archivos de respuesta del servidor (.srf) y sus archivos DLL de aplicación asociados que proporcionan la funcionalidad de la aplicación.
Archivos SRF
Los archivos SRF pueden contener una combinación de etiquetas HTML y de script. Las etiquetas de script SRF se indican mediante las llaves de apertura {{ y de cierre }} .
Un único archivo SRF puede llamar a código de varias DLL de la aplicación. Del mismo modo, una única DLL de la aplicación puede servir a varios archivos SRF.
El archivo SRF más sencillo debe contener una o más referencias a las DLL de la aplicación y una o más llamadas a funciones dentro de esas DLL. Un archivo SRF sencillo tendría este aspecto:
{{ manejador ATLServerHelloWorld.dll/Default }} <html> <cuerpo> {{ Hola Mundo }} </body> </html>
La primera línea del archivo:
{{ manejador ATLServerHelloWorld.dll/Default }}
Se utiliza para identificar la DLL y la clase a la que el archivo SRF realizará llamadas.
Dentro del archivo, las llamadas a funciones se verían así:
{{ Hola Mundo }}
En el caso anterior, la DLL ATLServerHelloWorld.dll contiene una definición de una clase "Default" como se muestra a continuación:
[ request_handler ( "Default" )] class CDefault { ... [ tag_name ( name = "HelloWorld" )] HTTP_CODE OnHelloWorld ( void ) { m_HttpResponse << "¡Hola Mundo!" ; return HTTP_SUCCESS ; } };Observe el uso del atributo request_handler en la clase para identificar que esta es la clase "Predeterminada" y también observe el uso del atributo tag_name para identificar el método "HelloWorld".
Referencias
- Hola, ATL Server: Una plataforma web moderna en C++ , InformIT , 29 de septiembre de 2006.
Enlaces externos
- MSDN: Referencia del servidor ATL
- Archivo del servidor ATL en CodePlex
- Bibliotecas de C++
- marcos de trabajo web
- Microsoft Visual Studio