`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Peer-to-Peer: многообразие решений

Статья опубликована в №25 (544) от 4 июля

0 
 

Особенности P2P-технологий достаточно четко очерчивают предпочтительные области их применения в бизнес-среде. Если исключить из рассмотрения решения узких задач вроде файлового обмена, то речь в первую очередь должна идти об организации коммуникаций всех видов и коллективной работы. Казалось бы, это тоже довольно узкий сегмент, однако поскольку сотрудничество касается практически всех сфер человеческой деятельности, то и доступные продукты балуют нас своим разнообразием, а нередко – и весьма оригинальными идеями.

JXTA – универсальная платформа

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

Собственно, «лакмусовый» тест, позволяющий классифицировать решение как принадлежащее к категории P2P, предусматривает положительный ответ на два простых вопроса: 1) являются ли нормой непостоянное подключение и временные сетевые адреса и 2) обладают ли узлы на границах сети достаточной автономией. Под такое определение попадает значительное количество продуктов, реализованных в соответствии с различными архитектурами и использующих разные, зачастую закрытые, протоколы. Поэтому совсем не удивительно, что очень часто они оказываются несовместимыми между собой, даже если предназначены для решения сходных задач и базируются на одинаковых принципах. К примеру, для доступа к файлообменным сетям или системам мгновенных сообщений в большинстве случаев подходят только «родные» клиенты.

Именно на преодоление проблем несовместимости P2P-приложений и нацелилась инициативная группа JXTA, основанная 25 апреля 2001 г. Sun Microsystems (которая внесла стартовые инвестиции, а также открыла исходный код ряда собственных наработок в данном направлении). Этим обусловлены и ключевые особенности проекта JXTA:

    Peer-to-Peer многообразие решений
    Демонстрационное приложение MyJXTA2 является полнофункциональным решением для обмена информацией в корпоративной среде
  • использование ограниченного количества открытых протоколов, достаточно простых для реализации и интеграции с существующими P2P-сервисами и приложениями;
  • независимость от языков программирования и микроархитектур устройств, предусматривающих реализацию JXTA;
  • независимость от транспортных протоколов, в качестве которых может выступать не только TCP.

Архитектура JXTA, в свою очередь, предусматривает наличие трех уровней:

  • ядро – уровень, обязательный для всех JXTA-совместимых реализаций, который регламентирует базовую функциональность вроде формирования P2P-узлов и их групп, процесса их обнаружения, коммуникаций, мониторинга соединений и обеспечения безопасности;
  • службы – не является обязательным, но если реализуется, то только в соответствии с определенными требованиями. К нему относятся механизмы индексирования, поддержки каталогов, разделения файлов, построения распределенных файловых систем и т. д.;
  • приложения – собственно прикладные программы для обмена файлами и сообщениями (или даже игры), использующие JXTA в качестве платформы для обеспечения коммуникаций.

Граница между двумя последними уровнями не является жесткой – приложение для одного клиента может рассматриваться как служба для другого.

На нынешнем этапе развития JXTA предусматривает ряд протоколов, регламентирующих поиск P2P-узлов, получение информации о выполняемых функциях, объединение их в группы, разграничение прав и пр. Поддержка их всех каждым узлом необязательна – достаточно реализовать только необходимые в том или ином случае.

Независимо от того, станет ли JXTA действительно универсальным стандартом для P2P-решений в будущем, уже сегодня, спустя пять лет после старта проекта, существует множество программ и сервисов, базирующихся на этой платформе: коммуникационные, игровые, предназначенные для дистрибуции медиаконтента, обеспечения защищенного и надежного обмена информацией. Далеко не полный список приложений, использующих JXTA (большинство из них с открытым кодом), можно получить по адресу.

Об успехах JXTA, безусловно, свидетельствует и обширное сообщество, насчитывающее в настоящий момент около 25 тыс. разработчиков, и, конечно же, авторитетные клиенты – к примеру, в июне прошлого года авиационный гигант Boeing выбрал JXTA в качестве коммуникационной платформы в рамках многомиллиардного проекта по созданию боевых систем будущего (Future Combat Systems, FCS) по заказу Министерства обороны США.

Один из продуктов, использующих технологии JXTA, – MyJXTA2, ориентированный на взаимодействие в корпоративной среде. Несмотря на свой «демонстрационный» статус, он обеспечивает довольно широкие функции вроде установления защищенных соединений, обмена сообщениями в закрытых группах, поиска доступных ресурсов и интеграции в систему управления контентом JXTA CMS. Поскольку MyJXTA2 – полностью открытый проект, он может быть использован в качестве стартовой площадки при разработке специализированных корпоративных решений.

Peer-to-Peer многообразие решений
Основная идея Verosee: обмен файлами, контроль версий и использование Skype – все в одном месте и в защищенной среде

Другой интересный продукт, базирующийся на JXTA, заслуживает, на наш взгляд, более детального рассмотрения. Это Verosee, который примечателен тем, что получил от Skype Journal неофициальный титул «Microsoft Groove Killer». Он представляет собой защищенную среду для организации сотрудничества, построенную на Java/JXTA и интегрированную со Skype (соответствуют и бизнес-модели – базовая функциональность предоставляется бесплатно, а отдельные продвинутые сервисы – платные).

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

В настоящее время проект Verosee находится в стадии бета-тестирования, но уже вполне пригоден для практического применения – число инсталляций приближается к семи тысячам, а отзывы первых пользователей во многом положительны и предрекают успех даже на фоне такого грозного конкурента, как Microsoft Groove.

ConferenceXP: P2P – в учебный процесс

Проект ConferenceXP создан Microsoft Research и ориентирован на сферу образования. Он представляет собой P2P-платформу, на основе которой разработчики могут создавать специализированные решения по обмену информацией в рамках учебного процесса. Тем не менее на его сайте доступны для загрузки и готовые к использованию полнофункциональные приложения.

Peer-to-Peer многообразие решений
ConferenceXP предусматривает многоуровневую архитектуру, основанную на передовых технологиях

Так, ConferenceXP Client версии 3.5 – это развитая программа, предназначенная для проведения презентаций и обеспечивающая отображение удаленного Рабочего стола, совместный Web-серфинг и аналог «классной доски». Естественно, особый акцент сделан на поддержке технологий Microsoft, в частности за счет интеграции с Windows Media Player 10 и Microsoft OneNote. Обмен информацией осуществляется в рамках классов (venues), список которых хранится соответствующей Web-службой – в приложении необходимо указать ее точный адрес либо выбрать одну из публичных.

Отдельного внимания заслуживают технические особенности реализации. Архитектурно ConferenceXP состоит из четырех уровней – от нижнего, отвечающего за передачу данных, до высшего – собственно пользовательской программы. Данные передаются по P2P-протоколу RTP (Real-time Transport Protocol) – реализации транспортного протокола IETF для передачи аудио- и видеоданных. Для управления ходом конференций используется RTDocuments API – интерфейс, посредством которого распространяются документы и предоставляется возможность осуществлять их удаленное редактирование. При этом ConferenceXP оптимизирована для работы в средах с низкими пропускной способностью и надежностью каналов связи, например в беспроводных сетях или Интернете.

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

Vypress Messenger

Vypress Messenger является классическим P2P-решением для обмена мгновенными сообщениями, но с рядом функциональных особенностей, дающих разработчикам основание позиционировать его как корпоративный продукт.

Peer-to-Peer многообразие решений
Интерфейс Vypress Messenger выполнен в стиле Microsoft Outlook и больше похож на почтовый клиент, чем на систему обмена мгновенными сообщениями

В отличие от большинства аналогичных приложений интерфейс Vypress Messenger выполнен в стиле Microsoft Outlook – в левой панели представлены папки, в которые попадают полученные и отправленные сообщения, сгруппированные по адресатам. Такой несколько нестандартный подход на деле оказывается весьма практичным, поскольку существенно упрощает просмотр и поиск сообщений. Кроме того, подобное искусственное приближение мгновенных коммуникаций к обычной электронной почте дополнительно дисциплинирует пользователей, уменьшая их желание «просто початиться». Мы не станем вдаваться в детальное перечисление функций, характерных для подобного класса приложений, а обратим внимание на действительно представляющие интерес в бизнес-среде. В первую очередь следует отметить, что Vypress Messenger является традиционным P2P-приложением, для работы которого не нужен сервер. Оно базируется на семействе протоколов TCP/IP и широковещательных рассылках, имеется также возможность работы через proxy-сервер. Шифрование сообщений осуществляется при помощи Microsoft Windows CryptoAPI на основе ассиметричных ключей, получать цифровые сертификаты можно из Microsoft Active Directory и Microsoft Certificate Services. Vypress Messenger умеет работать с LDAP-каталогами для формирования списка адресатов, обеспечивает совместимость с WinPopup и Windows Alerter Service (за счет поддержки CIFS/SMB), а кроме полновесного клиента есть облегченный «пейджер» Vypress Auvis, предназначенный только для приема сообщений.

P2P в Borland JBuilder 2006

Совместная работа над исходным кодом посредством P2P – одно из наиболее интересных нововведений последней версии Borland JBuilder, популярной IDE для Java. Таким образом реализуется концепция парного программирования (хотя разработчиков может быть и более двух), но на отдельных компьютерах и без использования сервера. В зависимости от варианта поставки в пакете могут присутствовать следующие функции: просмотр, совместное редактирование и отладка исходного кода, обмен файлами, отладочной информацией, а также мгновенными сообщениями.

Поиск узлов P2P в JBuilder 2006 выполняется двумя способами – полностью автоматически в локальной сети или на основе популярного открытого протокола Jabber в Интернете (для этого, естественно, требуется учетная запись на Jabber-сервере, хотя бы на jabber.org).

Peer-to-Peer многообразие решений
Совместная работа над проектом в Borland JBuilder 2006 – пример того, как при правильном использовании могут быть полезны P2P-технологии

Для организации совместной работы программисту необходимо выбрать коллег, к помощи которых он хочет прибегнуть, и открыть доступ к своему проекту. После этого код становится доступным для коллективного редактирования и просмотра, однако вносить в него изменения может только тот участник, который получил от «хозяина» проекта соответствующий маркер (token), – для всех остальных информация открыта только для чтения. При этом текущий владелец маркера имеет право передать его любому другому участнику сессии, а «хозяин» – в любой момент принудительно отозвать.

Чтобы все могли наблюдать за процессом редактирования, поддерживается специальный режим слежения (follow mode). Он обеспечивает синхронную прокрутку текста на экранах участников и отображение всех действий и правок в реальном времени. Самостоятельная навигация по исходному коду недоступна, но при желании данный режим можно и отключить.

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

Несмотря на то что вносить коррективы в проект может любой участник P2P-сессии, при условии, что ему передан маркер, сохранение проекта разрешается только его «хозяину», который может и не принять изменений. К слову, для их обнаружения служит еще одна новая функция JBuilder 2006 – active difference editing, позволяющая выделять измененные фрагменты и легко перемещаться между ними.

Следует также отметить, что с помощью P2P-составляющей JBuilder 2006 можно объединять пользователей в разные группы (в том числе, например, фильтровать по IP-адресам) и шифровать трафик. Кроме того, в JBuilder 2006 встроен полноценный Jabber-клиент.

Завершая краткий обзор возможностей совместной работы над проектами, реализованных в JBuilder 2006 на базе P2P-подхода, следует отдать должное Borland и признать, что подобная функциональность заслуживает самой высокой оценки и, без сомнения, придется по душе многим программистам. Конечно, подобного эффекта отчасти можно добиться, используя внешние программы для проведения конференций, способные предоставлять доступ к активным приложениям, но встроенные средства оказываются на порядок удобнее и значительно органичнее сочетается с общим процессом разработки.

Вполне вероятно, что P2P-инструменты в ближайшее время мигрируют в другие IDE от Borland, не исключено, что они появятся и в продуктах конкурентов. Помимо прочего, их распространение и развитие могут существенно повлиять и на сам способ разработки – скажем, широко практикуемое сегодня парное программирование, предполагающее физическое присутствие двух человек за одним компьютером, трансформируется в «множественное» с присутствием виртуальным.

IBM ReachOut – предвестник конвергенции технологий

Не секрет, что многочисленные специализированные интернет-конференции или форумы служат важным источником знаний и могут использоваться в качестве некоего «сверхразума» при поиске решения сложной проблемы. Также не является тайной их существенный недостаток, с которым рано или поздно сталкивается каждый, – крайне низкая оперативность. Дожидаться ответа на вопрос можно очень долго, и в конце концов, так и не дождаться. Причина заключается вовсе не в том, что посвященные избегают делиться знаниями либо предпочитают делать это постфактум. В действительности сам способ организации конференций не предполагает оперативности и обязательности ответов, поэтому в значительной степени приходится полагаться на случай и надеяться, что нужный человек окажется в нужном месте в нужное время (т. е. посетит конференцию именно тогда, когда ваш вопрос присутствует с списке актуальных обсуждений). При этом большая популярность форума вовсе не означает высокой вероятности получения необходимого и своевременного ответа, поскольку в данном случае устаревание поднятой темы происходит еще быстрее. Понятно также, что на уточнение деталей (что подразумевает определенный диалог) в режиме конференции потребуется весьма продолжительное время.

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

Совместить преимущества двух подходов в одном решении попыталась группа исследователей из IBM. Их проект ReachOut основан на P2P-технологиях, хотя и требует для своего функционирования выделенного сервера (т. е. налицо гибридная модель). Технически ReachOut напоминает обычный чат или службу обмена мгновенными сообщениями, однако существенное отличие состоит в том, что на сервере сохраняется полный протокол каждой сессии – его можно просмотреть в любой момент, подобно архиву конференции, и при необходимости продолжить обсуждение, причем прежние участники немедленно получат уведомление и смогут сразу же вступить в разговор.

К сожалению, ReachOut пока еще не нашел воплощения в готовом коммерческом решении. Отдельные идеи проекта уже используются в приложении IBM Workplace, а следующая, усовершенствованная версия, как ожидается, выйдет на платформе IBM Sametime и, не исключено, станет коммерческим продуктом, нацеленным на массовый рынок. Однако мы неслучайно включили ReachOut в данный обзор – несмотря на свой «лабораторный» статус, он демонстрирует завидный потенциал P2P-технологий, значительная часть которого все еще не раскрыта.

Подводя итоги, следует отметить, что P2P-технологии гораздо больше соответствуют изначальной философии Интернета как распределенной устойчивой к повреждениям сети, чем, к примеру, концепции WWW, исповедующей клиент-серверные принципы. Почувствовать разницу будет особенно просто, когда вы в очередной раз столкнетесь с недоступностью нужного ресурса. Поэтому вполне вероятно, что проекты, подобные JXTA и ReachOut, нововведения в Borland JBuilder 2006, триумфальный успех файлобменных сетей являются лишь предвестниками тех изменений, которые P2P-технологии принесут в IT-мир.

e-mail автора: koldovsky@koldovsky.com

0 
 

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT