Главная » Microsoft SQL Server, Базы данных » Прослушивание HTTP

0

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

С выходом пакета обновлений SP1 подключения по протоколу HTTP поддержи- Внимакие! вают сжатие.

Концевой точкой является прослушивающий узел, или адрес, используемый для получения запросов к Web-службам по протоколу HTTP. Сервер Web-служб может обслуживать множество концевых точек, каждая из которых может содержать несколько методов, или типов сообщений, которые может обработать.

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

Чтобы иметь возможность получать данные Web-службы, нужно написать оп-

?               На заметку ределенный программный код. В Visual Studio включен ряд примеров программ, предназначенных для работы с Web-службами. Используя только браузер, вы можете увидеть код WSDL, однако не сможете выполнить метод или получить данные от Web-службы SQL Server.

Процесс http . sys

Раньше, для того чтобы создать Web-службу для данных SQL Server, необходимо было построить несколько уровней: IIS, программный код .NET, систему обслуживания очереди сообщений и объекты ADO для подключения к SQL Server на стороне клиента. Каждый из этих слоев вносил свой вклад в общую производительность системы.

Гораздо более эффективным способом реализации Web-службы является использование высокопроизводительного прослушивания запросов HTTP, встроенного в новое поколение операционных систем. На уровне ядра систем Windows Server 2003, Windows ХР и Windows Vista запущен процесс HTTP. sys, который прослушивает запросы HTTP. SQL Server 2005 использует концевые точки процесса HTTP. sys.

Windows Server 2003 использует сервер IIS версии 6.0, который, в свою очередь, Внимание! использует HTTP. sys в качестве службы прослушивания. Таким образом, в этой конфигурации не возникает конфликтов между одновременным прослушиванием серверами IIS и SQL Server. В то же время Windows ХР SP2 продолжает использовать IIS 5.1, который осуществляет прослушивание самостоятельно, без использования службы HTTP.sys. Это значит, что если вам нужно создать Web-службу в Windows ХР, то следует либо отключить сервер IIS, либо сконфигурировать порты так, чтобы избежать конфликта между IIS и HTTP.sys, которые по умолчанию прослушивают один и тот же порт с номером 80.

Неявные концевые точки

В SQL Server 2005 существуют два метода создания концевых точек: явный и неявный. Неявный метод использует инструкцию DDL CREATE ENDPOINT и позволяет управлять созданием самому серверу баз данных. Этот метод как раз и рекомендуется использовать: CREATE ENDPOINT sql_endpointtest STATE = STARTED AS HTTP(

PATH = */sql’,

AUTHENTICATION = (INTEGRATED),

PORTS = (CLEAR),

SITE = , CLEARJPORT = 20000

)

FOR SOAP (

WEBMETHOD ‘http://tempUri.org/’.’GetSqlInfo’

(name=’master.dbo.xp_msver1,

SCHEMA=STANDARD),

WSDL = DEFAULT,

SCHEMA = STANDARD ,

DATABASE = ‘master’

) ;

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

Транспортный раздел инструкции CREATE ENDPOINT, начинающийся с ключевого слова AS, конфигурирует путь к концевой точке, метод аутентификации и порты. В приведенном выше примере методом транспортировки был выбран HTTP (а не TCP/IP).

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

Раздел наполнения определяет содержимое концевой точки, обычно это FOR SOAP. В этом разделе также определяются Web-методы, тип WSDL, схема и база данных.

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

Явные концевые точки

Альтернативой создания подключения к HTTP. sys самим сервером является жесткое программирование (конфигурирование) этого подключения с использованием явной концевой точки. Лично я рекомендую всегда использовать неявные концевые точки и отдавать управление подключениями к HTTP. sys на откуп серверу баз данных.

Конфигурирование нтрр . sys

Файл конфигурации HTTPcfg отлично подходит для опроса процессов, которые прослушивают HTTP.sys, и для управления прослушиванием подключений. Когда HTTPcfg обращается к ACL, он использует список управления доступом (Access Control List). Это утилита командной строки, входящая в состав операционной системы Windows Server 2003, однако вы можете загрузить ее копию и для использования в Windows ХР. Эта утилита также включена в инструментарий MSFT Service Toolkit— windowsxp-kb83 8079-supporttools-enu.exe,— который можно загрузить с сайта корпорации Microsoft.

WSDL

Язык описаний Web-служб WSDL является стандартным средством, встроенным практически в любую Web-службу. Он используется клиентом для обнаружения методов и сообщений, доступных в конкретной Web-службе. SQL Server и HTTP. sys обеспечивают поддержку WSDL в трех возможных вариантах: стандартном, упрощенном и выборочном. Пожалуй, стандартный вариант можно назвать лучшим, несмотря на то, что он словесный.

После создания концевой точки протестируйте ее наличие и активность. Проще всего для этого в Web-браузере опросить WSDL. В Internet Explorer используйте адрес URL http: // сервер: порт/pathPwsdl (рис. 32.1).

Упрощенный вариант WSDL является более компактной версией WSDL.

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

Puc. 32.1. Просмотр WSDL в Internet Explorer путем перехода к серверу по пути, предложенному Web-службой

Защита концевых точек

При передаче данных через Интернет основное внимание следует уделять вопросам безопасности. Web-службы SQL Server 2005 имеют двухуровневую защиту. Вначале права доступа проверяются на транспортном уровне библиотекой HTTP. sys путем аутентификации, а затем повторная проверка выполняется уже самим сервером. Ни один из этих уровней не обеспечивает анонимный доступ.

Аутентификация на транспортном уровне HTTP может быть сконфигурирована в режимах Basic, Digest или Integrated (NTLM, Kerberos).

Регистрационные данные SQL Server передаются в пакете SOAP, создаваемом взаимодействующим со службой приложением. Так как пакет’ может быть зашифрован, нет необходимости отправлять регистрационные данные в открытом виде. Если вы используете смешанную регистрацию SQL Server и пакет SOAP аутентифицируется в SQL Server с использование регистрационной записи SQL Server, для шифрования данных важно использовать защищенные подключения.

Резюме

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

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

InfoPath и SQL Server 2005

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

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

Существует несколько подходов к созданию форм, используемых для ввода и отображения данных SQL Server, в том числе формы Windows и Web-формы. Программа Microsoft InfoPath 2003 предлагает альтернативный способ создания таких форм.

Эту главу можно рассматривать как введение в программу InfoPath 2003. В ней будут описаны некоторые средства этой программы и порядок их использования в работе с SQL Server.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии