motofan logo
       
> 

SyncML на Motofan.ru, Возможно?

JKmoto
сообщение 17.3.2009, 17:21


Мастер
****

Группа: Пользователи
Сообщений: 264
Регистрация: 16.12.2006
Пользователь №: 111 708
Модель телефона: RIZR Z3
Прошивка: HYBRID v0.3


Настроение:
Откажись от рационального мишления...Стань рыбой



Рейтинг: 309



Есть такая замечательная, удобная вещь - SyncML. С ее помощью очень удобно синхронизировать телефонную книгу, календарь и другое.
В интернете есть "бесплатные" SyncML сервисы но их не много и они не совсем бесплатные.
Т.е. с ограничениями, "демо-версии" и т.д.
Плюс есть такой неприятный момент - нет полного доверия к этим сервисам, о них нет никакой полной информации о безопасности, конфиденциальности информации.

Бесплатные SyncML:
http://gsmsync.ru
http://www.zyb.com

По подробней о сабже
Spoiler:

SyncML был создан для разработки единого протокола передачи данных для всех типов портативных устройств, таких как КПК, портативные ПК, пейджеры и мобильные телефоны. Созданный в феврале 2000, SyncML быстро охватил наиболее весомых производителей мобильных устройств и мобильного программного обеспечения, таких как Nokia, Ericsson, IBM, Lotus, Motorola, Palm, Psion, Starfish. Технология Synchronisation Markup Language, именно так расшифровывается SyncML, призвана решить вопросы синхронизации мобильных устройств с сетевыми данными.

SyncML основывается на семействе протоколов XML и позволяет обойти традиционные проблемы беспроводной передачи информации. SyncML использует WAP Binary XML для уменьшения размера пакетов передаваемых данных и числа итераций типа запрос/ответ между устройствами, тем самым нейтрализуя эффект ограниченной полосы пропускания. SyncML также способен восстановить связь между устройствами, если происходят обрывы соединения. Кроме этого, SyncML эффективно работает с различными коммуникационными протоколами, такими как HTTP, Wireless Session Protocol, OBEX(Bluetooth, IrDA), SMTP, TCP/IP.

Более того, SyncML может синхронизировать данные независимо от языка программирования или приложения синхронизации, используемых на конкретном устройстве. Это дает возможность взаимодействия между приложениями, написанными на разных языках и исполняющихся на различных устройствах.

Программная структура SyncML основана на двух протоколах:

* Протокол представления SyncML (SyncML Representation Protocol), который определяет формат представления SyncML-сообщений и описание внутренней конструкции работы SyncML.
* Протокол синхронизации SyncML (SyncML Synchronisation Protocol), который определяет действия между SyncML-клиентом и SyncML-сервером.

SyncML поддерживает семь различных типов синхронизации:

* Двусторонняя синхронизация (Two-way sync);
* Медленная синхронизация (Slow sync);
* Односторонняя синхронизация только от клиента (One-way sync from client only);
* Обновление только от клиента (Refresh sync from client only);
* Односторонняя синхронизация только от сервера (One-way sync from server only);
* Обновление только от сервера (Refresh sync from server only);
* Синхронизация при изменении серверных данных (Server-alerted sync).

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

Материал из Википедии — свободной энциклопедии
[close]

------------------------------

Как работает SyncML?

Spoiler:

Что такое SyncML?
В общих словах SyncML – это протокол синхронизации данных основанный на языке разметки XML. Изначально протокол разрабатывался как решение для синхронизации портативных устройств, но фактически решение получилось универсальным, т.к. спецификация протокола не предъявляет требований к протоколу передачи данных, платформе, языку или технологии программирования. Безусловно, на данный момент, наиболее часто решаемая задача – это синхронизация контактов и календаря телефона с сервером синхронизации, КПК, ноутбуком или другим мобильным устройством. В то же время, телефоны по функциональным возможностям быстро догоняют портативные компьютеры, на горизонте появились сети 3G, а значит стоит ожидать, в ближайшее время, появления функций синхронизации файлов. Согласитесь, что было бы здорово иметь одинаковые версии документов на настольном компьютере, ноутбуке и смартфоне, и, кроме того, ещё и держать на сервере синхронизации резервную копию.
SyncML имеет широкое применение как для персонального использования через сервер синхронизации, так и для решения корпоративных задач в составе Groupware-решений (примечание: Groupware – класс приложений для коллективной работы, такие как Microsoft exchange/outlook, Lotus Domino/Notes и др.)
Спецификация протокола – это продукт коллективной работы организации Open Mobile Alliance (OMA), в которую входят ведущие производители мобильных устройств и разработчики программного обеспечения, такие как Nokia, Sony Ericsson, Alcatel, NTT DoCoMo, IBM, Intel и многие другие.

Транспортировка данных
В процессе синхронизации всегда принимает участие два субъекта: клиент (например, телефон) и сервер. Для осуществления процесса синхронизации необходимо наличие канала связи между ними (например, GPRS), а так же наличие транспортного протокола, по которому будет осуществляться передача данных, например HTTP, OBEX (обычно используется при соединении через Bluetooth или IrDA) или SMTP и др.
При передаче данных SyncML, обычно, использует протокол WAP Binary XML, что позволяет несколько сократить объём передаваемых данных.
Если говорить об использовании штатных функций синхронизации телефонов с Интернет-сервером, то в качестве канала будет использована технология передачи GPRS/EDGE, а в качестве транспортного протокола Wireless Session Protocol или HTTP. Можно сказать, что передача данных устроена аналогично, как если бы Вы открыли на телефоне WAP-сайт, т.е. данные сначала будут переданы на Интернет-шлюз оператора связи, а от шлюза непосредственно на сервер синхронизации.

Авторизация и идентификация клиента
Одним сервером могут пользоваться множество клиентов, а у каждого клиента может быть несколько устройств (например: телефон и ноутбук). Соответственно необходимо ограничить доступ посторенних лиц к данным каждого пользователя, а так же иметь актуальные данные на всех устройствах одного пользователя, что означает необходимость каким-то образом различать устройства. Для авторизации клиент должен сообщить серверу имя пользователя и пароль, а для идентификации используется пара значений: уникальный идентификатор устройства и имя пользователя. В случае телефона идентификатором является его IMEI-код. Благо имя пользователя и пароль достаточно ввести один раз при настройке синхронизации, а уникальный идентификатор телефон сообщает автоматически – так что, для дальнейшей синхронизации достаточно просто сделать пару нажатий кнопок в меню телефона.

Процесс синхронизации
После того, как клиент авторизовался на сервере, начинается процесс передачи и синхронизации данных. Во-первых, нужно отметить, что синхронизироваться может несколько баз данных по отдельности. Например, отдельно синхронизируется база контактов и база календаря. Каждая база должна иметь свой уникальный идентификатор, который Вы указываете при настройке синхронизации телефона (примечание: для сервера wap4b.ru используются идентификаторы: con – база контактов, cal – база календаря). Во-вторых, существует несколько различных типов синхронизации (всего семь), которые различаются по назначению (обновить данные на сервере и на клиенте, только на сервере, только на клиенте и т.п.) и объёму передаваемых данных. Простому пользователю достаточно знать, что бывает «быстрая» и «медленная» синхронизация. При быстрой синхронизации передаются только изменённые данные, при медленной – все синхронизируемые данные. Выбор типа синхронизации сервер осуществляет автоматически.
Медленная синхронизация используется при первом запуске, что вполне очевидно – клиент должен передать все данные на сервер и получить от сервера все имеющиеся у него данные, а так же, медленная синхронизация используется, если в предыдущий сеанс синхронизации произошла ошибка. При медленной синхронизации сервер выполняет полное сравнение принятых данных с данными сервера. Правила сравнения зависят от типа данных и реализации сервера. Например, на сервере есть некоторый контакт, и похожий контакт поступил с телефона. Допустим, в контакте совпадают фамилия, имя и номер телефона, тогда можно сделать вывод, что это тот же самый контакт. Далее, если есть различия, в части данных (например, e-mail, адрес, имеются другие номера и т.д.), то нужно решить, чей контакт более правильный: сервера или клиента? Решает это сервер, в соответствии с реализованной в нем логикой. Сервер wap4b.ru, в настоящий момент, всегда выбирает контакт в телефоне, поскольку предполагается, что пользователь чаще пользуется телефоном, чем редактирует данные на сервере.
Результатом «медленной» синхронизации являются идентичные данные на сервере и на клиенте, а так же сервер и клиент сформируют информацию для выполнения в дальнейшем быстрой синхронизации. Что это за информация? В первую очередь – это состояния всех объектов (далее, применительно к контактам/визиткам или событиям календаря). Например, если на сервер поступила новая визитка, то она получит статус «новая» и таковой она будет являться для последующей синхронизации с другими устройствами. Соответственно есть ещё состояния «обновлённый» и «удалённый». Сервер запоминает все состояния и даты их изменений, поскольку у пользователя может быть несколько устройств (а в данный момент он синхронизировал только одно). Клиент же, непосредственно среагирует на изменение состояния объёкта на сервере, т.е. если та же визитка удалена на сервере, то телефон так же её удалит её из своей базы. Ну и, пожалуй, самый важный момент, без которого будет невозможна быстрая синхронизация – это формирование локальных и глобальных идентификаторов, а так же связей между ними. Каждый объект клиента автоматически получает собственный локальный идентификатор, а объект на сервере – глобальный. Кроме того, сервер устанавливает взаимнооднозначное соответствие между всеми локальными и глобальными идентификаторами. Два типа идентификаторов нужно опять же по причине, что у пользователя может быть несколько устройств и для каждого устройства имеется свой локальный идентификатор объёкта. Это значит, что серверу не придётся в дальнейшем сравнивать каждый объект – достаточно знать локальный идентификатор.
Быстрая синхронизация происходит значительно проще и потребляет на порядок меньше трафика, поскольку передаются только изменённые данные. И клиент и сервер помнят дату последней синхронизации. Когда клиент инициирует синхронизацию, он сообщает серверу, что случилось с данными с момента последней синхронизации (вот здесь и вступают в работу состояния объектов в сочетании с локальными идентификаторами). Т.е. клиент сообщает, что некоторый объект с его локальным идентификатором был удалён, другой объект изменён, а третий добавлен и в каждом случае с указанием даты. Серверу остаётся сравнить состояния тех же самых объёктов: новые – добавляем, удалённые – удаляем, изменённые - изменяем. Затем сервер отправляет свои изменения, ведь его данные мог изменить пользователь в результате синхронизации с другим устройством или, например, через WEB-интерфейс как это сделано на нашем портале.
Собственно и вся синхронизация, если бы не «конфликты». Представьте, что после последней синхронизации, Вы отредактировали данные в телефоне и на сервере, а затем запустили синхронизацию, данные различаются – что делать? Эту ситуацию называют «конфликтом синхронизации». Соответственно, как и в обычной жизни, конфликт имеет несколько вариантов решения, и у конфликта есть победитель и проигравший, либо вмешивается третья сторона и решает конфликт. Так и в случае синхронизации выиграть может клиент, сервер или конфликт решит сам пользователь. На сегодня мы не стали усложнять логику сервера – всегда побеждает клиент, по причине сказанной выше – он чаще имеет под рукой телефон и вводить данные на телефоне тяжелее, чем на компьютере. Тем не менее, наш портал всегда открыт для пожеланий пользователей, и если Вы захотите иметь возможность выбирать способ решения конфликтов, мы реализуем эту возможность.

Что дальше?
Итак, мы получили идентичные данные в телефоне и на сервере. Теперь возникает естественный вопрос: что дальше? А дальше, данные можно редактировать через WEB-интерфейс и снова запускать синхронизацию для переноса изменений в телефон, можно запустить синхронизацию для другого устройства и получить идентичные данные (только нужно после этого будет запустить устройство, которое было синхронизировано первым, поскольку на втором устройстве так же могли быть изменения).

