Приложения Web-cepenca ASP.NET

Оценить
(1 голос)

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

□    Web-cepeuc представляет собой цельный набор.логики приложения, которая выполняет действия и предоставляет данные. Web-сервис группирует эту логику в виде методов, которые можно вызвать по HTTP. Не все сервисы являются Web-сервисами; таковыми считаются только те, которые работают через Интернет.

□    Метод Web-cepeuca (или Web-метод) представляет собой метод, предоставляемый Web-сервисом. Web-метод может принимать параметры и возвращать ответ.

□    XML (Extensible Markup Language, расширяемый язык разметки) используется для пред­ставления и описания данных независимым от платформы образом. XML может приме­няться для представления как простых, так и сложных элементов данных и связей. Именно стандарт XML делает Web-сервисы возможными.

П WSDL (Web Service Description Language, язык описания Web-сервиса) служит для опи­сания содержимого Web-сервиса и его Web-методов. WDSL обеспечивает контракты сообщений данных, которые позволяют клиентам работать с сервисом.

□    XSD (XML Schema Document, документ схемы XML) содержит набор предопределен­ных типов (строковых, десятичных и т. д.) и стандартный язык для описания ваших соб­ственных сложных типов. Документ схемы XML (называемый также XSD) использует эти типы для описания (и ограничения) содержимого XML-сообщения.

□    SOAP (Simple Object Access Protocol) — это основанный на XML протокол для обмена между клиентом и Web-сервисом. Можно считать, что SOAP представляет формат со­общений при их передаче по проводам. SOAP обертывает XML-сообщения для переда­чи через Интернет. Большая часть сообщений SOAP посылается по HTTP. Однако они могут также посылаться по транспортным протоколам (таким как SMTP или FTP).

□    HTTP (Hypertext Transfer Protocol) представляет собой протокол обмена, используемый Web-сервисами для передачи отформатированных (или закодированных) протоколом SOAP сообщений. HTTP также является способом реализации стандартных запросов (get и post) для Web-страниц.

□    UDDI (Universal Description, Discovery and Integration) используется для определения реестра Web-сервисов. Эта возможность полезна для публикации сервисов (чтобы разработчики могли их найти и воспользоваться ими).

□    URI (Uniform Resource Identifier) обеспечивает средство локализации в Интернете. В большинстве случаев URJ — это URL, которые указывают на сервис.

□    DISCO (Discovery Document)— файл DISCO предоставляет информацию, которая свя­зывает с ключевыми элементами Web-сервиса (это ссылки на XSD, привязки SOAP, а также пространства имен). Программы могут использовать файл DISCO для определе­ния того, как надо работать с данным Web-сервисом.

□    fVS-* представляет общие стандарты Web-сервисов.

□    WSE (Web Service Enhancements) — это реализация стандартов WS-* фирмой Microsoft. Последняя версия — это WSE 3.0. Она реализует транзакции Web-сервисов и улучшен­ную систему безопасности. WSE можно скачать, она работает как надстройка для Visual Studio.

Visual Studio делает создание Web-сервисов похожим на разработку других классов и ком­понентов. Таким образом, сложные аспекты SOAP, WSDL, XSD (и прочего) абстрагируются (и автоматически генерируются данным инструментом). Вы по-прежнему имеете доступ к этим элементам и управление ими (если они вам нужны). Однако по большей части вы определяете Web-сервис точно так же, как создаете класс. Затем вы определяете Web- методы (аналогично тому, как вы определяли бы методы класса). Visual Studio создает соот­ветствующий контракт схемы для сигнатур ваших методов и описывает ваши Web-сервисы в терминах WSDL. Затем .NET Framework позаботится о надлежащей упаковке ваших дан­ных в сообщение SOAP и передаче их по HTTP.

Web-сервисы в .NET создаются и предоставляются в той же самой инфраструктуре, которая предоставляет Web-сайты ASP.NET. Это означает, что Web-сервисы используют ту же са­мую серверную технологию (Internet Information Services, или IIS) и те же самые объекты (такие как Application, Session и Context). Таким образом, те разработчики, которые знакомы с изготовлением приложений ASP.NET, могут использовать этот опыт для Web-сервисов. Вы можете использовать встроенное управление состоянием, сервисы аутентификации и производительность ASP.NET.

Web-сервис в .NET — это просто Web-адрес файла Web-сервиса, имеющего расширение asmx. Сервис имеет стандартный адрес http://.... Этот файл используется как UR1 для Web- сервиса (аналогично Web-странице). Вы пишете ваш выделенный код для этого файла, а Visual Studio и .NET делают все остальное (прикрепляют соответствующий WSDL и акти­вируют вызовы SOAP по HTTP). Давайте более подробно рассмотрим использование Visual Studio и ASP.NET для предоставления Web-сервисов.

Шаблон проекта ASP.NET Web Service Project

Web-сервис можно добавить в любой Web-npoeKT ASP.NET. Visual Studio предоставляет также и специфичный для Web-сервиса шаблон проекта. Этот шаблон полезен тогда, когда вы хотите создать целый слой сервисов или отделить ваши сервисы от любых элементов пользовательского интерфейса. Проект из этого шаблона вы создаете точно так же, как и другие Web-проекты: выбор File | New | Website приведет к открытию диалогового окна Add New Project (рис. 19.3). Здесь вы можете выбрать шаблон ASP.NET Web Service Ap­plication для того, чтобы описать специфичный для Web-сервиса проект.

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

Рис. 19.3. Создаем новый проект Web-сервиса

Файлы Web-сервиса
Создание Web-сервиса ASP.NET
Класс атрибута WebService
Класс WebService
Класс атрибута WebMethod

Добавить комментарий


Защитный код
Обновить

© 2018 www.visualstudios.ru. Все права защищены.