Лабораторная работа № 17

Разработка клиентского приложения с использованием средства разработки Visual Basic.NET

В лабораторной работе №12 вы уже создали один Web-сервис и даже попробовали осуществлять доступ к нему при помощи стандартного метода POST протокола HTTP. При этом в качестве клиентского приложения использовался стандартный браузер. Это, конечно, удобно для разработчика, однако доступ к функциональности достаточно сложного сервиса и правильное отображение полученной информации при подобном методе работы несколько затруднены. Действительно, если мы построим на базе Web-сервиса, скажем, сеть обмена файлами, то использование браузера в качестве клиента явно не приведет к ее популярности.

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

Так как все общение с Web-сервисом происходит но протоколу HTTP, то разработчик никак не ограничен в средствах разработки клиентского при­ложения. Более того, выбор компьютерной платформы и операционной сис­темы для клиентского приложения тоже является прерогативой разработчи­ка. Он может выбрать любую операционную систему и любую платформу, которые поддерживают соединение с использованием протокола HTTP.

Один раз мы уже использовали для разработки Web-сервиса средство Visual Studio.2010. Остановимся на нем же и для разработки клиентского приложения. Поддержка XML является одной из наиболее часто упоминаемых возможностей Visual Basic.NET, поэтому нам не составит труда разработать клиента для Web - сервиса.

Мы можем, конечно, пойти по сложному пути, в клиентском приложении самостоятельно устанавливая соединение с Web-сервисом, подготавливая SOAP-запрос, получая и разбирая ответ сервиса. Но для первого клиентского приложения это будет излишне серьезной задачей. Зачем создавать себе подобные сложности, если среда разработки Visual Studio.2010 позволяет все сделать намного проще?

Итак, для создания своего первого обособленного клиентского приложения придется выполнить несколько несложных действий. Для начала необходимо создать новый проект. Для этого следует выполнить команду меню File | New | Project. | и в появившемся диалоговом окне Создать проект (рис 17.1) в поле Установленные шаблоны выбрать Visual Basic. В верхнем поле выбрать.NET Framework 2.0. В поле Шаблоны выделить значок Приложение Windows Forms. В поле Имя следует указать наименование создаваемого проекта. Укажите имя myclient и щелкните ОК.

Рис. 17.1. Внешний вид диалогового окна «Создать проект»

После этого Visual Studio 2010 создаст форму с именем Form1, устанавливаемым по умолчанию. В окне этой формы нам потребуется разместить один элемент Checkbox, одно текстовое поле Label, и одну кнопку Button. При помощи независимого переключателя CheckBox1 мы будем задавать параметр, передаваемый функции MyDate, входящей в состав сервиса MyService, созданного в лабораторной работе №12. Текстовое поле будет содержать результат, возвращаемый этой функцией, а кнопка — запускать процесс установки связи с Web-сервисом и получения от него требуемых данных. Общий вид готовой формы в среде разработки Visual Studio 2010 показан на рис. 17.2.

Рис.17.2. Внешний вид спроектированной формы клиентского приложения в среде разработки Visual Studio 2010

После того как все необходимые компоненты будут отбуксированы с панели элементов (Toolbox) на разрабатываемую форму, следует установить связь с искомым Web-сервисом. Для этого надо в окне Обозреватель решений (Solution Explorer) выделить элемент myclient и правым щелчком мыши вызвать для него контекстное меню. В этом контекстном меню необходимо выполнить команду Добавить веб-ссылку… (Add Web Reference), после чего будет активизировано одноименное диалоговое окно (рис.17.3), позволяющее установить ссылки на используемые сервисы. Это диалоговое окно унаследовало основную функциональность от стандартного браузера Microsoft Internet Explorer. В этом окне выберете Веб-службы на локальном компьютере. Visual Studio 2010 запустится на поиск локального компьютера для всех доступных веб-служб. Это может занять некоторое время. Появится новое окно Добавить веб-ссылку, приведенное на рисунке 17.4, в котором будут приведены все доступные в данный момент на локальном компьютере веб-службы. Нажмите кнопку Service1, соответствующую URL необходимого сервиса (например, с адресом http://localhost/MyService3/Service1.asmx).

Рис.17.3. Внешний вид окна Добавить веб-ссылку

Рис. 17.4. Внешний вид нового окна Добавить веб-ссылку

Появится новое окно Добавить веб-ссылку, приведенное на рисунке 17.5. В этом окне нажмите кнопку Добавить ссылку.

Рис.17.5. Внешний вид нового окна Добавить веб-ссылку

Результат добавления веб-ссылки можно увидеть в Обозревателе решений.

Итак, наш проект теперь имеет доступ к функциональности Web-сервиса, причем доступ, практически, прямой. Для осуществления взаимодействия с Web-сервисом сделайте двойной щелчок по кнопке Получить дату, чтобы отредактировать обработчик ее нажатия. Введите в обработчик следующие строки кода (рис.17.6):

Dim t1 As New myclient.localhost.Service1()

Label1.Text = t1.MyDate(CheckBox1.Checked)

Рис.17.6. Код обработчика нажатия кнопки

В первой строке мы объявляем переменную t1, которая является экземпляром класса Service1. Полное наименование этого класса, как видно из фрагмента кода, — myclient.localhost.Servicel. Здесь использование ссылки на сервис добавляет функциональность этого сервиса как класс в состав основного класса приложения. При этом, естественно, указывается и адрес Web-сервера, на котором располагается искомый сервис. В нашем случае, так как мы оперируем локальным Web-сервером, используется его внутреннее имя localhost.

После того как был объявлен экземпляр класса, предоставляющего доступ к Web-сервису, осталось лишь использовать его по назначению. Для этого вызывается функция MyDate, входящая в состав сервиса. В качестве параметра этой функции передается состояние независимого переключателя. Если флажок в нем взведен, то передается значение логического типа True, которое указывает, что помимо даты, клиентское приложение рассчитывает получить еще и текущее время. Если флажок в переключателе не взведен, то, естественно, передается значение False.

Так как функция возвращает значение типа string, возвращаемое значение можно сразу отобразить в компоненте Label. Именно эта операция и произ­водится во второй строке приведенного фрагмента кода.

После того, как будет создан код, приложение можно компилировать и запускать. Внешний вид нашего первого специализированного клиентского приложения показан на рис. 17.7.

Рис. 17.7. Внешний вид клиентского приложения

Итак, мы создали свое первое клиентское приложение, которое позволяет получать доступ к функциональности Web-сервиса. Причем, сама процедура разработки не составила особого труда. Действительно, следует признать, что средство разработки Visual Basic.NET позволяет создавать сервисы и клиентские приложения достаточно просто, сосредоточиваясь на разработке именно функциональности, а не на вопросах связи и приема/передачи данных.

Задания для самостоятельного выполнения

17.1. Создать клиентское приложение с использованием средства разработки Visual Basic.NET, позволяющее получить доступ к функциональности Web-сервиса, который по запросу пользователя будет выдавать приветствие «Здравствуй, мир!».

17.2. Создать клиентское приложение с использованием средства разработки Visual Basic.NET, которое позволяет получить доступ к функциональности Web-сервиса, реализующего теорему Пифагора.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: