Top Banner
Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий lvee
41

Open protocols as base for social distributed networks

Jun 23, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Open protocols as base for social distributed networks

Открытые протоколы - основа распеределеннхсоциальных сетей.

Александр Загацкий

lvee

Page 2: Open protocols as base for social distributed networks

11 апреля - судный день

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 3: Open protocols as base for social distributed networks

SkyNet Goes Online

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 4: Open protocols as base for social distributed networks

11 апреля

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 5: Open protocols as base for social distributed networks

11 апреля

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 6: Open protocols as base for social distributed networks

foursquare - down

социальная сеть с функцией геопозиционирования

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 7: Open protocols as base for social distributed networks

hotsuite - down

"панель управления" социальными сервисами

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 8: Open protocols as base for social distributed networks

quora - down

социальный сервис обмена знаниями

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 9: Open protocols as base for social distributed networks

reddit - down

социальный новостной сайт

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 10: Open protocols as base for social distributed networks

FriendFeed - down

агрегатор информации из различных социальных сетей

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 11: Open protocols as base for social distributed networks

Тут были мои заметки

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 12: Open protocols as base for social distributed networks

Так сохранился сайт в кэше

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 13: Open protocols as base for social distributed networks

Интернет не работает

В ожидании когда заработает Internet

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 14: Open protocols as base for social distributed networks

Сервисы могут быть куплены

Письмо от Yahoo! о продаже Delicious

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 15: Open protocols as base for social distributed networks

Сервисы могут неожиданно закрыться

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 16: Open protocols as base for social distributed networks

Распределенные сети

Основные черты

программное обспечение установлено на доверенномсервереконтроль над распространением информациибезопасный обмен информацией между узламиданные сохраняются на персональном сервересобственные группы пользователей и политикараспространения информацииникаких пользовательских соглашений. Ваша информацияостается вашей :-)

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 17: Open protocols as base for social distributed networks

Протоколы и форматы

О чем пойдет речь:

Atom/RSSWebFinderOpenID/OAuthPubsubhubbubActivityStreamsSalmonXMPPPortable Contacts

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 18: Open protocols as base for social distributed networks

Atom

Формат синдикации Atom позволяет описывать наборывеб-ресурсов

основан на XML и расширяемсовременная замена RSSявляется контейнером для других форматов

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 19: Open protocols as base for social distributed networks

Пример Atom

� �1 <?xml version="1.0" encoding="utf-8"?>2 <feed xmlns="http://www.w3.org/2005/Atom">3 <title>Example Feed</title>4 <link href="http://example.org/"/>5 <updated>2003-12-13T18:30:02Z</updated>6 <author>7 <name>John Doe</name>8 </author>9 <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</

id>10 <entry>11 <title>Atom-Powered Robots Run Amok</title>12 <link href="http://example.org/2003/12/13/atom03"

/>13 <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a

</id>14 <updated>2003-12-13T18:30:02Z</updated>15 <summary>Some text.</summary>16 </entry>17 </feed>� �

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 20: Open protocols as base for social distributed networks

ActivityStreams - cоциальная активность

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 21: Open protocols as base for social distributed networks

Иван Васильевич меняет профессию

Verb Object

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 22: Open protocols as base for social distributed networks

WebFinger

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 23: Open protocols as base for social distributed networks

WebFinger - набор технологий и форматов

The Hammer Stack

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 24: Open protocols as base for social distributed networks

Webfinger - цель профиль пользователя

LRRD - Link-based Resource Descriptor Discovery protocolНачнем с адреса:

[email protected]

Определяем LRRD адрес:

http://status.net/.well-known/host-meta

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 25: Open protocols as base for social distributed networks

Webfinger - цель профиль пользователя

curl http://status.net/.well-known/host-meta� �1 <?xml version="1.0" encoding="UTF-8"?>2 <XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0"3 xmlns:hm="http://host-meta.net/xrd/1.0">4 <hm:Host>status.net</hm:Host>5 <Link rel="lrdd" template="http://status.net/xrd?uri

={uri}">6 <Title>Resource Descriptor</Title>7 </Link>8 </XRD>� �

Интерес представляет:

http://status.net/xrd?uri=\{uri\}

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 26: Open protocols as base for social distributed networks

Webfinger - цель профиль пользователя

Берем:

[email protected]

Добавляем acct:

acct:[email protected]

Адрес для запроса XRD:

http://status.net/xrd?uri=acct:[email protected]

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 27: Open protocols as base for social distributed networks

Extensible Resource Descriptor (XRD)

curl http://status.net/xrd?uri=acct:[email protected]� �1 <?xml version="1.0" encoding="UTF-8"?>2 <XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">3 <Subject>acct:[email protected]</Subject>4 <Link rel="http://webfinger.net/rel/profile-page"5 type="text/html" href="http://zag.status.net/zag"/>6 <Link rel="http://microformats.org/profile/hcard"7 type="text/html" href="http://zag.status.net/hcard"/>8 <Link rel="salmon" href="http://zag.status.net/main/

salmon/user/1"/>9 <Link rel="http://salmon-protocol.org/ns/salmon-

replies"10 href="http://zag.status.net/main/salmon/user/1"/>11 <Link rel="magic-public-key"12 href="data:application/magic-public-key,RSA.(...)c=.

AQAB"/>13 <Link rel="http://ostatus.org/schema/1.0/subscribe"14 template="http://zag.status.net/main/ostatussub?

profile={uri}"/>15 <Link rel="http://specs.openid.net/auth/2.0/provider"16 href="http://zag.status.net/zag"/>17 </XRD>� �

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 28: Open protocols as base for social distributed networks

XRD

XRD содержит много полезной информации о пользователе:

адрес openid серверапубличный ключданные для других протоколов

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 29: Open protocols as base for social distributed networks

OpenID/OAuth - протоколы аутентификации и авторизации

Позволяют повысить безопасность при взаимодействиинескольких независимых сервисов.

Пример openid адреса:http://zag.myopenid.com/

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 30: Open protocols as base for social distributed networks

Адрес OpenID сервера в профиле XRD

� �1 <?xml version="1.0" encoding="UTF-8"?>2 <XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">3 <Subject>acct:[email protected]</Subject>4 <Link rel="http://microformats.org/profile/hcard"5 type="text/html" href="http://zag.status.net/hcard"/>6 <Link rel="salmon" href="http://zag.status.net/main/

salmon/user/1"/>7 <Link rel="http://salmon-protocol.org/ns/salmon-

replies"8 href="http://zag.status.net/main/salmon/user/1"/>9 <Link rel="http://specs.openid.net/auth/2.0/provider"

10 href="http://zag.status.net/zag"/>11 </XRD>� �

Адрес OpenID сервера:� �1 <Link rel="http://specs.openid.net/auth/2.0/provider"2 href="http://zag.status.net/zag"/>� �

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 31: Open protocols as base for social distributed networks

Простой способ ввода OpenID

Из исходного:

[email protected]

Получили адрес OpenID сервера:http://zag.status.net/zag

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 32: Open protocols as base for social distributed networks

pubsubhubbub - протокол подписки/публикации обновлений

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 33: Open protocols as base for social distributed networks

Опрос ресурсов для обновлений

Обычная структура

Hot Day

Hot Day

Недостаток: излишняя нагрузка на источник

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 34: Open protocols as base for social distributed networks

Снижение нагрузки на исходный сайт

Уведомления о новых записях

Hot Day

Hot Day

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 35: Open protocols as base for social distributed networks

Возможные схемы распределенных структур

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 36: Open protocols as base for social distributed networks

Salmon protocol

Salmon - протокол обмена сообщениями с проверкойподлинности отправителя

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 37: Open protocols as base for social distributed networks

Определение salmon-endpoint

Atom/RSS ссылка:� �1 <link rel="salmon" href="http://example.org/salmon-

endpoint"/>� �XRD:� �

1 <Link rel="salmon" href="http://zag.status.net/main/salmon/user/1"/>

2 <Link rel="http://salmon-protocol.org/ns/salmon-replies"

3 href="http://zag.status.net/main/salmon/user/1"/>� �

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 38: Open protocols as base for social distributed networks

Salmon - алгоритм взаимодействия

Atom entry

Salmon

endpoint

XRDrel="magic-public-key"

verifyMagicSig

200 OK

ActivityStreams

+

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 39: Open protocols as base for social distributed networks

XMPP и Portable Contacts

Также:

XMPP

Выступает в качестве транспорта

Portable Contacts

Сервис доступа к адресной книге ( OAuth )

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 40: Open protocols as base for social distributed networks

Открытые распределенные сети

С чего начать знакомство ?

StatusNet

Платформа для микроблоггинга StatusNet. http://status.net/

Diaspora

Социальная сеть Diaspora. http://www.joindiaspora.com/

OneSocialWeb

Социальная сеть OneSocialWeb, построенная на основепротокола XMPP. http://onesocialweb.org/

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий

Page 41: Open protocols as base for social distributed networks

Вопросы

Вопросы ?

The Hammer Stack http://hueniverse.com/2009/11/the-discovery-protocol-stack-redux/"Социальные API и протоколы". Загацкий А.http://writeat.com/zag/social-book/home page, mail http://zag.ru, zag(at)cpan.org

Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий