Книга: Программирование мобильных устройств на платформе .NET Compact Framework

Вызов Web-служб с мобильного устройства

Вызов Web-служб с мобильного устройства

Способность мобильных устройств взаимодействовать с теми же типами Web- серверов, с которыми могут взаимодействовать приложения настольных компьютеров и серверов, — это великое благо для разработчиков мобильных приложений. Любое устройство, которое может получать доступ к Web-страницам, располагает встроенными возможностями установки соединений, необходимыми для вызова Web-служб.

Одно дело — иметь возможность вызывать Web-службы, и совершенно другое — иметь возможность делать это легко. Обращаясь к аналогии, можно заметить, что загрузка HTML-документа не составляет труда, однако для визуального представления информации в виде, приемлемом для конечного пользователя, необходимо выполнить значительный объем работы по преобразованию HTML-документа. В связи с этим для облегчения работы с Web-службами предусмотрены программные библиотеки различных уровней. В порядке повышения уровня абстракции этими уровнями являются следующие: 

? Возможность выполнять HTTP/HTTPS-запросы. Теоретически, если ваше мобильное приложение способно направлять запросы Web-серверу, то оно способно также вызывать Web-службы. 

? Возможность генерировать и анализировать XML-документы. Поскольку языком общения с Web-службами является XML, способность генерировать и анализировать XML-документы значительно упрощает работу с Web-службами. 

? Возможность генерировать и анализировать сообщения SOAP. Сообщения SOAP представляют собой специальные грамматические конструкции, построенные поверх XML. Гораздо легче использовать библиотеку программ, которая позволяет вашему приложению работать на концептуальном уровне запросов и ответов SOAP, чем вручную создавать запросы и интерпретировать ответы, поступающие в виде XML. 

? Возможность автоматически генерировать прокси-код для приложений-клиентов Web-служб. Некоторые средства разработки программного обеспечения обеспечивают загрузку WSDL-документов, описывающих Web-службы, и автоматическую генерацию кода клиента Web службы, необходимого для создания запросов SOAP и анализа возвращенных ответов SOAP. Автоматическая генерация кода клиентов Web-служб упрощает вызов этих служб. Вместо того чтобы писать код для построения SOAP-запросов вручную, отправки этих запросов на серверы и анализа возвращаемых результатов, разработчики могут рассматривать запросы Web-служб как обычные вызовы методов. Например, Web-службу, осуществляющую сложение двух чисел, можно просто вызвать следующим образом:

MyWebService myWS = new MyWebService();
int result = myWS.AddTwoNumbers(2, 8);

Вся логика, необходимая для создания запросов SOAP, отправки их на сервер и анализа ответа SOAP, содержится в прокси-классе с именем MyWebService на стороне клиента Web-служб.

Все вышеописанные уровни абстракции поддерживаются в .NET Compact Framework в той же мере, что и в версии .NET Framework для настольных компьютеров и серверов. Во время написания данной книги некоторые из вышеперечисленных верхних уровней абстракции другими технологиями (например, J2ME, собственные коды) не поддерживались, но значение технологии Web-служб настолько велико, что простые процедуры вызова Web-служб, по всей видимости, будут предусмотрены почти во всех версиях программных каркасов для мобильных устройств. Вместе с тем, на развертывание сред выполнения для мобильных устройств должно уйти некоторое время (во многих случаях развертывание новых сред выполнения и библиотек должно сопровождаться внедрением нового оборудования), и если вы работаете с программными технологиями для мобильных устройств, которые в настоящее время встроенной поддержки Web-служб не имеют, то должны быть готовы к написанию дополнительного низкоуровневого кода, обеспечивающего генерацию запросов и анализ ответов.

Оглавление книги


Генерация: 1.142. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз