Изучаем SyncML

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

Вместо предисловия

Что касается информации, то одним из ее важнейших свойств является актуальность. Думаю, найдется немного людей, которым интересен вчерашний прогноз погоды или курсы валют прошлой недели. А с коммерческой информацией еще жестче, здесь не то что часы, а порой минуты и даже секунды играют большую роль. Впрочем, если актуальная информация где-то существует, значит, ее можно “перебросить” на мобильное устройство и использовать до тех пор, пока она не устареет.

В роли спасительного средства здесь выступает синхронизация. В применении к информации так называют процесс, который делает два набора данных идентичными. Но если цель этого процесса ясна каждому, то способ ее достижения по сей день является предметом головной боли пользователей. Сплошные ограничения — определенный протокол, определенный тип устройства, передача данных только определенного типа... Хотя ларчик открывается просто, производитель закладывает, например, в мобильный телефон только те возможности, которые он считает нужными. А пользователь в итоге страдает от несовместимости форматов, когда настольный или карманный ПК отказывается “видеть” записную книжку телефона.

Получается, что требуется универсальное средство синхронизации, для которого не будет важен тип передаваемой информации или протокол передачи данных. Розовая мечта? А вот и нет, такой способ синхронизации существует уже достаточно давно, и в последнее время начинает особенно активно развиваться. Имя ему — SyncML. И замечу, что доступен он не только корпоративным пользователям, на которых большей частью и ориентирован, но и обычным людям, владеющим мобильным телефоном среднего уровня и желающим приобщиться к благам современной синхронизации.

Синхронизируем бесплатно!

Ресурс с незатейливым названием Mobical () предлагает возможность абсолютно безвозмездно испытать на себе преимущества SyncML-синхронизации. Единственным недостатком Mobical можно считать не вполне корректную работу с кириллицей. Контакты и календарь дружат с русским языком, а заметки и задания — отображают всякую абракадабру.

Для начала следует зарегистрироваться на сайте, после чего вы получите логин и пароль для синхронизации. Каких-либо ограничений по выделению места на сервере я не заметил. Все остальное настраиваем в телефоне. Идем в раздел меню “Дистанционная синхронизация”, выбираем любой свободный профиль, даем ему имя и настраиваем его. В первую очередь выбираем требуемые данные для синхронизации — календарь, контакты, заметки, задачи, можно и все сразу.

Телефон должен поддерживать пакетную передачу данных GPRS, иначе вся эта затея не имеет смысла. Настройки GPRS — в соответствии с требованиями оператора. Теоретически можно использовать и WAP, но тогда процесс синхронизации займет больше времени. Что касается настроек SyncML-сервера, то они следующие:

адрес сервера синхронизации —

логин и пароль — полученные при регистрации

путь для заметок — Notes,

путь для контактов — Contacts и т. д.

Что касается выбора режима синхронизации, то в первый раз необходимо установить slow, подробнее о назначении чуть ниже. Вот, пожалуй, и все. Выбираем “Дистанционная синхронизация” — “Начать”, и если все введено правильно, процесс пошел.

Что имеем, то храним

Прежде чем перейти к самому современному и универсальному способу синхронизации данных телефона и компьютера, рассмотрим и остальные применяемые способы. Если не принимать в расчет достаточно редкие и экстравагантные варианты, например синхронизацию посредством SMS и MMS или хранение конфиденциальных данных на публичном WAP-сервере (и такое бывает), то их всего три.

Первый из них, самый древний и традиционно самый надежный — синхронизация по кабелю. Что надежный — ничего удивительного: кабельное соединение объединяет два устройства, влияние внешних факторов минимально, и главным ограничивающим фактором является собственно кабель. Неважно, какое программное обеспечение используется, через какой порт (COM или USB) происходит синхронизация — в любом случае необходимо соединить проводом телефон и компьютер. Какая уж тут мобильность? А про удобство лучше и не вспоминать.

