Архитектура web-служб .NET
Реализация web-служб .NET осуществляется так же просто, как и активизация удаленной web-службы или вызов метода локального класса. Это достигается за счет применения инструментов, предоставляемых системой .NET Framework, которые позволяют создать полноценную web-службу, не вникая в детали работы таких стандартов, как SOAP и WSDL. Порядок действий при этом подобен приведенному ниже (обратите внимание, что этапы 1, 3, 5 и 8 выполняются вручную).
- Вы разрабатываете web-службу как .NET-класс с атрибутами, которые идентифицируют его как web-службу с некоторыми функциями.
- В среде .NET автоматически создается документ WSDL, где описывается, как клиент должен взаимодействовать с web-службой.
- Потребитель находит вашу web-службу и, решив воспользоваться ею, добавляет соответствующую web-ссылку в проект Visual Studio .NET (или запускает утилиту wsdl.exe).
- В среде .NET осуществляется автоматическая проверка документа WSDL и генерируется прокси-класс, который позволяет потребителю взаимодействовать с web-службой.
- Потребитель вызывает один из методов вашего класса web-службы. С его точки зрения этот вызов не отличается от вызова метода любого другого класса, но в действительности потребитель взаимодействует с прокси-классом, а не с web-службой.
- Прокси-класс преобразует, переданные параметры в сообщение SOAP и отправляет его web-службе.
- Вскоре прокси-класс получает SOAP-ответ, преобразует таковой в соответствующий тип данных и возвращает его как обычный тип данных .NET.
- Потребитель использует возвращенную ему информацию.
Описанный процесс схематически показан на рис.12.3.
Рис. 12.3. Взаимодействие с web-службой
При работе web-служб .NET используется технология ASP .NET, являющаяся частью системы .NET Framework. Она также требует поддержки со стороны сервера Microsoft IIS (Internet Information Server). Среда Visual Studio .NET обеспечивает большое количество инструментов, которые помогают облегчить решение задач, связанных с получением и выполнением web-службы.