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




Создание проекта Web-службы на основе ATL Server (ATL Server Web Service Project)

В главе 11 "Web-службы" мы видели, как работают Web-службы, используя ASP NET Здесь не будет повторения теоретических основ их работы, ведь эти основы одни и те же, что бы ни использовалось для реализации Web-службы — ASP NET или ATL Server А вот что касается отличий, то главное из них состоит в том, что если ASP NET реализуется с помощью управляемого кода и допускает использование любого из языков платформы NET, то библиотека шаблонных классов ATL, наоборот, реализована с помощью неуправляемого кода и допускает использование только Visual C++
Вот последовательность действий, с помощью которых можно создать проект пусковой системы (стартера, или инициирующей программы) Web-службы на основе библиотека шаблонных классов ATL [Экземпляр решения для этого проекта имеется в каталоге ATLServerWeb ].

  1. Выберите следующие пункты меню File<=>NewOProject (ФайлОСоздать'ФПроект)
  2. В дереве Project Types (Типы проектов) откройте узел Visual C++ Projects (Проекты Visual C++)
  3. В окне Templates (Шаблоны) выберите ATL Server Web Service Project (Проект Web-службы на основе ATL Server) В результате появится Мастер создания проектов на основе ATL Server (ATL Server Project Wizard), причем предназначенный для создания Web-службы, а не Web-приложения
  4. В качестве имени проекта введите ATLServerWeb
  5. Введите имя каталога, предназначенного для хранения проекта В данном случае используется каталог Demos (Демонстрационные примеры)
  6. Для запуска Мастера создания проектов на основе ATL Server (ATL Server Project Wizard) щелкните на кнопке OK
  7. На вкладке Overview (Общие сведения) этой программы просмотрите значения параметров, заданные по умолчанию Кроме того, посмотрите на вкладки Project Settings (Параметры проекта), Server Options (Параметры сервера), Application Options (Параметры приложения) и Developer Support Options (Параметры поддержки разработчика) Они показаны на рис. 12.20, 12.21, 12.22, 12.23 и 12.24
  8. Не изменяя этих заданных по умолчанию значений, щелкните на кнопке Finish (Готово)
  9. Выполняйте то, что обычно делается при создании проекта В результате на основе библиотеки шаблонных классов ATL будет создана и развернута Web-служба

20.gif

Рис.12.20. Вкладка Overview (Общие сведения) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)

21.gif

Рис. 12.21. Вкладка Project Settings (Параметры проекта) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)

22.gif

Рис. 12.22. Вкладка Server Options (Параметры сервера) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)

23.gif

Рис. 12.23. Вкладка Application Options (Параметры приложения) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)

24.gif

Рис. 12.24. Вкладка Developer Support Options (Параметры поддержки разработчика) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)

Следующие файлы создаются только в проекте Web-службы на основе библиотеки шаблонных классов ATL. Файл обнаружения (discovery file) содержит информацию, отформатированную по правилам XML. Эта информация используется инструментами создания клиента для обнаружения функционального интерфейса, предоставляемого Web-службой. HTML-файл предоставляет доступ к читабельной (для людей!) информации о возможностях этой Web-службы.

  • .disco-файл.
  • . htm-файл.

Ну а . srf-файл создается только в проекте на основе ATL Server (ATL Server project), а не в проекте Web-службы на основе библиотеки шаблонных классов ATL (ATL Web Service project), в котором он совсем ни к чему. Дело в том, что доступ к Web-службе выполняется не из Web-броузера, а из пользовательского клиентского приложения.
Единственный файл, который, хотя и имеется в проектах обоих видов, т.е. в проекте на основе ATL Server (ATL Server project) и в проекте Web-службы на основе библиотеки шаблонных классов ATL (ATL Web Service project), но при этом существенно отличается в зависимости от типа проекта, — это .h-файл, реализующий класс обработчика запросов ATL Server. В проектах обоих видов определяется пространство имен. Впрочем, только в проекте Web-службы на основе библиотеки шаблонных классов ATL (ATL Web Service project) пространство имен содержит интерфейс доступа к методам этой службы, а также класс обработчика запросов, имеющий дополнительный атрибут soap_handler. Кроме того, в этом классе есть метод из примера пусковой системы HelloWorld (Здравствуй, мир), к которому применяется атрибут soap_method.