Платформа для веб-служб и приложений
Введение
Операционная система Windows Server 2008 предоставляет защищенную легко управляемую платформу для разработки и надежного размещения приложений и служб, предоставляемых с сервера или через веб-интерфейс. К новым возможностям платформы относятся упрощенное управление, повышенная безопасность, а также улучшенная производительность и расширяемость. Помимо этого полезными окажутся такие улучшения, как более эффективное управление приложениями и службами, более быстрое развертывание и настройка веб-приложений и служб, а также более защищенная, упрощенная и настраиваемая веб-платформа. Операционная система Windows Server 2008 обеспечивает более высокую производительность и масштабируемость веб-приложений и служб, позволяя администраторам производить тонкую настройку и осуществлять контроль использования приложениями и службами ключевых ресурсов операционной системы.
Службы Internet Information Services версии 7.0 (IIS7)
ОС Windows Server 2008 предоставляет унифицированную платформу для веб-публикаций, которая объединяет в себе службы Internet Information Services версии 7.0 (IIS7), среду ASP.NET, систему Windows Communication Foundation и службы Microsoft Windows SharePoint Services. Службы IIS7 являются значительным улучшением существующего веб-сервера IIS, и играют центральную роль в интеграции технологий веб-платформы. Ключевыми преимуществами служб IIS7 являются более эффективные возможности администрирования и управления, усиление защиты, а также сокращение затрат на поддержку. Эти возможности помогают создать унифицированную платформу с единой цельной моделью для разработки и администрирования веб-решений.
Улучшенные инструменты управления
Новое средство администрирования IIS7 — Диспетчер IIS — является более эффективным инструментом для управления веб-сервером. Это средство поддерживает работу с конфигурационными параметрами служб IIS и среды ASP.NET, пользовательскими данными, а также позволяет получить доступ к диагностической информации во время работы службы. Новый пользовательский интерфейс позволяет администраторам и владельцам веб-узлов делегировать административное управление разработчикам или владельцам содержимого, облегчая тем самым работу администраторов. Новый интерфейс диспетчера IIS поддерживает удаленное администрирование по протоколу HTTP, что позволяет интегрировать локальное и удаленное администрирование, и даже администрирование через Интернет; при этом на брандмауэре не требуется открывать никаких дополнительных портов для администрирования, в том числе порт для протокола DCOM.
Также для администрирования веб-серверов, веб-узлов и веб-приложений поставляется новое приложение appcmd.exe, работающее в командной строке. Интерфейс командной строки упрощает администраторам основные задачи управления веб-серверами. С помощью программы appcmd.exe можно, к примеру, вывести список запросов к веб-серверу, которые находятся в режиме ожидания более 500 мс. Эту информацию можно использовать для устранения неполадок приложений, работающих с низкой производительностью. Выводимые программой appcmd.exe данные можно передать на вход другим программам и командам для дальнейшей обработки.
Функционально-модульная установка
Службы IIS7 включают в себя более 40 различных функциональных модулей. По умолчанию устанавливается только половина этих модулей. Администраторы могут выборочно установить или удалить любые функциональные модули. Такой модульный подход позволяет администраторам устанавливать только необходимые модули. За счет ограничения количества установленных модулей экономится время, затрачиваемое на управление и обновление. Помимо этого, отсутствие ненужных выполняющихся программ уменьшает контактную зону веб-сервера, тем самым повышая его защищенность.
Модель распределенной конфигурации
В службе IIS7 представлены значительные усовершенствования в способах хранения данных конфигурации и доступа к этим данным. Одной из ключевых целей, поставленных при разработке служб IIS7, была поддержка распределенной конфигурации параметров служб IIS, что позволяло бы администраторам сохранять эти параметры в файлах и хранить эти файлы вместе с кодом приложений и содержимым.
Распределенная конфигурация позволяет администраторам хранить параметры конфигурации веб-узлов или приложений в той же папке, в которой хранится код приложений и содержимое. Благодаря сохранению параметров конфигурации в одном файле распределенная конфигурация позволяет администраторам делегировать администрирование определенных возможностей веб-узлов или веб-приложений другим лицам. Например, можно делегировать управление веб-узлом таким образом, чтобы разработчик мог задавать для этого веб-узла имя документа, используемого по умолчанию. Также администраторы могут заблокировать некоторые параметры конфигурации от изменения кем-либо другим. Эта возможность может потребоваться, чтобы настройки параметров безопасности, препятствующие выполнению сценариев, не могли быть переопределены разработчиком, которому был делегирован административный доступ к веб-узлу. При использовании распределенной конфигурации параметры конфигурации определенного узла или приложения могут быть легко скопированы с одного компьютера на другой. Это полезно, например, когда приложение переносится при переходе от этапа разработки к этапу тестирования, и, в конечном итоге, к этапу эксплуатации.
Диагностика и устранение неполадок
В службах IIS7 максимально облегчено устранение неполадок в работе веб-сервера благодаря встроенной поддержке диагностики и трассировки. Эти возможности позволяют администраторам в режиме реального времени получить доступ к диагностической информации веб-сервера. Средства диагностики и устранения неполадок позволяют разработчику или администратору получить список запросов, которые в данный момент обрабатываются сервером. В состав службы IIS7 также входят новые объекты для просмотра состояния и управления во время исполнения, которые в режиме реального времени предоставляют информацию о состоянии пулов приложений, узлов, доменов приложений и даже об обрабатываемых в данный момент запросах. Эта информация позволяет определить, к примеру, какой из запросов в рабочем процессе потребляет 100% времени центрального процессора.
В службах IIS7 есть ряд детальных трассировочных событий, которые могут возникать на пути обработки запроса и формирования ответа. Эти события позволяют отследить путь следования запроса через конвейер обработки запросов служб IIS на уровне кода любой существующей страницы, вплоть до вывода результата обработки этого запроса. Эти детальные трассировочные события позволяют разработчикам не только проследить путь обработки запроса и получить информацию об ошибке, возникшей в результате выполнения запроса, но также узнать время, затраченное на обработку этого запроса и получить другую отладочную информацию, которая может помочь в устранении любых типов ошибок.
Также устранение неполадок в службах IIS7 упрощается за счет более детальных, несущих практическую пользу сообщениях об ошибках. Новый модуль обработки пользовательских ошибок в службах IIS7 позволяет отправлять детальные сведения об ошибке обратно в веб-обозреватель (по-умолчанию они отправляются на локальный компьютер); также можно настроить отправку этих сведений другим удаленным клиентам. Вместо несодержательного кода ошибки администраторы теперь могут получить детальную информацию о запросе, о потенциальных неполадках, которые могли привести к ошибке, а также рекомендации по устранению этой ошибки.
Одной из главных возможностей, улучшающих устранение неполадок в работе служб IIS7, является интерфейс RSCA (Runtime Status and Control API — программный интерфейс просмотра состояния и управления во время выполнения). Этот интерфейс предназначен для получения во время выполнения детальной информации о сервере из глубоких структур служб IIS7. С помощью интерфейса RSCA можно контролировать различные сущности, включая узлы, пулы приложений и даже домены приложений .NET. Также этот интерфейс позволяет в реальном времени получить список запросов, обрабатываемых в данный момент сервером. К данным интерфейса RSCA можно получить доступ через поставщик WMI или управляемый интерфейс API (Microsoft.Web.Administration). Также доступ к этим данным администраторы могут получить с помощью административного графического пользовательского интерфейса служб IIS7 или с помощью инструмента командной строки.
Расширяемая модульная архитектура
В предыдущих версиях служб IIS вся функциональность была встроена по умолчанию и не было возможности заменить или расширить эту функциональность. Как было упомянуто ранее, ядро служб IIS7 разделено более чем на 40 различных функциональных модулей. Это ядро также включает новый интерфейс Win32 API для создания модулей ядра сервера. Модули ядра сервера являются новой мощной технологией, пришедшей на замену фильтрам и расширениям ISAPI. Тем не менее, фильтры и расширения ISAPI по-прежнему поддерживаются в службах IIS7. Ввиду того, что все возможности ядра сервера IIS были разработаны с использованием нового интерфейса IIS7 Win32 Module API как дискретные функциональные модули, пользователи могут добавлять, удалять и даже заменять функциональные модули служб IIS.
Гибкая модель расширения для индивидуальной настройки
В службах IIS7 разработчикам предлагаются новые, более мощные способы расширения функциональности службы IIS. В частности этому способствует новый набор программных интерфейсов ядра сервера, который позволяет создавать функциональные модули как в машинном коде (разработка на языке C или C++), так и в управляемом коде в среде .NET Framework (разработка на таких языках, как C# и Visual Basic 2005). В действительности, основная часть функциональности служб IIS7 для обработки запросов и приложений была разработана с использованием тех же самых интерфейсов API. Службы IIS7 также позволяют расширять функциональные наборы конфигурации, сценариев, журнала событий и администрирования, и предоставляют разработчикам ПО полноценную серверную платформу с возможностью расширения функциональности.
Развертывание приложений с помощью команды xcopy
В службах IIS7 конфигурационные параметры могут храниться в файлах web.config, что значительно облегчает использование команды xcopy для копирования приложений на несколько веб-серверов. Это избавляет от необходимости совершать затратную и подверженную ошибкам репликацию, выполнять ручную синхронизацию и дополнительные конфигурационные задачи.
Заключение
Структурные изменения в службах IIS7 в совокупности образуют гибкую систему для веб-приложений. Возможность получить доступ к конфигурации служб IIS как с помощью графического пользовательского интерфейса, так и с помощью инструмента командной строки appcmd.exe позволяет эффективно администрировать веб-сервер как начинающим администраторам с базовыми навыками, так и высококвалифицированным администраторам, которые управляют несколькими серверами с помощью сценариев. Компоненты служб IIS для трассировки и устранения неполадок предоставляют детальную и практичную информацию, которая помогает администраторам и разработчикам приложений выяснить, в каких веб-страницах или в коде каких приложений возникают ошибки. Благодаря модели модульного разделения функциональности и детального администрирования службы IIS7 администраторы серверов могут настроить сервер с требуемой функциональностью и ограничить доступ менеджеров узлов и содержимого только необходимым уровнем.