У проектов Mail.Ru Агент и ICQ большое событие – мы запустили серверный транспорт, дающий пользователям обеих сетей возможность общаться друг с другом. Иными словами, пресловутое interoperability или пиринг, о котором так долго говорили продвинутые пользователи мессенджеров, наконец-то свершилось! Что это значит для пользователя? Очень просто. Пользователи Mail.Ru Агента могут добавлять в свои списки контактов пользователей ICQ (и, конечно, обмениваться с ними сообщениями). При этом иметь учетную запись ICQ необязательно. Тот же принцип работает и в обратную сторону – пользователи ICQ могут добавлять в свой существующий контакт-лист пользователей Mail.Ru Агента. Пользователи Mail.Ru Агента могут находить пользователей ICQ через анкетный поиск (и наоборот). Для простоты мы будем рассматривать взаимодействие двух сетей на примере Mail.Ru Агента, хотя в ICQ-клиентах это работает совершенно аналогично. При поиске контакта по имени-фамилии теперь не обязательно задумываться о том, каким мессенджером пользуется этот человек – поиск автоматически выполняется сразу в обеих сетях. Я уже использую Mail.Ru Агент в качестве ICQ-клиента. Что делать?? Ничего особенного. В Mail.Ru Агенте вы по-прежнему можете настроить учетную запись ICQ и самостоятельно решать, в какую учетную запись (Mail.Ru Агента или ICQ) добавить очередной ICQ-контакт. В это сложно поверить или даже просто понять, но добавление контактов из Агента в учетную запись ICQ в Агенте тоже работает! Как это реализовано технически? Одной из ключевых задач, поставленных перед разработчиками, было обеспечение обратной совместимости со старыми клиентами (как Mail.Ru Агента, так и ICQ). Новый функционал реализован на серверной стороне, поэтому общение с пользователями, добавленными из другой сети, возможно почти во всех версиях Mail.Ru Агента и ICQ, включая старые. Но чтобы составит лучшее впечатление о сервисе, лучше все-таки обновить клиентские приложения. Клиенты Mail.Ru Агента по-прежнему подключаются к своим серверам через собственный протокол, клиенты ICQ делают то же самое. Клиенты Mail.Ru Агента «видят» ICQ-контакты в формате 12345@uin.icq, клиенты ICQ – в виде обычного адреса e-mail. Таким образом, аккуратно написанные клиентские приложения (ожидающие в качестве UIN'а строку, а не число), вообще не замечают никаких изменений, и корректно работают с новым типом контактов прямо «из коробки». Основная же «магия» происходит между серверами. Мы разработали специальный интерфейс между серверами Mail.Ru Агента и ICQ (на основе протокола SIP/SIMPLE), в рамках которого выполняется трансляция данных из одного протокола в другой и наоборот. В клиентах была проделана лишь «косметическая» работа – например, ICQ-контакты в списке контактов Mail.Ru Агента были визуально выделены (обозначены «цветочками»), обновлены тексты и подсказки, и т.д. Пока поддерживаются лишь самые базовые возможности обоих протоколов: передача сообщения, запрос/подтверждение авторизации, поиск контактов, presense-статусы, запрос анкеты. Однако в дальнейшем, в зависимости от популярности пиринга, мы планируем поддержать большинство популярных функций, включая передачу файлов, голосовые и видеозвонки и т.д. Обратите также внимание, что мы все еще тестируем наш сервер и исправляем ошибки, поэтому работоспособность interoperability гарантируется только на официальных клиентах Mail.Ru Агенты и ICQ. И, конечно же, мы, как и всегда, будем благодарны вам за багрепорты. Загрузить официальные клиенты для PC можно здесь: Mail.Ru Агент 5.9 ICQ 7.6 Зачем поддерживать два разных клиент-серверных протокола? Вопрос справедливый – на первый взгляд, проще перевести клиенты Mail.Ru Агента и ICQ на некий единый протокол, чем поддерживать два типа серверов с прослойкой между ними. Однако причина у такого «зоопарка» весьма прозаична – обратная совместимость. Аудитория обеих сетей составляет десятки миллионов пользователей в сутки, и все они пользуются клиентами самых разных версий. К сожалению, десктоп или мобильные платформы – это не веб, и мгновенно обновить все клиентские приложения на пользовательских устройствах просто невозможно. Особенно остро эта проблема стоит для сети ICQ, в которой значительную часть клиентов составляют клиенты «неродные». Поэтому, несмотря на нашу стратегическую готовность переключить оба продукта на одну единую технологию, нам, к сожалению, придется поддерживать два разных протокола еще довольно долго. Тем не менее, определенные шаги по направлению к унификации мы делаем уже сейчас. Кто выиграет от interoperability? Учитывая, что аудитория Mail.Ru Агента и ICQ примерно сопоставима, мы ожидаем, что синергия пойдет на пользу обеим сетям. Вообще, мы считаем, что искусственные барьеры в области персональных коммуникаций давно изжили себя, поэтому чем большим количеством способов пользователи различных сервисов смогут общаться друг с другом, тем будет лучше для всех. Дата: 29 сентября 2011 Источник: http://habrahabr.ru/company/mailru/blog/129440/ Илья Наумов, руководитель проекта Mail.Ru Агент