Некоторые комментарии и рекомендации
1. Скорее всего, у читателя возникнет резонный вопрос касательно безопасности такого решения. Постараюсь ответить. Абсолютно безопасных решений в сфере IT, по большому счёту, не существует (разве что приставить автоматчика к сейфу, где лежит телефон и резервная копия, но и то риски остаются). На данный момент информация передаётся по открытым каналам и теоретически возможен перехват третьими лицами. Сервер может быть атакован, и ваши данные могут оказаться в руках недоброжелателей. Такие риски существуют. С другой стороны мы предпринимаем, и будем предпринимать все необходимые мероприятия для защиты Ваших данных на сервере. Так же как и обязуемся не использовать и не передавать Ваши данные третьим лицам. Но, пожалуй, самый важный момент – это другие риски, риски связанные с существованием информации в единственном экземпляре. Потеря телефона со всеми контактами может стать катастрофой или как минимум принести серьезные проблемы. Резервная копия должна быть и быть актуальной.
2. Ещё один резонный вопрос: почему нельзя использовать прямую синхронизацию с ПК через Bluetooth? Можно. Сервер синхронизации – это альтернативное решение, обладающее рядом преимуществ. Во-первых, это упомянутые выше состояния объектов, которые обеспечивают 100% идентичность данных на всех устройствах. Обычная синхронизация чаще всего не отслеживает изменения состояний и «сливает» вместе все синхронизируемые базы данных. Это может иметь большое значение, когда синхронизируется более двух устройств. Во-вторых, сервер синхронизации не требует установки и настройки дополнительного программного обеспечения, что часто вызывает трудности у неподготовленного пользователя. Для работы с SyncML-сервером достаточно один раз настроить профиль синхронизации на каждом устройстве, указав при этом URL-сервера, имя пользователя, пароль и имена синхронизируемых баз. Кроме того, при синхронизации нет необходимости находиться возле ПК, а резервная копия будет находиться на достаточно большом расстоянии от владельца, что служит дополнительным фактором сохранности (ведь телефон, можно потерять вместе с ноутбуком).
3. Многие телефоны не синхронизируют данные на SIM-картах. В принципе, это решение для тех, кто хочет синхронизировать не все контакты. Это значит, что в менеджере контактов телефона достаточно указать место хранения контакта «SIM-карта» и этот контакт не будет участвовать в синхронизации.
4. Некоторые операторы блокируют трафик SyncML через точку доступа «WAP». Если есть возможность, лучше всегда использовать точку доступа «Интернет» (HTTP), так Вы ещё и сэкономите деньги на трафике, причём не только при синхронизации, но и при посещениях WAP-сайтов.

Материал из wap4b.ru
[close]


Вопрос к администрации Motofan.ru вы могли б поставить на мотофане SyncML сервер?
Допустим sync.motofan.ru

Кто что об этом думает?

Сообщение отредактировал JKmoto - 17.3.2009, 17:21
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vitala
сообщение 17.3.2009, 17:34


Гуру
******

Группа: Пользователи
Сообщений: 943
Регистрация: 14.9.2006
Из: Одесса
Пользователь №: 99 109
Модель телефона: Бритва

Рейтинг: 180



я юзаю mobical.net и gsmsync.net, оба халявные. у мото есть мотобэкап и мототекст, но чтото они на него подзабили...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 17.3.2009, 17:37


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Цитата(JKmoto @ Сегодня, 22:21)

удобная вещь - SyncML
*


Ну... а ещё удобнее сервисы гугла. нет правда. у них частично открытый эйпиай(API). лучше тогда синхронизироваться с гуглом, ибо ему то я точно доверяю. Эльфик над писать правда...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
JKmoto
сообщение 17.3.2009, 17:54


Мастер
****

Группа: Пользователи
Сообщений: 264
Регистрация: 16.12.2006
Пользователь №: 111 708
Модель телефона: RIZR Z3
Прошивка: HYBRID v0.3


Настроение:
Откажись от рационального мишления...Стань рыбой



Рейтинг: 309



Цитата
mobical.net и gsmsync.net, оба халявные

Пока будет
Цитата
Сервис работает в режиме тестирования, вся функциональность предоставляется бесплатно

а потом вся халявность пропадет

Цитата
а ещё удобнее сервисы гугла

Какие именно?
Просто хотелось бы иметь чтото родное, на мотофане.

Сообщение отредактировал JKmoto - 17.3.2009, 17:54
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 17.3.2009, 18:09


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Цитата(JKmoto @ Сегодня, 22:54)

Какие именно?
*


GMail -> Адресная книга
Календарь
Переводчик
http://www.google.ru/intl/ru/options/
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Abram
сообщение 18.3.2009, 7:39


Прелесть какая гадость
*******

Группа: Разработчики
Сообщений: 1 963
Регистрация: 24.6.2005
Из: .ru - рідна Україна
Пользователь №: 44 825
Модель телефона: Moto G XT1033
Прошивка: CyanogenMod
Победитель конкурса 2008

Рейтинг: 744



Юзаю ZYB.com. Изначально позиционируется как открытый. Ещё и настройки на телефон смской на халяву сбрасывает smile.gif.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vitala
сообщение 18.3.2009, 10:31


Гуру
******

Группа: Пользователи
Сообщений: 943
Регистрация: 14.9.2006
Из: Одесса
Пользователь №: 99 109
Модель телефона: Бритва

Рейтинг: 180



Цитата(JKmoto @ Вчера, 19:54)

Пока будет
*


это пока уже несколько лет как бы
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SyncML на Motofan.ru, Возможно? · Обо всём · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 12.6.2025, 21:19

Форум живёт: