e.motion
Статьи

Невидимые связи

Автор: Дмитрий Смирнов
Опубликовано в журнале «Домашний компьютер» №4 от 4 апреля 2007 года.

Web-беседка

Мы начинаем небольшой эксперимент: несколько номеров подряд в «Net-просвете» будет публиковаться колонка, посвященная, в первую очередь, строительству сайтов и всему, что с этим связано. Возможно, в будущем она станет постоянной. Вот только интересных тем для освещения куда больше, чем места, отведенного для наших бесед, поэтому мы надеемся на отклик читателей. Присылайте свои отзывы и пожелания, мы обязательно примем их во внимание.

Все-таки прекрасно жить в эпоху, когда динамический сайт сделать проще, чем статический. В простейшем случае процесс создания личной страницы состоит в заливке на сервер дистрибутива WordPress и сообщении ему деталей про базу данных (три строки максимум). Все!

Впрочем, современный веб-мастер должен думать не только о теле сайта, но и о его душе. Будь сайт хоть поколения веб-пять-ноль, смысла в нем не будет, если не вписать его в контекст «Всемирной паутины», не увязать с другими сайтами и таким образом открыть к нему дорогу для пользователей и серверов. Именно так: посетителями некоторых веб-ресурсов являются лишь сайты. Например, баннерообменные системы, которые динамически раздают баннеры другим сайтам. Веб-мастера заходят лишь единожды — чтобы зарегистрироваться; в остальное время люди туда не заходят (зато сайты-участники активно подгружают оттуда графику и обмениваются служебной информацией). Получается, что не так важен сайт, как его связи. Это мы и обсудим сегодня.

Семантическая паутина

Концепция «семантического веба» звучит на первый взгляд забавно. В ее основе лежит идея, что люди как-нибудь разберутся в том, что они насоздавали в Сети. Люди, но не компьютеры; у тех сложилась революционная ситуация наизнанку — они уже хотят, но зачастую еще не могут понять, что же написано на той или иной странице. Хранить, искать и отображать информацию они научились, а вот толком осознавать ее — нет. Семантический (термин «семантика» образован от греческого корня semantikos — обозначающий или осмысленный) веб — надстройка над вебом обычным — призван сделать содержимое «Всемирной паутины» более понятным для компьютеров; как минимум пока машины не научатся понимать «натуральные» человеческие языки со всеми их оттенками (что даже по прогнозам оптимистов случится не завтра).

Реализация семантического веба такова: если машины не понимают нашего Интернета, мы им объясним. Для этого нужны метаданные — данные о данных. Для описания веб-ресурсов был разработан формат RDF (Resource Description Framework), который три года назад утвердили как стандарт W3C («Всемирного консорциума WWW»). Каждый участник семантической паутины должен иметь описание в формате RDF.

Вдаваться в подробности не станем: существует много дополнений, расширений и инструментов для работы с RDF. Если интересно — читайте «Википедию» (см. RDFS, OWL, SPARQL и далее везде). Скажем о минусах и плюсах технологии. Минусом принято считать сложность реализации RDF: формат этот разрабатывался скорее как научный, чем популярный (впрочем, так создавалась и сама Сеть, а что вышло?). Готовых инструментов для работы с RDF пока мало, поэтому программистам и веб-мастерам приходится вникать в наукоподобные описания, а к этому готов не каждый. Кроме того, многим еще неочевидна сама идея и необходимость семантического веба.

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

Человеческие сети

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

Социальной сетью считаются и проекты Odnoklassniki.ru и Moikrug.ru, и те же Livejournal и MySpace. «Одноклассники» объединяют людей по учебным заведениям (с подразделением на годы обучения и выпуска), «Мой круг» — по множеству признаков, в том числе и по тем же учебным заведениям. Простота «Одноклассников» и внятность идеи привлекла к ним довольно широкую аудиторию. «Мой круг» в этом смысле менее очевиден для рядового пользователя, хотя гораздо более универсален, гибок и технологичен.

В «ЖЖ» и вообще в блогах ситуация — другая: российские блоггеры добавляют тех, кто интересен (то есть русский сегмент «ЖЖ» — это сеть «по интересам»), тогда как западные «френдят», в основном, знакомых людей (то есть, это социальная сеть в ее классическом смысле). Но многие блоггеры сегодня расползаются на собственные хостинги с вордпрессами.

Таки образом мы видим неоднородность современных социальных сетей. При этом большинство пользователей живет в одной-двух сетях, не видя смысла регистрироваться в остальных. Однако порой возникает необходимость пусть кратковременного, но все же взаимодействия участников разных сетей. Как осуществить это технически?

Обозначим несколько задач: во-первых, это авторизация пользователей одной системы в другой; во-вторых, — обмен «социальносетевой» информацией (списками френдов, например); в-третьих, — обмен контентом (который, грубо, подразделяется на постинги и комментарии к ним).

Друг моего друга

Аббревиатура FOAF означает Friend of a Friend — то есть «друг друга» (в смысле «друг второго уровня»). Это — спецификация, основанная на RDF и OWL. Она позволяет описать отдельную персону с помощью ряда характеристик (имя-фамилия, пол, адрес электронной почты, участие в разных блогах и прочая…), а также создать из этих данных уникальный идентификатор. Проект FOAF позволяет установить связи между разными людьми и предоставить всю эту информацию в виде, легко читаемом и понимаемом машинами (это RDF и OWL в действии). Создать простейшую FOAF-страницу о себе можно, в принципе, и вручную; но для форматированного описания «толпы» френдов, информация о которых регулярно меняется, несомненно, понадобится автоматизация. Впрочем, готовые FOAF-потоки предоставляют многие блог-хостинги, например, LiveJournal.

Таким образом FOAF позволяет определить и описать языком, понятным для двоичного «разума», наше место в сети, а если свести FOAF-данные воедино, то и место Сети в нашей жизни. FOAF-данные легко могут передаваться по Интернету от одного сервиса к другому, и каждый из них, разобрав их на составляющие, выуживает оттуда интересующую его часть: если сообщить все тому же «Моему кругу» ваш ник в «ЖЖ», он обратится к Livejournal.com, добудет оттуда FOAF вашей записи, получит список френдов и немедленно скажет, кто из них уже зарегистрирован в «Круге», но еще не добавлен в список прямых контактов (1-й круг). Удобно, просто, технологично. Подробности читайте на www.foaf-project.org.

Открытый идентификатор

Знаете, зачем в паспортах есть поле «кем выдан»? Смело предположу — чтобы в выдавшую организацию можно было позвонить и убедиться, что паспорт этот она действительно выдавала. При этом если мой паспорт выдан УВД-666, а ваш — УВД-555, это вовсе не означает, что мы не признаем законности паспортов друг друга.

Как поступают в такой же ситуации машины? Им в помощь придумали систему OpenID — децентрализованную кросс-сайтовую идентификацию. Если сервис, на котором вы уже зарегистрированы, поддерживает OpenID (то есть, может выступать как OpenID-сервер), а некий другой умеет читать OpenID-идентификацию (выступать в роли OpenID-клиента), вы можете работать на втором сайте под своим логином с первого: можно оставлять комментарии на фотосайте Hiero.ru, если у вас нет там своего аккаунта, когда вы авторизуетесь, например, как зарегистрированный участник того же LiveJournal. К слову, OpenID придумал Брэд Фицпатрик — создатель «ЖЖ».

Удаленное присутствие

Итак. Мы поняли, что зарегистрировавшись на одном сайте, можно логиниться и быть опознанным другими нормальными сайтами, используя OpenID (к ненормальным относится большинство форумов, требующих обязательной занудной регистрации). Также можно сообщать всему миру о себе, своих френдах и о том, чем вы занимаетесь в Сети — для этого есть FOAF/OWL/etc. Но как быть, если удаленный сайт, на котором нужно оставить пару строк, не поддерживает OpenID? Или вам хочется комментировать, не вылезая из своего блога (то есть держать свои комментарии «дома» для важности или для коллекции), но при этом быть услышанными? Веб 2.0 предлагает три замечательных LinkBack-механизма: Trackback, Pingback и Refback. Первые два поддерживают даже WordPress.

Trackback — технология, позволяющая уведомить сайт с неким постингом, что мы разместили у себя ссылку и комментарий на этот постинг. «Родительский» сайт в ответ может (хотя и не обязательно) поместить у себя наш комментарий и ответную ссылку на нас. Разумеется, для этого оба ресурса должны поддерживать trackback. Минус технологии это ее уязвимость для trackback-спама.

Pingback, по сути, работает точно так же. Отличием является то, что сайт с родительским постингом непременно зайдет на сайт-комментатор и проверит наличие физической ссылки на себя; если ее нет, «пингбэк» будет признан недействительным. Это хоть и ограниченная, но — защита от спама — ведь Trackback не делает и такой проверки. Впрочем, грамотно написанный спам-робот наверняка обойдет и такое препятствие.

Опять же, для «пингбэка» оба участника должны поддерживать этот протокол. В этом его отличия от Refback. Последнему для работы требуется поддержка протокола только на линкуемой стороне. Линкующая может ставить ссылки и вручную — лишь бы была ссылка. Минус «рефбэка» — в том, что линкуемый сайт не узнает о ссылке, пока по ней кто-нибудь физически не перейдет.

  • WordPress

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

e.motion