LinuxBegin.ru - offline-версия от 26.04.2004
Главная | Все темы | Все статьи | Ссылки | Аналоги Windows-программ в Linux | Top 20

Сказание о боге Джа
(Работа в Сети / браузеры / download / ..)


- Кирилл Кондратенко AKA Cybem, 5.12.03, Prefnews.ru, оригинал -

Сказание о боге Джа1

PsiMain *psi = new PsiMain;
QObject::connect(psi, SIGNAL(quit()), app, SLOT(quit()));
app->exec();
delete psi;

PSI Jabber client 0.9-CVS-20030930 / main.cpp / L:338 C:9

Первое знакомство

С Джаббером меня познакомил DimonB около полутора лет назад, когда я перешёл работать в Intersoft Lab, где и работаю по сей день. Там он использовался как корпоративный стандарт обмена мгновенными сообщениями. Мне сразу понравилась эта система и, сейчас, я уже не представляю, как обходился без нее раньше. Этот ?XML-роутер?, эта простая и мощная и расширяемая технология очаровала меня.

Однако, понимание сути и глубины пришло намного позже. В первое время я воспринимал Джа как продвинутый Instant Messaging. Ну открытый протокол, ну расширяемый, распределенный, основанный на XML. Ну хранение контактов и настроек на сервере в виде vCard, браузер ресурсов, настраиваемые статусы и уведомления, юникод. Кого, кроме кучки вольных хакеров и технократов это может интересовать? Это все хорошо, но IM он и на Марсе IM.

Just KISS

Позже, подписавшись на список рассылки на jabber.org, я стал следить за развитием Jabber/XMPP, стал понимать, что Jabber ? больше чем IM. То, что сравнивают в Джаббере с другими IM сиcтемами, такими, как ICQ, AIM, Yahoo, MSN и другими, является лишь надводной частью айсберга данной технологии. Все больше и больше программ поддерживало этот стандарт. Здесь были и новые клиенты (LLuna), и системы групповой работы (Chandler), и всевозможные роботы, и библиотеки на разных платформах (JabXPCOM, SoapBox Framework). Сообщение о том, что XMPP принят в качестве стандарта для Internet 2, еще более усилило веру в данную технологию. Джаббером все больше и больше интересуются как огромные корпорации, так и рынок SOHO.

И действительно, XMPP построен полностью в соответствии с инженерным принципом KISS (Keep It Small and Simple). Он очень прост в интеграции, использовании, разработке. Область применимости данной технологии ? бесконечна. Маршрутизируемый байт-поток XML может найти применение практически везде. Везде, где требуется надежный интероперабельный обмен информацией на любые расстояния. Небольшой пример: реализация вызова удаленной процедуры с помощью одной из Jabber-библиотек может быть в разы более простой, чем при использовании XML-RPC, и уж, тем более, SOAP. Уверен, что на Python это займет лишь несколько строк. При этом, легкость проникновения XMPP-потока через сетевые экраны может быть практически такой же, как и при использовании этих стандартов. Аналогичный UDDI функционал может быть достигнут путём использования сервиса browser/disco. Бытует мнение, что со временем XMPP может стать неким универсальным транспортом, универсальной системой обмена информации и поиска ресурсов и сервисов, вытеснив и SMTP, и POP3, и IMAP, RSS, LDAP, RPC и т.д. Что ж, подождём ? увидим. Джаббер-технология находиться только в самом начале своего пути.

Дела насущные

С помощью Джаббера очень просто реализовывать ботов для разных задач. Это могут быть такие повседневные задачи, как, например, мониторинг состояний серверов и сервисов или, вообще, чего либо, выдача динамического IP-адреса компьютера по запросу, запуск удаленных приложений, периодический парсинг сайтов и выдача новостей и т.д. Уверен, немало удовольствия может принести связка Джаббера с GNU Chess. А прогноз погоды, курсы валют и последние новости с RSS-каналов будут полезны всем. С помощью Джаббера можно реализовывать сервисы, аналогичные тем, что предлагают операторы мобильной связи через SMS. И даже больше. Уверен, что с ростом пользовательской базы данной технологии, количество таких сервисов будет неуклонно расти. Возможно, даже появятся коммерческие сервисы, подобные развлекательным и чисто техническим, таким, как сейчас реализуются в рамках SOAP.

Drill down в технологию

Важно то, что Джаббер реализовывает концепцию плавного перехода из других IM-систем. К серверу возможно подключение транспортов, поддерживающих протоколы ICQ, AIM, Yahoo, IRC, MSN, SMS и даже, такие экзотические, как весьма популярный в Польше Gadu-Gadu. При подключении соответствующего транспорта на сервере в виде сервиса, вы не теряете возможности общаться со своими друзьями и коллегами из других систем. Все это выглядит похожим на использование мультипротокольного клиента, но в данном случае, все операции происходят на сервере и, вам достаточно иметь только Джаббер-клиент.

Джаббер является открытым, стабильным и устоявшимся стандартом. Любой клиент поддерживает необходимый минимум возможностей. В то же время, Джаббер ? динамически, интенсивно развиваемый и экстримально расширяемый стандарт, в отличии от других закрытых IM-протоколов. Работу над ним ведет сообщество заинтересованных высоко квалифицированных специалистов. Любое предложение по расширению или изменению стандарта оформляется в JEP (Jabber Proposed Enhancements), которое выносится на обсуждение. Поддержать JEP на ранней стадии, или дождаться его включения в стандарт, находится на совести разработчиков программного обеспечения. При этом, сам стандарт, не диверсифецируется и не фрагментируется, обеспечивая, таким образом, интероперабельность для всех программных решений на всех платформах.

Реализация JEP происходит на строне сервера и/или клиента. Упрощённо говоря, XMPP представляет собой всего лишь XML-поток, а значит, в соответствии с идеологией XML, возможна передача любой информации. При этом, обработать её, или проигнорировать ? дело сервера или клиента. И именно эта особенность технологии является ключевой. Например, некоторые клиенты реализуют функцию игры в шахматы (умеют показывать доску и передавать положения фигур). Если ваш клиент и клиент вашего друга поддерживают такую возможность ? вы можете сыграть с между собой. Если сервер умеет обрабатывать информацию о положении фигур ? вы можете играть с компьютером. На базе данной простой идеологии уже реализовано множество интересных возможностей, о которых я расскажу ниже.

Джаббер ? распределенная система, постороенная по образу и подобию электронной почты. Пользователь сам волен выбрать себе сервер, при этом, естественно, происходит обмен сообщениями и с пользователями других серверов. Идентификатор Джаббер-пользователя (Jabber ID) очень похож на адрес электронной почты, например: JohnSmith@jabber.org. Согласитесь, только такой децентрализованный подход при построении сверхбольших современных систем можно считать оптимальным. К тому же, адреса при таком принципе организации запомнить легче, чем индексы со множеством цифр (да, вы правильно поняли, это был камень в огород).

Сладкий десерт

Как уже говорилось выше, многие функции Джаббера доступны в виде сервисов на сервере или плагинов на клиенте. Уже реализованы такие интересные возможности, как игра в разные логические игры, whiteboard (доска для совместного рисования), расшариваемые календари и расписания, хранение истории сообщений на сервере. Джаббер предоставляет пользователю такие вещи, как настраиваемые статусы и уведомления, аватары, передачу контактов от пользователя к пользователю, групповые чаты, typing уведомление, черные списки. Информация о контактах хранится в виде широко распрастранённого и признаного стандарта vCard. И если такие особенности, как передача файлов, SMS, юникод, соединение по SSL, поиск пользователей уже давно являются признаками хорошего тона, то такие возможности, как хранение контактов на сервере и шифрование сообщений с помощью GnuPG лишними никак не назовёшь. Многие Джаббер-серверы предоставляют свои уникальные сервисы. Например, на jabber.ru с недавних пор имеется возможность подписываться на новостные RSS-каналы.

Как вы видете, мир Джаббера безграничен и очень интересен. В следующей части я расскажу о практическом опыте использования этой уникальной технологии, в частности о Джаббер-клиентах. Я буду очень рад, если после прочтения данного материала, Джаббер-сообщество приобретет еще несколько сторонников, а отправными точками в ваших изысканиях могут служить сайты jabber.ru и jabber.org.



1Jahveh (Яхве) - согласно Библии, имя Бога-отца. Растаманы называют его просто Джа. Растаманы - православные, смешавшие Библию и местные эфиопские сказания в единую веру. Африканские легенды рассказывают о Джа-борце за свободу и мир, воине-льве, великом и могучем повелителе и защитнике всех животных.

Просмотров: 1097  |  Рейтинг статьи: 5 (Голосов: 3).
5
Дата размещения статьи: 2003-12-10 13:30:08



5 последних поступлений в раздел Работа в Сети / браузеры / download / ..:

07.02.04: Настройка PPTP клиента в Linux Mandrake-9.2 (Всё больше стала встречаться ситуация, когда пользователи стали выходить в интернет через VPN. И как ...)
11.01.04: Jabber в качестве корпоративного стандарта обмена сообщениями (Когда возникла необходимость в корпоративной системе быстрого обмена сообщениями (IM), в первую очере...)
22.12.03: Links, а не Opera - самый быстрый браузер на Земле. (Отображение страницы начинается РАНЬШЕ обработки html кода. То есть, сначала на экране появляется пор...)
18.12.03: Postfix за 10 минут (Postfix - агент доставки почты (Mail Transfer Agent, MTA). В этой статье мы не будем рассматривать на...)
10.12.03: Сказание о боге Джа (В первое время я воспринимал Jabber как продвинутый IM. Ну открытый протокол, ну расширяемый, распред...)

Комментарии:

Re: Сказание о боге Джа (Оценка: 0)
от Anonymous на 11.12.03
погундосю чуть-чуть:
1. сомнительно что-то про православие
2. полезно делать spell check
3. символ тире (не дефиса) наверно следует делать с помощью HTML entity, у меня (хотя это может быть моя локальная проблема) они заместились вопросами

-- Anonymous


Re: Сказание о боге Джа (Оценка: 0)
от Anonymous на 28.12.03
$ mova jabber|col
jabber [`dZQbэ]
1. n.
1> болтовня; трескотня
2> бормотание; тарабарщина
2. v.
1> болтать, тараторить, трещать
2> говорить быстро и невнятно,
бормотать


-- Anonymous


LinuxBegin.ru © 2003-2004 Valery V. Kachurov | Условия использования материалов | О проекте