ATL Server
ATL Server — технология, разработанная фирмой Microsoft для создания веб-приложений. Она использует движок замены тегов, написанный на C++, для генерации веб-страниц. Она основывается на уже существующих технологиях, как ISAPI и Microsoft Active Template Library, и содержит библиотеку шаблонов, разработанную для использования при создании веб-приложений.
ATL Server впервые был представлен в Visual Studio .NET 2003. Он также был включён в Visual Studio 2005, но больше не поддерживается, начиная с выпуска Visual Studio 2008. Большая часть кода ATL Server была выложена как открытый проект на сайте CodePlex, веб-сайте фирмы Microsoft для публикации исходников.
Типичное приложение на базе ATL server содержит по крайней мере одно ISAPI расширение DLL, а также один или несколько файлов ответов сервера (Server Response Files, расширение .srf) и файлы динамических библиотек ассоциированных приложений, которые и реализуют функциональность приложения.
SRF-файлы
SRF-файлы могут содержать набор HTML- и скриптовых тегов. SRF скриптовые теги помечены {{ открывающими и }} закрывающими скобками.
Один SRF-файл может вызывать код из нескольких DLL приложения. Аналогично, одна DLL приложения может служить нескольким SRF-файлам.
Простейший SRF-файл должен содержать одну или более ссылок на прикладные DLL и один или более вызовов функций этих DLL. Простой SRF-файл выглядит примерно следующим образом:
{{handler ATLServerHelloWorld.dll/Default}} <html> <body> {{HelloWorld}} </body> </html>
Первая строчка файла:
{{handler ATLServerHelloWorld.dll/Default}}
используется для идентификации DLL и класса, который будет вызван SRF-файлом.
Далее в файле вызовы функций выглядят примерно так:
{{HelloWorld}}
В приведённом выше случае, ATLServerHelloWorld.dll DLL содержит определение класса по умолчанию "Default" как показано ниже:
[request_handler("Default")]
class CDefault
{
...
[tag_name(name="HelloWorld")]
HTTP_CODE OnHelloWorld(void)
{
m_HttpResponse << "Hello World!";
return HTTP_SUCCESS;
}
};
Нужно пояснить, что атрибут request_handler используется в классе для идентификации класса как класса по умолчанию "Default", а также атрибут tag_name используется для идентификации метода "HelloWorld".
Ссылки
- Hello, ATL Server: Современная C++ Веб-платформа, InformIT, September 29, 2006.
Дополнительные источники
- Библиотеки C++
- Веб-фреймворки
- Microsoft Visual Studio