Asp архитектура internet information services


Содержание

Установка и конфигурирование IIS

В большинстве случаев в реальных производственных проектах один или несколько серверов будут использоваться для обслуживания клиентских запросов веб-сайта. Эти серверы могут принадлежать и управляться непосредственно вами, специализированной командой или же сторонней компанией, предоставляющей услуги хостинга. В любом случае рано или поздно наступает момент, когда написание кода и его тестирование завершено, и работа должна быть представлена широкой публике — в этом и заключается развертывание веб-сайта.

В этой и следующих статьях мы рассмотрим различные варианты развертывания. Однако во всех случаях основные предпосылки остаются неизменными. На рабочей станции имеется готовый веб-сайт, который нужно развернуть на сервере, чтобы он был доступен клиентам. Для ASP.NET таким сервером является , а его текущей версией — IIS 8. Когда он был впервые реализован, IIS представлял собой базовый веб-сервер. С годами IIS развился в сложный сервер приложений, предоставляющий широкое множество функциональных средств, наиболее важным из которых является поддержка хостинга приложений ASP.NET.

В этой статье основное внимание уделяется IIS 8. Хотя машина, на которой запущен IIS 8, здесь называется сервером, IIS можно запускать под управлением версий Windows как для рабочей станции, так и для сервера. На рабочих станциях доступны не все, но большинство функциональных возможностей, что позволяет размещать сложные веб-сайты. По возможности мы рекомендуем использовать Windows Server, однако недорогой альтернативой могут послужить Windows 7 или Windows 8.

В Microsoft привязывают выпуски IIS с выпусками Windows. В состав Windows Server 2008 и Windows Vista входит версия IIS 7.0, в состав Windows Server 2008 R2 и Windows 7 — версия IIS 7.5, а в состав Windows Server 2012 и Windows 8 — IIS 8. Версии — 7.0 и 7.5 — в Microsoft обобщенно называют IIS 7, что может вносить путаницу. Версию IIS, поддерживаемую операционной системой, изменить нельзя — Windows Server 2008 будет использовать только IIS 7.0. Например, модернизировать ее до версии IIS 7.5, используемой в Windows Server 2008 R2, не получится.

Установка IIS

Компонент IIS включен как часть установки Windows (как для сервера, так и для рабочих станций) и требует активизации и конфигурирования. Далее представлены три способа активации IIS для различных операционных систем.

Установка IIS на настольных версиях Windows (Windows Vista, Windows 7 и Windows 8)

Каждая версия операционной системы Windows предлагает свою версию IIS — IIS 8 (в Windows 8), IIS 7.5 (в Windows 7) или IIS 7 (в Windows Vista). Во всех этих версиях Windows, IIS включен, но изначально не установлен. Чтобы установить его, необходимо выполнить следующие действия:

Откройте панель управления.

Нажмите кнопку «Включение или отключение компонентов Windows». Теперь вам нужно подождать, пока Windows исследует вашу систему.

Найдите элемент Internet Information Services (Службы IIS) в верхней части списка и нажмите на галочку чтобы включить его:

Обратите внимание, что Windows позволяет включить множество компонентов IIS: поддержка FTP-сервера, дополнительные инструменты управления, службы обратной совместимости с IIS 6 и т.д.

Убедитесь, что вы выбрали поддержку ASP.NET. Для этого раскройте узел Службы Интернета Компоненты разработки приложений ASP.NET (Internet Information Services World Wide Web Services Application Development Features ASP.NET):

Если вы хотите использовать поддержку IIS в Visual Studio, которая позволяет вам создавать виртуальные каталоги IIS непосредственно в диалоговом окне New Web Site, вам нужно выбрать пункт «Совместимость управления IIS 6» в разделе «Средства управления веб-сайтом» (Web Management Tools IIS 6 Management Compatibility).

Как только вы выбрали нужные параметры IIS, нажмите кнопку OK для завершения установки.

Установка IIS в Windows Server 2008

Установка и настройка IIS одинакова для Windows Server 2008 и Windows Server 2008 R2. Необходимые шаги описаны ниже:

Запустите диспетчер сервера. Чтобы сделать это, нажмите кнопку Start и выберите All Programs Administrative Tools Server Manager.

Выберите узел Roles в дереве слева.

В правой части окна нажмите на ссылке Add Roles. Это открывает мастер, позволяющий добавить новую роль сервера.

Выполните необходимые действия в мастере. Вас вероятно попросят установить дополнительные необходимые роли — если это так, нужно просто принять операции и продолжить.

После установки вам будет предложено настроить веб-сервер. Как в настольных версиях Windows, вы можете выбрать специфические особенности IIS 7, которые должны быть включены.

Если вы работаете в ASP.NET с версией .NET Framework 4.5, то эту версию .NET Framework необходимо будет установить (центр разработчиков .NET Framework)

Установка IIS в Windows Server 2012

Процесс установки IIS в Windows Server 2012, по существу, такой же, как и в Windows Server 2008. Основное различие заключается в том, что пользовательский интерфейс несколько отличается. Подробное описание вы можете найти перейдя по ссылке Installing IIS 8 on Windows Server 2012.

Управление IIS

При установке IIS, он автоматически создает каталог с именем C:\inetpub\wwwroot, который представляет ваш веб-сайт. Все файлы в этом каталоге будет отображаться, как будто они находятся в корневом каталоге вашего веб-сервера.

Чтобы добавить дополнительные страницы на ваш веб-сервер, можно скопировать файлы HTML, ASP или ASP.NET напрямую в каталог C:\Inetpub\wwwroot. Например если добавить файл TestFile.html в этот каталог, вы можете запросить его в браузере через URL-адрес http://localhost/TestFile.html. Вы даже можете создавать вложенные папки для группирования связанных ресурсов. Например, вы можете получить доступ к C:\inetpub\wwwroot\MySite\MyFile.html через браузер, используя URL-адрес http://localhost/MySite/MyFile.html.

Каталог wwwroot удобен для запуска простых примеров и статичных страниц. Для правильного использования ASP.NET вы должны сделать свой собственный виртуальный каталог для каждого веб-приложения, которое вы создаете. Например, вы можете создать папку с любым именем на любом диске вашего компьютера и поместить ее в виртуальный каталог IIS как будто она расположена в каталоге C:\inetpub\wwwroot.

Прежде чем начать работу, вам нужно запустить диспетчер служб IIS. Его можно найти в меню Start (Пуск). Конкретное расположение может зависеть от используемой версии Windows (IIS Диспетчер служб IIS). Ярлык программы будет располагаться в разделе Programs (Программы) или Administrative Tools (Администрирование). Начальная страница IIS Manager показана на рисунке ниже:

Теперь нужно ознакомиться с рядом терминов, используемых в IIS. В левой части окна IIS Manager отображается запись с именем используемого сервера. Наш сервер имеет имя PROFESSORWEB, сгенерированное по умолчанию Windows 8, которое будет использоваться в большинстве примеров. В центральной области отображается представление сервера. Это представление отображает набор значков, которые позволяют конфигурировать параметры сервера. В правой части экрана расположен список доступных действий. Например, в этом представлении можно запускать, останавливать и перезапускать сервер.

Если развернуть элемент сервера в древовидном представлении в левой части экрана, отобразится элемент Sites (Сайты), содержащий единственную запись Default Web Site (Веб-сайт по умолчанию). Сайт — это коллекция файлов и каталогов, образующих веб-сайт. На одном сервере IIS может поддерживать несколько сайтов, как правило, на различных портах TCP/IP (по умолчанию используется порт 80). Сочетание имени сервера и порта сайта образует первую часть URL-адреса. Например, при использовании сервера mywebserver с сайтом, подключенным к порту 80, URL-адрес выглядит следующим образом:

Каждый сайт может содержать множество файлов и каталогов. Каждый из них образует часть URL-адреса. Так, URL-адрес статической страницы mypage.html, расположенной в каталоге myfiles, будет следующим:

В некоторых ситуациях имя, под которым сервер известен вам, и имя, которое клиенты используют для получения содержимого, будут различаться. Мы оставим этот нюанс без внимания, но администратор сервера или компания, предоставляющая услуги хостинга, предоставят необходимые сведения, если это важно для конкретного сервера.

Чтобы проверить работоспособность IIS выберите Default Web Site и в правой области диспетчера служб IIS выберите пункт «Запустить». После этого нажмите кнопку «Обзор *.80 (http)» чтобы открыть страницу сайта в браузере:

Как видите, в моем случае я поменял порт используемый по умолчанию (с 80 на 8080). Я сделал это, т.к. на 80-м у меня запущен локальный Apache-сервер. Если у вас возникает такая же проблема, то изменить порт можно щелкнув правой кнопкой мыши по сайту (Default Web Site) и выбрав в контекстном меню «Изменить привязки» (Bindings). После этого в диалоговом окне можно изменить порт, используемый по умолчанию.

Итак, каждый сервер может поддерживать множество сайтов, каждый из которых работает на другом порту или с другим IP-адресом. Каждый сайт может иметь множество файлов и каталогов, и сочетание этих элементов предоставляет информацию о URL-адресе. Мы вернемся к URL-адресам и использованию IIS Manager при рассмотрении каждого из подходов к развертыванию.

IIS 7.0: краткая инструкция для системного администратора. Часть 1 – установка.

Как я и обещал в посте несколько дней назад, начинаю писать серию постов типа инструкций шаг за шагом «как это установить и настроить» для тех админов, у которых действительно мало времени «на найти и разобраться», да еще если все это на английском языке. Кстати, кому таки не лениво – вот здесь очень хорошая подборка англоязычных документов под общим названием «Windows Server 2008 Step-by-Step Guides» — очень полезно в работе. Надеюсь, найдутся время и ресурсы, чтобы их тоже «отфильтровать» и сделать на их базе русские версии.

Если вам не интересны мои мысли «почему я пишу про IIS 7.0», можете смело пропустить пару абзацев.

В ближайший месяц я буду писать о веб-платформе от Microsoft, и в основном это будет касаться администрирования Internet Information Services 7.0 (IIS 7.0), входящего в состав Windows Server 2008. Это не значит, что я не буду писать ни о чем другом – конечно буду, у меня масса планов и тем с барселонского TechEd IT Forum 2008, в основном по направлению Windows Server 2008 R2, просто про администрирование IIS7 буду писать в этот месяц намного чаще и более последовательно, чем я это делал ранее. Поэтому даже те, для кого тема IIS7 не интересна, смогут как минимум раз в неделю находить у меня на блоге что-то интересное по другим тематикам.

Почему именно IIS 7.0? Здесь несколько причин. Во-первых, в уже упомянутом сборнике документов «шаг за шагом» «Windows Server 2008 Step-by-Step Guides» по странному стечению обстоятельств документа по IIS 7.0 почему-то нет. Во-вторых, как показывает опыт семинаров TechNet в Украине – знания, и даже можно сказать – представления многих админов о технологиях Microsoft для веб базируются на «сказках-страшилках» конца прошлого века, и хотелось бы показать всем желающим простой путь попробовать все технологии самостоятельно, без каких-то предрассудков и прочих ОБС. В-третьих – мне самому, человеку, который достаточно долгий период своей жизни занимался вебом вообще и IIS в частности – а я помню и IIS 2.0, и 3.0, и 4.0 и, конечно же, 5.0 – эта тема близка и интересна, и могу сказать, что за 10 лет в этом направлении Microsoft сделал существенные, даже можно сказать – эпохальные шаги вперед. Потому хотелось бы поделиться и опытом, и знаниями в этой прогрессирующей области с коллегами. В-четвертых – небольшой сюрприз в рамках проводимой в Украине акции для тех, кто разворачивает и управляет веб-серверами под управлением продуктов Microsoft – украинский офис Microsoft проводит акцию, по которой вы можете получить лицензионный Windows Server 2008 Web Edition (коробочная версия) бесплатно для хостинга ваших проектов и сайтов в Интернете. Так что торопитесь получить такой легальный продукт – пишите через блог на почту. И, наконец, в-пятых – в Киеве проводится полигон по веб-технологиям Microsoft, в том числе и IIS 7.0, так что мои статьи послужат хорошим фоном для такого мероприятия.

Ну, вроде это вcе наиболее веские причины писать в ближайший месяц о IIS 7.0. Кроме одной – зачем вообще админу знание IIS 7.0, который, в принципе, больше является платформой для разработчиков, на которой они делают свои веб-проекты? Проблема в том, что, как показывает опыт, разработчики не очень «напрягаются» созданием архитектуры и проработкой деталей веб-проекта, таких, как безопасность, администрирование, масштабирование и т.п. будущего работаеющего решения. И все это становится головной болью админа. Другая головная боль – это работодатели, которые часто под словом «компьютерщик» понимают, что человек может и спаять сгоревшую плату, и сетку настроить, и программку бухгалтерскую написать. И конечно же – веб сайт родной фирмы «Рога и Ко» сделать – как же без него. А то, что в ИТ отрасли есть глубокая специализация – никого не волнует. И вот потом и пишет мне в Live Messenger такой админ – «Игорь, а что делать?! За что хвататься?!», или если такого «Игоря», который бы подсказал, нет рядом – начинается такое.

Вроде, мотивы мои всем понятны. получилось довольно длинно, обещаю, сами технические части будут куда короче. Итак.

Часть 1. Установка IIS 7.0

Первый вопрос, который мне задают – что такое веб сервер под Windows, что нужно установить? Ответ – вебсервер под Windows – это служба IIS 7.0. Следующий вопрос – где взять IIS 7.0, откуда скачать? Ответ очень простой – IIS 7.0 (как и предыдущие версии, начиная с IIS 5.0) интегрирован в саму серверную ОС Microsoft Windows Server 2008 (а предыдущие версии IIS – соответственно в Windows Server 2003 и Windows 2000) и устанавливается как роль Windows Server. Тогда более тривиальный вопрос – где взять «настоящий» Windows Server 2008? Пробную версию Windows Server 2008 для всех экспериментов и тестирования рекомендую брать только с сайта Microsoft http://www.microsoft.com/windowsserver2008 — проверенная и гарантированно правильная версия (только не забудьте установить все обновления). Серийный номер для Windows Server 2008 не требуется – вы просто при установке в мастере установки оставляете его пустым и на вопрос, хотите ли вы все же его заполнить – гордо отвечаете НЕТ. Фактически, если вы при установке или в ходе эксплуатации таки введете настоящий продуктовый номер – вы получите «настоящую» версию. Версия без введенного серийного номера работает 60 дней, после чего требует активации. Мало кто любит читать иструкции при загрузке файлов, особенно те, которые написаны мелким шрифтом – на самом деле, на странице загрузке есть ссылка на инструкцию, какой скрипт надо запустить, чтобы сбросить счетчик активации Windows снова на 60 дней. Такую операцию надо не забыть сделать до истечения 60дневного срока (например, на 59й день эксплуатации). Всего вы можете посторить операцию сброса счетчика 3 раза – т.е. пробную версию можно эксплуатировать 240 дней, что вполне достаточно с тем, чтобы распробовать плюсы и минусы системы. Ну а для желающих уже сейчас эксплуатировать лицензионный Windows Server 2008 для своих веб-проектов – напоминаю про акцию, пишите.

Теперь о выборе редакции, которых доступно аж 4 – Datacenter, Enterprise, Standard, Web Edition. Пожалуйста, подходите более ответственно к их выбору. Зачем, ну зачем использовать Enterprise для запуска веб-сайтов – «шоб було?». Для таких задач есть оптимизированная редакция Web Edition. Сравнение возможностей разных редакций можно найти там же, на официальном сайте http://www.microsoft.com/windowsserver2008. Кроме того, некоторые соображения по использованию лицензионных соглашений и виртуализации в разных редакциях я написал на этом блоге ранее.

После установки экземпляра Windows Server 2008 и его конфигурации (если это также вызывает затруднения – смотрим видео с семинара по Windows Server 2008) переходим непосредственно к установке IIS 7.0. Что нового в IIS 7.0, какие модули включены в него и т.д. – я рассматривать не буду, все теоретические выкладки можно найти в электронной версии журнала TechNet Magazine, которая выходит в том числе и на русском. IIS 7.0 были посвящены 2 статьи в мартовском и июльском номерах журнала. Рекомендую ознакомиться с ними перед практическим применение – знание теории, пусть даже в сжатой форме весьма полезно.

Основным нововведением в направлении установки различных компонент и служб в Windows Server 2008 является понятие «роли». Роль представляет из себя набор всех необходимых компонент, настроек системы, безопасности и т.п., которые необходимы для выполнения определенной задачи. Кроме того, имеется также информация о взаимодействии ролей между собой – одна роль может работать как подмножество другой и, наоборот – роли могут конфликтовать между собой – об этом администратор будет уведомлен при установке такой роли поверх уже существующих. Установку и конфигурацию всего необходимого система выполняет автоматически при выборе конкретной роли. Такой подход гарантирует, что даже в случае ошибки администратора, связанной с установкой той или иной роли, не требуемой в текущий момент – система будет функционировать нормально и это не затронет работоспособность других ролей. Как впрочем, это также существенно упрощает и сам подход к управлению системой Windows Server 2008 в целом.

Управление ролями осуществляется через стандартную оснастку управления Windows Server 2008 – Server Manager или в процессе начальной конфигурации сервера через Initial Configuration Tasks.

IIS 7.0 устанавливается как роль Windows Server 2008. Для этого требуется:

1. Запустить оснастку Server Manager из меню Start или из панели Quick Launch. Server Manager по умолчанию стартует автоматически при входе администратора в систему. Server Manager является основным инструментом управления сервером Windows Server 2008.

2. В оснастке на стартовой странице убедиться, что сервер сконфигурирован правильно. Желательно проверить наличие статического IP адреса. Если он не установлен, его можно поменять тут же, из консоли Server Manager, открыв в правой панели по линку «View Network Connections» сетевые интерфейсы.

3. Выбираем в левой панели Server Manager пункт Roles, в правой панели видим список текущих ролей. В зависимости от редакции ОС и установленных ролей список может варьироваться. В данном примере ни одна роль не установлена.

4. Для установки новой роли используем в правой панели в разделе «Roles Summary» линк «Add Roles».

5. Запускается мастер установки ролей «Add Roles Wizard», пропускаем первую страницу «Before You Begin» мастера, нажав кнопку «Next >»

6. На странице «Select Server Roles» в списке ролей выбираем роль «Web Server (IIS)». Список ролей может отличаться в зависимости от редакции. Данный список соответствует редакции Windows Server 2008 Enterprise Edition x64.

7. При выборе роли «Web Server (IIS)» мастер автоматически предлагает установить сервисы, которые требуются для функционирования веб сервера. Это службы активации процессов, фактически, они обеспечивают среду исполнения процессов, обслуживающих вебсайты. Соглашаемся с установкой данных служб путем нажатия кнопки «Add Required Features» и нажимаем кнопку «Next >» в мастере.

8. На странице «Select Role Services» отображается список всех доступных модулей (сервисов), входящих в состав IIS 7.0, представляющих 3 большие группы – Web, Management и FTP – и внутри сгруппированых по назначению – общие модули для поддержки HTTP Common HTTP Features, модули для исполнения сценариев и приложений Application Development, модули управления журналированием и диагностикой Health and Diagnostics, модули обеспечения безопасности Security, производительности Performance, модули управления и совместимости с предыдущей версией IIS 6.0 Management Tools, и, наконец, модули FTP. По умолчанию роль веб сервера IIS 7.0 устанавливается и конфигурируется в минимальном наборе из 9 модулей:

a. только для работы со статическим HTML контентом (модули из Common HTTP Features),

b. только с подключением анонимных пользователей и с фильтрацией вредоносных запросов (Security),

c. с базовыми модулями для журналирования запросов к вебсайтам на сервере и просмотра очереди запросов (Health and Diagnostics),

d. с модулем сжатия статического контента при передаче страниц клиенту HTTP (Performance),

e. и консоли администрирования в режиме локального подключения к веб серверу IIS Management Console.

9. На этом шаге можно добавить дополнительные модули в конфигурацию согласно задачам будущих вебсайтов, которые будут работать на данном вебсервере. Не рекомендуется «просто так» добавлять модули, особенно, если вы не знаете их назначение. Краткое описание каждого модуля можно найти прямо на странице (в правом верхнем углу), которое отображается, когда вы выбираете модуль в списке. Не стоит торопиться (или, наоборот, переставлять всю систему, если установили лишнее) – вы всегда можете доустановить модули к уже установленной роли, или удалить уже установленные модули. Функции, выполняемые наиболее важными модулями, а также их настройку, мы рассмотрим отдельно.

10. При отметке отдельного модуля для добавления, также, как и при выборе роли, мастер автоматически проводит проверку всех связей и зависимостей и предлагает установить дополнительные модули, без которых функционирование выбраного невозможно. В данном примере для установки выбран модуль ASP.NET и мастер автоматически запрашивает разрешение на установку других модулей и служб, необходимых для его работы. Соглашаемся с установкой данных служб и модулей путем нажатия кнопки «Add Required Role Services». По окончанию выбора всех модулей нажимаем кнопку «Next >» в мастере.

11. На странице «Confirm Installation Selection» отображается для подтверждения информация о всех выбранных модулях, которые будут установлены. Также отображаются служебные и информационные сообщения рекомендательного характера. Например, рекомендация после установки роли IIS 7.0 выполнить обновления ОС или установить Windows System Resource Manager (WSRM), который позволяет обеспечить распределение ресурсов системы при выполнении веб-приложений. Нажатие кнопки «Next >» на этой странице устанавливает весь указанный перечень модулей.

12. По окончании процесса установки мастер отображает станицу с результатами установки, на которой, в зависимости от предыдущих настроек системы и выбранных модулей, может потребоваться перезагрузка сервера.

13. После закрытия окна мастера установки роли в левой панели консоли Server Manager в разделе «Roles» среди других ролей появляется подраздел «Web Server (IIS)». В правой панели отображается информация о состоянии всех установленных ролей.

14. Выбираем подраздел «Web Server (IIS)» в левой панели Server Manager, в правой панели отображается информация о работе роли веб сервера. Здесь представлены:

a. Events: агрегированный список записей из всех журналов событий ОС за последние 24 часа, имеющих отношение к работе веб служб,

b. System Services: список всех системных сервисов, обеспечивающих функционирование данной роли и с возможностями по управлению ими и мониторингу их состояний,

c. Role Services: в данном случае – список всех модулей IIS 7.0 с указанием установлен данный модуль или нет и с возможностями старта мастера установки/удаления модулей данной роли (о котором мы говорили выше),

d. Resources and Support: наиболее интересный раздел информации о каждой роли, который содержит в себе базу знаний с рекомендациями по дополнительной более тонкой настройке той или иной роли для отдельных сценариев использования. Рекомендуется к широкому использованию.

Таким образом, если в п.14 вы видите, что ваша роль работает без ошибок в журналах, все требуемые сервисы работаю (не отображается информация о их аварийной остановке), все необходимые для ваших задач модули отображаются в списке как установленные – первый шаг к использованию веб сервера под управлением IIS 7.0 вы сделали – вы его установили.

Microsoft Internet Information Server 4.0

Microsoft Internet Information Server (IIS) — базовый компонент для создания серверов Интернета или интрасети на платформе Windows NT Server 4.0. IIS (в настоящее время поставляется версия 4.0) может использоваться сам по себе для создания Web-сервера или, в сочетании с совместимыми технологиями, для создания Web-приложений и развертывания многофункциональных узлов Интернета и интрасети.

IIS тесно интегрирован с Windows NT Server 4.0, что позволяет использовать преимущества встроенных средств защиты Windows NT Server и файловой системы Windows NT (NTFS). Кроме того, интеграция IIS с операционной системой позволяет привлечь к поддержке Web-узла и разработке приложений различные компоненты семейства серверных продуктов Microsoft BackOffice, включая представительский сервер Microsoft Proxy Server, клиент-серверную СУБД Microsoft SQL Server, клиент-серверную систему сообщений Microsoft Exchange Server и другие компоненты.

Internet Information Server поддерживает протокол HTTP 1.1 и службы WWW, FTP, SMTP и NNTP. Помимо естественных для Web-сервера служб WWW и FTP в состав Internet Information Server включена служба Microsoft SMTP, позволяющая развернуть сервер электронной почты, и служба Microsoft NNTP — сервер поддержки групп новостей и конференций.

Internet Information Server 4.0 входит в состав пакета Windows NT 4.0 Option Pack. В этот пакет включены также Microsoft Transaction Server 2.0 (MTS), Microsoft Management Console 1.0 (MMC), Microsoft Index Server 2.0, Microsoft Certificate Server 1.0 и Microsoft Site Server Express 2.0 (SSE).

Требования к платформе и установка

IIS можно устанавливать на компьютеры с процессорами Intel и Alpha. В первом случае будут доступны все функции Internet Information Server, а во втором — отсутствуют компоненты и примеры языка Microsoft Visual Basic, компоненты и примеры языка Microsoft Visual J++ и виртуальная Java-машина.

Минимальные требования к аппаратуре и рекомендуемые компанией Microsoft конфигурации в случае стандартной установки IIS для каждой из двух поддерживаемых платформ перечислены в приведенной ниже таблице.

Платформа Intel x86 Alpha
Компонент Минимальные требования Рекомендуемая конфигурация Минимальные требования Рекомендуемая конфигурация
Процессор 486-й 50 МГц Pentium 90 МГц или более быстрая модель 150 МГц 200 МГц
ОЗУ, Мбайт 16 32-64 48 64
Дисковое пространство, Мбайт 50 200 50 200
Монитор VGA SVGA VGA SVGA

Встроенный мастер делает установку Internet Information Server и его компонентов не слишком сложным делом: сначала вы выбираете необходимые компоненты и отвечаете на вопросы о параметрах конфигурации, после чего мастер выполняет установку необходимого программного обеспечения. Мастер предложит вам выбрать один из трех вариантов установки: минимальный, стандартный и выборочный. Как обычно, первый из них экономит дисковое пространство за счет функциональных возможностей; отметим, что поддержка служб SMTP и NNTP, а также сервер сертификатов и Site Server Express устанавливаются только в режиме выборочной установки.

Установка IIS приводит к ряду изменений конфигурации Windows NT Server. Программа установки создает метабазу — компактную, эффективную и доступную базу данных, выполняющую функции реестра Windows NT в отношении параметров конфигурации IIS. В список служб Windows NT Server 4.0 добавляются службы Web-сервера, а в базу учетных данных Windows NT Server — учетная запись пользователя IIS под названием IUSR_имя компьютера (например, если ваш компьютер называется Server1, после установки IIS в списке пользователей появится учетная запись IUSR_Server1). Наличие учетной записи пользователя IIS позволяет защитить сервер IIS от проникновения извне.

Архитектура

Internet Information Server поддерживает все основные протоколы Интернета, включая HTTP, FTP, SMTP, NNTP, POP3 и IMAP. Основными составляющими архитектуры IIS являются процесс Inetinfo, коннекторы, системные службы Microsoft Windows NT, службы Web и прикладные службы.

Процесс Inetinfo, коннекторы и системные службы

Все службы сервера реализованы в одном процессе Inetinfo. Помимо служб Интернета в его состав входят общий пул потоков, кэш, службы протоколирования и поддержка протокола SNMP.

Коннекторы IIS реализованы в виде библиотек динамической загрузки (Dynamic Link Library, DLL) интерфейса ISAPI, образующих канал связи IIS с конкретной службой. В состав Internet Information Server входят следующие коннекторы:

Microsoft BackOffice, включая коннектор Microsoft Exchange Server/Web, поддерживающий интеграцию общих папок Exchange Server с IIS, и ODBC-коннектор, позволяющий взаимодействовать с любыми ODBC-совместимыми СУБД;

CGI-коннектор — интерфейс общего шлюза (Common Gateway Interface, CGI) создавался для UNIX-систем как механизм расширения возможностей серверных Web-приложений. IIS поддерживает CGI-приложения в целях обратной совместимости;

ISAPI-фильтры используются для предварительной обработки пакетов, передаваемых процессу IIS или поступающих от него. Фильтры придают архитектуре IIS дополнительную гибкость. Например, поддержка протокола SSL в IIS реализована ISAPI-фильтром.

Активные страницы сервера (Active Server Pages, ASP) — открытая сценарная платформа для динамического создания Web-страниц.

Системные сервисы Windows NT образуют нижний уровень архитектуры IIS, обеспечивающий взаимодействие с протоколами TCP/IP посредством интерфейса Windows Sockets.

Службы Web

Средний уровень архитектуры IIS составляют службы Web. Здесь — сердцевина функциональных возможностей IIS (рис. 1).

Асинхронная очередь потоков (Asynchronous Thread Queue, ATQ), реализованная в виде библиотеки Isatq.dll, отвечает за поддержку потоков ввода/вывода. Средства ATQ позволяют в случае необходимости ограничить полосу пропускания, занимаемую Web-узлом.

Компонент Infocom.dll отвечает за поддержку кэша дескрипторов файлов, защиту и аутентификацию и решение других служебных задач. Isadmin — административный компонент, который реализует распределенную модель компонентных объектов (Distributed Component Object Model, DCOM) для метабазы, выполняя тем самым функции шлюза для администрирования служб IIS.

Компонент FTP обрабатывает FTP-запросы, а компонент WWW — HTTP-запросы. Компоненты SMTP, POP3 и NNTP поддерживают электронную почту и группы новостей. Каждый из них реализован в виде библиотеки динамической загрузки и может существовать в нескольких экземплярах.

CGI-компонент IIS обеспечивает поддержку интерфейса общего шлюза (Common Gateway Interface, CGI), применяемого для запуска внешних по отношению к Web-серверу приложений. Вместе с CGI поставляется набор интерфейсов, позволяющих Web-серверу взаимодействовать с ПО, установленным на том же компьютере. CGI-приложения расширяют возможности Web-сервера, выполняя несвойственные ему функции.

Интерфейс прикладного программирования Интернет-сервера (Internet Server API, ISAPI) — альтернатива интерфейсу CGI. ISAPI выгодно отличают малый объем служебных данных, быстрая загрузка, масштабируемость и эффективное использование ресурсов. ISAPI-приложения хорошо подходят для обработки запросов.

Еще один тип ISAPI-приложения — ISAPI-фильтр, который применяется для уведомления о различных событиях в ходе обработки HTTP-запросов. При первой загрузке ISAPI-фильтр, представляющий собой библиотеку DLL, извещает сервер о типе HTTP-событий, который он будет обрабатывать. В дальнейшем, получив уведомление о событии, фильтр может выполнить предусмотренные действия (например, запустить CGI-сценарий или ISAPI-приложение). Высокая эффективность ISAPI-фильтров позволяет применять их для решения широкого спектра задач, включая реализацию нестандартных схем аутентификации, сжатие и шифрование данных, специализированное протоколирование, анализ трафика и запросов и т.п.

Прикладные службы

Уровень прикладных служб — вершина архитектуры IIS. На этом уровне реализованы средства расширения IIS, в том числе ASP и Index Server (рис. 2).

Вся информация попадает на прикладной уровень (и покидает его) через диспетчер Web-приложений (Web Application Manager, WAM), реализованный в виде библиотеки Wam.dll. WAM располагается непосредственно над Web-службами и выполняет следующие функции:

предоставляет компоненты для размещения библиотек DLL интерфейса ISAPI;

обеспечивает стыковку ПО независимых поставщиков с базовыми средствами IIS;

обеспечивает поддержку создания экземпляров библиотек DLL интерфейса ISAPI;

обеспечивает восстановление после отказа приложения;

предоставляет средства для изоляции процессов.

ASP-компонент прикладного уровня реализует функциональные возможности активных страниц сервера. Index Server обеспечивает решение задач индексирования и поиска информации в файлах на сервере IIS. Он реализован в виде отдельной библиотеки интерфейса ISAPI. Объекты Index Server доступны и из активных страниц.

Компонент HTTP ODBC поддерживает сценарии коннектора баз данных (Internet Database Connector, IDC). IDC-сценарии применяются для динамического создания Web-страниц на основе информации, хранящейся в ODBC-совместимых базах данных.

Компонент SSI позволяет серверу IIS включать текст, графику и другую информацию в HTML-страницу непосредственно перед ее передачей пользователю. Средствами SSI на страницу можно добавить, например, дату и время создания или сведения об авторских правах. Использование SSI для включения информации в файлы особенно удобно для вставки текста или графики, повторяющихся во множестве файлов — вместо ввода одних и тех же данных в каждый файл вручную нужный файл загружается одной командой SSI.

Средства администрирования

Microsoft Management Console

Интерфейс администрирования IIS 4.0 основан на Microsoft Management Console — среде интегрирования административных инструментов различных приложений. В настоящее время Microsoft Management Console поставляется в составе пакета Microsoft Windows NT 4.0 Option Pack. В будущем компания Microsoft планирует преобразовать административный инструментарий последующих выпусков всех продуктов семейства Microsoft BackOffice, включая ОС Windows NT, в интегрируемые модули Microsoft Management Console.

Сам по себе интерфейс Microsoft Management Console не предоставляет никаких новых функциональных возможностей — это лишь среда для встраивания модулей, которые и реализуют фактические функции администрирования соответствующего продукта. В случае IIS таким модулем является Диспетчер служб Интернета (Internet Service Manager, ISM) — рис. 3.

Левое окно MMC содержит пространство имен, где отображаются все службы, администрируемые посредством Microsoft Management Console. На панели результатов — в правом окне Microsoft Management Console — отображается список всех составляющих выбранного элемента пространства имен. Кроме того, в верхней части окна Microsoft Management Console находятся три небольшие панели, где собраны все инструменты, реализующие конкретные функции управления (например, User Manager или Performance Monitor для IIS).

Управление службами, представленными на консоли Microsoft Management Console, осуществляется посредством выполнения различных действий над объектами пространства имен, а также с помощью команд и значков панели инструментов (ее содержимое автоматически изменяется в соответствии с выбранным объектом). В частности, с большинством объектов (например, с Web-узлами сервера) связаны окна свойств, позволяющие выполнять настройку их параметров. Пример такого окна приведен на рис. 4 — это окно Default Web Site Properties, предназначенное для настройки свойств Web-узла по умолчанию.


Построив консоль, то есть загрузив интегрируемые модули и организовав окна, можно сохранить ее в файле с расширением .MSC. В дальнейшем, загружая этот файл, вы воссоздадите состояние консоли на момент ее сохранения.

Средства удаленного администрирования на базе HTML

HTML-версия Диспетчера служб Интернета (HTML-based Administration, HTMLA) обеспечивает удаленное управление Web-сервером или отдельными Web-узлами из стандартного Web-обозревателя с поддержкой кадров и языка JScript (рис. 5).

HTML-версия Диспетчера служб Интернета поддерживает большинство функций встраиваемого модуля MMC и позволяет администратору заниматься учетными записями, протоколировать события, следить за производительностью, настраивать свойства сервера, управлять ключами и решать прочие задачи по управлению сервером. Тем не менее возможности HTMLA ограничены: эта версия не поддерживает операции, требующие взаимодействия с сервисами Windows NT, — например, отождествление сертификатов с учетными записями пользователей. Заметим, что по соображениям безопасности порт для HTMLA-соединения выбирается случайным образом.

Среда выполнения сценариев

Среда выполнения сценариев (Windows Scripting Host, WSH) обеспечивает поддержку сценариев для 32-разрядных платформ Microsoft Windows. Она позволяет выполнять сценарии непосредственно на рабочем столе Windows (Wscript.exe) или в окне MS-DOS (Cscript.exe) без необходимости встраивания сценария в HTML-документ. WSH идеально подходит для решения рутинных административных задач — например для создания сценариев регистрации.

Метабаза

Метабаза IIS — хранилище параметров конфигурации IIS. Кроме того, ее можно применять для хранения параметров Web-приложений на платформе IIS.

Метабаза разработана специально для IIS. Она эффективнее, гибче и легче расширяема, чем реестр Windows NT. В метабазу перенесена большая часть ключей реестра, связанных с IIS, однако реестр по-прежнему используется для инициализации служб Internet и обеспечения обратной совместимости с предыдущими версиями IIS.

Защита и аутентификация

Безопасность — предмет постоянного беспокойства всех администраторов, и администраторы Web-узлов — не исключение. Средства обеспечения безопасности Internet Information Server помогут администратору чувствовать себя несколько спокойнее.

Использование средств обеспечения безопасности Windows NT

Фундамент, на котором строится защита IIS, — средства обеспечения безопасности Windows NT Server; они значительно уменьшают риск несанкционированного проникновения в систему. Учетные записи пользователей Windows NT и права доступа файловой системы NTFS предоставляют в распоряжение администратора широкий спектр инструментов, позволяющих обеспечить безопасность сервера Интернета или интрасети.

Учетная запись Internet Guest создается при установке Microsoft Internet Information Server (IIS). По умолчанию все клиенты IIS регистрируются на сервере именно по этой учетной записи. При создании учетная запись Internet Guest добавляется в группу Guests, поэтому на нее распространяются все права, присвоенные этой группе. После установки IIS настоятельно рекомендуется проверить права группы Guests и убедиться, допустимы ли они для учетной записи Internet Guest.

На всех дисках, доступных пользователям Интернета или интрасети, рекомендуется установить файловую систему NTFS — она обеспечивает защиту файлов и контроль доступа к ним. В частности, доступ ко всем папкам и файлам, доступным из Интернета, рекомендуется контролировать с помощью списков контроля доступа (Access Control List, ACL).

Аутентификация

Чтобы предотвратить доступ анонимных пользователей к конфиденциальным материалам, можно воспользоваться средствами аутентификации пользователей Web-сервера. При этом пользователю придется ввести уникальные имя и пароль действующей учетной записи пользователя Windows NT. Права доступа аутентифицированного пользователя к файлам и каталогам определяются разрешениями NTFS, присвоенными его учетной записи.

Существует несколько стандартных методов аутентификации, которые позволяют администратору Internet Information Server управлять доступом к серверу и файлам. Среди них анонимный доступ, базовая аутентификация, аутентификация по методу Challenge/Response Windows NT, а также цифровые сертификаты. В дополнение к ним можно разработать специализированные методы, написав соответствующий ISAPI-фильтр.

При аутентификации средствами протокола SSL 3.0 сервер проверяет содержимое цифрового сертификата — удостоверения, предъявленного Web-обозревателем пользователя при регистрации. Пользователи получают эти цифровые удостоверения, или клиентские сертификаты, от сторонней организации, которой доверяют обе стороны. Такой сертификат обычно содержит идентификационную информацию пользователя и организации, выдавшей сертификат.

Получив для своего сервера серверный сертификат во внешней сертифицирующей организации, вы можете воспользоваться услугами сервера сертификатов Microsoft Certificate Server для выдачи, обновления и отзыва сертификатов клиентов без помощи внешних сертификационных органов. Certificate Server позволяет администратору полностью контролировать политику использования сертификатов, а также формат и содержимое самих сертификатов.

Контроль доступа по IP-адресу

Возможности Internet Information Server позволяют разрешать и запрещать доступ к серверу клиентам с определенными IP-адресами. Например, запретив доступ к своему серверу для определенного IP-адреса, можно оградить узел от конкретных пользователей или даже от целых сетей. В большинстве ситуаций защиты по IP-адресу достаточно, однако следует помнить о возможности атак, связанных с подменой IP-адреса в заголовках пакетов.

Ограничения на доступ по IP-адресам и именам доменов задаются при помощи административных средств Internet Information Server. При конфигурировании параметров защиты конкретного Web-узла или папки они автоматически распространяются на все вложенные папки и файлы (если параметры защиты для последних не установлены ранее в индивидуальном порядке). Механизм наследования параметров защиты характерен для всех методов обеспечения безопасности Internet Information Server.

Web-приложения

Internet Information Server позволяет разворачивать масштабируемые серверные приложения для создания самого современного наполнения Web-узлов (рис. 6).

Активные страницы сервера (Active Server Pages, SP) позволяют комбинировать HTML, сценарии и повторно используемые серверные компоненты ActiveX для создания динамических Web-узлов. ASP поддерживает выполнение сценариев на языках Microsoft Visual Basic Scripting Edition (VBScript) и Microsoft JScript на сервере Internet Information Server. Вся обработка ASP осуществляется на сервере. В результате обработки ASP-страницы получается HTML-документ, который и возвращается клиенту.

Основное достоинство ASP в том, что этот подход позволяет разработчику создавать динамическое наполнение узла. В результате Web-узел может предоставлять пользователю материалы, соответствующие его предпочтениям, демографическим данным или другим критериям (например, возможностям его Web-обозревателя).

Объектная модель

Объектная модель ASP предоставляет в распоряжение разработчика набор встроенных объектов, поддерживающих выполнение базовых функций типичного Web-приложения.

Объект Server предоставляет доступ к методам и свойствам сервера.

Объекты Application и Session: поскольку HTTP — протокол без постоянного соединения, стандартный Web-сервер не поддерживает информацию о состоянии клиентов. Однако для создания динамических приложений такая информация необходима, поэтому технология ASP обеспечивает ее поддержку с помощью объектов Application и Session. Состояние приложения доступно как в контексте приложения, так и в контексте сеанса.

Объект Application представляет собой хранилище информации и объектов, доступных всем пользователям приложения; в этом смысле он хранит глобальные объекты и данные. Объект Session содержит информацию о сеансе работы конкретного клиента, для каждого из которых создается отдельная копия объекта Session. Web-сервер автоматически создает объект Session в начале сеанса, когда пользователь запрашивает какую-либо Web-страницу из состава приложения. Сервер уничтожает объект Session по завершении сеанса.

В объектах Session часто хранятся выбранные пользователем значения. Например, приложение может отслеживать элементы каталога продукции, которые выбрал посетитель во время «путешествия» по электронному магазину на вашем узле.

Объект Request содержит информацию, переданную клиентским обозревателем Web-серверу в HTTP-запросе.

Объект Response передает информацию клиенту.

Объект ObjectContext служит для завершения или отмены транзакции, инициированной сценарием ASP. Объект ObjectContext содержит информацию о транзакциях, а также сведения о клиенте и о состоянии клиентского подключения к серверу. Это позволяет, например, отменить ресурсоемкую транзакцию, если пользователь закрыл страницу.

Помимо встроенных объектов разработчику доступен широкий спектр устанавливаемых объектов, таких как Content Linking, реализующий список универсальных указателей ресурсов Web-узла. Он автоматически создает и обновляет «оглавление» узла и список ссылок на предыдущие и последующие Web-страницы, что прекрасно подходит для таких приложений, как электронные газеты и форумы.

Доступ к данным

Доступ к данным — одна из самых важных составляющих современных Web-приложений. Активные объекты данных (Active Data Objects, ADO) обеспечивают возможность доступа к различным источникам данных из ASP-страниц. Если ваш Web-узел предназначен для доступа к базам данных, будь то прайс-листы, инвентаризационная информация или система заказа авиабилетов, с помощью ADO и активных страниц сервера вы сможете реализовать все необходимые функции. В состав Internet Information Server входят драйверы для баз данных Microsoft SQL Server, Microsoft Access и Oracle.

Интерфейс OLE DB расширяет возможности ODBC, обеспечивая доступ ко многим другим источникам данных, включая файлы Microsoft Excel, текстовые файлы, файлы журналов, сообщения Microsoft Exchange Server, файлы индексно-последовательного доступа, виртуальные хранилища и т.д.

Серверные ActiveX-компоненты

Серверные ActiveX-компоненты предназначены для расширения функциональных возможностей ASP и в этом смысле являются логическим развитием сценариев. В случае когда в состав ASP-страницы входит повторяющаяся процедура (например, реализующая бизнес-логику), приложение будет лучше масштабируемым и более целостным, если реализовать его как серверный ActiveX-компонент, а не сценарий.

Серверные ActiveX-компоненты по сути представляют собой ActiveX-компоненты без пользовательского интерфейса. Компоненты можно разрабатывать на любом языке, позволяющем создавать компоненты сервера автоматизации: Microsoft Visual C++, Microsoft Visual Basic или Microsoft Visual J++.

Серверные ActiveX-компоненты устанавливаются и запускаются на Web-сервере. Доступ к ним возможен с помощью любого Web-обозревателя. Сервер на базе компонентов ActiveX расширяем, что позволяет разработчикам создавать серверные ActiveX-компоненты различного назначения, которые можно использовать в Интернете и интрасетях.

Это один из самых распространенных интерфейсов расширения Web-сервера, позволяющий запускать на Web-сервере внешние приложения. Например, если клиент заполняет HTML-форму на Web-узле, CGI позволяет организовать передачу введенной пользователем информации внешнему приложению для обработки, а затем, например, предоставить пользователю результаты работы приложения в виде HTML-страницы.

CGI-приложения часто разрабатываются на сценарных языках, таких как Practical Extraction and Report Language (PERL). Благодаря своей переносимости эти языки получили широкое распространение как способ расширения функциональных возможностей Web-серверов. Любой сценарий на языке PERL можно просто скопировать с Web-сервера под управлением ОС UNIX и запустить его на сервере Internet Information Server. Для переноса двоичных приложений понадобится перекомпиляция. IIS поддерживает версию 5.0 языка PERL.

Несмотря на гибкость и переносимость Web-узлов с интенсивной нагрузкой, CGI-приложения могут создать проблему, так как для каждого CGI-запроса создается новый процесс. После того как CGI обслужит запрос, процесс и вся связанная с ним информация уничтожается. Например, сценарий вычисления значения счетчика числа посещений страницы будет запускаться при каждом обращении к ней. При интенсивном трафике этот подход может значительно замедлить работу узла из-за отсутствия кэширования информации при выполнении CGI-запросов.

ISAPI

Интерфейс прикладного программирования Интернет-сервера (Internet Server API, ISAPI), разработанный компанией Microsoft, представляет собой набор основных процедур, служащих для вызова внешних приложений и для обмена данными между программой-клиентом и сервером. Благодаря выполнению в контексте процесса сервера IIS ISAPI-приложения избавлены от проблем производительности, присущих CGI. Кроме того, ISAPI-фильтры — эффективный метод предварительной и заключительной обработки пакетов.

ISAPI — это открытая спецификация, поддерживаемая Web-серверами сторонних производителей для Windows NT и других операционных систем. В сочетании с Internet Information Server и Windows NT Server ISAPI позволяет создать высокопроизводительную, масштабируемую и эффективную платформу поддержки протокола HTTP.

Коннектор баз данных — еще одно средство расширения возможностей Internet Information Server. IDC представляет собой ISAPI-приложение, которое позволяет связывать Web-страницы с любой базой данных, поддерживающей интерфейс ODBC. Вот некоторые «плюсы» этого подхода:

шаблон HTML, позволяющий публиковать результаты выполнения запроса к базе данных в виде HTML-страницы;

возможность интерактивной разработки приложений с помощью СУБД Microsoft SQL Server (и других ODBC-совместимых источников данных);

отсутствие необходимости программирования — достаточно сформировать запрос и создать шаблон для вывода данных;

высокая производительность — соединитель представляет собой ISAPI-расширение, выполняющееся в контексте процесса IIS.

Microsoft Transaction Server

Microsoft Transaction Server предоставляет программную модель, обеспечивающую поддержку многопользовательских Web-приложений. Он позволяет применить приобретенные разработчиком навыки работы с основными инструментами разработки приложений для настольных систем — Microsoft Visual Basic, Microsoft Visual C++ или Microsoft Visual J++ — для создания надежных и масштабируемых Web-приложений.

Интеграция Internet Information Server с Microsoft Transaction Server позволяет выполнять ASP как компонент среды MTS, обеспечивая изоляцию процессов, поддержку транзакций и присущую приложениям на базе MTS масштабируемость. Приведем простой пример, заимствованный из комплекта примеров приложений IIS 4.0, — набор ASP-страниц и компонентов, имитирующих сеанс работы клиента с банковским Web-узлом.

Это приложение состоит из четырех компонентов (рис. 7):

Account — использует вызовы ODBC для модификации состояния счета в базе данных;

MoveMoney — выполняет операции дебетования, кредитования и перевода с различными банковскими базами данных;

Receipt — порождает уникальный идентификатор для каждой банковской транзакции;

UpdateReceipt — выделяет диапазон уникальных идентификаторов для счетов.

Этот пример показывает, как интеграция ASP и Microsoft Transaction Server позволяет воспользоваться всеми преимуществами передовых серверных технологий: транзакции, независимость от физического местонахождения компонентов, управление потоками и процессами, а также пул подключений к базе данных. Как показано на рис. 7, в рамках приложения выполняется несколько процессов:

1. Клиент инициирует банковскую транзакцию, вызывая компонент MoveMoney.

2. Компонент MoveMoney вызывает компонент Account для каждой базы данных, которую ему нужно модифицировать, а также компонент Receipt для каждой банковской транзакции.

Компоненты Account обращаются к базе данных SQL Server посредством распределителей ресурсов ODBC Microsoft Transaction Server — механизма обеспечения высокопроизводительного доступа к базам данных.

Microsoft Transaction Server гарантирует, что действия всех компонентов будут объединены в единое целое (транзакцию), даже если это разные компоненты, написанные на разных языках. Даже в случае, когда каждый из компонентов является простым однопользовательским компонентом ActiveX, транзакция выполняется как многопользовательская с помощью средств управления потоками и процессами Microsoft Transaction Server.

Предположим, что клиент с помощью Web-обозревателя подключается к Web-узлу банка и регистрируется, вводя свой идентификатор и пароль на соответствующей ASP-странице. В течение нескольких минут после первого запроса еще 100 пользователей точно так же подключаются к Web-узлу банка. В обработке их запросов участвуют следующие компоненты Microsoft Transaction Server: диспетчер запросов, диспетчер очереди, диспетчер соединений, диспетчер контекста и диспетчер защиты.

Диспетчер запросов управляет входящими соединениями. Диспетчер очереди отвечает за очередность обслуживания запросов. Диспетчер соединений отслеживает работу каждого клиента. Диспетчер контекста регистрирует клиентов. Диспетчер защиты предотвращает несанкционированный доступ клиентов к данным и приложениям.

Предположим, например, что клиент переводит деньги с одного счета на другой, так что операция затрагивает несколько баз данных. Для выполнения транзакции Microsoft Transaction Server привлекает пул потоков, процедуры бизнес-логики, диспетчер конфигурации, диспетчер подключения к БД, компоненты диспетчера синхронизации и собственно данные.

Пул потоков организует потоки, необходимые для выполнения клиентской операции. Процедуры бизнес-логики выполняют дебетные, кредитные и трансферные функции. Диспетчер синхронизации координирует транзакции между базами данных. Диспетчер конфигурации управляет потоками пула и другими ресурсами. Диспетчер подключения к БД выполняет необходимые подключения к конкретным базам данных.

Если наступила какая-либо экстренная ситуация — например, подключения к базам данных прерваны до завершения транзакции, диспетчер синхронизации зарегистрирует незавершенную транзакцию и восстановит исходное состояние контекста.

Решения на платформе IIS

Выбор Windows NT Server 4.0 и IIS в качестве платформы Web-сервера обеспечивает возможность расширения функциональных возможностей посредством дополнительных компонентов. Отличный пример продвижения в этом направлении — Microsoft Site Server и Microsoft Site Server Commerce Edition, базирующиеся на IIS-платформе для поддержки узлов корпоративной интрасети и коммерческих Web-узлов. Microsoft Site Server поддерживает широкий спектр средств публикации информации на узле интрасети, ее поиска, персонализации и доведения до пользователей. Microsoft Site Server Commerce Edition предоставляет в распоряжение разработчика узла электронной коммерции средства создания списков товаров/цен и их автоматического обновления, размещения рекламы, обработки заказов, безопасного обмена коммерческой информацией, поддержки платежей с помощью кредитных карточек и другие необходимые компоненты.

Заключение

Microsoft Internet Information Server (IIS) 4.0 — Интернет-сервер для платформы Microsoft Windows NT Server 4.0. IIS поддерживает стандартные протоколы Интернета, тесно интегрирован с операционной системой Windows NT Server 4.0, хорошо масштабируем и обладает широкими возможностями расширения. Internet Information Server представляет собой полнофункциональное серверное решение для поддержки Web-узла или узла интрасети практически любого масштаба — от небольшого офиса до крупной корпорации, мощную платформу для разработки Web-приложений и фундамент для создания решений в области электронной коммерции и Web-хости

Программирование на ASP

С помощью ASP программист может быстро создавать веб-приложения на сервере Windows , использующем IIS третьей версии (или выше). ASP вышла в свет в то время, когда между собой соперничали технологии программирования Common Gateway Interface (CGI) и Perl, используемые многими программистами для разработки веб-приложений. ASP прекрасно вписывается в стратегию Microsoft ActiveX, поскольку обеспечивает функциональность, инкапсулированную в компоненты COM , и позволяет разработчикам реализовывать n-звенные решения с помощью ASP и COM .

Примечание. Листинги кода в этой лекции доступны на веб-сайте автора http://mapobject.com/iis6/.

Общая архитектура ASP

Файлы ASP представляют собой сценарии, интерпретируемые по мере поступления запросов. Расширение ISAPI по имени ASP.DLL связано в IIS с файлами, имеющими расширения .asp или . asa (см. рис. 12.1). ASP.DLL просматривает файлы . asp на предмет наличия тегов, обозначающих внедренный код для выполнения на сервере. ASP.DLL передает код сценария в Windows Script Host (WSH). WSH выполняет этот код и возвращает ответ файлу ASP.DLL , который, в свою очередь , передает IIS результат выполнения сценария и содержимое самого файла ASP . IIS возвращает ответ программному обеспечению, от которого поступил запрос . ASP.DLL не выполняет обработку функций подтверждения, написанных на JavaScript, которые имеются в ASP и предназначены для выполнения в веб-браузере или программе, запрашивающей файл ASP .

Примечание. При изложении материала данной лекции будем считать, что клиент обращается к программному обеспечению, запрашивающему файл с веб-сервера.

В стандартных отношениях сервер / браузер браузер является клиентом. Клиент отсылает запросы на веб- сервер , который возвращает запрошенный файл . Если это файл ASP , то веб- сервер выполняет некоторые действия перед тем, как возвратить ответ клиенту. Работа технологии ASP , как правило, изменяет возвращаемый клиенту ответ.

Технология ASP предлагает замечательный механизм склеивания (glying) различных систем и программного обеспечения, который позволяет разработчику легко управлять данными, поступающими к службам IIS и от них, не испытывая при этом сложностей, возникающих при работе с протоколом HTTP и IIS .

Илон Маск рекомендует:  Что такое код fbsql_fetch_row

Предлагаемые ASP классы обеспечивают хороший уровень абстракций HTTP — и веб-сервера, что отличает данную технологию от таких конкурентов, как Perl и CGI .

В некоторых случаях бизнес-логика инкапсулируется в объекты COM . Если COM — объект предоставляет интерфейс , доступ к которому осуществляется при помощи VBScript или Jscript, то ASP функционирует как механизм управления. В лекции 1 курса » Программирование в IIS » подробно рассказывается о работе с COM -объектами в ASP .

IIS 7.0 Построение решений веб-сервера с использованием сквозной расширяемости

Веб-платформа IIS 7.0 поддерживает большее число технологий инфраструктуры приложений для размещения многофункциональных приложений, чем любая предыдущая версия IIS, она буквально напичкана функциями, которые можно использовать для развертывания этих приложений сразу же после установки. Однако в то же время вы видите (в установке Windows®) не обязательно то, что всегда получаете.
Архитектура IIS 7.0 выполнена таким образом, что позволяет ей быть расширяемой сверху донизу, это дает возможность заменять любую часть встроенного набора функций на собственные разработки, которые наилучшим образом соответствуют вашим требованиям. В результате этого вместо латания лоскутного одеяла из подключаемых модулей IIS 7.0 дает совершенно уникальные возможности по расширяемости путем реализации всех собственных функций поверх общедоступной модели расширяемости. Эта конструкция прослеживается по всей платформе, начиная от самого модульного механизма веб-сервера и до системы настройки консоли диспетчера IIS.
В этой статье я постараюсь погрузиться в тонкости модели расширения IIS 7.0, рассмотрев для этого исходный код общего пользования проекта модуля изменения ответа, который позволяет получать отклики приложений IIS и изменять их «на лету», используя для этого настраиваемые правила изменения откликов. Вначале я построю модуль веб-сервера, воспользовавшись встроенной в сервервозможностью расширения ASP.NET. Затем я создам функции развертывания и управления для модуля, разработав раздел пользовательской настройки и создав специальную страницу управления для диспетчера IIS.

Расширение веб-сервера

Модульная архитектура IIS 7.0 предоставляет возможность полностью перестроить веб-сервер под требуемую рабочую нагрузку. Зачастую это может быть выполнено просто путем установки только тех функций, которые необходимы для вашего приложения, в результате чего появляется веб-сервер с урезанной функциональностью, позволяющей делать только то, что необходимо, и ничего более.
Однако это только первый шаг. Зачастую нужная рабочая нагрузка требует наличия дополнительных функций, которые могут не входить во встроенный набор функций IIS. Или же в некоторых случаях приложениям может потребоваться специальный набор функций, для выполнения которых встроенные функции недостаточно приспособлены. Поскольку все функции IIS 7.0 построены на общедоступных интерфейсах расширяемости API, вы можете заменить любой из них собственной разработкой, которая наилучшим образом соответствует вашим требованиям.
IIS 7.0 предоставляет два способа разработки модулей веб-сервера. Во-первых, можно использовать новый интерфейс API для модулей на C++, на котором основана большая часть встроенных функций. Интерфейс API модулей заменяет расширение ISAPI и интерфейс API фильтра, применявшиеся в предыдущих версиях IIS. Этот интерфейс API является существенным усовершенствованием по сравнению с ISAPI, поскольку он способен поддерживать все функции IIS 7.0 и гораздо проще для использования в программировании. Узнать подробней об усовершенствованиях в этом интерефейсе API можно по адресу: mvolo.com/blogs/serverside/archive/2006/10/07/10-reasons-why-server-development-is-better-with-IIS7.aspx.
Во-вторых, в IIS 7.0 введена интеграция с ASP.NET, которая позволяет разрабатывать модули IIS 7.0 с использованием хорошо знакомых интерфейсов API модулей в ASP.NET. В объединенном режиме ASP.NET эти модули становятся полноправными участниками конвейерной обработки запросов IIS, как видно из рис. 1. Это позволяет модулям ASP.NET получать доступ ко встроенным объектам IIS, таким как запросы и ответы, на всех стадиях обработки и обрабатывать запросы для всех типов ресурсов — не только для тех, которые обрабатываются платформой ASP.NET.

Рис. 1 Модули ASP.NET в обработке запросов IIS 7.0

Это позволяет использовать одинаково по всему веб-узлу такие многосторонние функции ASP.NET, как проверка подлинности на основе форм, элементы управления входом в систему и служба членства. Для более подробного изучения того, как объединенный режим ASP.NET может быть использован с целью повышения функциональных возможностей приложений, написанных не для платформы ASP.NET, прочтите мою статью в январском номере журнала MSDN® Magazine за 2008 год, расположенную по адресу: msdn.microsoft.com/msdnmag/issues/08/01/PHPandIIS7.
Для разработчиков истинная ценность объединенного режима ASP.NET заключается в возможности наращивать функциональность веб-сервера IIS с использованием платформы Microsoft® .NET Framework. Это дает существенные преимущества при быстрой разработке приложений путем обеспечения возможности строить эти приложения на основе широкой поддержки платформ .NET Framework, ASP.NET, а также других платформ, таких как Windows Workflow Foundation.

Модуль изменения ответа

Объединенный конвейер ASP.NET дает возможность модулям ASP.NET выполнять широкий спектр задач в ходе обработки каждого запроса. Этот спектр содержит все, начиная от задач проверки подлинности или авторизации и до изменения исходящих ответов перед их отправкой клиенту.
Назначением модуля изменения ответа является выполнение изменения ответа: он позволяет изменять существующие ответы «на лету» при помощи набора правил замены. Для этого можно использовать механизм фильтрации ответов ASP.NET, который, благодаря объединения со средой выполнения, обеспечивает фильтрацию исходящих ответов любого содержания, включая статические файлы, а также сценарии ASP и PHP.
Если в прошлом вы разработали модуль ASP.NET, то вас, несомненно, обрадует тот факт, что вы сможете использовать те же интерфейсы API для разработки модулей ASP.NET на платформе IIS 7.0. Фактически, имеющиеся у вас модули продолжают работать точно так же, как они работали в предыдущих версиях IIS (если только не нужно использовать преимущества объединенного режима IIS 7.0 и запускать их для обработки всех запросов). Модуль является классом, реализующим интерфейс System.Web.IHttpModule и регистрирующим обработчики событий для событий конвейерной обработки одного или нескольких запросов. Модуль изменения ответов именно такой:

По существу, модуль подписывается на событие PreRequestHandlerExecute, которое происходит всякий раз перед выполнением обработчика запроса. Метод OnPreRequestHandlerExecute используется для чтения сведений настройки с целью определить, имеет ли ответ какие-нибудь применимые для него правила замены (подробнее о настройке — далее в этой статье), и в случае наличия таковых регистрировать поток фильтра ответов, который затем будет использован для фильтрации исходящих ответов, как показано на рис. 2.
Figure 2 Фильтр ответов

Фильтрация ответов выполняется внутри класса ChainedBufferedStringResponseFilter, который отвечает за преобразование байтов ответов в строку при помощи набора символов ответов, а также за вызов одного или несколько фильтров ответов, которые применимы к данному запросу. Модуль связывает фильтр с ответом путем установки свойства HttpResponse.Filter. Это свойство принимает все объекты, порожденные от абстрактного класса System.IO.Stream, и позднее использует их для фильтрации тела экземпняра исходящего ответа.
Функция фильтрации ответов ASP.NET — всего лишь один из механизмов, которые становится возможным использовать при разработке модулей ASP.NET для объединенного режима платформы IIS 7.0. Кроме того, можно переписывать URL-адреса, выполнять проверку подлинности и авторизацию запросов, модифицировать или выпускать файлы «cookie» и заголовки ответов, журналировать запросы и многое другое. Большинство задач, которые ранее требовали разработки в среде ISAPI в машинном коде, теперь могут быть реализованы путем простого написания модулей ASP.NET. Поэтапные указания по сборке модулей ASP.NET для IIS 7.0, параметрам среды разработки и выполнению развертывания можно найти по адресу: mvolo.com/blogs/serverside/archive/ 2007/08/15/Developing-IIS7-web-server-features-with-the-.NET-framework.aspx.
При разработке модуля IIS 7.0 можно использовать возможности ряда функций IIS, используемых для целей управления и развертывания. Одна из таких функций — возможность указывать пользовательскую настройку модуля в файлах настройки IIS 7.0 и либо принудительно развертывать эту настройку автоматически самим приложением, либо управлять ею с помощью ряда средств администрирования IIS 7.0 и интерфейсов API. Выполнение такой процедуры является залогом того, что все функции, выполняемые модулем, будут правильно настроены и управляемы конечными пользователями.

Расширение настройки

Новая система настройки является основой для большого числа основных вариантов развертывания и управления, возможных для платформы IIS 7.0. Вместо того, чтобы быть машинно-ориентированным зранилищем настройки закрытого формата, система настройки IIS 7.0 основана на структурированных файлах настройки формата XML, располагающихся в тех же файлах настройки, используемых системой настройки ASP.NET. Более того, синтаксис данных настройки IIS идентичен синатксису данных настройки ASP.NET; эти данные могут быть совместно записаны в распространяемые файлы web.config, с которыми разработчики ASP.NET очень хорошо знакомы.
Такая схема открывает многие двери. Во-первых, она позволяет приложениям указывать данные настройки IIS вместе со своим прикладным содержимым, что упрощает процесс их развертывания до простой публикации содержимого на сервере. Это гарантирует, что приложения будут работать правильно без необходимости изменять данные машинной настройки, хранящиеся на каждом сервере, на котором эти приложения развертываются, а также без необходимости иметь полномочия администратора на каждом сервере. Структурированный файл настроки формата XML совместно с возможностью размещать настройку ASP.NET вместе с настройкой IIS в одном файле значительно упрощает задачу разработчиков создавать данные настройки, относящиеся к IIS, и управлять ими. Эта задача может выполняться с помощью редактора файлов XML, например Notepad и Visual Studio®, или может быть автоматизирована с помощью интерфейсов API настройки, предоставляемых стеком администрирования IIS 7.0.
Но самым замечательным здесь является тот факт, что система настройки IIS 7.0 является полностью расширяемой. Возможность предоставлять специальному веб-серверу право публикации настроек, которые могут устанавливаться и управляться вместе с настройкой IIS 7.0, играет ключевую роль в построении полных решений для IIS 7.0.
В отличие от системы настройки .NET, добавление нового раздела настройки IIS 7.0 не требует использования программного кода, поскольку сами разделы IIS 7.0 определяются с использованием схемы, основанной на XML. Фактически, все встроенные разделы настройки IIS 7.0 определяются с использованием этого механизма. Найти определения всех разделов настройки IIS можно найти в каталоге %windir%\system32\inetsrv\config\schema в файле IIS_Schema.xml. Например, раздел настройки , который включает и настраивает документы по умолчанию для вашего приложения, определяется следующим образом:

Такая схема определяет все элементы и атрибуты, которые составляют раздел настройки, их типы и дополнительные сведения, такие как определения коллекций и характер проверки атрибутов. Для получения дополнительных сведений о синтаксисе и определениях схем см. комментарии в заголовке файла настройки IIS_Schema.xml.

Настройка модуля изменения ответа

Модуль изменения ответа требует наличия собственного раздела настройки для настройки ряда специальных параметров, в том числе сведений о том, какие правила фильтрации применимы для данного приложения. Чтобы предоставить возможность использовать этот раздел в файлах настройки IIS, в первую очередь необходимо создать файл схемы, который описывал бы структуру раздела (см. рис. 3). Этот файл определяет раздел responseModification и его структуру, включая необходимые атрибуты и коллекцию правил фильтрации, которые могут настраиваться для вызова различных фильтров с дополнительной информацией о том, что и чем должно заменяться.
Figure 3 Схема настройки модуля изменения ответа

Для установки этого раздела настройки необходимо сделать две вещи. Во-первых, скопируйте файл responsemod_schema.xml, содержащий сведения о схеме раздела, в папку %windir%\system32\inetsrv\config\schema. Затем объявите раздел настройки в основном файле настройки сервера, applicationHost.config. Последняя задача потребует написания некоторого кода, если вы пожелаете выполнить эту установку с помощью программы.
Чтобы упростить процесс установки раздела настройки IIS 7.0, я написал служебную программу iisschema.exe, которая выполняет обе эти задачи автоматически. Эту программу можно получить по адресу: mvolo.com/blogs/serverside/archive/2007/08/04/IISSCHEMA.EXE-_2D00_-A-tool-to-register-IIS7-configuration-sections.aspx. С использованием этой программы процедура установки раздела схемы настройки становится одношаговой:

После того как схема раздела настройки установлена, а сам раздел объявлен в файле applicationHost.config, можно начать использовать его для определения данных настройки модуля.
Для управления настройкой раздела можно использовать любое из средств настройки IIS или интерфейсов API, точно так же, как это делалось бы с любым встроенным разделом настройки IIS 7.0. Например, я хочу включить функцию изменения ответов для моего приложения с помощью AppCmd, средства командной строки IIS 7.0:

Кроме того, я могу добавить в раздел настройки responseModification коллекцию правил:

Если теперь вы откроете файл web.config в корневой папке веб-узла по умолчанию (обычно это %windir%\inetpub\wwwroot), вы обнаружите следующий код:

Если вы исправили файл приложения web.config с целью изменения данных настройки модуля, а затем загрузили его на сервер, приложение будет настроено таким образом, чтобы использовать эти новые параметры. Точно так же, если вы загрузили приложение на другой сервер, на котором установлен раздел настройки, вы можете быть уверены, что данное приложение будет использовать нужные параметры без необходимости перенастройки его на этом сервере.
В дополнение к AppCmd, теперь можно использовать для управления данными настройки данного раздела любой интерфейс API настройки IIS 7.0, включая управляемый интерфейс Microsoft.Web.Administration, поставщик WMI из IIS 7.0, объекты COM настройки IIS 7.0 , а также Windows PowerShell®. Кроме установки и чтения данных настройки, можно выполнять любые задачи управления, поддерживаемые системой настройки IIS 7.0, включая управление процессом делегирования данного раздела приложениям, защиту их содержимого путем шифрования настройки и т.д. Те мне менее, чтобы эти данные настройки были полезными, вам потребуется возможность читать их из модуля изменения ответа.
Интерфейс API Microsoft.Web.Administration является новым интерфейсом .NET Framework, предоставляемым IIS 7.0; он позволяет программам иметь доступ к данным настройки IIS 7.0. Кроме того, что этот интерфейс предоставляет программам настройки и установки возможность управлять настройкой, он также дает возможность считывать данные настройки непосредственно из управляемого модуля.
Можно использовать этот интерфейс API для чтения раздела настройки из модуля сразу же после регистрации раздела настройки, поскольку интерфейс API предоставляет нестрого типизированную модель для чтения разделов настройки. Перед тем как делать это, вам необходимо добавить ссылку на файл Microsoft.Web.Administration.dll, который находится в папке %windir%\system32\inetsrv. Заметим, что эта библиотека DLL входит в состав только IIS 7.0 под Windows Vista® или Windows Server® 2008 и не поставляется в составе .NET Framework или комплекта SDK для Windows.
После того, как ссылка добавлена, можно читать данные настройки модуля:

Класс WebConfigurationManager в пространстве имен Microsoft.Web.Administration почти идентичен WebConfigurationManager в пространстве имен System.Web.Configuration и призван заменить последний для работы с управляемыми модулями IIS 7.0, выполняющими чтение настройки IIS 7.0. Метод GetSection выбирает объект раздела настройки по пути, указанному в текущем запросе HTTP.

Строго типизированный класс настройки

Объект ConfigurationSection предоставляет нестрого типизированный доступ к любому разделу настройки, не требуя написания дополнительного кода. Можно получить доступ ко включенному атрибуту путем простого извлечения его имени в индексаторе объекта раздела и приведения его к ожидаемому типу.
Тем не менее, можно продвинуться на один шаг вперед, создав строго типизированную оболочку для раздела настройки. Можно быстро создать класс оболочки с помощью служебной программы, написанной Канвальетом Синглой (Kanwaljeet Singla), участником команды IIS; эту программу можно загрузить по адресу: blogs.iis.net/ ksingla/archive/2006/12/04/tool-to-generate-strongly-typed-classes-for-configuration-sections.aspx. Она позволяет создавать класс оболочки для раздела, имеющего примерно такой вид, как показан на рис. 4. Этот класс просто обертывает нижележащий класс ConfigurationSection и предоставляет строго типизированные свойства для доступа к исходным данным настройки.
Figure 4 Строго типизированная обертка раздела настройки

Как видно из реализации свойства Enabled, обертывание атрибутов настройки является достаточно простым. Обертывание дочерних элементов и коллекций требует последующей реализации классов оберток, наследуемых соответственно из ConfigurationElement и ConfigurationCollection (не показаны), точно таких же, как сама обертка раздела.
После того, как класс обертки создан, его можно скомпилировать в отдельную сборку и указать ссылку на него в проекте модулей или просто добавить его в виде файла исходного кода. Это позволит модулю иметь безопасный относительно типов доступ к разделу настройки:

Подобным образом можно получить безопасный относительно типов доступ к коллекции правил изменения ответов и свойствам каждого элемента правил. Это значительно упрощает программирование по сравнению с разделами настройки и сокращает количество ошибок безопасности типов, которые являются довольно частыми в случае нестрого типизированного доступа к данным. Кроме того, поскольку весь код, используемый для доступа к нижележащим данным, создается автоматически с помощью служебной программы, можете настроить программу Visual Studio для автоматического построения классов оберток из файла схемы настройки при очередной компиляции проекта. Это делает управление изменениями, вносимыми в схему раздела настройки, чрезвычайно простым.

Расширение IIS Manager

Итак, я уже показал, как создать модуль изменения ответа и позволить ему читать специальный раздел настройки, который управляет его поведением. Эта настройка может храниться в тех же файлах настройки, что содержат оставшиеся данные настройки IIS, может развертываться вместе с приложением в файлах web.config, а также может обрабатываться с помощью различных программных средств и интерфейсов API, в том числе AppCmd.exe и Microsoft.Web.Administration.
К этому моменту модуль изменения ответа может быть развернут и соответствующим образом настроен в любой среде IIS. Тем не менее, можное продвинуться еще на один шаг вперед, предоставив функции специальные возможности управления для консоли диспетчера IIS. Сделав это, вы получите ряд преимуществ. Это позволит системным администраторам без труда настраивать модуль с помощью консоли диспетчера IIS, не требуя от них править непосредственно файлы настройки или использовать другие низкоуровневые служебные программы и интерфейсы API. Это также позволяет обрабатывать данные настройки модуля с помощью средств удаленного администрирования диспетчера IIS, которые предоставляют пользователю преимущества службы веб-управления (WmSvc).
В отличие от других средств, которые тоже поддерживают функции удаленного администрирования, архитектура удаленного администрирования диспетчера IIS имеет ряд ключевых преимуществ. Во-первых, она позволяет пользователям, не обладающим правами администратора на сервере, управлять веб-узлами и приложениями, которые доступны для них. Во-вторых, механизм удаленного администрирования диспетчера IIS использует протокол HTTPS, а не DCOM, который проще проходит через корпоративные брандмауэры. В сочетании обе эти возможности делают диспетчер IIS Manager привлекательным для делегированного удаленного управления веб-узлами IIS, особенно в средах совместного веб-размещения.
В полном соответствии с основной идеей IIS 7.0, диспетчер IIS имеет расширяемую архитектуру, на которой основано большинство встроенных функций диспетчера IIS. С целью упрощения случая удаленного управления каждая функция управления состоит из двух частей: компонентов клиентской части, которая предоставляет пользовательский интерфейс внутри диспетчера IIS, и серверных компонентов, которые предоставляют собственно сами службы управления.
Служба на стороне сервера загружается внутри диспетчера IIS Manager в случаях локального управления или внутри службы веб-управления в случаях удаленного управления. Во втором случае диспетчер IIS поддерживает необходимый обмен данными между компонентами в диспетчере IIS на машине клиента и службой, запущенной внутри WmSvc на машине принимающего сервера.

Создание службы

Клиентские и серверные компоненты обычно выполнены в виде двух отдельных сборок .NET, которые не ссылаются друг на друга. Обмен данными между клиентскими и серверными компонентами осуществляется посредством абстракции ModuleServiceProxy диспетчера IIS, которая использует для обмена информацией набор нестрого типизированных свойств и основных типов .NET.
Серверная сборка обычно содержит реализацию класса Microsoft.Web.Management.Server.ModuleProvider, который выполняет требуемую регистрацию служб и клиентских модулей, а также реализацию класса Microsoft.Web.Management.Server.ModuleService, который представляет методы служб для выполнения требуемых задач управления.
Моя сборка Mvolo.ResponseModificationUI.Server.dll содержит класс ResponseModificationModuleProvider, который отвечает за регистрацию класса служб ResponseModificationModuleService в дополнение к классу клиентского модуля ResponseModificationModule, как это показано на рис. 5.
Figure 5 Класс поставщика модулей

Класс ResponseModificationModuleService порождается от класса ConfigurationModuleProvider, который предоставляет встроенную поддержку для управления функциями делегирования диспетчера IIS, основанными на состоянии делегирования нижележащего раздела настройки. Все, что нужно сделать, — указать имя раздела настройки, responseModification, и диспетчер IIS автоматически переключит состояние делегирования функций в зависимости от того, заблокирован или разблокирован этот раздел для отдельных путей настройки. Инфраструктура Microsoft.Web.Management предоставляет несколько других базовых классов ModuleProvider, которые поддерживают немного другие случаи делегирования для средства диспетчера IIS.
Метод GetModuleDefinition возвращает тип модуля диспетчера IIS, который будет создан на стороне клиента, чтобы зарегистрировать требуемые компоненты интерфейса пользователя диспетчера IIS, такие как страница управления.
Обратите внимание на то, что тип класса ResponseModificationModule на стороне клиента — строковый, но не объект типа Type, поскольку серверная сборка может не ссылаться на сборку клиента, которая будет загружена в диспетчер IIS на машине удаленного клиента. Это один из побочных эффектов, обусловленный тем фактом, что компоненты клиента и сервера могут быть запущены в разных процессах и не могут совместно использовать пользовательские типы.
Класс ResponseModificationModuleService отвечает за реализацию функций управления и использование методов служб, которые вызваются страницей управления в диспетчере IIS (см. рис. 6).
Figure 6 Класс службы модулей

Метод GetFilterRules является примером использования нескольких методов службой, выполняющей задачи управления с использованием системы настройки, а также других ресурсов, локальных для сервера. Экземпляр службы всегда создается на сервере, так что он постоянно работает на локальных ресурсах, поэтому нет необходимости волноваться о раздельном доступе к ресурсам в случае удаленного администрирования. Обратите внимание на то, что я снова использую интерфейс API Microsoft.Web.Administration для доступа к разделу настройки responseModification, при этом использую строго типизированную обертку ResponseModificationConfigurationSection, созданную для обеспечения доступа модуля к настройке.
Свойство ManagementUnit является основной точкой доступа к локальному серверу, оно предоставляет ряд других объектов, которые обеспечивают доступ к системе настройки и другим объектам управления, сосредоточенным на сервере, которые были созданы с помощью платформы Microsoft.Web.Management с целью помочь в реализации задач управления сервером. Практический опыт показывает, что реализации служб должны всегда использовать блок управления для задач управления локальной настройкой, а не создавать собственные системы настройки.
Методы наподобие GetFilterRules могут возвращать клиенту данные, используя основные типы, например, ArrayList, для пересылки данных клиентским компонентам. Снова обратите внимание на то, что нельзя осуществлять обмен данными ипри помощи строго типизированных классов, определенных на серверной или клиентской сборках, потому что они предназначены для раздельного использования и не должны ссылаться друг на друга. Служба ResponseModificationModuleService также определяет дополнительные методы служб, аналогичные GetFilterRules, в том числе EditFilterRule, AddFilterRule и DeleteFilterRule, предназначенные для выполнения операций управления, которые могут быть затребованы страницей модуля изменения ответа.

Создание страницы модуля
Клиентские компоненты определяют функции графического интерфейса пользователя (GUI), предоставляемые пользователю с помощью диспетчера IIS. Клиентская сборка обычно содержит реализацию следующих классов:
Класс Microsoft.Web.Management.Client.Module, ответственный за регистрацию всех требуемых страниц диспетчера IIS и других расширений пользовательского интерфейса.
Класс Microsoft.Web.Management.Client.ModulePage, который содержит описание текущей страницы управления, отображаемой диспетчером IIS.
Класс Microsoft.Web.Management.Client.ModuleServiceProxy, коорый предоставляет клиентские компоненты совместно с классом локального прокси для вызова методов служб, используемых ModuleService.
Сборка Mvolo.ResponseModificationUI.Server.dll содержит класс ResponseModificationModule, показанный на рис. 7 (не путать собственно с классом IhttpModule, предоставляющим службы модуля при конвейерной обработке запросов IIS), который предоставляет главную точку входа для регистрации всех требуемых компонентов пользовательского интерфейса в диспетчере IIS. Этот класс регистрирует класс ResponseModificationModulePage, который содержит описание текущей управляющей страницы.
Figure 7 Класс модулей

Каждая реализация модуля создается однократно за время управляющего подключения, выоплненного диспетчером IIS, она ответственна за регистрацию всех страниц управления и элементов пользовательского интерфейса, необходимых для данного подключения. ResponseModificationModule регистрирует класс ResponseModificationModulePage, который определяет содержимое управляющей страницы.
Честно говоря, я не большой поклонник программирования пользовательских интерфейсов, я предпочел бы программировать низкоуровневые серверные программы, которые не требуют разработки интерфейса. К счастью для меня, платформа Microsoft.Web.Management предоставляет целый ряд базовых классов и поддерживающих классов, предназначенных для создания обычных управляющих страниц, включая класс Microsoft.Web.Management.Client.Win32.ModuleListPage, который я использовал для ResponseModificationModulePage.
Этот класс имеет встроенное представление в виде списка для просмотра списков элементов и работы с ними, включая упорядочение списков и работу с элементами списка. С минимальными переделками я смог создать страницу управления, содержащую перечень правил изменения ответов (см. центральную панель на рис. 8).

Рис. 8 Страница изменения ответов в диспетчере IIS

Затем я создал перечень действий, показанный в правом окне, позволяющий добавлять, изменять и удалять правила изменения ответов. При создании этого перечня задач я использовал возможности класса Microsoft.Web.Management.Client.TaskList (см. правую панель на рис. 8).
Еще немного усилий, и функция изменения, показанная на рис. 8, является на свет. Можно изучить детали пользовательского интерфейса, посмотрев исходный код для платформы изменения ответа.
Операции создания новой страницы, добавления, правки и удаления, запускаемые с панели действия, выполняются с помощью методов класса ResponseModificationModuleServiceProxy, который предоставляет локальный прокси для методов модулей, вызываемых службой модулей:


Диспетчер IIS автоматически передает вызовы, сделанные к классу прокси службы модулей, на связанную службу модуля по каналу обмена данными, который может представлять собой локальный канал совместно используемой памяти или канал https на удаленный сервер.

Развертывание расширения

При развертывании расширения диспетчера IIS учтите, что нужно зарегистрировать тип поставщика модуля в файле настройки диспетчера IIS на сервере (%windir%\system32\inetsrv\config\administration.config). Настройка, показанная на рис. 9, регистрирует поставщик модуля и предоставляет возможность использовать его на всех веб-узлах по умолчанию. Заметим, что и клиентская, и серверная сборки, образующие расширение, Mvolo.ResponseModificationUI.Server.dll и Mvolo.ResponseModificationUI.Client.dll, должны быть зарегистрированы в глобальном кэше сборок (GAC) и, следовательно, должны иметь строгое имя и подпись. Это требование, позволяющее выполнить установку расширений диспетчера IIS.
Figure 9 Настройка расширения диспетчера IIS

Когда диспетчер IIS используется для удаленного управления сервером, он автоматически предложит пользователю загрузить клиентскую сборку вне зависимости от того, есть она уже или еще нет (это происходит при управлении IIS 7.0 на Windows Server 2008 клиентом Windows Vista SP1, Windows XP или Windows Server 2003 с использованием удаленного диспетчера IIS, который доступен по адресу: iis.net/ downloads/?tab >

Окончательная сборка

После развертывания модуля и установки схемы раздела настройки и расширения диспетчера IIS функция изменения ответа готова к использованию. Теперь можно применять эту функцию к любому приложению на вашем сервере и настраивать его с помощью любой программы настройки или интерфейсов API IIS 7.0.
Кроме того, можно использовать диспетчер IIS для быстрого управления правилами изменения ответов в приложениях как на локальном, так и на удаленном сервере. Используя поддержку делегирования диспетчера IIS, можно установить, кто из пользователей имеет право удаленно создавать и изменять правила изменения ответов для определенных веб-узлов сервера.
Для демонстрации функции изменения ответов в действии на рис. 10 показано, как настроены правила для приложения Qdig моей галереи изображений (см. msdn.microsoft.com/msdnmag/issues/08/01/PHPandIIS7). На рис. 11 показано, как использован фильтр Mvolo.ResponseModification.Filters.RegExReplace, поставляемый в составе платформы изменения ответа, для вставки текста колонтитулов на всех страницах веб-узла без изменения исходного кода приложения.
Figure 10 Включение колонтитулов

Рис. 11. Использование модуля изменения ответов для изменения ответов

Модуль изменения ответов может быть также использован для выполнения любого количества пользовательских вставок, подстановок гиперссылок и других схем изменения ответов с помощью фильтров замен. Эти фильтры могут быть развернуты глобально или вместе с приложением и настроены с помощью правил настройки в разделе настройки responseModification.

Asp архитектура internet information services

Обновлен: Ноябрь 2007

Если веб-приложение ASP.NET размещено в IIS 7.0, то параметры конфигурации для приложения можно настроить различными способами. К ним относятся:

Использование служб IIS Manager. Дополнительные сведения см. в разделах Практическое руководство. Открытие диспетчера IIS и Диспетчер служб IIS (Internet Information Services (IIS) Manager).

Непосредственное редактирование файла Web.config. Это можно сделать в Visual Studio или Visual Web Developer или используя текстовый редактор.

Использование средства командной строки служб IIS 7.0 (Appcmd.exe). Оно позволяет указать параметры конфигурации IIS и параметры конфигурации веб-приложения. Дополнительные сведения см. в разделе средство командной строки IIS 7.0 (IIS 7.0 Command-Line Tool).

Использование инструментария управления Windows (WMI). В пространстве имен WebAdministration поставщика WMI IIS 7.0 содержатся классы и методы, позволяющие создавать сценарии, использующиеся при администрировании веб-узлов, веб-приложений и связанных с ними объектов и свойств. Дополнительные сведения см. в разделе IIS 7.0: WMI.

Службы IIS 7.0 имеют модульную архитектуру, позволяющую указать, какие модули составляют используются веб-сервером. После установки IIS 7.0 по умолчанию многие модули выключены. При работе с веб-сайтами ASP.NET может понадобиться включение следующих модулей:

Модуль управления совместимостью с IIS 6, позволяющий Visual Studio использовать вызовы метабазы для взаимодействия с хранилищем конфигураций IIS 7.0.

Модуль проверки подлинности Windows, позволяющий проводить отладку веб-приложений в Visual Studio.

В данном пошаговом руководстве будут заданы параметры конфигурации с использованием диспетчера IIS Manager, а затем можно будет увидеть, как параметры отражаются в файле Web.config веб-приложения. В данном пошаговом руководстве представлены следующие задачи:

Создание настраиваемого модуля управляемого кода и помещение модуля в каталог App_Code веб-приложения.

Регистрация настраиваемого модуля с использованием диспетчера IIS Manager.

Добавление настраиваемого заголовка HTTP с использованием диспетчера IIS Manager.

В этом пошаговом руководстве функциональные возможности модуля не важны. Цель этого пошагового руководства — демонстрация интеграции модуля в конвейер запросов, а также влияния настройки приложения с помощью диспетчера IIS Manager на файл Web.config.

Для выполнения этого пошагового руководства потребуется:

Службы IIS 7.0, установленные и выполняющиеся в ОС Windows Vista или в ОС Windows Server 2008.

По меньшей мере один пул приложений, выполняемый в интегрированном режиме IIS 7.0.

Модуль Совместимость управления IIS 6 , включенный в IIS 7.0.

Visual Studio 2008.

Платформа .NET Framework, версия 3.0 или более поздняя версия.

Административные разрешения на локальном компьютере.

Средство для проверки HTTP-запросов и ответов между локальным компьютером и веб-серверами, например, средство Fiddler, доступное на веб-узле Fiddler Web Debugging Proxy.

Fiddler — это стороннее средство, не поддерживаемое Microsoft.

Для начала потребуется создать новый веб-узел.

Создание нового веб-узла

В Visual Studio нужно создать новый локальный веб-узел HTTP с именем WalkthroughIIS7 .

Дополнительные сведения о создании локального веб-узла IIS см. в разделе Пошаговое руководство. Создание локального веб-узла IIS в Visual Web Developer .

В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

В поле Открыть введите inetmgr и нажмите кнопку ОК .

Примечание.

Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

Убедитесь, что веб-узел находится в пуле приложений, выполняемом в интегрированном режиме.

Сведения об задании режима веб-приложения см. в разделе Настройка режима обработки запросов для пула приложений (Configure the Request-Processing Mode for an Application Pool).

Теперь можно создать настраиваемый HTTP-модуль.

Создание настраиваемого HTTP-модуля

В обозревателе решений Visual Studio щелкните правой кнопкой мыши узел веб-проекта и выберите пункт Добавить новый элемент .

Откроется диалоговое окно Добавление нового элемента .

Под заголовком Установленные шаблоны Visual Studio выберите Класс .

Выберите предпочитаемый язык программирования.

Для имени класса введите CustomModule и нажмите Добавить .

Если веб-узел еще не содержит папки App_Code, отобразится сообщение с запросом подтверждения помещения класса в папку App_Code. Если это так, нажмите кнопку Да .

В файле класса удалите существующий код и замените его следующим кодом:

Этот код выполняет следующие действия:

Определяет настраиваемый модуль управляемого кода, реализующий интерфейс IHttpModule .

Определяет обработчик событий для события BeginRequest экземпляра HttpApplication . Обработчик событий определяет настраиваемый заголовок, добавляемый к коллекции заголовка ответа.

Добавляет обработчик к конвейеру запросов для уведомления в методе Init модуля.

Поскольку класс реализует интерфейс IHttpModule , класс должен реализовать метод Init и метод Dispose . Метод Dispose в этом модуле не имеет функциональных возможностей, но в нем можно при необходимости реализовать логику удаления.

В меню Построение выберите команду Построить веб-узел , чтобы убедиться, что ошибки в модуле отсутствуют.

В качестве последней задачи в этом подразделе нужно создать страницы ASP.NET и HTML, используемые позднее в этом пошаговом руководстве для проверки настраиваемого модуля.

Создание тестовых страниц ASP.NET и HTML

Добавьте новую однофайловую веб-страницу ASP.NET с именем ASPXpage.aspx в корневую папку приложения.

Удалите существующую разметку и замените ее на следующую:

Добавьте новую HTML-страницу с именем HTMLPage.htm в корневую папку веб-приложения.

Добавьте следующую разметку на HTML-страницу:

Сохраните все изменения.

Запустите по отдельности страницу ASPXpage.aspx и страницу HTMLpage.htm, чтобы убедиться в возможности их просмотра в обозревателе.

Примечание.

Не закрывайте приложение Visual Studio. Позднее потребуется вернуться к этому приложению, чтобы проверить изменения конфигурации, осуществленные с помощью диспетчера IIS Manager.

На этом этапе страницы выполняются, но не вызывают настраиваемый модуль. В следующей процедуре необходимо добавить настраиваемый модуль к конвейеру запросов.

В этом разделе потребуется использование диспетчера IIS Manager для изменения нескольких параметров конфигурации для приложения IIS. Необходимо зарегистрировать настраиваемый модуль, добавить настраиваемый заголовок и отключить статическое сжатие.

Регистрация настраиваемого модуля управляемого кода

В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

В поле Открыть введите inetmgr и нажмите кнопку ОК .

Примечание.

Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

В области Подключения разверните имя компьютера или сервера, на котором размещен веб-узел.

Разверните папку Узлы .

Выберите веб-узел WalkthroughIIS7 . В Windows Server 2008, если веб-приложение является приложением веб-узла, сначала разверните этот веб-узел, а затем выберите WalkthroughIIS7 .

По умолчанию центральная часть диспетчера IIS Manager отображает параметры конфигурации веб-сервера по областям. Для веб-приложения WalkthroughIIS7 существуют две области: ASP.NET и IIS .

В разделе IIS центральной области дважды щелкните значок Модули .

В области сведений Модули в центральной области будут показаны все модули, настроенные в данный момент для IIS.

В области Действия щелкните Добавить управляемый модуль .

Откроется диалоговое окно Добавление управляемого модуля .

Введите CustomModule в поле Имя .

Именем может быть любое слово или фраза, описывающая модуль. В этом пошаговом руководстве будет использовано только имя модуля.

В списке Тип выберите или введите полное имя управляемого типа для модуля.

Тип CustomModule появится в списке, поскольку конфигурация IIS включает любые классы в папке App_Code, реализующие IHttpModule .

Убедитесь, что флажок Вызывать только по запросу приложений ASP.NET или управляемых обработчиков снят.

В данном пошаговом руководстве необходимо, чтобы модуль был применен ко всем запросам в конвейере, а не только к запросам ASP.NET.

Нажмите кнопку ОК .

Модуль управляемого кода добавляется к списку модулей. Возможно, потребуется прокрутить или пересортировать список, чтобы увидеть добавленный модуль.

Добавление настраиваемого заголовка ответа

В левой области диспетчера IIS Manager щелкните имя узла WalkthroughIIS7 , чтобы отобразить основную область конфигурации для узла.

В центральной области в разделе параметров IIS дважды щелкните значок Заголовки ответов HTTP .

Подробные сведения функции Заголовки ответов HTTP будут отображены в центральной области. В ней будут показаны все определенные в данный момент заголовки ответов HTTP.

В области Действия щелкните Добавить .

Откроется диалоговое окно Добавить HTTP-заголовок ответа .

В текстовом поле Имя введите CustomHeader1 .

Именем может быть любое слово или фраза, описывающая заголовок.

В текстовом поле Значение введите значение SampleHeader .

Теперь статическое сжатие будет отключено. Это препятствует сжатию статического содержимого, например страниц HTML.

Отключение статического сжатия

Щелкните имя узла WalkthroughIIS7 в левой области, чтобы отобразить основную область конфигурации узла в центральной области.

В центральной области диспетчера IIS Manager дважды щелкните значок Сжатие в разделе параметров IIS .

Подробные сведения функции Сжатие будут отображены в центральной области.

Убедитесь, что флажок Включить сжатие статического содержимого не установлен.

В данном пошаговом руководстве были выполнены задачи, связанные с изменением параметров конфигурации с помощью диспетчера IIS Manager. В этой процедуре будут просмотрены изменения в файле Web.config приложения.

Проверка регистрации модуля в файле Web.config

Вернитесь к приложению Visual Studio и к приложению WalkthroughIIS7 .

В обозревателе решений щелкните правой кнопкой мыши имя веб-узла и выберите команду Обновить папку .

Это приведет к тому, что представление папки веб-узла в Visual Studio будет синхронизировано с папкой и файлами на диске.

Если приложение изначально не содержало файла Web.config, то теперь у веб-приложения будет файл Web.config. Если приложение уже содержало файл Web.config, то в файл будут внесены изменения.

В Обозревателе решений дважды щелкните файл Web.config, чтобы просмотреть его содержимое.

Секция system.webServer содержит изменения в параметрах конфигурации, внесенные с помощью диспетчера IIS Manager. В секции system.webServer содержатся следующие дочерние элементы:

Элемент modules , регистрирующий настраиваемый модуль для конвейера обработки запросов.

Элемент httpProtocol , определяющий настраиваемый заголовок ответа.

Элемент urlCompression , отключающий статическое сжатие.

Секция system.webServer будет выглядеть примерно так:

Дополнительные сведения о секции system.webServer см. в разделе Использование конфигурации ASP.NET и в разделе IIS 7.0: system.webServer (IIS Settings Schema) (IIS 7.0: system.webServer (схема параметров IIS)).

Службы IIS 7.0 имеют интегрированный конвейер запросов. Запросы для всех ресурсов приложения (например, для ASPX-страницы или HTM-страницы) могут вызывать уведомления конвейера в модуле управляемого кода, как и в управляемом модуле, созданном в ходе этого пошагового руководства.

Примечание.

При настройке модуля управляемого кода с помощью диспетчера IIS Manager не был выбран параметр Вызывать только по запросу приложений ASP.NET или управляемых обработчиков . Если бы был выбран этот параметр, то настраиваемый модуль получал бы уведомления конвейера только для ресурсов ASP.NET и не получал бы для статических ресурсов, таких как HTML-файлы.


Проверка применения настраиваемого модуля ко всем ресурсам

В Visual Studio откройте страницу ASPXpage.aspx и нажмите сочетание клавиш CTRL + F5 для отображения страницы в обозревателе.

Настраиваемый заголовок, определенный в модуле, отобразится в обозревателе. На странице ASP.NET невозможно получить доступ к настраиваемому заголовку, определенному IIS, поскольку сведения о заголовке добавляются после передачи содержимого страницы в поток. Однако можно подтвердить установку заголовка с использованием средства, отслеживающего трафик HTTP, например, Fiddler.

Откройте средство наблюдения за трафиком HTTP и обновите страницу ASPXpage.aspx в обозревателе.

Примечание.

Если URL-адрес для страницы ASPXpage.aspx использует localhost, измените localhost на имя компьютера, на котором установлены службы IIS 7.0. В типовом сценарии разработки это тот же компьютер, на котором выполняется Visual Studio.

Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

Просмотрите HTMLPage.htm в обозревателе.

Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

Это пошаговое руководство предоставило введение в настройку ASP.NET в IIS 7.0. Параметры конфигурации для веб-сервера IIS 7.0 и для ASP.NET объединены в один файл конфигурации, который можно редактировать с использованием одного интерфейса администрирования.

Может также возникнуть необходимость узнать об изменении других параметров в диспетчере IIS Manager и о том, как изменения отражаются в файле конфигурации. Дополнительные сведения см. в разделе Internet Information Services (IIS).

Глава 22. Службы Интернета в Windows 2000

Internet Information Services (US) ≈ набор базовых служб Интернета, в состав которых входят: веб-сервер, FTP-сервер, SMTP-сервер, NNTP-сервер и ряд дополнительных служб. Службы IIS предоставляют множество новых возможностей, которые могут превратить систему Windows 2000 в мощную платформу для распределенных сетевых приложений. Службы IIS объединены при помощи стандартного интерфейса администрирования и общих методов управления.

Примечание.
В системе Windows 2000 аббревиатура «IIS» расшифровывается несколько иначе, чем в системах Windows NT, где она означала Internet Information Server. Теперь это Internet Information Services (Информационные службы Интернета). В первую очередь ≈ из-за того, что Интернет-службы стали стандартными компонентами операционной системы (хотя и не все службы обязательно инсталлировать), и их функциональные возможности были значительно расширены.

Службы Internet Information Services (IIS)

Службы Internet Information Services имеют ряд основных возможностей, которые кратко описаны ниже.

Службы IIS базируются на сетевых стандартах. В Microsoft Internet Information Services реализован стандарт протокола HTTP 1.1, включая возможность применения команд PUT и DELETE, настройки сообщений об ошибках HTTP и поддержку пользовательских заголовков HTTP. Также имеется поддержка заголовков, несущих информацию об узле, при помощи которой можно создать несколько веб-узлов на одном компьютере под управлением Windows 2000 с одним адресом IP. Это полезно для поставщиков услуг Интернета и для реализации узлов корпоративных интрасетей.

Динамическое содержание. В IIS можно создавать сценарии, выполняющиеся на стороне сервера, и использовать компоненты для создания динамического содержания, независимого от браузера. Активные серверные страницы ASP обеспечивают удобную для применения альтернативу CGI и ISAPI, позволяя разработчикам информационного содержимого узлов применять в страницах HTML любые языки сценариев ActiveX или серверные компоненты. ASP обеспечивает доступ ко всем потокам запросов и ответов HTTP, поддерживает стандартные методы доступа к базам данных и возможность настройки содержания для различных браузеров.

Централизованное администрирование. Службы IIS управляются с пбмощью консоли управления Microsoft (MMC). Управление службами возможно при помощи оснастки ММС, запущенной на компьютере с Windows 2000 (рис. 22.1).

Безопасность. Secure Sockets Layer (SSL, Уровень защищенных сокетов) версии 3.0 обеспечивает безопасный способ обмена информацией между клиентом и сервером. В дополнение к механизмам шифрования предыдущих реализаций SSL, SSL 3.0 обеспечивает способ аутентификации клиента без необходимости его регистрации (login) на сервере US.

Рис 22.1. Оснастка Internet Information Services

Рис 22.2. Управление с помощью браузера ≈ окно Internet Service Manager

В IIS клиентские сертификаты распространяются и на приложения ISAPI, и на страницы ASP таким образом, чтобы программисты могли отслеживать работу пользователей на узлах. В свою очередь, IIS может »отображать» клиентский сертификат на учетную запись пользователя Windows 2000 так, чтобы администратор мог управлять доступом к ресурсам системы, основываясь на клиентском сертификате.

Дополнительные средства администрирования. IIS содержат основанные на веб-интерфейсе инструменты администрирования, которые позволяют удаленно управлять сервером с помощью веб-браузера на различных платформах (рис. 22.2). В Windows 2000 пользовательским учетным записям можно давать ограниченные привилегии администрирования веб-узла, что помогает распределить административные задачи.

У веб-сервера, входящего в число служб IIS в Windows 2000, появилось много новых возможностей по сравнению с предыдущими версиями (Internet Information Server 4.0, входившим в состав Option Pack для Windows NT 4.0 и более ранними версиями IIS, поставлявшимися отдельно). Основные функциональные возможности, которые появились или были усовершенствованы в этой версии веб-сервера:

Публикация информации на сервере стала проще

Сжатие HTTP. Обеспечивает более компактную передачу страниц между веб-серверами и клиентами, которые поддерживают получение сжатой информации. Сжимает и кэширует статические файлы, и выполняет по требованию сжатие динамически сгенерированных файлов.

Распределенная поддержка авторских версий (Distributed Authoring and Versioning, DAV). Дает возможность авторам веб-страниц удаленно редактировать, перемещать или удалять файлы, изменять параметры файлов, каталоги и параметры каталогов на сервере при помощи административных утилит, работающих по протоколу HTTP.

Новые возможности ASP. В механизмах Active Server Pages (ASP, Активные серверные страницы) расширены старые возможности и появились новые которые повышают производительность и улучшают выполнение сценариев на стороне сервера (см. ниже).

Докачка по протоколу FTP. Теперь при получении файла по протоколу FTP можно производить повторную докачку с места, на котором был прерван предыдущий сеанс.

Мастер создания веб-узлов (New Web Site) и Мастер создания виртуальных каталогов (New Virtual Directory). Эти мастеры можно вызвать из оснастки управления IIS, они облегчают создание новых веб-узлов и виртуальных каталогов на сервере.

Улучшенная безопасность

Новые механизмы аутентификации. Предоставляют возможности по надежной аутентификации пользователей, подключенных через серверы-посредники (proxy) и брандмауэры (firewall).

Новые мастера безопасности, которые упрощают задачи администрирования сервера: ,.

  • Мастер сертификатов (Certificate Wizard). Упрощает задачи администрирования сертификатов ≈ создание запросов на получение сертификатов и управление циклом жизни сертификата.
  • Мастер разрешений (Permissions wizard). Позволяет облегчить редактирование и конфигурирование доступа к веб-узлу ≈ обеспечивает назначение политик доступа к виртуальным каталогам и файлам. Мастер разрешений может также отображать политику доступа к веб-узлу при помощи файловых разрешений NTFS.
  • Мастер CTL (CTL Wizard). Можно использовать этот мастер для настройки списков доверия сертификатов (Certificate Trust List, CTL).

CTL ≈ список центров авторизации или поставщиков сертификатов (Certificate Authorities, СА), получивших доверие, для заданного каталога. CTL особенно полезен для поставщиков услуг Интернета (ISP), которые держат на своем сервере много веб-узлов клиентов и должны хранить различные утвержденные списки центров авторизации для каждого узла.

Стандарт безопасности Fortezza- В службах IIS поддерживается американский правительственный стандарт безопасности, обычно называемый Fortezza. Этот стандарт удовлетворяет архитектуре безопасности Defence Messaging System (Система передачи сообщений Министерства обороны), поддерживая механизм шифрования, который обеспечивает конфиденциальность сообщений, целостность, аутентификацию и управление доступом к сообщениям, компонентам и системам. Эти возможности могут быть реализованы при помощи программного обеспечения сервера, браузера, либо при помощи аппаратных средств ≈ платы PCMCIA

Шлюзовое серверное шифрование (Server-Gated Cryptography, SGC). Это расширение протокола SSL, которое позволяет финансовым учреждениям, использующим службы IIS в экспортном варианте, применять мощное 128-разрядное шифрование. Возможности SGC встроены в службы IIS, однако, чтобы использовать SGC, требуется специальный сертификат SGC.

Безопасность Kerberos. Службы IIS полностью интегрированы с моделью безопасности Kerberos, реализованной в Microsoft Windows 2000.

Расширенные возможности администрирования

Учет процессов (process accounting). Предоставляет информацию о том, как веб-узлы расходуют ресурсы процессора сервера. Эта информация полезна для выявления узлов, непропорционально использующих ресурсы процессора (в том числе сценариев или процессов CGI, содержащих ошибки).

Ограничение процессов (process throttling). Ограничивается время, которое процессор тратит на обработку процессов ASP, приложений ISAPI или CGI для отдельных веб-узлов.

Возможности для разработчиков приложений доступа к данным. Автор сценария, проектировщик или разработчик приложений доступа к базам данных и файлам может использовать следующие функциональные возможности IIS:

Выполнение сценариев, включенных в веб-страницы. При помощи ASP-страниц можно внедрять сценарии в страницы HTML и применять серверные компоненты ActiveX, чтобы реализовывать динамическую бизнес-логику на базе веб. Сценарии могут быть написаны на языке Microsoft Visual Basic, Scripting Edition, или на Microsoft JScript, а также на любом другом языке создания сценариев ActiveX, для которого имеется соответствующая поддержка в US (engine).
Доступ к базам данных. Если создаются и исполняются программы для доступа к базам данных, можно сделать эти программы более дружественными и более эффективными при помощи Microsoft Data Access Components (MDAC, Компоненты доступа к данным Microsoft), набора методов баз данных, интегрированных с IIS. Компоненты MDAC включают Microsoft Remote Data Service (RDS, Служба удаленных данных, ранее называвшаяся ADC), Microsoft ActiveX Data Objects (ADO, Объекты данных ActiveX), OLE DB и Open Database Connectivity (ODBC, Интерфейс открытого взаимодействия с базами данных). Кроме того, при помощи службы СОМ+, которая теперь включает все функциональные возможности, ранее поддерживаемые MTS (Microsoft Transaction Server, сервер транзакций Microsoft), можно структурировать взаимодействие с базами данных при помощи транзакций.
Транзакции ≈ это действия, состоящие из нескольких шагов, которые выполняются как единое целое и могут либо успешно завершиться, либо «откатиться» к исходному состоянию.
Управление группами страниц. При помощи Microsoft FrontPage Server Extensions (Серверные расширения для FrontPage) можно легко управлять группами страниц веб-узла. Встроенный анализатор содержания позволяет просматривать карту сервера в удобном для понимания визуальном формате, который облегчает управление файлами и связями.
Предоставление возможностей поиска. При помощи Службы индексирования (Indexing Service) можно создавать настраиваемые формы, которые предоставляют возможность поиска информации на веб-страницах или в других файлах веб-узла. Служба индексирования индексирует текстовое содержимое документов, хранящихся на сервере, на котором работает IIS, а также их свойства. Пользователи могут посылать поисковые запросы из любого браузера, заполняя простую форму.

Возможности для администраторов. Для администраторов информационных служб HS обеспечивает эффективное выполнение следующих действий:

Эффективный поиск (см. выше).

Возможности для разработчиков сценариев. Службы IIS предоставляют разработчику сценариев (программисту) среду для разработки приложений, которая эффективно управляет потоками и процессами и обеспечивает высокую масштабируемость. Можно использовать следующие функциональные возможности IIS для того, чтобы обеспечить дополнительную поддержку сценариев, компонентов или распределенных приложений:

Установка веб- и FTP-узлов. Можно устанавливать, конфигурировать и управлять веб- и FTP-узлами средствами оснастки Internet Information Services, графического интерфейса для администрирования служб IIS. Можно конфигурировать каждый узел и каталог по-своему, даже в случае использования нескольких узлов на одном сервере; имеются средства установки некоторых конфигурационных параметров (например, разрешения доступа), которые применяются даже на уровне конкретных файлов.
Автоматизация типовых задач администрирования. Можно создавать сценарии для выполнения всех задач администрирования IIS, разделив их на более простые процедуры. Эти задачи включают добавление или изменение веб-узлов, добавление групп, изменение разрешений доступа и управление регистрацией.
Защита узла. Службы IIS позволяют настраивать ряд параметров безопасности, используя встроенные в Windows 2000 механизмы безопасности, например учетные записи пользователей и средства безопасности файловой системы NTFS 5.0. Службы IIS имеют дополнительные возможности по обеспечению безопасности, включая блокирование доступа (блокирование попыток, сделанных с заданных IP-адресов) и безопасную связь между компьютерами с помощью SSL. В поставку ‘Windows 2000 включен Сервер сертификатов (Microsoft Certificate Server), который может выдавать сертификаты серверу или клиенту.
Регистрация действий и настройка производительности сервера. Оснастки Системный монитор (System Monitor) и Просмотр событий (Event Viewer) .позволяют отслеживать работу сервера. Также в IIS используется собственное протоколирование, которое фиксирует все заданные действия. При помощи различных встроенных средств можно анализировать журналы и поведение сервера ■ принимать решения. Можно настраивать производительность сервера при помощи административных инструментов и установок IIS. Также можно улучшать производительность сервера, используя возможности, перечисленные ниже в разделе «Возможности для разработчиков сценариев» данной главы.
Поддержка диалоговой обработки запросов. При помощи технологий СОМ+ можно группировать компоненты (дискретные модули кода) в пакеты, которые используют специальную среду для выполнения в виде транзакций. В новой версии IIS внутри транзакций можно выполнять не только приложения, но и сценарии. Те функции, что ранее поддерживались MTS, теперь полностью интегрированы с СОМ+.
Возможность изолирования процессов. Можно настроить IIS таким образом, чтобы изолировать друг от друга приложения, выполняющиеся в контексте IIS, т. е. заставить их работать & отдельных областях памяти. Это означает, что если приложения функционируют неправильно, они не будут воздействовать на работу других приложений или сервера в целом.
Интеграция с технологиями доступа к данным. При создании и выполнении программ для доступа к базам данных можно использовать набор компонентов доступа к данным MDAC (см. выше).
Разработка надежных приложений с применением СОМ+. Можно выполнять сценарии или приложения внутри одной транзакции. Объекты активизируются по требованию и деактивизируются после использования. Это позволяет экономить ресурсы сервера и увеличить число пользователей, одновременно работающих с приложением.

Новые возможности ASP

Active Server Pages ≈ основной механизм создания веб-ориентированных приложений для HS. ASP были расширены возможностями, которые делают более легким применение ASP для разработчиков сценариев и веб-приложений.

Новые возможности по управлению Потоком данных. Объект ASP Server имеет два новых метода, которые можно использовать для управления потоком данных из программы (Server.Transfer и Server.Execute). Эти методы действуют более эффективно, чем переназначение запросов, которое требует высокой производительности:сети при передаче данных клиенту и обратно; эти методы обеспечивают передачу запросов непосредственно файлу *.asp, при этом поток управления не покидает сервер.

Обработка ошибок. ASP-страницы содержат новую возможность обработки ошибок, которая осуществляет перехват ошибок при помощи ловушек (traps) и дает пользовательское сообщение об ошибке. При помощи нового метода, Server.GetLastError, можно отображать полезную информацию, например, описание ошибки или номер строки в файле *.asp, где произошла ошибка.

ASP без сценариев (scriptless ASP). Поскольку статическое содержание обычно обрабатывается быстрее, чем содержание, сгенерированное сервером динамически, было бы лучше заранее присваивать расширение asp только файлам, которые реально содержат функциональные возможности ASP. Всякий раз, когда требовалось добавить функциональные возможности ASP статическим файлам HTML, нужно было вручную присвоить файлу расширение asp и обновить связанные с ним гаперссылки. В новой версии файлы *.asp, которые не используют функциональных серверных возможностей, будут обработаны быстрее, чем ранее. Так, при создании веб-приложения, в котором файлы могут, в конечном счёте, требовать использования функциональных возможностей ASP, теперь можно назначать этим файлам расширение asp независимо от того, содержат ли они статическую информацию или серверные расширения.

Улучшенная производительность компонентов. В состав IIS включены расширенные версии наиболее часто используемых объектов ASP, которые обеспечивают повышенную производительность.

Интеграция с XML. Язык extensible Markup Language (XML, Расширяемый язык разметки) позволяет легко описывать сложные структуры данных и

совместно использовать информацию в клиентских и серверных приложениях. Новый синтаксический анализатор XML, включенный в Internet Explorer версии 4.0 и выше, сделал возможным создание ASP-приложений, позволяющих веб-серверу обмениваться форматированными данными XML с Internet Explorer и другими браузерами или с любыми другими серверами, имеющими поддержку XML.

Сервер скриптлетов. ASP поддерживает новую мощную технологию создания сценариев ≈ сервер скриптлетов (от «scriptlet» ≈ маленький сценарий). Теперь можно оформлять логические бизнес-правила сценариев в виде компонентов СОМ для многократного применения их в веб-приложениях, а также в других программах, поддерживающих СОМ.

Новый способ определять возможности браузера. ASP имеет новую возможность для определения точных возможностей браузера. Когда браузер посылает файл cookie с описанием своих возможностей (файл cookie может быть передан серверу при помощи простого сценария на стороне клиента), можно создать образец компонента возможностей браузера, который получает реквизиты браузера в том виде, в каком браузер вернул их в cookie. Так, прежде чем пользователь обратится к веб-приложению, мбжно выбрать этот путь, чтобы обнаружить возможности браузера и скорректировать поведение приложения.

Автоподстройка ASP. Механизм ASP теперь чувствителен при выполнении запросов к блокированию внешних ресурсов и автоматически создает большее количество потоков, чтобы выполнить дополнительные запросы и продолжать нормальную обработку. Когда процессор становится слишком загруженным, механизмы поддержки ASP сокращают число потоков, чтобы уменьшить время на переключение приложений, что происходит, когда одновременно выполняется слишком много неблокирующихся запросов.

Новая архитектура информационных систем

Многоуровневые приложения. Современные приложения типа «клиент-сервер» настолько не похожи на своих предшественников, что им было дано новое имя ≈ многоуровневые приложения. Такая архитектура называется также n-уровневой или многоуровневой. В этой модели обработка данных распределена между клиентом и сервером, и бизнес-логика располагается на среднем уровне. С функциональной точки зрения большинство систем реализует три следующих основных задачи:

Представление данных
Бизнес-логика
Службы хранения данных

Уровень представления данных включает всю работу с пользователем. На этом уровне пользователи могут не только взаимодействовать с приложением, вводить данные и просматривать результаты запросов, но и управлять манипулированием данными и их форматированием после того, как они попадают на клиентскую сторону. В веб-технологии задача уровня представления данных выполняет браузер.

Службы хранения данных обеспечиваются различными структурированными хранилищами информации (серверами БД, например, Microsoft SQL Server, Oracle) или неструктурированными хранилищами (Microsoft Exchange, Microsoft Message Queue Services), которые управляют и обеспечивают доступ к данным из приложения. Отдельный запрос может потребовать использования одного или более хранилищ данных.

Между этими двумя уровнями находится область для разработки распределенных приложений. Уровень бизнес-логики задает правила управления обработкой приложений, соединяет пользователя на одном конце с данными на другом.

Трехуровневая архитектура изолирует каждый сегмент функциональных возможностей. Представление не зависит от правил обработки и бизнес-логики, которая, в свою очередь, является отдельной от данных. Эта модель требует намного больше затрат на анализ и проектирование, но значительно уменьшает расходы на техническую поддержку и сопровождение и, в конечном счете, увеличивает функциональную гибкость. На рис. 22.3 представлена схема, которая описывает технологии Microsoft, обслуживающие различные уровни в системах с новой архитектурой.

Рис 22.3. Архитектура трехуровневых систем на базе служб Microsoft

Распределенная архитектура Интернет-приложений. Компания Microsoft разработала технологию Windows Distributed interNet Application Architecture (Windows DNA, Распределенная архитектура Интернет-приложений Windows), полностью интегрирующую многоуровневую модель разработки с веб-технологией. Windows DNA определяет каркас для создания решений, которые удовлетворяют требованиям корпоративных вычислений, Интернета, интрасетей и глобальной электронной торговли, уменьшая при этом издержки на общую разработку и развертывание системы.

В архитектуре Windows DNA стандартные службы на базе Windows выполняют определенные задачи на каждом уровне в многоуровневом решении, обеспечивая интерфейс пользователя и навигацию, бизнес-логику и хранение данных. Различные службы интегрированы при помощи Common Object Model (COM, Общая объектная модель). Службы, используемые в Windows DNA, включают; Dynamic HTML (Динамический HTML), Active Server Pages (Активные серверные страницы, ASP), компоненты COM, Microsoft Transaction Server,, службу Active Directory, службы безопасности Windows 2000, Microsoft Message Queue Services (MSMQ, Службы очереди сообщений) и компоненты доступа к данным Microsoft.

Архитектура Windows DNA создана с применением открытых протоколов и общедоступных интерфейсов, что облегчает организациям задачу интеграции новых систем с продуктами третьих фирм. Обеспечивая промышленные стандарты Интернета, Windows DNA упрощает работы по внедрению новых технологий для разработчиков. На рис. 22.4 представлена схема, которая иллюстрирует технологии ≈ составные части Windows DNA.

Рис 22.4. Технологии Windows DNA

Установка и удаление служб IIS

Службы Internet Information Services устанавливаются на компьютере с Windows 2000 Server по умолчанию. Можно установить IIS, удалить или установить дополнительные компоненты, используя значок Установка и удаление программ (Add/Remove Programs) из панели управления.

Чтобы установить IIS, добавить или удалить компоненты:

1. Выберите команду Пуск (Start) | Настройка (Settings) | Панель управления (Control panel) и дважды щелкните на значке Установка и удаление программ (Add/Remove Programs).
2. В левом столбце диалогового окна Установка и удаление программ перейдите на вкладку Установка и удаление компонентов Windows (Add/Remove Windows Components).
3. Когда запустится Мастер компонентов Windows (Windows Components Wizard), нажмите кнопку Далее (Next).
4. В списке Компоненты (Windows Components) выберите Internet Information Services (IIS) (рис. 22.5).
5. Нажмите кнопку Далее и следуйте командам мастера.

Основные компоненты IIS

Основные компоненты IIS, которые можно удалить или установить из панели управления (рис. 22.6):

Общие файлы (Common Files)
Документация (Documentation)
FTP-сервер (File Transfer Protocol) (File Transfer Protocol (FTP) Server)
Серверные расширения для FrpntPage 2000 (FrontPage 2000 Server Extensions)
Объект IIS для консоли ММС (Internet Information Services Snap-In)
Диспетчер служб Интернета (HTML) (Internet Services Manager (HTML))
Служба NNTP (NNTP Service) П Служба SMTP (SMTP Service)
Поддержка удаленного развертывания Visual InterDev RAD (Visual InterDev RAD Remote Deployment Support)
Веб-сервер (World Wide Web Server)

Рис 22.5. Установка и удаление служб IIS

Рис 22.6. Компоненты служб IIS

Если ОС Windows 2000 устанавливалась поверх предыдущей версии Windows, IIS устанавливаются по умолчанию, только если веб-сервер (IIS) был установлен в предыдущей версии Windows.

Удаление служб IIS производится при помощи той же процедуры, что и установка. Для удаления IIS сбросьте флажок рядом с названием компонента Windows в списке компонентов.

Каталоги, содержащие пользовательские данные, остаются в системе после того, как IIS полностью удаляется:

\Inetpub
%SystemRoot%\Help\iisHelp
%SystemRoot%\system32\inetsrv

Администрирование служб IIS

Не всегда удобно администрировать службы IIS непосредственно на компьютере, где они установлены. Для решения проблем локального и удаленного администрирования есть два средства: если соединение с сервером устанавливается через Интернет или через прокси-сервер, можно использовать Диспетчер служб Интернета (HTML) (Internet Services Manager (HTML)), который доступен через веб-браузер и позволяет настраивать различные свойства узлов; если соединение с сервером устанавливается через интраееть, можно использовать или диспетчер служб Интернета (HTML), или оснастку Internet Information Services. Хотя диспетчер служб Интернета (HTML) и предоставляет большинство возможностей оснастки, однако изменение свойств, которое требует взаимодействия с утилитами Windows, не может быть выполнено с его помощью.

В предыдущей версии IIS оснастка для управления службами называлась Internet Services Manager. В Windows 2000 оснастка называется Internet Information Services, а ярлык в меню Пуск ≈ Диспетчер служб Интернета (Internet Services Manager).

Также для удаленного администрирования доступна онлайновая версия документации. Чтобы обратиться к документации, запустите браузер и введите в поле адреса URL http://имя_cepвepa/iishelp , где имя_сервера ≈ реальное доменное имя компьютера, на котором функционируют службы IIS.

Для удаленного управления IIS можно также использовать возможности служб терминалов (Terminal Services). Удаленное управление может производиться с компьютера под управлением любой ОС, для которой существует клиент служб терминалов Microsoft, при этом на удаленном компьютере не нужно устанавливать никакие средства администрирования IIS.

Оснастка Internet Information Services. Оснастка Internet Information Services (рис. 22.1) ≈ средство администрирования IIS, доступна из меню Пуск | Программы | Администрирование | Диспетчер служб Интернета (Start | Programs | Administrative Tools | Internet Services Manager). Также она включена в состав оснастки Управление компьютером (Computer Management).

Для запуска оснастки Internet Information Services:

1. Запустите оснастку Управление компьютером. Один из способов ≈ нажать кнопку Пуск (Start), а затем в меню выбрать команду Пуск | Программы | Администрирование | Управление компьютером (Programs | Administrative Tools | Computer Management).
2. В дереве в группе Службы и приложения (Services and Applications) найдите и разверните узел Internet Information Services.
Для удобства средство администрирования US (которое представляет собой оснастку Internet Information Services) будем также называть по имени ярлыка из меню Пуск (Start) ≈ Диспетчер служб Интернета

Диспетчер служб Интернета (HTML). Для управления свойствами IIS в диспетчере служб Интернета (HTML) 4 (рис. 22.2) используется узел, который в списке узлов отображается как Администрирование веб-узла (Administration Web Site). При установке IIS автоматически случайно выбирается номер порта в диапазоне от 2000 до 9999, который назначается этому веб-узлу. Узел отвечает на запросы веб-браузеров, независимо от того, к какому доменному имени (из связанных с данным компьютером) происходит обращение, при совпадении номера порта, который добавляется в конце к имени узла. Если используется базовая (basic) аутентификация, то от администратора при подключении к административному узлу будут запрошены имя пользователя и пароль. Только члены группы Windows Администраторы (Administrators) могут использовать этот административный узел. Также управлять узлом дистанционно могут Операторы узла (Web Site Operators). Хотя HTML-версия диспетчера служб Интернета реализует большинство функциональных возможностей оснастки IIS, версия с использованием HTML предназначена для удаленного управления по медленным коммутируемым линиям. В ней не поддерживается, например, щелчок правой кнопкой мыши. Многие из знакомых кнопок на панели или заголовки вкладок отображаются в виде гиперссылок в левой панели окна браузера.

Администрирование служб веб и FTP

Веб-узлы и FTP-узлы. В интрасетях и Интернете можно создавать несколько веб- и FTP-узлов (сайтов) на одном компьютере, который работает под управлением Windows 2000, одним из следующих способов:

При помощи разных номеров портов для одного адреса
Используя несколько IP-адресов, назначенных одному адаптеру
Используя несколько доменных имен для одного IP-адреса и одного сетевого адаптера

Предположим, что в корпоративной интрасети системный администратор установил на сервере компании систему Windows 2000 Server со службами IIS и создал единственный узел по умолчанию, который имеет адрес http://Information. Системный администратор может создать два дополнительных информационных узла, по одному для каждого отдела, например, для отдела продаж (Sales) и для отдела закупок (Purchase).

Хотя оба узла расположены на одном компьютере (Information), они являются автономно функционирующими узлами (сайтами). Эти узлы имеют раздельные настройки защиты, как если бы они находились на разных компьютерах, поскольку каждый узел имеет собственные параметры доступа и настройки разрешений по администрированию. Кроме того, административные задачи могут быть распределены между членами каждого отдела.

Свойства и наследование свойств. Свойства≈ параметры, которые могут быть настроены для конкретного узла. Например, можно использовать оснастку Internet Information Services, чтобы изменить порт TCP по умолчанию (80) для сервера на другой номер порта. Свойства узла видны в окнах свойств и хранятся в базе данных, которая называется метабазой (metabase).

В процессе инсталляции IIS различным свойствам и параметрам присваиваются значения по умолчанию. Можно использовать настройки по умолчанию для IIS или настраивать эти параметры, чтобы адаптировать функциональность сервера к потребностям сети. Можно также обеспечить дополнительные функций, улучшить производительность, а также изменить настройки защиты, внося изменения в настройки по умолчанию.

Свойства могут быть установлены на уровне узлов, на уровне каталогов, или на уровне файлов. Параметры настройки на более высоких уровнях (например, на уровне узлов) автоматически используются (наследуются) более низкими уровнями (например, уровнем каталогов), но все могут редактироваться раздельно на более низком уровне. Если свойство было изменено для отдельного узла, каталога или файла, а затем будет произведен возврат к значению по умолчанию, то автоматическая настройка не отменит индивидуальную настройку. При выполнении такого рода действий администратор получит предупреждающее сообщение, и ему нужно будет ответить на вопрос, хочет ли он изменить настройку для отдельного узла, каталога или файла, чтобы она соответствовала новым значениям по умолчанию.

Некоторые свойства имеют значение, которое представляет собой список. , Например, значение свойства «Документ, используемый по умолчанию» (Default Document) ≈ список документов, которые будут загружены, когда пользователь не задает файл в URL. Пользовательские сообщения об ошибках, управление доступом по TCP/IP, отображение MIME ≈- примеры свойств, которые хранятся в виде списка. Хотя эти списки состоят из нескольких записей, IIS рассматривает список целиком как единое целое. Если список редактируется для каталога, а затем производится глобальная замена на уровне узлов, список на уровне каталога полностью заменяется новым списком с уровня узла; списки не объединяются. Также свойства-списки отображаются в виде списка с составом только на верхнем уровне, управляющем, или на уровне узла или каталога, для которого значение по умолчанию было изменено. Значения-списки не отображаются, если они являются унаследованными значениями по умолчанию.

Фильтры отображаются в виде списка, но обрабатываются не как список. Если фильтры добавляются на уровне узлов, то новые фильтры объединяются со списком фильтров от управляющего уровня. Если два фильтра имеют одинаковые установки приоритетов, фильтр с управляющего уровня загружается перед фильтром с уровня узла.

Если создается несколько веб- или FTP-узлов, можно редактировать значения по умолчанию (рис. 22.7) таким образом, чтобы каждый узел, который создается, наследовал пользовательские значения узлов по умолчанию (Веб-узел по умолчанию и FTP-узел по умолчанию (Default Web Site и Default FTP Site)).

Рис 22.7. Свойства веб-узла по умолчанию

Операторы узла. Это специальная группа пользователей, которым предоставлены ограниченные административные привилегии для данного узла. Операторы могут управлять свойствами, имеющими отношение только к соответствующему узлу. Они не имеют доступа к свойствам, которые относятся к управлению IIS в целом, к управлению компьютером-сервером Windows или сетью.

Например, поставщик Интернет-услуг, поддерживающий узлы множества различных компаний, может делегировать полномочия на поддержку соответствующих узлов представителю каждой компании в качестве оператора узла. Этот метод распределенного администрирования сервера имеет следующие преимущества:

Каждый оператор может действовать в качестве администратора узла и может изменять узел (его наполнение и настройки) по мере необходимости. Например, оператор может устанавливать разрешения доступа к узлу, разрешать ведение журнала, изменять документ по умолчанию или заголовок, устанавливать временные параметры и т. п.
Оператор узла не может изменять параметры аутентификации узла, конфигурировать имя анонимного пользователя или пароль, настраивать ширину полосы пропускания, создавать виртуальные каталоги или изменять их пути и т. п.
Поскольку операторы имеют большие ограничения по привилегиям, чем администраторы узлов, они не могут дистанционно просматривать файловую систему и поэтому не могут устанавливать свойства каталогов и файлов, если только не используется UNC-путь.

FTP-докачка. FTP-докачка (с использованием команды REST) решает проблему, возникающую при потере соединения при загрузке файлов. Клиентам, которые поддерживают докачку, нужно выполнить только восстановление подключения и, при помощи команды REST, продолжить передачу данных на том месте, где она была прервана.

В IIS докачка по протоколу FTP невозможна в следующих случаях: при использовании запроса на получение файла по маске (МОЕТ), при передаче файлов на сервер (PUT) или при получении файлов размером более 4 Гбайт.

Сопоставление MIME. MIME (Multipurpose Internet Mail Extensions, Многоцелевые почтовые расширения Интернета) ≈ стандарт сети Интернет, который предоставляет возможность программам просмотра (браузерам) определять формат файла и корректно его отображать. Зарегистрированные типы файлов, которые установлены по умолчанию в Windows 2000, перечислены в окне Типы файла (File type), доступном на вкладке Internet Information Services в диалоговом окне свойств служб IIS данного компьютера (доступны для компьютера из контекстного меню корневого узла оснастки Internet Information Services).

Сопоставления (map) MIME могут быть настроены на уровне компьютера, на уровне узла, на уровне виртуального каталога, на уровне каталога или на уровне файлов. Чтобы настроить отображения MIME на уровне компьютера, необходимо перейти в диалоговое окно Свойства (Properties) служб IIS данного компьютера (в контекстном меню в оснастке IIS выбрать пункт меню Свойства). Чтобы настроить отображения MIME на других уровнях, нужно использовать вкладку Заголовки HTTP (HTTP Headers) диалогового окна свойств объекта соответствующего уровня.

Отображения MIME, заданные на уровне компьютера, не отменяют автоматически установки на более низких уровнях.

Управление информационным наполнением

Необходимость в корректном управлении содержимым (наполнением, content) очевидна. Предположим, что создан сложный информационный сервер преуспевающей компании. На каком-то этапе был спроектирован дизайн сервера ≈ заголовки, подвалы и элементы оформления. Однако в самом конце выяснилось, что была допущена ошибка в логотипе компании, который расположен на всех многочисленных страницах узла. Возможны также неисправности в аппаратной части компьютера. При этом может понадобиться перенаправить всех пользователей узла на другой, резервный сервер, пока производится восстановление аппаратуры.

Такие проблемы ярко демонстрируют необходимость корректного управления веб-узлом. И хотя эффективное управление узлом, в конечном счете, зависит от навыка администратора, существует множество основных инструментов и процедур, применяемых для решения наиболее важных задач управления.

Начальные действия. Сначала нужно создать веб-узел и указать, в каких каталогах хранятся публикуемые документы. Веб-сервер не может опубликовать документы, которые находятся вне пределов указанных каталогов. Первым шагом в развертывании веб-узла является задание организационной структуры файлов. После этого, используя оснастку Internet Information Services, нужно задать, какие каталоги являются частью узла.


Если необходимо опубликовать информацию немедленно, не тратя время на создание структуры каталогов узла, и все файлы расположены на одном и том же жестком диске, можно просто скопировать публикуемые файлы в основной каталог по умолчанию, \InetPub\Wwwroot. (Для FTP-узла, нужно скопировать файлы в каталог \InetPub\Ftproot.) Пользователи сети смогут обращаться к этим файлам, вводя URL-адрес http://server/имя_файла

Задание домашних каталогов. Каждый веб-узел или FTP-узел должен иметь корневой (домашний) каталог. Домашний каталог ≈ отправная точка для организации информационной структуры публикуемых страниц. Он содержит домашнюю страницу или индексный файл, который является стартовой страницей узла и содержит ссылки на другие страницы на узле. Домашний каталог привязывается к имени домена узла или к имени сервера.

Например, если имя домена узла ≈ www.myfirm.com и корневой каталог ≈ \Webserver\MyFirm, то браузер, обращаясь по URL http://www.myfirm.com, получит файлы из корневого каталога. В интрасети, если имя сервера ≈ Infoserver, то браузер, обращаясь по URL http://Infoserver, получит доступ к файлам в корневом каталоге.

Корневой каталог по умолчанию создается при установке Internet Information Services, а также при создании нового веб-узла. Корневой каталог можно изменять (рис. 22.8).

Рис 22.8. Задание домашнего каталога

Виртуальные каталоги. Чтобы публиковать информацию из любого каталога, который не содержится внутри корневого каталога, нужно создать виртуальный каталог. Виртуальный каталог≈ это каталог, который не содержится в корневом каталоге, но для клиента он выглядит так, как если бы он был частью корневого каталога.

Виртуальный каталог имеет псевдоним, то есть имя, которое веб-браузеры используют для обращения к этому каталогу. Поскольку псевдоним обычно короче полного пути каталога, пользователям его удобнее вводить. Псевдоним безопаснее; пользователи >не знают, где файлы физически расположены на сервере, и не могут использовать эту информацию для изменения этих файлов. Псевдонимы упрощают перемещение каталогов в узле. Не изменяя URL-адрес каталога, можно изменить отображение между псевдонимом и физическим местоположением каталога.

Предположим, что для публикации информации в сети установлен узел infoserver. В табл. 22.1 показано соответствие между физическим местоположением файлов и URL, по которому файлы доступны.

Таблица 22.1. Примеры соответствия между физическим местоположением, псевдонимом и URL-адресом

Физическое местоположение Псевдоним Путь URL
c:\wwwroot Домашний каталог (нет псевдонима) http:/flnfoserver
\\Server2\info\Data Data http://Sales/Data
c:\wwwroot\Schedule Нет httyj://infoserver/Schedule
c:\wwwroot\Products Нет http://infoserver/Schedule
d :\samples\documents Text http://infoserver/Schedule

Как виртуальные, так и физические каталоги (каталоги без псевдонима) видны в оснастке Internet Information Services. Виртуальный каталог обозначается в виде значка папки с глобусом в углу.

Для простого веб-узла не требуется создание виртуальных каталогов. Можно просто разместить все файлы в основном каталоге узла. Если нужно построить сложный узел или задать различные URL для различных частей узла, можно добавлять виртуальные каталоги по необходимости.

Переадресация запросов. Когда браузер запрашивает страницу с узла, веб-сервер ищет страницу по заданному URJL и возвращает ее браузеру. Когда страница перемещается внутри узла, не всегда можно исправить все связи, которые ссылаются на старый URL страницы. Чтобы удостовериться в том, что браузеры смогут найти страницу по новому URL, можно заставить веб-сервер предоставлять браузеру новый URL. Браузер использует новый URL, чтобы запросить эту страницу снова. Этот процесс называется переадресацией запроса браузера или переадресацией на другой URL. Переадресация запроса о получении страницы подобна переадресации в почтовой службе. Переадресация гарантирует, что письма и пакеты, отправленные по предыдущему адресу вашего проживания, будут доставлены по новому адресу.

Переадресация URL полезна, когда узел подвергается переделкам и нужно сделать часть узла временно недоступной, или когда было изменено имя виртуального каталога и нужно заставить браузеры обращаться не к файлам в исходном виртуальном каталоге, а к тем же самым файлйм в новом виртуальном каталоге.

Другие средства. Часто может потребоваться динамически изменять содержание узла после того, как содержание было затребовано, но до передачи его браузеру. IIS включает две возможности, которые обеспечивают эту функциональность ≈ серверные включения (Server-Side Includes, SSI) и Microsoft Active Server Pages (ASP) ≈ для создания сценариев-посредников.

Используя SSI, можно выполнять ряд действий ≈ от динамического отображения текущего времени на странице до выполнения заданных системных команд каждый раз, когда запрашивается данный ресурс (страница). SSI-команды, называемые директивами, включаются в страницы во времени разработки. Когда страница запрашивается, веб-сервер анализирует синтаксис всех директив на странице, а затем выполняет их. Наиболее часто используется директива включения, что позволяет включать содержимое файла внутрь страницы. Например, если требуется, чтобы в заголовок страницы вставлялась реклама, можно при помощи SSI включить исходный текст рекламы. Чтобы модифицировать рекламу, нужно изменить только файл, содержащий исходный текст рекламы. Для применения SSI не нужно знать язык создания сценариев ≈ синтаксис директив очень прост.

ASP-страницы ≈ серверная среда создания сценариев, позволяющая динамически изменять содержимое узла. Хотя технология ASP предназначена прежде всего для разработки веб-приложений, она предоставляет много возможностей для создания более простых в управлении узлов. Например, с помощью ASP можно отслеживать посещение узла пользователями (их атрибуты≈ IP-адрес, тип браузера, назначенные cookies и т. п.) или настраивать содержимое узла под возможности браузера. Однако, в отличие от SSI, ASP требует применения языка создания сценария, например VBScript или JScript.

Выбор инструмента для создания страниц. Феноменальный рост сети Интернет и развитие технологий интрасетей создали огромный спрос на специализированные средства создания узлов. Если пользователь плохо знаком с основами публикации в Интернете, выбрать надлежащий инструмент для создания узла может быть достаточно сложно. Мощного сервера, предназначенного для размещения готовых страниц, недостаточно для успешного пуска и эксплуатации информационного узла в Интернете. Вот инструменты создания и публикации узлов:

Microsoft FrontPage 2000. Удобный, простой и мощный инструмент создания страниц и публикации их в сети. Обладает возможностями WYSIWYG (What You See Is What You Get, принцип «что видишь ≈ то и получишь», т. е. визуальное создание с непосредственным отображением результата), тесно интегрирован с Microsoft Office 2000 и со службами IIS.
Преобразование в HTML. Привлекательная альтернатива созданию страниц ≈ преобразование существующих документов в документы HTML. Применяя к файлам текстового процессора и электронных таблиц конвертер, можно сразу помещать такого рода страницы в сети, на веб-сервере. Многие программы обработки текстов, например Microsoft Word 2000, имеют встроенные возможности для преобразования документов в формат HTML. Однако большинство конвертеров только добавляет тэги форматирования HTML к тексту, плохо сохраняя первоначальный вид документов. Конвертеры ≈ удобные средства, они особенно полезны, если планируется публиковать большую часть существующей документации, которая не нуждается в частом изменении.
Текстовый редактор. Страницы можно создавать почти в любом стандартном текстовом редакторе, например, в Блокноте (Notepad), вводя тэги HTML и содержимое страниц, сохраняя в файле, а затем открывая их в браузере для предварительного просмотра. Некоторые опытные пользователи предпочитают этот метод, потому что он обеспечивает более тонкий контроль форматирования страниц и позволяет применять последние технологические новшества Интернета.

Служба Microsoft NNTP проста в управлении, поскольку содержит удобные инструменты и поддерживает тесную интеграцию с Microsoft Windows 2000 Server. Вот основные возможности службы Microsoft NNTP:

Поддержка стандартов

Служба Microsoft NNTP поддерживает Network News Transport Protocol (NNTP, Протокол доставки сетевых новостей), который предназначен для связи клиента с сервером, а также для связи двух серверов. Служба Microsoft NNTP поддерживает популярные расширения NNTP и полностью совместима с другими клиентами и серверами NNTP.

Кроме того, служба Microsoft NNTP поддерживает многочисленные форматы, включая:

  • Multipurpose Internet Mail Extension (MIME)
  • Язык разметки гипертекста HTML
  • Формат изображений GIF
  • Формат изображений JPEG

Поддержка этих стандартов позволяет включать изображения и гипертекстовые ссылки в статьи новостей.

Простота администрирования

Служба Microsoft NNTP предлагает на выбор два графических инструмента для выполнения всех задач администрирования:

  • Оснастка Internet Information Services.С помощью этой оснастки управление службой Microsoft NNTP осуществляется в пределах одной ЛВС. Этот инструмент может управлять всеми компонентами IIS, используя единый интерфейс (рис. 22.9).
  • Диспетчер служб Интернета (HTML). При помощи веб-браузера, например Microsoft Internet Explorer, можно управлять службой Microsoft NNTP с любого компьютера локальной сети или из Интернета. Единственное требование для применения этого инструмента ≈ наличие любого веб-браузера на компьютере администратора.

Рис 22.9. Оснастка Internet Information Services ≈ управление службой Microsoft NNTP

Интеграция с Microsoft Windows 2000

Служба Microsoft NNTP полностью использует преимущества стандартных инструментов администрирования Windows 2000 для текущего контроля производительности и отслеживания событий. При инсталляции службы Microsoft NNTP устанавливается набор счетчиков для оснастки Системный монитор. Все состояния службы Microsoft NNTP и сообщения об ошибках записываются в журналы событий и могут просматриваться при помощи оснастки Просмотр событий. Служба Microsoft NNTP также включает поддержку SNMP.

Служба Microsoft NNTP управляет доступом к группам новостей, используя списки ACL Windows 2000. Устанавливая разрешения на каталог, который содержит группу новостей, можно управлять доступом к этой группе новостей. Можно также разрешить анонимный доступ, при этом доступ к группе новостей будет предоставлен всем.

Интеграция со службой индексирования

Служба Microsoft NNTP поддерживает полнотекстовое индексирование содержания и индексирование по свойствам групп новостей.

Улучшенная безопасность

Служба Microsoft NNTP поддерживает несколько вариантов безопасности, которые аутентифицируют пользователей групп новостей и защищают частную информацию:

  • Анонимный доступ (anonymous access). Разрешает любому пользователю доступ к группе новостей, не требует указания имени пользователя или пароля.
  • Стандартное расширение безопасности NNTP (Standard Secure NNTP extension). Требует, чтобы пользователь предоставил имя пользователя и пароль, которые посылаются по сети открытым текстом.
  • Протокол вызова/ответа Windows (Windows Challenge/Answer Protocol). Требует, чтобы пользователь предоставил имя пользователя и пароль, которые передаются в шифрованном виде для безопасной передачи по сети. Этот протокол требует использования клиентского программного обеспечения Microsoft Internet Mail and News (или Outlook Express).
  • Протокол SSL (Secure Sockets Layer). Чтобы защитить информацию, передаваемую через общую сеть, служба Microsoft NNTP поддерживает шифрование SSL, которое включает проверку подлинности клиентов и серверов.

Для управления службой Microsoft NNTP можно использовать одно из двух средств администрирования. Выбор инструмента зависит от того, какие задачи нужно выполнять при администрировании, и от того, по какому каналу происходит соединение со службой. Можно управлять службой Microsoft NNTP как с компьютера, на котором служба работает, так и с удаленного компьютера:

Оснастка Internet Information Services может выполнять все задачи по администрированию, требует подключения через ЛВС. При ее использовании для управления службой NNTP нужно раскрыть узел Виртуальный NNTP-сервер по умолчанию.
Оснастку Internet Information Services можно использовать для управления виртуальным сервером NNTP и с удаленного компьютера, если он находится в той же ЛВС, что и Microsoft NNTP Service. Однако этот компьютер должен работать под управлением Microsoft Windows 2000, и на нем! должны быть установлены средства администрирования Windows 2000.
Виртуальный сервер, который создается по умолчанию на сервере после инсталляции службы, ≈ Виртуальный NNTP-сврвер по умолчанию (Default NNTP Virtual Server). Служба Microsoft NNTP может состоять из одного или большего количества виртуальных серверов NNTP.

Чтобы просмотреть или изменить свойства виртуального сервера NNTP:

1. Выберите в дереве нужный виртуальный сервер NNTP.
2. В меню Действие (Action) выберите команду Свойства (Properties).
3. Перейдите на нужную вкладку в диалоговом окне.
4. Измените любые опции по необходимости.
Диспетчер NNTP Service Manager (HTML) позволяет решать большинство задач, выполняемых в оснастке ММС. Преимущество NNTP Service Manager (HTML) в том, что через веб-браузер можно администрировать службу при помощи любого соединения через любую сеть, включая Интернет. Браузер может находиться на компьютере, на котором функционирует служба, или на любом другом компьютере, который может установить соединение по протоколу TCP/IP со службой Microsoft NNTP. В качестве браузера используйте Microsoft Internet Explorer версии 4.0 и старше или Netscape Navigator версии 4.0 и старше.

Для обращения к NNTP Service Manager (HTML) с компьютера, на котором функционирует служба Microsoft NNTP:

  • В строке адреса введите http://iocalhost/news/admin и перейдите к этому адресу

Для обращения к NNTP Service Manager (HTML) с удаленного компьютера:

  • В строке адреса введите http://имя_сервера/news/admin где имя_сервера ≈ компьютер, на котором функционирует служба Microsoft NNTP.
Предварительно следует удостовериться, что удаленный компьютер имеет необходимые разрешения для доступа к NNTP Service Manager (HTML).

При инсталляции службы Microsoft NNTP на компьютер устанавливаются оба средства администрирования. Для доступа к оснастке управления службой с удаленного компьютера нужен компьютер под управлением Microsoft Windows 2000; на удаленном компьютере должны быть установлены средства администрирования Windows 2000 (Windows 2000 Administrative Tools).

Функционирование службы NNTP

Служба Microsoft NNTP поддерживает протокол NNTP (Network News Transfer Protocol, Протокол передачи новостей Интернета), который является клиент-серверным протоколом. Служба Microsoft NNTP выступает в роли сервера, a Microsoft Outlook Express ≈ пример типичного клиента.

Клиенты подключаются к службе Microsoft NNTP по протоколу TCP/IP. Обычно по умолчанию при нормальном подключении используется TCP-порт 119, для шифрованных SSL-подключений ≈ TCP-порт 563.

Microsoft NNTP работает как служба на сервере Windows 2000 и стартует автоматически; ее имя в оснастке Службы (Services) ≈ Протокол Network News Transport Protocol (NNTP) (в англоязычной версии ≈ Network News Transfer Protocol (NNTP)).

Публикация статей. Для передачи статьи телеконференции через службу Microsoft NNTP следует использовать программу-клиент новостей, например Microsoft Outlook Express. Клиент подключается к NNTP и запрашивает публикацию переданной статьи в одной или более телеконференций. Служба NNTP устанавливает соединение, принимает запрос и проверяет права пользователя на публикацию статьи в указанных телеконференциях (рис. 22.10). Служба NNTP затем публикует статью в телеконференциях и модифицирует индекс телеконференции.

Рис 22.10. Публикация статей

Просмотр статей. Для просмотра статей в телеконференциях, опубликованных при помощи службы Microsoft NNTP, необходимо использовать программу-клиент чтения новостей, например Microsoft Outlook Express.

Первый шаг при просмотре статей в телеконференции ≈ получение списка доступных телеконференций (рис. 22.11). Клиент подключается к службе Microsoft NNTP и запрашивает список доступных телеконференций. Служба Microsoft NNTP принимает запрос, аутентифицирует пользователя, обращающегося к телеконференциям, проверяет его права, а затем посылает клиенту список всех доступных телеконференций.

Второй шаг ≈ выбор телеконференции, которую пользователь хочет просмотреть. Клиент запрашивает список статей в выбранной телеконференции. Служба Microsoft NNTP аутентифицирует пользователя, обращающегося к указанной телеконференции, проверяет его полномочия и посылает клиенту список всех статей в этой телеконференции. Затем пользователь выбирает статью, клиент запрашивает выбранную статью у службы Microsoft NNTP, а служба возвращает содержимое статьи.

Рис 22.11. Просмотр статей

Структуры данных службы Microsoft NNTP. Статьи телеконференций в службе Microsoft NNTP хранятся в одной или в нескольких группах иерархических каталогов. Каждая телеконференция имеет собственный каталог, а каждая статья хранится как файл в этом каталоге.

Основной каталог по умолчанию ≈ C:\Inetpub\Nntpfile\root, его можно переназначить на вкладке свойств основного каталога виртуального сервера NNTP. Можно создавать дополнительные иерархии каталогов на других дисках или на других компьютерах, создавая виртуальные каталоги.

Каталог телеконференции имеет то же имя, что и сама телеконференция. Служба Microsoft NNTP автоматически создает требуемые каталоги, когда создается новая телеконференция. Например, телеконференция, названная sample.test хранится в подкаталоге \sample\test относительно корневого каталога, то есть в каталоге C:\Inetpub\Nntpfile\root\sample\test. Все файлы статей телеконференций имеют расширение nws.

Служба Microsoft NNTP также создает файлы, в которых хранятся темы размещенных в телеконференции статей; эти файлы имеют расширение xix. Служба Microsoft NNTP создает один файл для каждых 128 статей в телеконференции.

Служба Microsoft NNTP также поддерживает множество внутренних файлов структуры данных с расширениями hsh, hdr, 1st и txt. Заданное по умолчанию расположение этих файлов ≈ C:\Inetpub\Nntpfile. Нельзя изменять или удалять эти файлы. Средства восстановления службы Microsoft NNTP исправляет эти файлы, если они были случайно удалены или повреждены.

Примеры использования сервера NNTP

Виртуальный сервер новостей для внутренних корпоративных целей. Общение важно для любой группы людей, работающих вместе. Во многих организациях трудно заставить всех членов группы применять средства совместной работы на постоянной основе. Телеконференции могут решить проблемы общения и взаимодействия людей. Они дают возможность любому в группе читать или помещать свою информацию. Просто также найти нужную информацию по заданной тематике, поскольку статьи организованы в виде тематических потоков. В отличие от электронной почты, телеконференции обеспечивают механизм легкого архивирования информации для справочных целей.

Цель: Улучшить возможности взаимодействия между членами отдела, работающими над проектом и усовершенствовать организацию хранения и архивирования информации.

Состав программного обеспечения: Microsoft Windows 2000 Server, Microsoft Internet Information Services (US), Microsoft Internet Mail and News или Microsoft Outlook Express.

Среда: Сеть на базе Microsoft Windows.

Установка: Установить службу Microsoft NNTP ≈ компонент US.

Прочие аспекты: Чтобы использовать телеконференции в качестве информационного архива, необходимо запретить удаление статей с истечением времени и производить периодическую архивацию информации.

Функционирование: Выполнение функций поддержки несколько телеконференций в пределах организации потребует не очень больших ресурсов со стороны сервера. Можно использовать любой компьютер, работающий под управлением Windows 2000 Server. Поскольку служба Microsoft NNTP использует стандартный протокол NNTP, сотрудники могут иметь доступ к

телеконференциям, используя любое клиентское программное обеспечение, поддерживающее NNTP, однако предпочтительно работать с Microsoft Internet Mail and News и Outlook Express ≈ клиентами, которые обеспечивают дополнительные функции защиты, если есть потребность в таких функциях. Сервер и клиенты должны поддерживать TCP/IP.

URL для телеконференций будет иметь следующие форматы:

где сервер ≈ имя или IP-адрес сервера NNTP, телеконференция ≈ имя телеконференции, а статья ≈ необязательный идентификатор конкретной статьи.

В зависимости от того, насколько конфиденциальными будут статьи, можно настраивать параметры защиты для телеконференции. Если информация доступна любому в организации и сеть защищена брандмауэром, можно разрешить анонимный вход. Для большей защиты можно использовать штатные средства безопасности Windows 2000, которые применяются к каждому пользователю телеконференции. Можно ограничить доступ к каталогам телеконференций для определенных учетных записей. Служба Microsoft NNTP управляет защитой, используя учетные записи Windows 2000 и соответствующие разрешения.

Результат: Работа членов отдела упростится. Сотрудники смогут читать и публиковать статьи, содержащие информацию по проекту, на сервере новостей. Для обсуждения деталей проекта не потребуются личные встречи, отнимающие время.

Общедоступный виртуальный сервер новостей. Может потребоваться несколько телеконференций с различной тематикой на общедоступном сервере новостей. Например, зарегистрированным пользователям некоторого продукта требуется одна конференция, а потенциальным покупателям, только собирающимся сделать свой выбор, ≈ другая.

Цель: Уменьшить затраты на поддержку пользователей и улучшить клиентскую службу, предоставив клиентам быстрый свободный доступ к информации и технической поддержке.

Программные компоненты: Microsoft Windows 2000 Server, Microsoft Internet Information Services (US), Microsoft Internet Mail and News или Microsoft Outlook Express.

Установка: Разрешить анонимный доступ; использовать DNS или WINS для разрешения имени; обеспечить доступ через брандмауэр (при его наличии).

Прочие аспекты: Необходимо рассмотреть возможность организации моде-рируемых (редактируемых специальноч назначенным человеком, так называемым «модератором») конференций, чтобы предотвратить публикацию не-

корректных, технически неправильных статей. Это может ограничить возможность клиентов помочь друг другу, если персонал поддержки не доступен в настоящий момент.

Функционирование: Если службы IIS уже используются, то для обеспечения технической поддержки через публикацию технической информации на веб-сервере можно просто добавить поддержку телеконференций на том же компьютере. Если планируется активно использовать сервер телеконференций, можно расположить службу Microsoft NNTP на отдельном компьютере.

Можно создать отдельную телеконференцию для каждого продукта, для которого требуется техническая поддержка, или создать несколько телеконференций для каждого продукта, одну для каждой темы поддержки.

URL-адреса для телеконференций будут иметь стандартные форматы (см. выше).

Чтобы обеспечить наискорейшую отдачу от телеконференций, персонал поддержки клиентов должен достаточно часто читать статьи в телеконференциях и быстро отвечать на вопросы. Одним из удобных средств может оказаться публикация часто задаваемых вопросов (Frequently Asked Questions, FAQ) и ответов на них.

Результат: Клиенты получают более эффективную поддержку и, следовательно, в большей степени удовлетворены применяемыми продуктами, т. к. они имеют непосредственный доступ к самой свежей информации, касающейся этих продуктов. Производительность труда у персонала поддержки будет выше, т. к. теперь не нужно много раз отвечать на один и тот же вопрос.

Служба Microsoft SMTP имеет следующие особенности:

Поддержка стандартных протоколов Интернета. Служба Microsoft SMTP обеспечивает полную поддержку SMTP и совместима с почтовыми клиентами SMTP.
Масштабируемость. Служба Microsoft SMTP поддерживает сотни одновременных клиентских соединений при конфигурации с одним сервером. Можно также настроить использование множества доменов для одного сервера.
Простое администрирование и интеграция с Microsoft Windows 2000. Служба Microsoft SMTP управляется как через консоль ММС (рис. 22.12), так и с помощью веб-интерфейса.
Улучшенная безопасность. Служба Microsoft SMTP поддерживает протоколы безопасной передачи почты на транспортном уровне.
Прямая доставка и извлечение почты. Служба Microsoft SMTP поддерживает размещение всех входящих сообщений непосредственно в каталоге \Drop. Это позволяет использовать службу Microsoft SMTP для приема почты других приложений. В дополнение к передаче сообщений через порт TCP приложения могут использовать каталог \Pickup. После форматирования сообщения служба Microsoft SMTP осуществляет его доставку.

Можно управлять службой с помощью одного из двух административных средств. Выбор инструмента зависит от того, какие задачи должны выполняться, и от того, как производится соединение со службой. Можно управлять службой Microsoft SMTP с того компьютера, на котором служба функционирует, или с удаленного компьютера.

Служба Microsoft SMTP имеет стандартные средства управления:

Оснастка Internet Information Services, которая может выполнять все задачи по администрированию службы и требует подключения через ЛВС. В дереве консоли нужно развернуть узел Виртуальный NNTP-cepeep no умолчанию (рис. 22.12).

Виртуальный сервер, который создается при инсталляции службы, ≈ Виртуальный NNTP-cepeep no умолчанию (Default SMTP Virtual Server).

Рис 22.12. Управление SMTP-сервером с помощью оснастки Internet Information Services (в составе оснастки Управление компьютером)
Диспетчер SMTP Service Manager (HTML), с помощью которого можно выполнять большинство задач управления, которые могли бы быть выполнены с помощью оснастки IIS. Преимущество SMTP Service Manager (HTML) в том, что можно подключаться и управлять службой SMTP с использованием любой сети, включая Интернет.

Для управления службой веб-браузер можно запускать на компьютере, где установлена служба, или с любого другого компьютера, работающего по протоколу TCP/IP и доступного по сети (включая подключение через Интернет). Необходим браузер Microsoft Internet Explorer 4.0 или выше, либо Netscape Navigator 4.0 или выше.

Для того чтобы запустить SMTP Service Manager (HTML) с компьютера, на котором выполняется служба Microsoft SMTP (имя службы ≈ Протокол Simple Mail Transport Protocol (SMTP)):

  • В строке адреса браузера введите http://looalhost/mail/smtp/admin

Для того чтобы запустить SMTP Service Manager (HTML) с удаленного компьютера:

  • В строке адреса браузера введите http: //ceрвep/mail/smtp/admin

где сервер ≈ имя компьютера, на котором функционирует служба Microsoft SMTP.

Необходимо удостовериться, что удаленный компьютер имеет нужные разрешения для обращения к SMTP Service Manager (HTML).

Цвет значка виртуального сервера SMTP показывает состояние сервера: зеленый обозначает работающую службу, серый ≈ приостановленную, красный ≈ остановленную службу.

Оба административных средства установлены по умолчанию и функционируют на компьютере, на котором установлена служба SMTP фирмы Microsoft. Чтобы использовать управление через оснастку с удаленного компьютера, нужен компьютер под управлением Microsoft Windows 2000; на удаленном компьютере должны быть установлены средства администрирования Windows 2000 (Windows 2000 Administrative Tools).

Службы компонентов (Component Services) обеспечивают разработку и развертывание распределенных клиент-серверных приложений типа онлайновых бизнес-приложений и приложений электронной коммерции, имеющих веб-интерфейс. Службы компонентов используют технологию СОМ+ и обеспечивают такие функциональные возможности, как автоматическая поддержка целостности данных на основе транзакций, защита информации, основанная на ролях, доступ к различным СУБД, службам очередей сообщений (например, MSMQ) и другим приложениям.

Службы компонентов полностью интегрированы с другими компонентами и службами Windows 2000 Server. Интеграция со службами Internet Information Services и Active Server Pages упрощает создание приложений в среде Интернет/интрасети. Интеграция с кластерными службами повышает отказоустойчивость. Интеграция со службой обработки очередей сообщений (MSMQ) обеспечивает надежную, постоянную связь между приложениями.

Возможности Microsoft Transaction Server (MTS) были объединены с «классической» технологией СОМ и образовали технологию СОМ+, которая интегрирована в операционную систему Windows 2000. Оснастка ММС для управления СОМ+ ≈ Службы компонентов (Component Services) доступна из меню Администрирование (Пуск | Программы | Администрирование | Службы компонентов).

В состав служб компонентов входит переработанный инструмент управления, реализованный в виде оснастки ММС, с помощью которого можно устанавливать пакеты MTS в СОМ+ (рис. 22.13). Ранее для этого применялись специальные инструменты MTS. Сразу после установки пакета можно использовать такие новые возможности СОМ+, как базы данных, хранящиеся в оперативной памяти (In-Memory DataBase, IMDB), или новая система поддержки событий.

Рис 22.13. Оснастка управления СОМ+ ≈ Службы компонентов (Component Services)

Другие службы Интернета в Windows 2000

Назначение и основные возможности. Служба индексирования (Indexing Service) ≈ служба, входящая в поставку Windows 2000 всех модификаций (включая настольную версию Professional), которая индексирует файлы на локальном жестком диске и на общедоступных дисководах в сети. Выполнять поиск можно по индексу слова в содержании файлов или в свойствах файлов. Служба индексирования возвращает список всех документов, которые соответствуют критериям поиска.

Служба индексирования создана для непрерывной работы и не требует специального сопровождения. После того как она установлена, все действия осуществляются автоматически, включая создание индексов, обновление индексов и их восстановление в случае аварийного отказа, если произошел сбой питания. Служба индексирования безотказно работает в средах, критических по параметрам надежности и доступности, где сервер должен функционировать 24 часа в сутки и 7 дней в неделю.

Служба индексирования может индексировать:

Файлы HTML
Текстовые файлы
Файлы Microsoft Office
Файлы почты Интернета
Любые другие файлы, для которых имеется фильтр документа

Основы работы. Служба индексирования создает реестр каталогов, чтобы определить, какие документы должны быть проиндексированы; этот процесс впервые запускается сразу же после установки службы. Служба индексирования автоматически выполняет либо полный просмотр, либо инкре-ментный просмотр по мере необходимости.

Полный просмотр


При полном просмотре индексируются все документы в папках, которые перечислены в списке индексируемых документов. Служба индексирования делает полный просмотр всех жестких дисков на компьютере, когда служба запущена впервые после установки, когда папка добавляется к каталогу, или во время восстановления, если произошла серьезная ошибка. Можно также принудительно выполнить полный просмотр в любое время.

Инкрементный просмотр

При инкрементном просмотре к списку документов, которые будут проиндексированы, добавляются только те документы, которые были изменены со времени последнего индексирования. Когда служба индексирования запускается (после первого раза), она производит инкрементный просмотр всех индексированных папок на дисках с файловой системой, отличной от NTFS, чтобы определить, какие файлы были изменены, когда служба не функционировала.

Инкрементный просмотр также выполняется, если система теряет уведомления об изменениях. Это может случиться, если изменилось большое количество документов, и буфер Windows 2000, используемый для получения уведомлений об изменениях, переполняется. Инкрементный просмотр, так же как и полный просмотр, можно принудительно запустить в любое время.

Для каждого документа, который будет проиндексирован, служба индексирования выполняет следующие действия:

1. Используя соответствующий документу фильтр, считывает документ, извлекает из него значения свойств документа и выделяет содержание. Сохраняет значения свойств документа и путь к документу в индексе.
2. Разбивает поток предложений на отдельные слова. Для того чтобы разбить текст на слова, служба индексирования использует процедуры, соответствующие языку документа ≈ английскому, немецкому, японскому и т. д.
3. Удаляет незначащие слова ≈ предлоги, междометия, вспомогательные глаголы и т. д.
4. Сохраняет оставшиеся слова и путь к документу в индексе.
5. Сохраняет значения выбранных свойств документа в кэше свойств.

Фильтры ≈ программные компоненты, которые «понимают» структуру файла соответствующего типа, например, документа Microsoft Word или HTML. Фильтр извлекает содержание и значения свойств и посылает их ядру индексации.

Служба индексирования поставляется с фильтрами для отдельных популярных типов файлов, созданных, например, приложениями Microsoft Office. Фильтры для файлов, созданных в других приложениях, часто можно получить от поставщиков соответствующего программного обеспечения.

Требования к конфигурации компьютера. Минимальная аппаратная конфигурация для службы индексирования ≈ та же, что и для самих систем Microsoft Windows 2000. Однако индексация и работа механизмов поиска зависят от количества и размера документов, которые будут проиндексированы, интенсивности поступления поисковых запросов и сложности запросов. На работу службы также влияет мощность компьютера. Компьютер с минимальной, аппаратной конфигурацией для Windows 2000 Server хорошо обрабатывает запросы, если число одновременных запросов не слишком высоко. Для маленькой организации этого может оказаться достаточно, но для большой организации, обслуживающей много пользователей, рекомендуется более мощная конфигурация (табл. 22.2).

Таблица 22.2. Рекомендуемые конфигурации компьютера, в зависимости от числа индексируемых документов

Число индексируемых документов Минимальный объем оперативной памяти (Мбайт) Рекомендуемый объем оперативной памяти; (Мбайт)
Менее 100000 64 64
От 100 000 до 250 000 64 От 64 до 128
От 250 000 до 500 000 64 От 128 до 256
500 000 и более 128 От 256

Если документов много, а памяти для работы службы не хватает, производительность системы может серьезно понизиться. Если компьютер при функционировании службы работает медленно, можно попробовать настроить производительность службы (см. ниже). Можно улучшить производительность службы и компьютера в целом, увеличивая объем оперативной памяти и увеличивая объем памяти, выделенный для кэша свойств (property cache). Более быстрый процессор увеличивает скорость индексации и обработки запросов.

Полный объем документов, которые будут проиндексированы, и тип файловой системы также влияют на объем дискового пространства, требуемого для хранения данных службы индексирования. В файловой системе FAT пространство, необходимое для каталога, плюс временное рабочее пространство, приблизительно равно 30% объема индексируемого текста. В файловой системе NTFS требуется пространство, приблизительно равное 15% объема индексируемого текста,

Управление службой. В предыдущих версиях (входивших в состав Option Pack для Windows NT Server 4.0 иди поставлявшихся отдельно) управлять службой индексирования можно было как при помощи оснастки, так и с использованием HTML Интерфейса. В Windows 2000 оставлена только возможность управления службой индексирования с использованием оснастки (рис. 22.14).

Рис 22.14. Оснастка управления службой индексирования

Для управления службой индексирования:

1. Запустите оснастку Управление компьютером.
2. В дереве консоли разверните узел Службы и приложения | Служба индексирования (Services and Applications | Indexing Service).

Настройка производительности службы индексирования:

1. Запустите оснастку управления службой индексирования.
2. В меню Действие (Action) выберите пункт Стоп (Stop).
3. В меню Действие выберите пункт Все задачи | Настройка производительности (All Tasks | Tune Performance).
4. В диалоговом окне Применение службы индексирования (Indexing Service Usage) выберите вариант, который наиболее соответствует способу использования службы индексирования на данном компьютере.
5. Если выбран вариант Особым образом (Customize), нажмите кнопку Настроить (Customize) и перейдите к следующему шагу. Если выбран другой вариант, перейдите к шагу 9.
6. В диалоговом окне Производительность индексации (Desired Performance) переместите ползунок Построение индекса (Indexing) в сторону Отложенное (Lazy) для менее интенсивного индексирования или в сторону Немедленное (Instant) для скорейшего индексирования новых и измененных документов. Отложенное индексирование использует меньшее количество ресурсов компьютера; а немедленное ≈ столько ресурсов, сколько возможно.
7. Переместите ползунок Скорость обработки запросов (Querying) в сторону Низкая (Low load), если ожидается обработка малого количества запросов одновременно, или Высокая (High load), если ожидается обработка большого количества запросов одновременно. Обработка с низкой скоростью использует меньшее количество ресурсов; с высокой ≈ большее.
8. Закройте диалоговое окно Производительность индексации.
9. Закройте диалоговое окно Применение службы индексирования и запустите службу индексирования, выполнив команду Пуск (Start) меню Действие (Action).

Поиск информации с помощью службы индексирования. При поиске информации запрос посылается службе индексирования. Служба индексирования, просматривая индекс, ищет документы, соответствующие критериям запроса, и возвращает список соответствующих запросу документов пользователю (или приложению, пославшему запрос).

В дополнение к запросу по содержанию можно сделать запрос по свойствам файлов. Эти свойства включают: размер файла, даты создания и изменения, имя файла, авторов файла и т. д. Можно, например, сделать запрос по текстовым свойствам (имя файла и автор) и числовым свойствам (размер и дата изменения). Можно также сделать запрос по всем свойствам элементов ActiveX, включая пользовательские свойства документов Microsoft Office.

Поиск можно выполнять тремя способами:

С помощью команды Найти | Файлы и палки (Search | Files and Folders) меню Пуск (Start)

Можно искать любое слово (фразу), вводя это слово (фразу) в диалоговом окне Поиск файлов и папок, вызванном командой меню Пуск | Найти (рис. 22.15).

Рис 22.15. Поиск информации при помощи команды Пуск | Найти | Файлы и папки

Используя веб-страницу для передачи запроса на выполнение через Internet Information Services

Для веб-доступа владелец или администратор узла создает веб-страницу (документ HTML), из которой можно посылать на выполнение запросы. Страница может быть настроена для упрощения ввода и улучшения вида запросов и поиска информации по различным критериям. Автор страницы может также задавать отдельные индексы или части индексов, по которым нужно производить поиск. Результаты поиска возвращаются в виде веб-страницы.

При помощи оснастки

Форма запроса может быть включена в каждый каталог в службе. При помощи этой формы можно выполнять любой вид запросов, используя все возможности языка запросов. Чтобы открыть форму запроса:

1. Запустите оснастку Управление компьютером.
2. В дереве консоли разверните узлы Управление компьютером | Службы и приложения | Служба индексирования | Требуемый каталог (Опрос

каталога (Computer Management | Services and Applications [Indexing Service | Требуемый каталог \ Query the Catalog).

Форма запроса появится в правом подокне (рис. 22.16).

Рис 22.16. Поиск информации с использованием оснастки службы индексирования

Формы запросов. Служба индексирования поддерживает полную и краткую формы запросов. Запросы в полной форме создаются с использованием тэгов начала и окончания запроса, которые обозначаются фигурными скобками (<>). Тэги запроса служат для открытия и закрытия предложения запроса. Тэги запроса могут также включать уточняющие атрибуты или параметры.

Длинная форма и краткие запросы

Большинство операторов в языке запросов имеет полную форму и соответствующую краткую. Например, edocauthor ≈ краткое имя свойства Author, в то время как ≈ длинная форма.

Символы режима в кратких запросах

В кратких запросах следующие символы указывают режим (табл. 22;3).

Таблица 22.3. Режим запроса в краткой форме

Символ Режим
@ Запрос на поиск фразы (эквивалент )
# Запрос с регулярным выражением (эквивалент )
$ Свободно текстовый запрос (эквивалент )

Правила составления запросов. Имеются пять видов запросов:

Свободные текстовые запросы
Запросы-фразы
Запросы сопоставления с образцом
Относительные запросы
Векторно-пространственные запросы

Правила, относящиеся к запросам всех видов

  • В запросах не различаются строчные и прописные буквы.
  • Можно искать любое слово, если оно не содержится в списке исключений (рис. 22.17).
  • Для того чтобы использовать специальные символы в запросе (типа &, |, # и $), нужно заключить запрос в кавычки.
  • Значения даты и времени имеют одну из двух форм:

Первые два символа года и полного времени могут быть опущены. Если опускаются первые два символа года, дата интерпретируется как находящаяся в интервале между 1930 и 2029 гг. Трехзначное число миллисекунд может быть задано после секунд. Все даты и времена задаются в UTC (Universal Coordinated Time[ME1], Скоординированное всемирное время). Пример задания времени: 1993/11/7 12:04:23:123.

Рис 22.17. Список слов-исключений для американского английского языка
Дата и время относительно текущей даты и времени могут быть выражены со знаком «минус» (-), за которым следует одна или более пар «целое число-единица». Единицы задаются так: у ≈ число лет, q ≈ число кварталов (три месяца), m ≈ число месяцев, w ≈ число недель, d ≈ число дней, h ≈ число часов, п ≈ число минут и s ≈ число секунд. Числовые значения могут быть заданы в десятичном или в шестнадцатеричном виде. Шестнадцатеричные значения предваряются символами «Ох».

Оператор contains. Для поиска слова или фразы в заданном свойстве можно использовать оператор contains. Если оператор не задан, по умолчанию считается заданным оператор contains. Следующие запросы эквивалентны:

@DocTitle «Что-то важное»

@DocTitle CONTAINS «Что-то важное»

Булевы операторы. Можно использовать булевы операторы and, or и мот как в запросах на вхождение в содержимое, так и в запросах по свойствам. Оператор near может применяться только в запросах по содержимому документов. Операторы в запросах могут быть записаны как в полной, так и в краткой форме (табл. 22.4).

Таблица 22.4. Полная и краткая формы операторов

Оператор Длинная форма Краткая форма
AND AND &
OR OR I
NOT AND NOT &!
NEAR NEAR Near,
∙ Булевы операторы доступны только в английском написании.
∙ Булевы операторы рассматриваются в следующем порядке : not, and и NEAR, OR.

Текстовые запросы. Для свободных текстовых запросов можно указывать группу слов или законченное предложение. Служба индексирования находит документы, которые лучше всего соответствуют словам и фразам в свободно текстовом запросе. Булевы операторы и подстановочные символы в таком запросе игнорируются.

Запросы на поиск фразы. Чтобы искать фразу, ее нужно или заключить в кавычки, или предварить тэгом . Слова в запросе на поиск фразы должны встретиться в документе в указанном порядке, без пропуска слов.

Запросы сопоставления с образцом. Для запросов сопоставления с образцом служба индексирования выбирает документы, соответствующие образцу, который задается пользователем.

В такого рода запросах используются маски (wildcards), запросы, задающие словоформы, регулярные выражения и операторы отношений.

Относительные запросы. В таких запросах для поиска документов, свойства которых лежат в некотором диапазоне, можно использовать операторы отношения: больше, меньше, равно, не равно и т. п.

Векторно-пространственные запросы. Векторно-пространственные запросы предназначены для поиска документов, которые соответствуют списку слов и фраз. Документы, которые возвращаются после выполнения векторно-пространственного запроса, не обязательно соответствуют каждому термину в запросе. Ранг каждого документа указывает, насколько хорошо документ соответствует запросу.

Можно задавать весовые коэффициенты, чтобы управлять относительной важностью терминов для получения результата. Допустимые значения весов находятся в диапазоне от 0,0 до 1,0.

Примеры запросов. В табл. 22.5 приведены примеры разнообразных запросов.

Таблица 22.5. Примеры запросов

Документы, измененные после 18 июля 1999 года, в11:05ло1ЯС

Чтобы найти Полная форма Краткая форма Результат
Заданное значение = Иван Иванов @DocAuthor = Иван Иванов Документы, созданные Иваном Ивановым
Значение, начинающееся с заданного префикса <гедех>Иван * Документы, чье свойство «автор» начинается с «Иван»
Файлы с расширением из числа заданных < regex >* . | (doc | , txt | , wri | ) < /regex > < /prop > #filename *. | (doc|, txt |, wri| ) Файлы с расширениями doc, txt или wri
Документы, измененные после некоторой даты > 99/7/18 11:05:00 @write > 99/7/18 11:05:00
Документы, измененные после относительной даты > -2d4h @write > -2d4h Документы, измененные в пределах последних 52 часов

Службы очереди сообщений

Службы очереди сообщений (Microsoft Message Queuing Services, MSMQ) ≈ сервис, входящий в стандартную поставку Microsoft Windows 2000 Server. С помощью MSMQ приложения, работающие в разное время, могут связываться через разнородные сети и системы, способные временно работать автономно. Приложения посылают сообщения MSMQ и используют очереди MSMQ ≈ это позволяет быть уверенным, что сообщение рано или поздно достигнет адресата. MSMQ обеспечивает гарантированную доставку сообщений, интеллектуальную маршрутизацию, защиту и передачу сообщений, основанную на приоритетах.

При помощи MSMQ конечные пользователи могут связываться через автономные сети и системы, вне зависимости от текущего состояния поддерживающих связь приложений и систем. При помощи MSMQ разработчики могут сосредоточиться на программировании бизнес-логики, а не решать проблемы работы с сетями, поскольку MSMQ обеспечивает гарантированную доставку. Администраторы систем при помощи MSMQ могут эффективно управлять большими, сложными сетями очередей сообщений.

Программные продукты с такими возможностями часто называют программным обеспечением поддержки очередей сообщений, программным обеспечением с промежуточным накоплением или средствами среднего уровня, ориентированными на сообщения (MOM, Message-Oriented Middleware).

Особенности и возможности службы MSMQ: .

Интеграция с Windows 2000 Server. Поддерживается служба Active Directory, в которой хранятся отдельные объекты MSMQ.
Работа в смешанном режиме. MSMQ может функционировать в смешанных сетевых средах, состоящих из серверов и клиентов на базе как Windows NT 4.0, так и Windows 2000.
Совместимость сверху вниз. Служба MSMQ полностью совместима с MSMQ версии 1.0.
Передача сообщений без установления логического соединения. Поскольку MSMQ использует бессеансовую модель на прикладном уровне, отправитель и получатель не обязаны применять один и тот же протокол. MSMQ поддерживает протоколы IP и IPX.
Поддержка приоритетов трафика. Приоритеты сообщений позволяют срочному или важному трафику вытеснять менее важный, что гарантирует адекватное время ответа критическим приложениям за счет менее важных приложений.
Гарантированная доставка. Сообщения помещаются в хранящуюся на диске очередь, что обеспечивает гарантированную доставку сообщений.
Транзакции. Имеется возможность использования транзакций MSMQ, т. е. можно объединить несколько действий MSMQ в транзакцию и обеспечить гарантированную доставку сообщений, а также то, что они будут доставлены не более одного раза или что доставленные сообщения будут успешно извлечены из очереди адресатом.
Динамические очереди. Администраторы могут изменять свойства очередей без воздействия на приложения передачи сообщений.
Маршрутизация. MSMQ поддерживает интеллектуальную маршрутизацию, которая основана на физической топологии сети, группировке сеансов и на обеспечении транспортной связности. Группировка сеансов облегчает эффективное использование медленных линий.
Безопасность. MSMQ поддерживает механизмы безопасности: управление доступом, аудит, шифрование и аутентификацию. Управление доступом реализовано с применением системы безопасности Windows 2000 и цифровых подписей. Аудит реализован при помощи службы регистрации событий Windows 2000. Шифрование и аутентификация (использование цифровых подписей) обеспечиваются при помощи механизмов открытых и закрытых ключей.
Широкая интеграция систем. Приложения MSMQ могут выполняться на целом ряде аппаратных платформ, использующих продукты для обеспечения связи со службой MSMQ, поставляемые фирмой Level 8 Systems, партнером Microsoft, Исходно MSMQ поддерживает Windows NT, Windows 95 и Windows 98. Поддержка остальных систем поставляется фирмой Level 8 Systems.
Среда программирования MSMQ.. Прикладной интерфейс MSMQ позволяет разрабатывать приложения MSMQ на языке С или C++. MSMQ также включает элементы управления СОМ, которые можно применять для создания приложений MSMQ в Microsoft Visual Java (VJ), Visual Basic (VB) или любых других приложений-контейнеров СОМ (например, Microsoft Access или Borland/Inprise Delphi). При помощи Microsoft ASP и Microsoft US можно интегрировать MSMQ-приложение с веб-страницами и формами, использующими элементы управления СОМ. При помощи MAPI Transport Provider и Exchange Connector можно интегрировать приложение MSMQ с формами Exchange и клиентами MAPI. Транспорт MSMQ

RPC можно использовать для создания надежных приложений, использующих вызовы RPC.

Установка MSMQ. Чтобы добавить или удалить службу:

1. В меню Пуск (Start) выберите команду Настройка (Settings) | Панель управления (Control panel) | Установка/удаление программ (Add/Remove Programs).
2. В левой панели диалогового окна Установка/удаление программ выберите вкладку Добавление/удаление компонентов Windows.
3. Откроется окно Мастер компонентов Windows (Windows Components Wizard). В списке Компоненты Windows (Windows Components) выберите опцию Службы очереди сообщений (Message Queuing Services) (рис. 22.18).
4. Нажмите кнопку Далее (Next) и следуйте командам мастера.

Рис 22.18. Установка служб очереди сообщений

Сначала нужно установить сервер MSMQ на контроллере домена Windows 2000 (в группе серверов, объединенных территориально), а затем можно устанавливать программное обеспечение MSMQ на других компьютерах. Сервер MSMQ не может быть установлен на компьютерах, работающих под управлением Windows 2000 Professional.

Служба MSMQ в Windows NT 4.0 и Windows 2000. Перечислим общие задачи управления службой MSMQ. Интерфейс пользователя для выполнения этих задач отличается в Windows 2000 от интерфейса в Windows NT 4.0.

В табл. 22.6 перечислены отличия в терминологии и в архитектуре предыдущих версий от текущей версии MSMQ.

Таблица 22.6. Управление службой MSMQ в Windows 2000 и в Windows NT 4.0

Необходимое действие Windows NT 4.0 Windows 2000
Управление доступом, установка аудита или изменение владельца для Message Queuing MSMQ Explorer Оснастка Active Directory- пользователи и компьютеры (Active Directory Users and Computers)
Изменение учетной записи для службы MSMQ Значок Services на панели управления Оснастка Управление компьютером (Computer Management)
Настройка параметров маршрутизации MSMQ Explorer Оснастка Active Directory — пользователи и компьютеры
Создание внешних (foreign) узлов или добавление внешних компьютеров MSMQ Explorer Оснастка Active Directory-пользователи и компьютеры
Добавление, удаление и настройка компьютеров MSMQ; установка квот для компьютеров или изменение свойств MSMQ Explorer Оснастка Active Directory — пользователи и компьютеры
Установка параметров IPX/SPX для компьютеров MSMQ Значок Network на панели управления Значок Сеть и удаленный доступ к сети (Network arid Dialup Connections) на панели управления
Создание, удаление и настройка очередей; установка квот очереди или изменение свойств MSMQ Explorer Оснастка Active Directory — пользователи и компьютеры
Просмотр и удаление сообщений; просмотр свойств сообщений MSMQ Explorer Оснастка Active Directory — пользователи и компьютеры

Управление службой MSMQ. Управление MSMQ на локальном компьютере осуществляется при помощи оснастки Управление компьютером ≈ узел Службы и приложения | Очередь сообщений. Основное управление объектами MSMQ в организации осуществляется с применением оснастки Active Directory ≈ пользователи и компьютеры. Для управления MSMQ в организации:

1. Запустите оснастку Active Directory ≈ пользователи и компьютеры.
2. В дереве консоли разверните узел Active Directory ≈ пользователи и компьютеры.
3. В меню Вид (View) выберите пункт Пользователи, группы и компьютеры как контейнеры (Users, Groups and Computers as Containers), а затем в том же меню выберите пункт Дополнительные функции (Advanced Features).
4. В дереве консоли найдите нужный домен, затем подразделение, наконец нужный компьютер, на котором установлена MSMQ, щелкните правой кнопкой мыши на узле msmq и в контекстном меню выберите пункт Свойства (Properties).

Службы Windows Media

Службы Windows Media в составе Microsoft Windows 2000 ≈ это группа служб, которые предназначены для передачи клиентам аудио- и видеоинформации при помощи одноадресного и группового вещания. Службы Windows Media используются также для передачи файлов клиентам. Поставляемое содержимое может быть создано, приобретено у поставщика или передаваться с телевизионных камер и микрофонов. В последнем случае его называют живым потоком (live stream).

Пользователи могут обращаться к поставляемому содержимому через Интернет, через корпоративную или образовательную интрасеть или через специализированные группы, которые получают содержимое в выделенной сети или в интрасети.

На рис. 22.20 будет представлена схема, которая иллюстрирует общую технологию доставки клиентам файлов типа Advanced Streaming File (ASF, Усовершенствованный потоковый файл).

Как показано на схеме, для создания содержимого файлов ASF применяются средства Media Services ≈ Windows Media Author, VidToASF и WavToASF.

Для передачи живого потока можно использовать Кодировщик Windows Media (Windows Media Encoder) вместе с видеокамерой и микрофоном, чтобы кодировать содержимое в поток ASF, который службы Windows Media могут передавать пользователям. Кодировщик также может записывать поток ASF, который он кодирует в файл ASF для дальнейшего воспроизведения.

Службу можно применять для различных целей, например для распространения информации, для организации информационных, развлекательных и маркетинговых узлов, для обучения, управления и т. д.

Новые возможности. Потоковые мультимедийные службы в составе Microsoft Windows 2000 предоставляют многочисленные новые возможности для доставки потокового аудио- и видео-содержимого:

Улучшенное качество
Расширенный набор серверных компонентов
Программное обеспечение для кодирования информации
Большее количество инструментов
Поддержка в Проигрывателе Windows Media (Windows Media Player)
Большее количество сервисных возможностей

Состав служб Windows Media. Службы Windows Media собтоят из служб-компонентов и административной утилиты ≈ Администратор Windows Media (Windows Media Administrator).

Службы Windows Media. Windows Media ≈ набор служб, работающих под управлением Microsoft Windows 2000 Server. Эти службы предназначены для передачи звуковой и видеоинформации при помощи одноадресного и группового вещания клиентам.
Администратор Windows Media. Администратор Windows Media ≈ набор веб-страниц, который функционирует в окне браузера Microsoft Internet Explorer версии 5.0 и управляет службами-компонентами Windows Media. При помощи администратора Windows Media можно управлять локальным сервером или одними или несколькими удаленными серверами Windows Media. Чтобы управлять несколькими серверами, нужно добавить серверы в список серверов, а затем соединиться с сервером, которым не обходимо управлять.

Администратор Windows Media (рис. 22.19) может функционировать (помимо Windows 2000) на Microsoft Windows 98 или Microsoft Windows NT 4.0 с установленными Service Pack 4 (SP4) и Microsoft Internet Explorer 5.0. Администратор Windows Media также работает и с Internet Explorer 4.01 или под Microsoft Windows 95, но эти платформы официально не поддерживаются.

Вот основные процедуры, которые обычно выполняются при работе с Администратором Windows Media:

Чтобы запустить Администратор Windows Media:

Нажмите кнопку Пуск (Start) и выберите команду Программы | Администрирование | Windows Media (Programs | Administrative Tools | Windows Media).

Чтобы соединиться с сервером Windows Media:

В окне Администратор Windows Media в списке выберите сервер, который необходимо администрировать.

Если сервер, который нужно администрировать, не виден в списке серверов или список серверов вообще пуст, необходимо добавить сервер в список сервeров.
Чтобы добавить сервер к списку серверов:

В окне Администратор Windows Media нажмите кнопку Добавить сервер

(Add Server), а затем введите имя сервера в поле Сервер (Server).

Чтобы удалить сервер из списка серверов:

Выберите имя сервера в списке и нажмите кнопку Удалить сервер (Remove Server). Администратор Windows Media отключается от сервера, а имя сервера удаляется из списка серверов.

Рис 22.19. Администратор Windows Media

Клиентское программное обеспечение. Программный клиент, получающий данные с сервера Windows Media, называется Проигрыватель Windows Media (Windows Media Player) (рис. 22.20). Службы Windows Media используют Проигрыватель Windows Media, чтобы воспроизводить потоки ASP, которые могут включать видеоинформацию, звук, изображения, URL и сценарии.

Средства Windows Media. Следующие инструменты и утилиты предназначены для служб Windows Media, чтобы создавать и модифицировать данные, которые публикуются при помощи сервера Windows Media:

Кодировщик Windows Media (Windows Media Encoder) ≈ средство, которое может преобразовывать как «живую», так и сохраненную звуковую и видео — информацию в поток ASF, который передается при помощи сервера Windows Media. Для добавления специальных возможностей к потоку данных можно использовать язык сценариев. Команды сценария позволяют выполнить синхронный переход к заданному веб-узлу, отображение и пролистывание страниц, предоставить оценочную информацию или создать сообщение электронной почты. Как только поток создан, он может быть записан в файл *.asf для дальнейшего проигрывания:
Windows Media Author ≈ инструмент, разработанный Microsoft совместно с компанией Digital Renaissance, Inc. Этот инструмент служит для трансляции, синхронизации и сжатия звуковых данных и картинок в единый файл *.asf. Информация Windows Media, которая создается при помощи этого инструмента, называется иллюстрированным звуком, поскольку содержит слайды, связанные со звуковой дорожкой. Windows Media Author также может добавлять команды сценариев и URL к файлам *.asf.
Windows Media ASF Indexer ≈ инструмент, который редактирует время начала и остановки файлов *.asf и индексирует их. Он также служит для создания маркеров, свойств и команд сценариев для файла *.asf.
VidToAsfu WavToAsf≈ утилиты преобразования, работающие из командной строки сервера. Служат для конвертирования существующих аудио-и видеофайлов в формат ASF.

Рис 22.20. Проигрыватель Windows Media в качестве клиента служб Windows Media

ASFCheck ASFChop и ASX3TEST — файловые утилиты, работающие из командной строки на сервере. ASFCheck служит для проверки формата файла *.asf и восстановления файла, если это возможно. С помощью ASFChop можно добавить свойства, маркеры, индексы и команды сценариев к файлу *.asf и удалять отрезки времени из файла *.asf. С помощью ASX3Test можно проверить синтаксис файла *.asx, созданного в текстовом редакторе.

Форматы. Службы Windows Media предоставляют возможность доставки мультимедийной информации большому количеству клиентов, использующих форматы ASF, WMA и WAV.

Клиенты могут проигрывать такие файлы, не загружая их целиком, поскольку они принимаются по сети в виде потоковых данных. Потоковая передача данных существенно уменьшает время загрузки и требования к памяти на клиентской стороне. Она также позволяет транслировать данные неограниченной длины, например, предоставляет возможность живых трансляций.

Службы Windows Media используют формат ASF ≈ открытый стандарт, который поддерживает доставку данных поверх многих сетей и протоколов. ASF служит для упорядочения* организации и синхронизации мультимедиа-данных для передачи при помощи потока по сети. ASF ≈ формат файлов; однако он может также обеспечить передачу живой трансляции. Формат ASF оптимизирован для передачи потоков мультимедиа по сетям, но oн подходит и для хранения записей.

Кодировать потоки ASF можно по любому алгоритму декомпрессии и сжатия (кодер-декодер, кодек). Информация, сохраненная в потоке ASF, может использоваться для определения клиентского, какой кодер-декодер необходим, чтобы декомпрессировать поток. Кроме того, потоки ASF могут быть переданы по любому базовому сетевому протоколу передачи дайнных.

Звуковой файл Windows Media, имеющий расщирение wma, является файлом *.asf, содержащим только звук, сжатий при помощи Micresoft Audio Codec. Этот тип отличается от файлов *.asf только по расширению. Сервер Windows Media может передавать файлы * .wma. Можно публиковать файлы *.wma при помощи файлов *.wax с использованием диспетчера программ. Компания Microsoft создала файлы *.wma для пользователей, которые могут проигрывать только звук.

Предоставление данных по требованию

Это один из способов, при помощи которых пользователь может получать потоковую информацию с сервера Windows Media. Coединение по требованию — активное соединение между клиентом и сервером При соединении по требованию пользователь инициализирует клиентское соединение с сервером, выбирая соответствующий ресурс. Содержание передается с сервера клиенту в потоке ASF. Если файл индексирован, пользователь может запустить, остановить, перемотать назад или вперед или приостановить поток. Соединения по требованию предоставляют большие возможности по управлению потоком, но они могут быстро исчерпать полосу пропускания сети, поскольку каждый клиент устанавливает свое собственное соединение с сервером.

Протоколы. На рис. 22.21 представлена диаграмма использования протоколов для организации взаимодействия между компонентами системы Windows Media.

Рис 22.21. Протоколы передачи потоков мультимедийных данных

Все компоненты могут взаимодействовать через протокол HTTP, что позволяет им связываться, даже если они разделены брандмауэром.

Клиенты, которые подключаются к серверу при помощи группового вещания, не используют никакого специального протокола; они принимают данные, которые получают по групповому IP-адресу и не нуждаются в установке соединения.

Протокол MMS

Протокол MMS (Microsoft Media Stream) предназначен для обращения к одноадресным ресурсам Windows Media. MMS используется по умолчанию для соединения с одноадресными службами Windows Media. Вводя в программе Проигрыватель Windows Media URL-адрес ресурса, к которому необходимо присоединиться, нужно указать протокол MMS и ссылку на нужный поток. При соединении с точкой публикации (publishing point) по протоколу MMS для выбора оптимального соединения используется просмотр (rollover) протоколов. Просмотр протоколов начинается с попытки установления соединения с сервером через MMSU. MMSU — протокол MMS, объединенный с UDP-транспортом данных. Если соединение MMSU потерпело неудачу, сервер пытается использовать MMST. MMST — протокол MMS, объединенный с TCP-транспортом данных.

Если при воспроизведении (проигрывании) индексированного файла *.asf требуются возможности ускоренной перемотки вперед, перемотки, паузы, запуска и остановки потока, необходимо применять протокол MMS. Ускоренная перемотка вперед и назад при использовании UNC-пугей недоступна. Когда устанавливается соединение с точкой публикации при помощи автономного проигрывателя Windows Media, нужно определить URL, указывающий на источник потока: rams: //Mediaserver/exantple.asf

где Mediаserver≈ имя сервера Windows Media, a example.asf≈ имя файла *.asf, который требуется проиграть.


Протокол MSBD

Протокол MSBD служит для распределения потоков между кодировщиком Windows Media и компонентами сервера Windows Media и передачи потоков между серверами. MSBD ≈ ориентированный на соединение протокол, оптимизированный для использования с потоками данных. MSBD нужен при испытании соединения между клиентом и сервером и для проверки качества потока ASF, но он не должен применяться в качестве основного метода приема данных ASF. Кодировщик Windows Media может поддерживать максимум 15 клиентов MSBD; сервер Windows Media может поддерживать максимум 5 клиентов MSBD.

Протокол HTTP

Если нужно передавать поток данных через брандмауэр (межсетевой экран) или другой фильтр трафика, который разрешает передачу только протокола HTTP, можно передавать потоковые данные по этому протоколу. Потоковый HTTP можно использовать для передачи потока от Кодировщика Windows Media до межсетевого фильтра на сервер Windows Media, а также чтобы подключаться к серверам Windows Media, которые отделены брандмауэром.

Применение потокового HTTP. Потоковый HTTP полезен для доставки потока через устройства обеспечения безопасности сети, поскольку потоковый HTTP обычно использует порт 80, а большинство брандмауэров не запрещает это. Компоненты сервера Windows Media по умолчанию настроены для применения потокового протокола MMS. Однако можно настроить компоненты сервера Windows Media, чтобы вместо MMS использовать потоковый HTTP. Потоковый HTTP ≈ рекомендуемый вариант передачи потокового содержимого ASF через сетевые экраны.

В состав компонентов сервера Windows Media включены два типа служб ≈ Одноадресная служба Windows Media (Windows Media Unicast Service) и Служба станции Windows Media (Windows Media Station Service). Следует выбрать, какой из компонентов сервера Windows Media будет использовать потоковый HTTP, поскольку оба они не могут одновременно работать с потоковым HTTP, т. к. не могут быть связаны с одним портом. Одноадресная служба Windows Media по умолчанию связана с портом 1755, а служба станции Windows Media ≈ с портом 7007.

Чтобы редактировать порт, который служба использует для потокового HTTP:

1. Запустите редактор системного реестра.
2. В окне редактора реестра с помощью дерева реестра разверните ключ:
3. Выберите ключ HTTPPort и дважды щелкните левой кнопкой мыши. Откроется окно Изменение параметра DWORD (DWORD Editor).
4. Выберите опцию Десятичная (Decimal). Данные в поле должны быть равны 80.
5. Введите нужный номер порта для потокового протокола HTTP.

Изменение порта, с которым связана служба HTTP. Служба HTTP в IIS по умолчанию связана с портом 80. Если компоненты сервера Windows Media работают совместно на компьютере, на котором установлена веб-служба, и для Windows Media разрешена поддержка потокового HTTP, то такое совместное использование веб-сервера и Windows Media может привести к конфликту при привязке обеих служб к TCP-порту 80.

Изменение порта, к которому привязана служба HTTP, может разрешить конфликты портов, но также может привести к некорректной работе службы HTTP. Большинство входящих соединений по протоколу HTTP происходит через порт 80. Если порт 80 невозможно использовать, то клиентский браузер покажет сообщение об ошибке, что приведет к невозможности просмотра содержимого веб-сервера.

Для изменения порта; выделенного службе Windows Media для потокового HTTP:

1. Запустите редактор системного реестра.
2. В окне редактора реестра с помощью дерева реестра разверните ключ: HKEY_mCAL_MACHINE\System\CurrentControlSet\Services\nsstatipn \Parameters\
3. Выберите ключ HTTPPort и выполните двойной щелчок. Откроется окно Изменение параметра DWORD (DWORD Editor).
4. Выберите опцию Десятичная (Decimal). Поле данных должно содержать число 80.
5. Введите нужный номер порта для потокового HTTP.
Право на внесение изменений в системном реестре при помощи редактора системного реестра зависит от разрешений доступа. Неправильное редактиррг вание системного реестра может нарушить работоспособность системы. Перед внесением изменений в системном реестре сделайте резервные копии всех ценных данных на этом компьютере.

Работа служб Windows Media и IIS на одном сервере. Компоненты сервера Windows Media и службы Microsoft Internet Information Services (IIS) могут сосуществовать на компьютере, когда используются значения по умолчанию по привязке к портам (одноадресная служба Windows Media связана с портом 1755, служба станции Windows Media ≈ с портом 7007, a IIS ≈ с портом 80).

Одноадресная служба Windows Media и служба станции Windows Media должны иметь доступные IP-адреса со свободным портом 80 для передачи потоковых данных ASF через протокол HTTP. Чтобы использовать потоковый HTTP, когда компоненты сервера Windows Media и IIS установлены на том же самом компьютере, требуются следующие условия:

По крайней мере два IP-адрееа, связанных с сетевой платой
Уникальная ресурсная запись типа А на сервере DNS для IP-адреса сервера Windows Media и IP-адреса сервера IIS

Чтобы разрешить потоковый протокол HTTP для компонентов сервера, которые работают на том же компьютере, что и IIS:

1. Назначьте IP-адрес веб-узлу в IIS:
2. Разрешите протокол потоковый HTTP для компонентов сервера Windows Media. Можете разрешить потоковый HTTP для одноадреснрй службы либо для службы группового вещания.
3. Отредактируйте системный реестр, чтобы службы компонентов Windows Media зависели от службы веб-публикации.

Чтобы назначить IP-адрес веб-узлу в IIS:

1. В окне оснастки управления IIS выберите компьютер, на котором установлены службы Windows Media.
2. В контекстном меню узла Веб-узел по умолчанию (Default Web site) выберите пункт Свойства (Properties). Откроется диалоговое окно свойств.
3. Перейдите на вкладку Веб-сайт (Web site).
4. На вкладке в поле IP-адрес (IP address) введите значение IP-адреса, которое должен использовать IIS.
5. Повторите шаги 2 до 4 для любых дополнительных веб-узлов, которые установлены в IIS, включая административный узел.

Чтобы отредактировать системный реестр так, чтобы одноадресная служба Windows Media или служба станции Windows Media зависели (запускались после другой службы) от веб-сервера:

1. Запустите редактор системного реестра.
2. Чтобы изменить настройки одноадресной службы Windows Media, в окне редактора реестра с помощью дерева реестра разверните ключ:

Или, чтобы изменить настройки службы станции Windows Media, в окне редактора реестра с помощью дерева реестра разверните ключ:

3. Дважды щелкните на ключе DependOnService. Откроется окно многострочного редактора,
4. В конце списка служб введите vosvc. vbsvc ≈ установка, которая делает компоненты сервера Windows Media зависящими от сервера IIS.
5. Перезапустите компьютер.

Определение типа MIME для служб Windows Media в IIS. На веб-сервере должны быть заданы типы MIME (Multipurpose Internet Mail Extensions), чтобы сервер имел информацию о том, что делать в случае получения запроса на доступ к ресурсу с неизвестным расширением файла, например asf и asx. Без этой записи веб-сервер не сможет интерпретировать файл.

Шесть новых компонентов безопасности в IIS 7.0

Уязвимые места в защите Web-сервера могут привести к катастрофическим последствиям. Наглядный пример: Microsoft Internet Information Services (IIS) 5.0 печально известна недостаточной продуктивностью.

Успешное управление Web-сервером и уменьшение вероятности атак

Со временем компания Microsoft перепроектировала IIS с акцентом на безопасность. В результате появилась версия IIS 6.0, признанная самым надежно защищенным коммерческим Web-сервером (об этом свидетельствует малое число рекомендаций по продукту на сайте Secunia, см. secunia.com/product/1438).

В версии IIS 7.0 надежно защищенная архитектура IIS 6.0 получила дальнейшее развитие. Благодаря модульности можно полностью удалять отдельные компоненты, снижая вероятность атаки на Web-сервер. Пулы приложений, реализованные в IIS 6.0 с целью изолировать приложения друг от друга (и процессов Web-сервера), размещены в «песочнице». Новые функции делегирования позволяют владельцам управлять сайтами без необходимости в повышении прав. Фильтрация запросов с помощью URLscan встроена в сервер. А администраторы могут непосредственно в IIS 7.0 задать правила, указывающие, кто из пользователей имеет доступ к различным URL-адресам.

Эти новшества относятся к числу улучшений безопасности IIS 7.0. Они заслуживают внимательного изучения и могут даже заставить администраторов пересмотреть подходы к управлению и настройке Web-узлов.

«Песочницы» для приложений

Представим себе компанию, которая занимается исследованиями рынка и размещает аналитические отчеты или создает небольшие сайты для конкурирующих компаний на одном компьютере. Или представьте сервер, на котором размещены платежная ведомость для небольшого числа пользователей и самостоятельно разработанный внутренний портал компании. В обоих случаях важно, чтобы приложения, выполняемые на одном сервере, были изолированы друг от друга.

Web-приложения выполняются в рабочих процессах. Пулы приложений сопоставляют Web-приложения с рабочими процессами. Конкретный рабочий процесс используется только для приложений из одного пула. Файл рабочего процесса в IIS 6.0 и IIS 7.0 — w3wp.exe.

В IIS 6.0 новые Web-узлы и приложения размещаются в одном пуле приложений. Этот пул приложений по умолчанию работает с учетной записью NetworkService. Администратор может вручную создавать новые пулы приложений и распределять Web-приложения по пулам. По умолчанию эти пулы приложений также работают с учетной записью NetworkService, что может привести к нежелательным последствиям во время выполнения, когда все Web-приложения функционируют с одинаковыми правами. Приложение в пуле A может прочитать конфигурацию пула приложений B и даже получить доступ к содержимому файлов приложений пула B. Достаточно просто создать новые пулы приложений и настроить для каждого специальные учетные записи, но управлять этими учетными записями в течение длительного времени утомительно.

В IIS 7.0 для каждого Web-узла автоматически формируется новый пул приложений. По умолчанию этот пул приложений настроен на работу с учетной записью NetworkService. Но когда создается рабочий процесс, IIS 7.0 вставляет в маркер безопасности NetworkService специальный идентификатор SID, уникальный для пула приложений. IIS 7.0 также создает файл конфигурации для рабочего процесса и настраивает список управления доступом к файлу, разрешая обращения только к уникальному идентификатору SID для пула приложений. В результате конфигурация пула приложений не может быть прочитана другими пулами.

В качестве дополнительной меры предосторожности можно изменить списки управления доступом ACL файлов с контентом, чтобы предоставить доступ к уникальному идентификатору SID пула вместо NetworkService. Это помешает приложению в пуле A прочитать файлы контента приложения в пуле B.

IUSR и IIS_IUSRS

С идентификацией процесса косвенно связан вопрос об удостоверении, используемом сервером для анонимных запросов. В прошлых версиях IIS в качестве удостоверения для анонимных пользователей применялась локальная учетная запись IUSR_servername. В IIS 7.0 появилась новая встроенная учетная запись IUSR. Нельзя выполнить локальную регистрацию с учетной записью IUSR, поэтому у нее нет пароля (то есть нет опасности отгадывания паролей). Учетная запись IUSR всегда имеет один и тот же идентификатор SID, поэтому списки управления доступом можно переносить между компьютерами Windows Server 2008 (а также компьютерами Windows Vista). Если применять учетную запись IUSR нельзя (например, если анонимным запросам требуется доступ к сети с проверкой подлинности), можно отключить учетную запись анонимного пользователя, и IIS 7.0 будет применять для анонимных запросов учетные данные рабочего процесса.

Еще одно новшество — встроенная группа IIS_IUSRS. Эта группа заменяет группу IIS_WPG. В IIS 6.0 группа IIS_WPG обеспечивает минимальные права для запуска рабочего процесса, и администратор должен вручную добавить в эту группу учетную запись, чтобы предоставить пользовательские учетные данные для рабочего процесса. В IIS 7.0 аналогичную роль играет группа IIS_IUSRS, но явно добавлять учетные записи в группу не требуется. Вместо этого IIS 7.0 автоматически зачисляет учетные записи в IIS_IUSRS, когда они назначаются в качестве удостоверения для пула приложений. Как и учетная запись IUSR, группа IIS_IUSRS — встроенная, поэтому у нее всегда одинаковое имя и идентификатор SID во всех экземплярах Server 2008. В результате списки управления доступом и другие настройки полностью переносимы между компьютерами Windows Server 2008 (и Vista).

Делегирование функций

Не каждую настройку Web-сервера нужно защищать административными правами. Некоторые настройки представляют собой простые решения уровня приложения, которые могут быть выполнены разработчиками и менеджерами продуктов. Например, в IIS 6.0 административные права необходимы, чтобы изменить документ по умолчанию для Web-приложения. Но действительно ли для замены default.aspx на profile.aspx всегда требуются административные права?

В IIS 7.0 решения о конфигурации можно делегировать владельцам сайта или приложения. В IIS 7.0 применяется новая система настройки на основе XML, созданная по образцу ASP.NET. На уровне сайта и приложения параметры конфигурации как IIS 7.0, так и ASP.NET находятся в одинаковых файлах web.config.

Делегированные настройки, такие как документ по умолчанию, можно изменить на уровне Web-узла или приложения, непосредственно изменив файл web.config, или из графического интерфейса пользователя IIS Manager (Экран 1), который обновляет web.config за администратора. В разделе system.webServer файла web.config содержатся параметры конфигурации IIS 7.0, как показано на Экране 2.

Нужные разделы определены в специальном файле конфигурации, именуемом applicationHost.config. У каждого раздела applicationHost.config есть режим делегирования по умолчанию. В примере на Экране 3 можно изменить документ по умолчанию и настройки просмотра каталогов, но не разделы asp, caching и cgi.

Как поступить, если существуют веские основания запретить владельцу Web-узла изменять документ по умолчанию? Решение простое: в IIS 7.0 можно блокировать элементы конфигурации, которые в результате нельзя назначить или изменить в файлах web.config. В случае с документом по умолчанию можно глобально изменить стандартный режим переназначения на Deny или явно установить режим переназначения Deny для конкретных мест с помощью тегов расположения. Группа разработчиков IIS предложила вводить такие изменения с помощью тегов расположения, как показано в Листинге 1. Делегирование функций очень удобно для перегруженных работой администраторов, так как позволяет наделить владельцев Web-узлов и приложений правом управлять теми настройками Web-сервера, которые влияют лишь на их сайты и приложения

Административное делегирование

Многие администраторы считают целесообразным предоставить административный доступ всем, кому нужно изменить настройки сайта или приложения. Безусловно, такой подход связан с огромным риском. К сожалению, выбор оказывается сложным: можно или щедро назначать административные права или затруднить обновления, создав единую точку администрирования. В IIS 7.0 администратор сервера может предоставить административные права для конкретного Web-узла или приложения одному или нескольким пользователям, не повышая прав пользователей.

В IIS Manager, как показано на Экране 4, пользователи могут подключиться к серверу IIS 7.0 с применением учетных данных Windows или учетных данных IIS Manager. Удобство учетных записей IIS Manager заключается в том, что они обеспечивают очень узкий и ограниченный набор прав для пользователя: административные права Web-узла IIS. Эти учетные данные вне IIS Manager бесполезны.

Для дистанционного использования имеется автономная версия IIS Manager для Windows Vista, Windows Server 2003 и XP. Прежде чем установить удаленное соединение в IIS Manager, необходимо явно разрешить дистанционное управление на Web Server:

Правила брандмауэра или политики удаленного доступа могут затруднить дистанционное использование инструментов. По этой причине IIS Manager работает через протокол HTTPS, одновременно безопасный и согласующийся с брандмауэрами. По умолчанию служба Web Management Service использует самозаверяющий сертификат и прослушивает порт 8172.

Компания Microsoft предоставляет IIS 7.0 Manager для дистанционного управления по адресу www.iis.net/go/1524. Дополнительные ресурсы (в том числе подробные инструкции по настройке) можно найти, выполнив поиск с ключевыми словами «IIS 7.0 remote administration» на сайте iis.net. На этом сайте Microsoft приведены дополнительные сведения о новых компонентах IIS.

Встроенный фильтр запросов

Многие администраторы IIS-серверов знакомы с UrlScan, загружаемым инструментом для IIS 4.0 и более поздних версий, который ограничивает типы запросов, обслуживаемых IIS. Цель фильтрации запросов — защитить Web-сервер от потенциально опасных запросов.

В IIS 7.0 инструмент UrlScan был усовершенствован и вошел в состав модуля фильтрации запросов Web-сервера. Модуль фильтрации запросов отвергает запросы на основе настраиваемого критерия. Например, модуль может отвергнуть запросы с двойным кодированием или запросы необычного размера (большой объем полезных данных POST или слишком длинные URL-адреса). Можно также отвергать запросы по типу файлов, пути или командам HTTP, не поддерживаемым на сайте.

Настройку фильтрации запросов в IIS 7.0 можно делегировать, предоставив администраторам сайтов возможность определить собственные правила фильтрации в файлах web.config, чего нельзя сделать с помощью UrlScan в IIS 6.0.

Авторизация URL

У Web-приложений часто есть области, доступ к которым предоставляется только определенным пользователям. Например, только менеджеру разрешено обращаться к отчетам о продуктивности сотрудников в системе управления кадрами. Страницы с ограничением обычно группируются в каталогах с такими именами, как Administration, Reporting или Moderation. В прошлых версиях IIS было довольно неудобно организовать надежную защиту этих разделов от несанкционированного доступа. Даже при использовании встроенной функции ASP.NET авторизации URL необходимо защитить такие данные, как файлы PDF и Excel, не подходящие для ASP.NET. Для управления правилами URL-авторизации ASP.NET приходится прибегать к утомительному процессу редактирования XML.

В IIS 7.0 сохранилась URL-авторизация ASP.NET, но в самом Web-сервере появилась дополнительная функция авторизации URL. Доступом к материалам любого типа (например, статическим, PHP, ASP) можно управлять по пользователям, группам и URL-адресам. Например, не составляет труда предоставить доступ ко всем объектам на пути Reporting только пользователям, принадлежащим к группе Managers, не затрагивая списков доступа к файлам. На Экране 5 показана конфигурация правил авторизации URL в IIS Manager.

Правила авторизации URL сохраняются в разделе system.webServer файлов web.config с синтаксисом, чуть отличным от правил авторизации ASP.NET, как показано в Листинге 2.

Поскольку правила авторизации целиком содержатся в файлах конфигурации (локальных web.config), их легко переносить между приложениями и серверами. А авторизация URL в IIS 7.0 применима к пользователям и группам Windows, так же, как к пользователям и ролям ASP.NET.

IIS совершенствуется

Разработчики IIS 7.0 усовершенствовали добротную систему безопасности IIS 6.0, сохранив базовую архитектуру IIS 6.0 с моделью изоляции пулов приложений/рабочих процессов, которая оказалась очень эффективной. При обсуждении мер безопасности IIS 7.0 особое внимание уделяется новшествам модульной архитектуры, но благодаря автоматическому распределению приложений по «песочницам», делегированию функций и авторизации URL задача надежной защиты Web-сервера стала проще.

Об авторе: Дерек Хетчард (derek@ardentdev.com) — консультант и тренер, имеет звание Microsoft MVP

Листинг 1. Использование тегов расположения для назначения режима переназначения Deny

Internet Information Services—Server Software With Request-Processing Architecture

You are here:
Home / Blog / Web Design / Internet Information Services—Server Software With Request-Processing Architecture

For the last couple of weeks I’ve been talking about server software, specifically in regards to how each handles HTTP requests and connections. This is all part of an ongoing series about website performance.

Two weeks ago I talked about Apache’s multi-process modules and how they perform well until there’s a heavy traffic load. Last week I turned my attention to NGINX and its event-driven architecture and how it can be used either as a standalone server or as a reverse proxy server in front of Apache.

In the first post about Apache I briefly mentioned two other applications for running a server, Internet Information Services (IIS) and LiteSpeed. Today I’ll talk about IIS and next week I’ll close out this series with thoughts about LiteSpeed and some performance tests I’ve run for the site before and after moving to a new server with my hosting company.

Internet Information Services (IIS) Sever Software

Let me begin by saying that I’m far from an expert when it comes to IIS, having never worked with it before. Please understand that what follows is my best attempt to summarize information from a handful of different articles, leaning heavily on a few from Microsoft’s site.

I’m pretty sure I have the general idea correct, but my apologies in advance if I have any of the specifics a little off. I’ll point you to the articles I read during my research for more information about the specifics.

Internet Information Services (IIS) is proprietary software from Microsoft. It isn’t free and it’s tightly coupled to the Windows operating system. It’s also made to run with .Net services so naturally if your sever side language is ASP or ASP.NET or if you use MSSQL as your database, your obvious choice is IIS.

IIS uses a request-processing architecture. It listens for HTTP requests (as well as requests for other protocols) before creating worker processes (w3wp.exe) to handle the request.

There are different listeners for different protocols with HTTP.sys being the HTTP listener. It waits for an HTTP request and then sends the request to an IIS service for processing. When processing is complete, HTTP.sys sends the response back to the browser. HTTP.sys also has a cache and if it has the requested file in cache it can return it directly to the client browser without having to contact any IIS services for processing.

How IIS Processes HTTP Requests

That’s the overly simplified flow anyway. Here’s a little more detail starting with an image from Microsoft’s site.

A client browser initiates an HTTP request and HTTP.sys intercepts the request.

HTTP.sys contacts the Windows Process Activation Service (WAS) for configuration information.

WAS gets the configuration information from applicationHost.config and passes it on to the World Wide Web Publishing Service (WWW Service).

WWW Service uses the information to configure HTTP.sys.

HTTP.sys contacts WAS again and WAS starts a worker process for the application pool to which the request was made.

The worker process processes the request by passing it through an ordered series of modules and then returns a response to HTTP.sys.

HTTP.sys sends the response to the client browser.

Sounds like a lot, but if I’m not mistaken, WAS reads configuration information from the applicationHost.config file on startup, which suggests that steps 2–4 only happen once on startup and after that WWW Service drops out of the flow.

When WAS receives an HTTP request it will determine if there’s already a worker process running in the application pool that is servicing requests for the website and if so, it will pass the request to it. If not, it will create the worker process and then pass the request. Each worker process can handle multiple requests so you don’t need a new process for each and every request like you do with Apache.

Inside the worker process, an HTTP request passes through a series of ordered steps called events and at each event one or more modules may act on it.

Modules are components that can be added or removed and they offer features for processing the request. There are native IIS modules as well as an ability to add 3rd party or your own modules, making IIS extensible. They aren’t exactly the same as modules in Apache, but I think they offer similar benefits and maybe even a bit more flexibility.

IIS Application Pools

If you look back up at the image, you’ll notice something called an application pool, which is a container for worker processes. Each application pool runs isolated from others so you might have one site running in one application pool and a second site running in another. This way if something happens to one site, it shouldn’t affect the other.

By default each application pool contains a single worker process, however, more can be created and when multiple worker processes are inside a single application pool, it’s called a web garden. The idea is that a web garden can make better use of server CPU and RAM and more efficiently use resources so idle time is reduced. That’s the idea, but I’ve had a difficult time confirming if it works as advertised.

Like Apache’s worker processes, application pools and web gardens can grow out of control under a heavy load with a lot of requests.

Overall IIS is reportedly a little more memory intensive than Apache. On the other hand, it makes use of configuration wizards and a graphic interface so it can be easier to use compared to Apache’s text files configuration.

In an effort not to get too much wrong, let me stop there and point you to some other articles that can probably do a better job with the details than I can.

Additional Resources

I can’t tell you I read through every one of these articles entirely, but I did pick up a few things from most of them. The articles with the word architecture in their titles are the ones I leaned on the most.

This first group comprises information directly from Microsoft. I would assume they have the best and most accurate information about IIS.

The remaining articles are from a variety of sites. I relied more on the first four than the latter six, but that’s less to do with any of the articles and more to do with how I decided to organize this post.

Closing Thoughts

I’d guess if you choose IIS it’s less to do with IIS itself and more because you want or need to work with the .NET framework or MSSQL or are invested in Windows.

Like both Apache and NGINX, IIS has its pros and cons. The few performance tests I’ve seen would suggest it’s more resource hungry than either, but you won’t have to search for long to find lots and lots of configuration tips to make it run faster and better for your sites. Isolating applications, so what happens to one won’t affect another, is a huge plus.

There’s still one more application I want to talk about and that’s LiteSpeed, which is a drop-in replacement for Apache with better performance. I’ll talk about LiteSpeed next week and I’ll offer some performance tests on this site from before and after moving it to newer server hardware.

Download a free sample from my book, Design Fundamentals.

Проф. В.К.Толстых, www.tolstykh.com Технологии разработки Internet- приложений Архитектура и администрирование IIS 7 исполняющая среда ASP.NET в IIS 7, — презентация

Презентация была опубликована 6 лет назад пользователемПолина Дианова

Похожие презентации

Презентация на тему: » Проф. В.К.Толстых, www.tolstykh.com Технологии разработки Internet- приложений Архитектура и администрирование IIS 7 исполняющая среда ASP.NET в IIS 7,» — Транскрипт:

1 проф. В.К.Толстых, Технологии разработки Internet- приложений Архитектура и администрирование IIS 7 исполняющая среда ASP.NET в IIS 7, администрирование, конфигурирование IIS 7 (архитектура, администрирование IIS 5, IIS 6) архитектураадминистрированиеархитектураадминистрирование Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета

2 Ядро ОС Исполняющая среда ASP.NET в IIS 7 Отличия от IIS 5, 6 IIS 5, 6 Ответ XML HTTP (ASP.NET, WCF) Драйвер http.sys Среда выполнения ASP.NET, WCF в IIS Пул приложений Домен приложения Собственные модули ASP.NET Ответ HTML Рабочий процесс W3WP.exe Web (браузер), WCF-клиент Svchost.exe Windows Activation Service (WAS) WWW Service (W3SVC) applicationHost.config TCP, IPC… (WCF) Для создания сервис-ориентированных приложений с WCF (Windows Communication Foundation), работающих не только по протоколам глобальных сетей HTTP, но и локальных – TCP, а также – IPC (именованные каналы одного компьютера) и др. добавлен WAS (Windows process Activation Service) для активации сервисов WCF при поступлении к ним запросов от Svchost.exe. Запросы, не связанные с HTTP, не проходят конвейер обработки IIS 7, а направляются непосредственно среде выполнения WCF, которая активируется при помощи WAS и деактивируется через некоторое время, если новые запросы не поступают. Отметим, что классические службы Windows NT запускаются, обычно, во время загрузки всего сервера и работают до его выключения. Среда выполнения WCF

3 Консоль администрирования IIS 7

4 Особенности IIS 7 IIS 7.0 разбивает веб-сервер (IIS 6) на небольшое ядро сервера ( Svchost.exe ) и более чем 40 собственных модулей-компонентов (см. рис.) Модули – это ASP.NET компоненты, используемые сервером для обработки запросов вместо aspnet_isapi.dll. Например, для проверки подлинности учетных данных клиентов используются модули проверки подлинности, для управления кэшем – модули кэширования и т. д. Необходимые модули встраиваются непосредственно в HTTP-конвейер обработки запросов, при этом сервер приобретает строго заданную и не избыточную функциональность. Преимущества модульной конструкции – это уменьшение количества возможных направлений атак и размера веб- сервера. Хранилище конфигураций IIS 6 – метабаза заменена на файл конфигурации windows\system32\inetsrv\config\applicationHost.config, в котором содержатся значения по умолчанию глобальных настроек сервера, и на файлы web.config, находящиеся в структуре каталогов приложения. Локальные файлы web.config в IIS 7 инкапсулируют (могут делегировать от applicationHost.config ) требуемую настройку сервера и приложения в структуру каталогов приложения. Это существенно упрощает развертывание, которое сводится просто к копированию приложения в каталог на целевом сервере.

5 Пример web.config настроек IIS Система конфигурации позволяет настраивать приложения путем делегирования разделов из applicationHost.config в Web.config. По умолчанию разделы конфигурации IIS заблокированы и могут быть настроены только в applicationHost.config за исключением разделов: Документ по умолчанию, Просмотр каталога, Протокол HTTP, Перенаправление HTTP. При необходимости можно разблокировать дополнительные разделы конфигурации через диспетчер IIS Объекты конфигурации: веб-сервер, узел (сайт), приложение, виртуальный или физический каталог, файл. Параметры приложения Параметры делегирования Параметры настройки CLR.NET Framework Настройки реализуются через модуль IIS – Configuration Editor

6 IIS_IUSRS – группа, члены которой могут запускать рабочий процесс ASP.NET в IIS 7 с минимальными правами. IUSR – учётная запись для анонимного доступа к Web-сайтам в IIS 7. Она входит в IIS_IUSRS. NetworkService – системная учётная запись от имени которой выполняются рабочие процессы ASP.NET в IIS 7 а также все приложения и системные процессы, запущенные рабочим процессом. Имеет ограниченные права на локальном компьютере, а также может использоваться для доступа к ресурсам в сети Active Directory на основании учетной записи компьютера. ApplicationPool >

7 Иногда Web-приложению может потребоваться доступ к определенной папке или файлу на диске. Чтобы добавить ApplicationPool >

8 Компоненты конвейера обработки запросов IIS 7 (см. подробнее Модель процесса ASP.NET, конвейер HTTP.ppt) включают в себя:Модель процесса ASP.NET, конвейер HTTP.ppt пулы приложений, модули ASP.NET – компоненты сервера, фильтры ISAPI, обработчики для файлов.asp,.aspx… пользовательские обработчики в файлах.asp,.aspx… Элементы конвейера НТТP в IIS 7

9 Пулы приложений в IIS 7 работают в одном из двух режимов: встроенный (интегрированный) и классический (ISAPI). Если приложение запущено в пуле, работающем во встроенном режиме, то веб-сервер применяет интегрированные конвейеры IIS + ASP.NET, т. е. всем сервером и запросами к нему можно управлять из ASP.NET. Если приложение запущено в пуле c классическим режимом, то веб-сервер направляет запросы через aspnet_isapi.dll, т.е. обрабатывает их аналогично IIS 6.0. «Основные настройки» Пулы IIS 7 Три приложения работают в пуле по умолчанию: корень сервера, people, script. Остальные – в отдельных именных пулах Пулы работают от имени NetworkService

10 Модули в IIS 7 Модули делятся на три типа: собственные (машинные), управляемые (управляются средой.NET Framework, см. Модули HTTP, события приложения — Global.asax.ppt ) и неуправляемые (приложения Win32 для IIS 5, 6, которые не управляются средой.NET Framework).Модули HTTP, события приложения — Global.asax.ppt Собственные модули – это собственный код библиотек DLL веб-сервера, который выполняет специфическую работу по обслуживанию запросов. Например, WindowsAuthModule выполняет интегрированную проверку подлинности Windows с использованием NTLM. Модуль управляемого кода можно задать как файл класса в папке App_Code приложения. Также можно создать модуль как проект библиотеки классов, скомпилировать его и добавить в папку Bin приложения. Эти модули могут выполнять работу по обработке запроса параллельно с собственными модулями. Управляемые модули позволяют создавать уникальные серверы и управлять их работой. Например, можно реализовать проверку подлинности с помощью форм не только с содержимым ASP.NET, но и другими типами, например, PHP.скомпилировать его и добавить Модули, зарегистрированные в элементе globalModules файла ApplicationHost.config, обладают глобальной областью действия для всех веб-приложений. Если глобальный модуль в веб-приложениях не используется, его можно отключить через диспетчер IIS. Фильтры ISAPI в IIS 7 Фильтры ISAPI – это программы, которые можно добавить в IIS для улучшения работы веб-сервера. В службах IIS 7 модули и обработчики событий в Global.asax заменяют функциональные возможности, которые обеспечивали фильтры ISAPI в службах IIS 6.0. Однако все еще можно добавлять фильтры ISAPI, если необходимо использовать предоставляемые ими функциональные возможности.

11 Обработчики запросов в IIS 7 В службах IIS 7 обработчики формируют ответы на запросы к узлам и приложениям. Как и модули, обработчики внедряются как собственный или как управляемый код. При наличии определенного типа содержимого на узле или в приложении необходимо иметь обработчик, который сможет обработать запрос к этому типу содержимого. Следует сопоставить этот обработчик с типом содержимого. Например, обработчик страниц ASP реализован в модуле IsapiModule и по умолчанию включён (колонка «Состояние» на рисунке) в службы IIS 7. Он сопоставляется (колонка «Путь» на рисунке) со всеми запросами к.asp -файлам. Для внедрения неуправляемых кодов обработчиков CGI и ISAPI версий IIS 5,6 необходимо (см. следующие слайды) сначала в заданных каталогах приложения включить собственные модули IIS 7: CGI-exe, ISAPI-dll для поддержки неуправляемых кодов. Далее можно добавить и включить выполнение файлов неуправляемых обработчиков. Установка модуля FastCGI позволяет подключать CGI-обработчики PHP, Perl, Python… Модуль FastCGI допускает повторное использование процесса благодаря поддержке пула рабочих процессов, таким образом обеспечивая значительно большую производительность. Скопировать и настроить модуль PHP для IIS 7 можно, например, по адресу ru/magazine/cc aspx. ru/magazine/cc aspx Модули Файлы сопоставления

12 Запуск приложений в IIS 7 (В IIS 5, 6 – это «Разрешён запуск» — «Сценарии и исполняемые файлы») Включить модуль IsapiModule (файл isapi.dll) для подключения собственных обработчиков.dll Включить разрешение выполнения для этого модуля Шаг 1 – создать в консоли IIS приложение или виртуальный каталог для хостинга неуправляемого (не.NET) CGI-ISAPI обработчика запросов. Шаг 2 – в созданном приложении при помощи «Сопоставления обработчиков» разрешить управляемым модулям CgiModule и IsapiModule исполнять неуправляемые CGI и ISAPI

13 Шаг 3 – добавить ISAPI-обработчик – «Добавить сопоставление сценария» Допустимые типы файлов для собственных обработчиков, например, *.dll Адрес собственного обработчика

Илон Маск рекомендует:  Microsft sql server
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL