SyncMLSyncML (от англ. Synchronization Markup Language — «язык разметки синхронизации») был создан для разработки единого протокола передачи данных для всех типов портативных устройств, таких как КПК, портативные ПК, пейджеры и мобильные телефоны. Созданный в феврале 2000, SyncML быстро охватил наиболее весомых производителей мобильных устройств и мобильного программного обеспечения, таких как Nokia, Ericsson, IBM, Lotus, Motorola, Palm, Psion, Starfish. SyncML призван решить вопросы синхронизации мобильных устройств с сетевыми данными. SyncML использует разметку XML и различные протоколы для передачи данных. Реализация клиентских приложений для SyncML позволяет использовать WAP Binary XML для уменьшения размера пакетов передаваемых данных, тем не менее, использование WBXML не является обязательным. SyncML также способен восстановить связь между устройствами, если происходят обрывы соединения (при условии, что клиент и сервер поддерживают обрывы соединения). Кроме этого, SyncML эффективно работает с различными коммуникационными протоколами, такими как HTTP, Wireless Session Protocol, OBEX (Bluetooth, IrDA), SMTP, TCP/IP. Программная структура SyncML основана на двух протоколах:
SyncML поддерживает семь различных типов синхронизации:
SyncML не зависим от типов синхронизируемых данных, но обычно это данные в формате text/x-vcard (визитки), text/x-vcalendar (календарь/задачи), text/plain(заметки). Следует отметить, что первые два типа имеют регламентированные наборы полей, и каждое определённое устройство может поддерживать или не поддерживать некоторые поля. Несмотря на то, что существуют спецификации на vcard и vcalendar, они позволяют производителям устройств произвольно трактовать некоторые параметры. Протокол SyncML позволяет передавать данные о поддерживаемых форматах (поля, типы, размер, возможные значения и т. д.), но, как правило, эти данные не в полном объёме предоставляются устройством для однозначной интерпретации формата или существенно различаются по значениям между устройствами различных производителей, что создаёт определённые сложности для разработчиков SyncML-серверов. Ключевые преимущества:
Русскоязычные сервисы, поддерживающие SyncML
Ссылки
|