В качестве основы такого сервера можно использовать разработки компании Funambol. Ее Open Source-проект Funambol Community Edition работает с протоколом SyncML.
Преимущество данной технологии – в возможности работы не только с современными гаджетами, но и с самыми простыми моделями телефонов. В результате синхронизироваться по SyncML без установки каких-либо дополнительных клиентов способно огромное количество устройств самых разных производителей. С помощью SyncML синхронизируются адресные книги, календари, заметки, напоминания, архивы SMS и почты.
Для ускорения инсталляции разработчики предлагают набор серверных пакетов для платформ Windows и GNU/Linux. Наряду с собственно сервером Funambol, в пакет загрузки входят несколько вспомогательных инструментов, в том числе построенная на Java панель администрирования, тестовые веб - и Java-клиенты и другие вспомогательные средства.
Предлагаемые пакеты являются вполне доработанными продуктами. Они сконфигурированы для «быстрого старта», их развертывание не требует специфических знаний для инсталляции и конфигурирования. Funambol снабжен толковой справочной документацией, правда доступной только на английском языке. Давайте остановимся на основных моментах установки и настройки сервера и клиентских программ в среде Windows.
Установка
Собственно инсталляция скачанного пакета идет в автоматическом режиме. Пояснений требует разве что выбор каталога установки. Дело в том, что в среде Windows при выборе предлагаемого по умолчанию варианта иногда могут возникать проблемы с запуском сервера. Избежать их очень просто: достаточно расположить каталог Funambol в корневой папке диска. Не будем забывать и о необходимости дополнительной настройки файервола: вам понадобится разрешить Funambol отправку и прием пакетов.
Установленный сервер работает в фоновом режиме, проверить его статус можно с помощью значка в системном трее. Для настройки используется Java-приложение Funambol Administration Tool. По умолчанию данный инструмент сконфигурирован для доступа к серверу на локальном компьютере. Для первой авторизации на сервере используются логин admin и пароль sa, которые впоследствии разрешается изменить. Поддерживается и подключение к удаленному серверу Funambol, для чего в настройках доступа понадобится указать его IP и порт соединения, по умолчанию – 8080.
Настройка
Все инструменты настройки компонентов Funambol собраны в левой колонке панели администрирования. Целесообразно выстроить работу в следующем порядке: сначала настроить внешний доступ к серверу, затем зарегистрировать пользователей, настроить параметры соединения с синхронизируемыми устройствами.
Затем, если необходимо, можно поработать с настройкой дополнительных функций: веб-интерфейсом и Push-сервисами. Для настройки внешнего адреса понадобится обратиться к разделу Server Settings. Постоянный IP сервера и порт, который планируется использовать для внешних соединений, указываются в строке Server URI. В этом же разделе настраиваются и параметры шифрования информации, передаваемой между сервером Funambol и клиентским устройством. Набор предварительно настроенных схем шифрования доступен в диалоге DataTransformer Manager.
Регистрация пользователей
Регистрация пользователей может быть проведена администратором сервера. Допустима и самостоятельная регистрация при обращении клиентов к серверу Funambol. Это значит, что логин и пароль клиенты задают самостоятельно на своих устройствах. При первой синхронизации они будут занесены в базу на сервере Funambol. Рекомендуем использовать в именах аккаунтов латиницу. К сожалению, применение кириллицы не позволит впоследствии вести поиск по базе, а также иногда приводит к проблемам с авторизацией на сервере.
Выбор модели синхронизации
Следующая важная настройка, которая потребуется уже при первом старте сервера, – выбор модели синхронизации. Данная опция находится в разделе Server Settings – Strategy Configuration. Она отвечает за приоритет данных, изменяемых при синхронизации. Предлагаются три стандартные модели. Выбор ServerWins приведет к тому, что при синхронизации данные из баз сервера всегда будут переписывать данные в мобильном устройстве. Политика ClientWins действует противоположным образом: данные клиентского устройства получают безусловный приоритет. Модель MergeData наиболее привычна и универсальна -- сервер сравнивает даты изменения данных и объединяет наиболее свежие значения. Реализуется и возможность гибкой ручной настройки приоритетов определенных типов данных. После сохранения названных настроек сервер будет готов к началу реальной работы.
Настройка клиентских устройств
Поскольку наш сервер не умеет высылать SMS с настройками, на синхронизируемых устройствах их придется выставить вручную. Сложности здесь возникнуть не должны, поскольку SyncML – давно известная технология с хорошей поддержкой. В устройстве создается новый профиль синхронизации, где указываются публичный адрес вашего сервера Funambol в виде адрес_сервера:порт/funambol/ds, логин и пароль. В качестве транспортного протокола задается HTTP. Если в вашем мобильном телефоне предусмотрены настройки DataPath или Database, то для них нужно будет задать синхронизируемые таблицы. Для Contacts указывается значение card, для Tasks и Notes – task и note, а для Calendar -- cal.
На сайте проекта Funambol предлагается хороший выбор клиентов для различных мобильных платформ: Android, Blackberry, iPhone, Symbian, Windows Mobile, а также Java-клиент с немного упрощенным функционалом. Все они распространяются свободно, просты в освоении, упрощают настройку соединения и предлагают несколько дополнительных функций синхронизации.
В стартовый пакет Funambol Community Edition для Windows также включен «настольный» клиент, позволяющий выполнять синхронизацию различных типов данных одним щелчком. Кроме того, Funambol умеет взаимодействовать с пакетом Outlook. Это открывает широкие возможности по созданию календарей, адресных книг и другого контента с его последующим использованием в рамках своей группы пользователей. На сайте проекта также можно скачать клиент для Mac OS.
В комплект серверного пакета входит и веб-интерфейс, доступ к которому можно получить по адресу адрес_вашего_сервера:8080/webdemo/main.jsp. Его назначение – демонстрация технологий, поэтому он весьма аскетичен в дизайне и предлагаемых функциях. При желании можно попробовать самостоятельно его доработать. Подобная бедность веб-решения вполне объяснима. Основной бизнес Funambol – внедрение корпоративных SyncML-сервисов, а также разработка полнофункциональных веб-решений. Для демонстрации возможностей предлагаемых решений развернут портал myFunambol (my.funambol.com). Это онлайновый SyncML-сервер, на котором можно зарегистрировать аккаунт и познакомиться с веб-перспективами Funambol во всей красе.
Итог таков: Funambol Community Edition -- замечательный инструмент. Он позволяет быстро развернуть рабочий SyncML-сервер даже тем пользователям, которые не обладают большим опытом в администрировании серверных решений. Поставить данной программе самые высокие оценки мешает только отсутствие русификации интерфейса и справочных материалов на русском языке.