Беспроводные способы синхронизации на порядок удобнее. Инфракрасное соединение постепенно сходит со сцены, но зачастую окошко порта, обычно прикрытое темным стеклышком, встречается и в современных устройствах. На мой взгляд, это неплохой вариант для передачи данных между мобильными устройствами: можно быстро и без проблем перебросить пару файлов. Однако если речь идет о компьютере, то передавать большие объемы данных может быть затруднительно. ИК-связь имеет обыкновение иногда “рваться”, да и условия синхронизации все равно требуют, чтобы порты располагались на одной линии в непосредственной близости друг от друга.

То ли дело Bluetooth, для которого возможно пребывание соединяемых устройств уже в радиусе 8-10 метров. Только этот протокол так и не достиг своего расцвета, “синезубых” телефонов пока немного, да и для настольного компьютера модуль Bluetooth — необязательная деталь, чаще всего приходится его приобретать отдельно.

Способов-то три, но технологий их реализации существует множество. Ладно, Bluetooth у всех почти одинаковый, а вот data-кабель для каждой модели телефона нужен свой, и программное обеспечение тоже. IrDA-соединение вроде бы стандартизировано, но это не означает, что на практике вы всегда сможете синхронизировать все виды информации. Ну не предусмотрел производитель эту возможность, и все тут!

Еще одним необходимым условием всех трех способов является нахождение синхронизируемых устройств поблизости (в лучшем случае до 100 метров для модулей Bluetooth повышенной мощности), что в изрядной степени противоречит принципу мобильности. Чтобы обновить данные, необходимо добраться до персонального компьютера, являющегося их источником. А ведь часто это затруднительно. Идеальным вариантом мог бы стать SyncML, лишенный этих недостатков.

Однажды на пороге нового века...

История SyncML берет свое начало с февраля 2000 года, когда группа компаний IBM, Lotus Development, Motorola, Nokia, Palm Computing, Psion и Starfish Software объединились с целью создания и продвижения нового стандарта синхронизации данных. Единый стандарт был призван удовлетворить нужды всех пользователей, заинтересованных в быстрой и удобной синхронизации, и одновременно избежать зависимости от типа используемой сети, операционной системы и самих устройств. Задача благородная, учитывая растущее с каждым годом разнообразие средств синхронизации.

Вот как выглядела постановка задачи четыре года назад. Во-первых, стандарт должен подходить для синхронизации любых устройств. Разумеется, если в нем производителем будет предусмотрена соответствующая серверная или клиентская часть. Второй обязательный аспект — возможность передачи любого типа информации. Поэтому за основу был взят набирающий популярность протокол XML, позволяющий создавать контейнеры для самых разнообразных объектов. И, наконец, третье — среда для синхронизации. Здесь также не должно быть никаких ограничений, будь то проводной (интернет, электронная почта) либо беспроводный (Bluetooth, WAP) варианты.

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

К концу 2000 года была опубликована спецификация SyncML 1.0, и компания Nokia представила первое в мире решение в этом стандарте на базе коммуникатора Nokia 9210 — мобильный интернет-календарь.

Технология SyncML (Synchronization Markup Language) базируется на семействе протоколов XML. Фактически используется WBXML (WAP Binary XML), который отличается меньшим размером пакетов и оптимизированным подходом к передаче служебной информации. Это сетевой протокол является двунаправленным и не зависит от платформы. Поддержка множества транспортных протоколов — HTTP (известный в народе как интернет), WSP (беспроводный протокол, являющийся составной частью популярного WAP), OBEX (протокол, используемый Bluetooth и IrDA-соединением), SMTP, POP3 и IMAP (электронная почта), TCP/IP и новомодных беспроводных протоколов — сулит этой технологии большое будущее.

Практические шаги

Следует заметить, что каждая модель телефона позволяет синхронизировать по протоколу SyncML только заранее предопределенные типы данных, что вполне логично. Синхронизация — это не процесс резервного копирования всей информации, находящейся в телефоне. Теоретически это можно сделать, но производитель телефона обычно ограничивает эту возможность. Так, например, Nokia 6800 позволяет синхронизировать контакты и календарь, Nokia 6230 — вдобавок к этим двум разделам еще заметки, Siemens S55 — еще и задания.

