Чтение онлайн

на главную

Жанры

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

Салмре Иво

Шрифт:

При работе с различными сетями мобильной телефонной связи или Wi-Fi важно, чтобы вашему приложению была известна измеренная (а не теоретическая) величина пропускной способности, которую обеспечивает канал связи. Одно дело — "прекрасно работать, когда благожелательно настроенный пользователь согласен ждать результата неопределенное время", и совершенно другое, когда приложение "при любых обстоятельствах должно обеспечивать для пользователя комфортные условия работы". Если ожидается, что ваше приложение будет выполняться на устройствах, которые поддерживают связь как посредством Wi-Fi, так и посредством мобильных телефонных сетей, то для приложения целесообразно предусмотреть два режима выполнения — низкопроизводительный и высокопроизводительный. В режиме низкой производительности передаваться должны лишь наиболее существенные данные, тогда как остальные данные должны кэшироваться до тех пор, пока не сможет быть установлено высокоскоростное соединение.

В качестве примера рассмотрим действия

эксперта по дорожно-транспортным происшествиям. Предположим, что в функции эксперта входит выезд на место происшествия и составление отчета, к которому в качестве вещественных доказательств прилагаются цифровые фотографии. Очень важно, чтобы сведения о дорожном происшествии поступали как можно быстрее; все его участники должны заполнить свои страховые заявки, в необходимых случаях должна быть оказана медицинская помощь, машины должны быть отбуксированы в разные места и так далее. Указанные причины и обуславливают важность немедленного составления отчета о происшествии. В долговременной перспективе важны также различного рода вещественные доказательства, и в этом отношении подробные фотографии, сделанные на месте происшествия, могут оказать неоценимую помощь. Встроенное в мобильный телефон, который эксперт всегда имеет при себе, специализированное приложение может значительно повысить эффективность этого процесса. По прибытии на место происшествия эксперт начинает готовить новый отчет об инциденте, используя мобильное устройство. Запустив мобильное приложение, он может ввести важную информацию, касающуюся дорожного происшествия, например, автомобильные номера машин-участниц инцидента, номера водительских прав, контактную информацию о пассажирах, и результаты первоначальной оценки происшедшего. Как только эта информация подготовлена, ее можно немедленно поместить на сервер, используя мобильное телефонное соединение. Поскольку эта информация является в основном текстовой, а ее объем сравнительно невелик, то процесс выгрузки данных займет мало времени, так что мобильная телефонная связь вполне подходит для этих целей. После того как эта информация введена в систему, можно сразу же приступать к растаскиванию автомобилей, поэтому в скорейшем завершении первого этапа сбора и отправки информации об инциденте заинтересованы все стороны. Теперь наш эксперт может приступить к работе, требующей большей тщательности: сделать подробные фотографии, записать в звуковые файлы показания очевидцев происшествия и собрать дополнительную информацию. Часть информации может быть немедленно выгружена на сервер, но основной ее объем можно кэшировать на устройстве, что позволит сэкономить и время, и деньги. Позже, когда эксперт вернется в офис или окажется в том месте, где предоставляется доступ к сети Wi-Fi, он сможет выгрузить на сервер цифровые фотографии, записанные с голоса показания и другие данные, занимающие большой объем.

При проектировании модели сетевого доступа важно не "переборщить" и не пытаться решать все вопросы вместо пользователя мобильного приложения. Можно собрать достаточный объем информации о доступных сетях и организовать автоматическое выполнение операций, требующих использования высокопроизводительных или низкопроизводительных каналов связи, но можно поступить и иначе. Попытки автоматизации использования сетевого доступа заслуживают внимания, однако выбор окончательного решения следует предоставлять пользователю. В конце концов, именно конечным пользователям мобильного приложения придется работать с ним в реальных условиях, и кто. как не они, способен принять наиболее оптимальное решение относительно целесообразности передачи тех или иных данных. Ваше приложение должно предоставлять конечным пользователям необходимую информацию и давать им возможность принимать решения по своему усмотрению. Лучший способ реализации такого подхода заключается в том, чтобы разрешить пользователям задавать предпочтительные установки режимов передачи данных, предоставить им возможность передавать данные по запросу и позволить отказываться от операций, выполнение которых в настоящее время они считают нецелесообразным. При этом важно не впасть в одну из крайностей, предоставляя в распоряжение пользователей либо недостаточные возможности контроля, либо чрезмерно сложный набор возможных вариантов. Соответствующие рекомендации приводятся ниже: 

■ Разрешите пользователям задавать предпочтительные параметры связи. Если это возможно, предусмотрите в приложении набор регулируемых параметров передачи информации, изменением значений которых пользователи приложения могли бы настраивать его, исходя из пропускной способности сети и собственных потребностей. В качестве примера пользовательских установок можно привести возможность задания объема информации, подлежащей загрузке (например, небольшой, средний, произвольный), или указывать загрузку только текста, отказываясь от загрузки относящихся к нему изображений. 

■ Предоставьте пользователям возможность передавать данные "по требованию". Во многих случаях наилучшими возможностями для принятия решений о необходимости установления связи располагает конечный пользователь мобильного приложения. Например, если требуется подключение к сети мобильной телефонной связи или Wi-Fi, то пользователь мобильного устройства может переместиться в то физическое место, где установление нужного

вида связи становится возможным. Оказавшись в зоне, где, как ему известно, можно установить нужное соединение, пользователь сможет немедленно отдать приложению команду приступить к синхронизации данных. Посадив в водительское кресло именно конечного пользователя, вы делаете приложение значительно более гибким. 

■ Предоставьте пользователям возможность отказываться от операций, выполнение которых в настоящее время они считают нецелесообразным. Как бы вы ни старались, почти невозможно предугадать, с какими трудностями придется столкнуться вашему приложению при выполнении коммуникационных операций, и каковы могут быть надежные способы их решения. Причиной того, что ваше приложение не сможет предоставить пользователю те условия связи, на которые тот рассчитывает, может быть перегрузка сети и, как следствие, ее низкая пропускная способность, возникновение проблем на прокси-сервере, а также множество других факторов. Ваш код должен надежно справляться с подобными ситуациями. Что немаловажно, вы должны давать конечным пользователям возможность принимать на себя управление ситуацией и прекращать попытки обмена информацией с удаленными источниками, откладывая выполнение операций на более поздний срок. Ваше приложение должно обеспечивать конечных пользователей необходимой информацией, позволяющей им принимать обоснованные решения относительно целесообразности дальнейшего поддержания связи; последующее поведение приложения должно определяться тем, что требуется пользователю. В качестве возможных способов оказания пользователю помощи в принятии обоснованных решений подобного рода можно привести отображение на экране количества попыток установления связи или "процента выполнения" операции, связанной с передачей данных, а также предоставление пользователю возможности отменить или отложить на более поздний срок осуществление такой операции, если она выполняется слишком медленно.

Один из возможных примеров цепочки мобильной связи, в которой используется как сеть мобильной телефонной связи, так и сеть Wi-Fi, представлен в схематическом виде на рис. 15.3.

Рис. 15.3. Маршрут передвижения пользователя мобильного телефона и сети Wi-Fi. Сети мобильной телефонной связи характеризуются более широкой зоной покрытия, но меньшей скоростью передачи данных по сравнению с сетями Wi-Fi. Для пользователя, перемещающегося на большие расстояния, сети мобильной телефонной связи обеспечивают возможность подключения к данным на сервере практически на всем протяжении маршрута. Если возникает необходимость в передаче большого объема данных, то пользователь должен специально приблизиться к "горячей точке Wi-Fi". Кроме того, возможностью подключения к сети Wi-Fi иногда можно пользоваться в "мертвых зонах" ("dead spots") сети мобильной телефонной связи (например, в метро).

На этом рисунке видно, что сети мобильной телефонной связи имеют широкие зоны покрытия с относительно малочисленными "мертвыми зонами", в которых связь не обеспечивается. В отличие от этого зоны покрытия Wi-Fi сетей характеризуются гораздо меньшими размерами, но зато обладают большей пропускной способностью. Пользователи мобильных устройств могут использовать сеть мобильной телефонной связи для частой передачи данных небольшими порциями, когда работают на выезде, а более крупные объемы данных помещать в очередь и передавать во время нахождения вблизи "горячей точки" широкополосной сети Wi-Fi.

Связь посредством лотка/кабельного соединения с ПК

Под связью посредством лотка понимается либо непосредственная, либо сквозная передача данных в сеть через промежуточный компьютер, когда устройство подключено к этому компьютеру с помощью физического кабеля. Вместо установления соединения непосредственно с сетью мобильное устройство связывается с настольным компьютером или лэптопом. Устройство либо синхронизирует данные с компьютером, либо использует его в качестве средства, обеспечивающего доступ к сети. Примечание. Возможность доступа к сети через хост-компьютер должна поддерживаться программным обеспечением, при помощи которого осуществляется синхронизация данных; так, начиная с Pocket PC 2002, различные версии программного обеспечения ActiveSync компании Microsoft поддерживают туннелированный доступ устройств к Internet через настольные компьютеры. В разных технологиях работы с устройствами подобная поддержка "сквозного" доступа в сеть будет обеспечиваться разным программным обеспечением.

Преимуществом связи посредством лотка является ее относительная простота. Часто все необходимое для этого программное обеспечение и кабели уже имеются у владельцев соответствующих мобильных устройств, а владельцы компьютеров тоже, как правило, сразу же заботятся о подключении их к сети Internet. Связь через лоток особенно удобно использовать в интересах прототипирования, тестирования и отладки приложения, поскольку она обеспечивает легкий доступ к сетевым устройствам в контролируемом окружении. Кроме того, связь через лоток не является дорогой, поскольку она не зависит ни от какой другой инфраструктуры сетевого доступа кроме тех, которые уже имеются на лэптопах и настольных компьютерах.

Поделиться:
Популярные книги

Паладин из прошлого тысячелетия

Еслер Андрей
1. Соприкосновение миров
Фантастика:
боевая фантастика
попаданцы
6.25
рейтинг книги
Паладин из прошлого тысячелетия

Дорога к счастью

Меллер Юлия Викторовна
Любовные романы:
любовно-фантастические романы
6.11
рейтинг книги
Дорога к счастью

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Законы Рода. Том 3

Flow Ascold
3. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 3

Столичный доктор. Том III

Вязовский Алексей
3. Столичный доктор
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Столичный доктор. Том III

Адепт. Том 1. Обучение

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
9.27
рейтинг книги
Адепт. Том 1. Обучение

Огни Аль-Тура. Желанная

Макушева Магда
3. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.25
рейтинг книги
Огни Аль-Тура. Желанная

Отмороженный 4.0

Гарцевич Евгений Александрович
4. Отмороженный
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Отмороженный 4.0

Держать удар

Иванов Дмитрий
11. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Держать удар

Соль этого лета

Рам Янка
1. Самбисты
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Соль этого лета

Бестужев. Служба Государевой Безопасности

Измайлов Сергей
1. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности

Шипучка для Сухого

Зайцева Мария
Любовные романы:
современные любовные романы
8.29
рейтинг книги
Шипучка для Сухого

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Не грози Дубровскому! Том II

Панарин Антон
2. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том II