Architecture Net или что такое Microsoft.NET?




Приложения на основе ATL Server

ATL Server (ATL-сервер) — это технология, использующая неуправляемый C++ и позволяющая в процессе разработки эффективно и без проблем применять интерфейс прикладного программирования Internet-сервера (ISAPI)[Библиотека шаблонных классов ATL в использовании удобнее, чем традиционный интерфейс прикладного программирования Internet-сервера (ISAPI), хотя и не может сравниться по удобству с ASP NET]. Так как интерфейс прикладного программирования Internet-сервера (ISAPI) традиционно используется в тех приложениях, где основным требованием является производительность, то не удивительно, что и в ATL Server предусмотрены те же преимущества в производительности.
Библиотека шаблонных классов ATL реализована в виде обычной библиотеки шаблонных классов для C++. Шаблоны в C++ имеют замечательное свойство: они позволяют определять новые классы на основе параметров, передаваемых компилятору. Благодаря такой возможности пользователи могут эффективно и гибко пополнять библиотеку классов.
Шаблон проекта ATL Server Project (Проект на основе ATL Server) содержит код пусковой системы для динамически подключаемой библиотеки (DLL) расширения интерфейса прикладного программирования Internet-сервера (ISAPI Extension DLL), которая через информационный сервер Internet (ПЗ) получает информацию из HTTP-запросов и сопровождающей Web-приложение динамически подключаемой библиотеки (DLL). Эта сопровождающая динамически подключаемая библиотека фактически реализует все необходимые для Web-приложения функциональные возможности.
Динамически подключаемые библиотеки (DLL) расширений интерфейса прикладного программирования Internet-сервера (ISAPI) и Web-приложений работают вместе с SRF-файлами (Server Request File — файлы запросов на обслуживание). В этих файлах содержится комбинация HTML-кода и простых дескрипторов сценариев или заглушек. Каждый такой файл содержит шаблон (не путать с шаблонами C++), предназначенный для создания Web-страницы для клиента. Эти страницы создаются путем замены заглушек, расположенных внутри двойных фигурных скобок. Каждой из заглушек дается имя, указывающее на функцию, которая реализуется динамически подключаемой библиотекой (DLL) Web-приложения. А при создании Web-страницы, которую надо передать клиенту в ответ на его запрос, каждая из этих функций генерирует фрагмент HTML-кода, подставляемый вместо дескриптора в двойных фигурных скобках.
Обычно при разработке Web-приложения на основе ATL Server большая часть времени уходит на вставку кода в динамически подключаемую библиотеку (DLL) этого приложения. Впрочем, имея исходный код, можно также делать изменения и в динамически подключаемой библиотеке (DLL) расширения интерфейса прикладного программирования Internet-сервера (ISAPI) (БАР1 Extension DLL). Но это может потребоваться только в том случае, когда нужно изменить грамматический разбор SRF-файла или обеспечить ту или иную фильтрацию HTTP-потока. Такой прием используется редко и является достаточно сложным.