К тому же могут различаться и возможности синхронизации. Например, есть телефоны, которые поддерживают только удаленную синхронизацию через интернет посредством GPRS. А вот, скажем, аппараты Nokia можно использовать как для удаленной, так и для локальной синхронизации. Правда, по поводу последней может возникнуть закономерный вопрос: зачем использовать SyncML через Bluetooth, если можно соединиться обычным образом и обновить необходимые данные? Отличие заключается в скорости синхронизации и удобстве. При условии настройки необходимых параметров в телефоне процесс протекает в автоматическом режиме, и весьма быстро.

SyncML изнутри

Не вникая в тонкости работы протокола SyncML, посмотрим, что происходит в процессе общения телефона и удаленного сервера при синхронизации. Мобильный телефон при обращении к серверу идентифицирует себя, затем они обмениваются информацией об изменениях, произошедших со времени предыдущей синхронизации. Если таковые имели место, инициализируется процесс передачи данных, причем передаются не все данные, а только измененные.

Первоисточником информации обычно является сервер, поэтому дальнейший процесс протекает следующим образом. Для каждой полученной записи (контакт, заметка и пр.) сервер сравнивает значение всех полей, в случае необходимости заменяет измененные поля и отправляет обновленную запись обратно на телефон. Это касается модифицированных записей, в случае же появления новых записей сервер просто отправляет их на телефон, если же было удаление, то идет команда удаления соответствующей записи в телефоне. Быстрота процесса обусловлена тем, что фактически пересылаются только измененные записи. По этой причине первичная синхронизация обычно занимает длительное время (до 30 минут), поскольку на сервер копируются все записи. Поэтому и существует два вида синхронизации: fast (перемещение только обновленных записей) и slow (перемещение всех записей либо проверка каждой, если того желает пользователь).

Каким образом телефон знает о том, что та или иная запись обновилась со времени последней синхронизации? Все очень просто: любая запись, независимо от ее типа, имеет свой уникальный идентификатор и специальную метку timestamp. В последней как раз и отмечается факт изменений.

Синхронизация для всех

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

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

Это если использовать методику времен Генри Форда. Современный менеджер произведет синхронизацию данных и через считанные минуты выдаст результат. В данном случае задача синхронизации разбивается на два типа: локальная и удаленная. Целью первой является синхронизация имеющихся у менеджера устройств (телефон, ноутбук и камера) с находящимися поблизости. Удаленная синхронизация подразумевает доступ к интернету (электронная почта, банк, рыночная информация), внутренней сети компании (свой настольный компьютер, файлы общего пользования и свои собственные) и базе данных компании (цены, информация о продуктах и покупателях).

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

К примеру, OneBridge Sync Server от компании Extended Systems (это SyncML-сервер) позволяет синхронизировать ODBC, ADO или OLE DB-совместимые базы данных, использует шифрование передаваемой информации, поддерживает все современные беспроводные протоколы и т. д. Такие программы — это удел крупных компаний. Я только хочу подчеркнуть, что сама спецификация SyncML дает основу, на базе которой могут быть разработаны наиболее эффективные в конкретной ситуации пути и методы синхронизации. Из SyncML-клиентов наиболее известно программное обеспечение TrueSync от компании Starfish Software, которым оснащены многие модели телефонов Motorola, Nokia и др.

Частному пользователю SyncML-синхронизация также может послужить верой и правдой. Для многих людей мобильный телефон в последнее время является электронным аналогом записной книжки. Адреса, телефоны, дни рождения и другая информация присутствует в телефоне в единственном экземпляре. А сотовый — вещь не вечная, всякое бывает, и только в случае “прощания” со своим мобильным другом осознаешь, что обновить информацию просто неоткуда. С другой стороны, ввод информации в телефон не так удобен, как хотелось бы. То ли дело настольный компьютер: набрал все на полноценной клавиатуре, сбросил на сервер, оттуда на телефон. Или напрямую, через кабельное или беспроводное соединение, если так удобнее. Набор с клавиатуры ПК особенно актуален для владельцев телефонов, где есть отображение кириллицы, но не поддерживается русскоязычный ввод.

***

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






Рекомендуемый контент




Copyright © 2010-2019 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.