oldi

Microsoft Internet Information Server 4.0

Андрей Кузьмин

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

Архитектура

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

Службы Web

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

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

     Microsoft Management Console

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

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

    Метабаза

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

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

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

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

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

     ASP

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

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

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

     CGI

    ISAPI

    ODBC

    Microsoft Transaction Server

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

Заключение

 

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).

В начало

В начало

ASP

Активные страницы сервера (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-компоненты различного назначения, которые можно использовать в Интернете и интрасетях.

В начало

В начало

CGI

Это один из самых распространенных интерфейсов расширения 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.

В начало

В начало

ODBC

Коннектор баз данных — еще одно средство расширения возможностей 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-хости

КомпьютерПресс 5'1999