|
Программирование >> Программирование с использованием ajax
ля в нужном городе. Если повезет, вы найдете карту с указанием маршрута до отеля. Найдя домашнюю страницу отеля, нужно перейти на страницу формы заказа и забронировать номер. Затем можно поискать фирму по прокату автомобилей и т.д. На сегодня поиск подходящих Web-сайтов с помощью поисковых механизмов и последующий переход к этим сайтам сопряжен с огромным объемом работы. Вместо того чтобы проделывать все это, можно было бы создать приложение Домашнее бюро путешествий , использующее Web-службы со сведениями о гостиницах, авиалиниях, фирмах проката автомобилей и т.п. Затем клиенту можно было бы предоставить простой интерфейс, учитывающий все аспекты отпуска, включая заблаговременный заказ билетов на конкретный музыкальный концерт. С помощью своего карманного ПК во время отпуска эти же Web-службы можно применять для получения карты расположения определенных мест отдыха и точной информации о культурных событиях, киносеансах и т.п. Сценарий использования приложения распространения книг Web-службы могут также быть полезными для двух компаний, поддерживающих партнерские отношения. Предположим, что распространитель книг хочет развернуть книжные магазины с информацией об имеющихся в наличии книгах. Эту задачу можно выполнить с помощью Web-службы. Можно создать приложение ASP.NET, использующее Web-службу, которое будет предоставлять эту услугу непосредственно пользователям. Второе клиентское приложение этой службы - Windows-приложение книжного магазина, которое вначале проверяет наличие указанных книг на локальном складе, а затем на складе дистрибьютора. Продавец может немедленно отвечать на вопросы о сроках доставки, не обращаясь к другим источникам складской информации в других приложениях. Типы клиентских приложений Клиентом Web-службы может быть мощное Windows-приложение, созданное с помощью Windows Forms, или приложение ASP.NET, использующее Web Forms. Использование Web-службы может осуществляться посредством ПК под управлением Windows, системы UNIX или карманного ПК. Каркас .NET Framework позволяет применять Web-службы в любом типе приложений - Windows, Web или консольных. Интеллектуальный клиент - термин, обозначающий мощное клиентское приложение, которое использует Web-службы. Интеллектуальный клиент может действовать, не будучи подключенным к Web-службе, поскольку он кэширует данные локально. Microsoft Outlook служит примером интеллектуального клиента, поскольку все почтовые данные хранятся на клиентской системе, а при подключении к серверу Exchange они синхронизируются. Архитектура приложения Как же в действительности выглядит приложение, использующее Web-службы? Независимо от того, идет речь о разработке приложений ASP .NET или Windows либо приложений для небольших устройств (описанных в представленных в этом разделе сценариях), Web-службы являются важной технологией. Сценарий возможного использования Web-служб показан на рис. 21.1. Устройства и браузеры подключаются к приложению ASP.NET, разработанному с помощью Web Forms, через Internet. Это приложение ASP.NET использует локальные и удаленные, доступные по сети, Web-службы: Web-службы портала, Web-службы, специфичные для приложения и унифицированные элементарные Web-службы. Следующий перечень должен помочь в понимании смысла этих типов служб. □ Web-службы портала. Предоставляют службы различных компаний по одной тематике. Обеспечивают простую в использовании точку доступа к нескольким службам. □ Web-службы, специфичные для приложения. Созданы для использования отдельным приложением. □ Унифицированные элементарные Web-службы. Службы, которые легко могут использоваться внутри нескольких приложений. Представленные на рис. 21.1 Windows-приложения могут использовать Web-службы непосредственно, не обращаясь к приложению ASP.NET. Устройства Браузеры Приложение ASRNET Локальные Web-службы Windows-приложения Службы портала Web-службы, специфичные для приложения Унифицированные элементарные Web-службы Граница Internet Рис. 21.1. Сценарий возможного использования Web-служб Архитектура Web-служб Web-службы используют протокол SOAP, являющийся стандартом, который определен многими компаниями. Огромное преимущество Web-служб - их независимость от платформы. Однако Web-службы - полезная технология не только при необходимости обеспечения взаимодействия нескольких платформ. Они могут быть также очень полезны при разработке приложений .NET как для клиентской, так и для серверной стороны. Преимущество этой технологии в том, что клиент и сервер могут выступать на сцене независимо. Описание службы создается документом WSDL (Web Service Description Language - язык описания Web-служб), который может быть разработан независимо от новых версий Web-службы и, следовательно, клиент не будет нуждаться в изменении. Подробнее рассмотрим необходимые шаги. Методы, которые можно вызывать Документ WSDL содержит информацию о методах, поддерживаемых Web-службой, и способах их вызова, типах параметров, переданных службе и возвращенных службой. Документ WSDL, генерируемый исполняющей средой ASP.NET, приведен на рис. 21.2. Добавление строки ?wsdl в файл .asmx ведет к возврату документа WSDL. # rmpU oceirw>st:49813/S fv1ce1.i*mx7WSDL - Windows Internet Explorer 10 rmpJIOC lho t48ei3/S 4lce1. r .l/Scrv4ccl.aaiutmsdl 9 T4K>h vsrschfma elempntFormD*fault - quaHfted tdrrg >tNdm*>spic >=http: www.wrox.com/webservices*> j element n.jmeReverseStnng <s comiJH.Typ. . <s:sequ nce <s:element minO<curs=*0 mdxOccurs:i*l name message* type-s:slring </*rsequence> s/s4 omplexType> n/s pj-mf-nt vb.element n.im> =*ReverseStringResponse > <5сот}ЯехТуре> <s sequence> <v:e<ement minOtciirs=0* ma*Occurs= l name-RevttrseStringResult type -*s:string* /> <ys sequence> <ys cc>mpk?>lype> </s element > </s schema > <ywsdl types <v.sdl mbssag*- nam ReverseStringSoapIn .wsdip.irt nait\*? parameters demerit tnsrRewerseSlrlnq > 7wsdl nussaq. casdl m*: .s tqe nim*> ReverseStrtngSoapOut> .vvsdl part nam i parameters ement tns:ReverseStringResponse /> </wsdl; message.. o sdl:portType name = ServlcelSoap ovsdl opeiation nanve ReverseString <wsdl*rtpot message-*tns:RpverseStrmgSodpIn Don* * Local IntrMet Protected Mod : On Puc. 21.2. Документ WSDL Обработку этой информации не обязательно выполнять непосредственно. Атрибут WebMethod (мы рассмотрим его позднее) будет приводить к динамической генерации документа WSDL. Добавление Web-ссылки в клиентское приложение средствами Visual Studio вызывает запрос документа WSDL. Этот документ WSDL, в свою очередь, применяется для создания прокеи-клиента с теми же методами и аргументами. Использование этого прокси-клиента обеспечивает приложению то преимущество, что ему приходится только вызывать методы, как они реализованы на сервере, поскольку для выполнения вызова по сети прокси-клиент преобразует их в вызовы SOAP. Спецификация WSDL поддерживается консорциумом World Wide Web Consortium (W3C). С ней можно ознакомиться на Web-сайте W3C (www.w3 .org/TR/wsdl). Вызов метода Чтобы метод можно было вызвать применительно к Web-службе, вызов должен быть преобразован в сообщение SOAP, как это определено в документе WSDL. Сообщение SOAP - основной элемент обмена данными между клиентом и сервером. Части сообщения SOAP показаны на рис. 21.8. Сообщение SOAP включает в себя конверт SOAP, который, как легко догадаться, заключает всю информацию SOAP в единый блок. Сам конверт SOAP состоит из двух частей: заголовка SOAP и тела SOAP. Необязательный заголовок определяет то, как клиент и сервер должны обрабатывать тело сообщения. Обязательное тело SOAP содержит пересылаемые данные. Обычно информацией внутри тела является вызываемый метод и упорядоченные значения параметров. Сервер SOAP отсылает обратно возвращаемые значения в теле SOAP сообщения SOAP.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |