Почему JXTA?
( Li Gong )
Цели проекта JXTA направлены на исправление того, что мы считаем недостатками существующих или разрабатываемых Р2Р систем.
Способность к взаимодействию
Технология JXTA разработана для того, чтобы дать возможность подключенным пользователям легко находить и общаться друг с другом, принимать участие в действиях сообщества, и предлагать друг другу сервисы без препятствий между разными Р2Р системами и сообществами. Многие Р2Р системы предлагают только один вид услуг. Например, Napster предоставляет возможность обмена музыкальными файлами, Gnutella — обмен файлами любого типа, AIM — мгновенный обмен сообщениями. Учитывая различные характеристики этих услуг и отсутствие общей Р2Р инфраструктуры, производители Р2Р приложений, как правило, создают несовместимые системы, не способные работать друг с другом. Это значит, что у каждого производителя образуется свое сообщество пользователей, и каждый производитель вынужден заново создавать программное обеспечение и системные примитивы, общие для всех Р2Р систем. Более того, для того, чтобы участвовать в разных сообществах, использующих разные Р2Р приложения, peer должен поддерживать множество реализаций — каждая для своего сообщества. Это напоминает ситуацию с Интернетом до появления браузеров, где для того, чтобы получить доступ к Интернету, приходилось подписываться на услуги AOL, Prodigy или CompuServe. В результате каждый пользователь был замкнут внутри своего сообщества и провайдеры предоставляли свои услуги или информацию способом, специфичным для каждого сообщества. Проект JXTA должен принести в мир Р2Р то, что браузеры принесли в мир Интернет.
Платформенная независимость
Технология JXTA разработана так, чтобы быть независимой от языков программирования (таких, как C или Java), операционных систем (Microsoft Windows или UNIX ®) или сетевых протоколов (TCP/IP или Bluetooth). Многие Р2Р системы сегодня предлагают свои функции или сервисы через набор API, доступных на конкретной операционной системе и для конкретного сетевого протокола. Например, одна система может предлагать API на C++, для систем, работающих под Windows через TCP/IP, а другая — комбинацию API на C и Java, для систем, работающих под управлением UNIX через TCP/IP, но также использующих HTTP. Разработчик Р2Р должен выбрать API для решения своей задачи и тем самым выбрать целевую аудиторию пользователей. Поскольку надежды на то, что две системы смогут сотрудничать, практически нет, если разработчик хочет предложить один и тот же сервис двум сообществам, он должен дважды реализовать его для двух платформ или разработать промежуточный шлюз. Оба подхода — неэффективны и непрактичны, учитывая десятки уже существующих Р2Р платформ. Технология JXTA разработана для использования всеми разработчиками, независимо от языков программирования или операционных систем.
Повсеместная распространенность
Технология JXTA разработана таким образом, чтобы обеспечить возможность реализации на любом устройстве с «цифровым пульсом», включая сенсоры, бытовую электронику, PDA, сетевые маршрутизаторы, настольные ПК, большие хранилища данных и т.д. Многие P2P системы, особенно предлагаемые недавно появившимися компаниями, написаны для Microsoft Windows. Причина этого — наибольшая инсталляционная база и самый быстрый способ получить прибыль. Неизбежным следствием этого является то, что в реализации используются функции, специфичные для Wintel систем. Это часто происходит даже не из-за желания разработчика, но из-за реалий процесса разработки, требующих быстрой реализации. Этот подход, безусловно, страдает близорукостью, поскольку Р2Р не значит PC-to-PC. Даже несмотря на то, что предыдущие демонстрации возможностей Р2Р в основном работали на Wintel системах — в центре спектра доступного аппаратного обеспечения — расцвет Р2Р технологий, по мнению многих аналитиков, произойдет на краях этого спектра — на крупных системах масштаба предприятия и небольших пользовательских устройствах. Делать ставку на какую-нибудь конкретную аппаратную платформу неразумно. Проект JXTA предвидит мир, в котором каждый peer, независимо от программного и аппаратного обеспечения, может получать выгоду от соединения с миллионами других peers.
Полная версия статьи"Project JXTA: A Technology Overview" находится на сайте
jxta.org:
http://www.jxta.org/project/www/white_papers.html
