SlideShare a Scribd company logo
1 of 41
Download to read offline
Открытые протоколы - основа распеределеннх
            социальных сетей.

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



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




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




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




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




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




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




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




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




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

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




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




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




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



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




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

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




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




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



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




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



     О чем пойдет речь:
            Atom/RSS
            WebFinger
            OpenID/OAuth
            Pubsubhubbub
            ActivityStreams
            Salmon
            XMPP
            Portable Contacts




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




     Формат синдикации Atom позволяет описывать наборы
     веб-ресурсов
            основан на XML и расширяем
            современная замена RSS
            является контейнером для других форматов



Открытые протоколы - основа распеределеннх социальных сетей.   Александр Загацкий
Пример 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>
           ¦                                                                 ¥

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




Открытые протоколы - основа распеределеннх социальных сетей.   Александр Загацкий
Иван Васильевич меняет профессию




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




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


     The Hammer Stack




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




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

         zag@status.net


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

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




Открытые протоколы - основа распеределеннх социальных сетей.   Александр Загацкий
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}




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


     Берем:

         zag@status.net


     Добавляем acct:

         acct:zag@status.net


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

         http://status.net/xrd?uri=acct:zag@status.net




Открытые протоколы - основа распеределеннх социальных сетей.   Александр Загацкий
Extensible Resource Descriptor (XRD)
     curl http://status.net/xrd?uri=acct:zag@status.net
           §                                                                 ¤
               1   <?xml version="1.0" encoding="UTF-8"?>
               2   <XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
               3     <Subject>acct:zag@status.net</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>
           ¦                                                                 ¥
Открытые протоколы - основа распеределеннх социальных сетей.           Александр Загацкий
XRD




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




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



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




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




Открытые протоколы - основа распеределеннх социальных сетей.   Александр Загацкий
Адрес 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:zag@status.net</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"/>
           ¦                                                                 ¥

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




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

         zag@status.net


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




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




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

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




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

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


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




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




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




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




Открытые протоколы - основа распеределеннх социальных сетей.   Александр Загацкий
Определение 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"/>
           ¦                                                                ¥




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




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




     Также:
            XMPP
     Выступает в качестве транспорта
            Portable Contacts
     Сервис доступа к адресной книге ( OAuth )




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



     С чего начать знакомство ?
            StatusNet
     Платформа для микроблоггинга StatusNet. http://status.net/
            Diaspora
     Социальная сеть Diaspora. http://www.joindiaspora.com/
            OneSocialWeb
     Социальная сеть OneSocialWeb, построенная на основе
     протокола XMPP. http://onesocialweb.org/




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

     Вопросы ?




            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

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

More Related Content

Viewers also liked

Perl6pod lvee
Perl6pod lveePerl6pod lvee
Perl6pod lveezagru
 
Perl6pod devconf
Perl6pod devconfPerl6pod devconf
Perl6pod devconfzagru
 
Using perl6-pod
Using perl6-podUsing perl6-pod
Using perl6-podzagru
 
Digitalcontent
DigitalcontentDigitalcontent
Digitalcontentzagru
 
5 minute lesson plan
5 minute lesson plan5 minute lesson plan
5 minute lesson planruskky
 
7 steps to building a stronger corporate brand
7 steps to building a stronger corporate brand7 steps to building a stronger corporate brand
7 steps to building a stronger corporate brandSingapore Power Ltd
 

Viewers also liked (7)

Cystite interstitielle
Cystite interstitielleCystite interstitielle
Cystite interstitielle
 
Perl6pod lvee
Perl6pod lveePerl6pod lvee
Perl6pod lvee
 
Perl6pod devconf
Perl6pod devconfPerl6pod devconf
Perl6pod devconf
 
Using perl6-pod
Using perl6-podUsing perl6-pod
Using perl6-pod
 
Digitalcontent
DigitalcontentDigitalcontent
Digitalcontent
 
5 minute lesson plan
5 minute lesson plan5 minute lesson plan
5 minute lesson plan
 
7 steps to building a stronger corporate brand
7 steps to building a stronger corporate brand7 steps to building a stronger corporate brand
7 steps to building a stronger corporate brand
 

Similar to Distributed nets

Web осень 2013 лекция 3
Web осень 2013 лекция 3Web осень 2013 лекция 3
Web осень 2013 лекция 3Technopark
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7Dima Dzuba
 
Open Data for Government and University
Open Data for Government and UniversityOpen Data for Government and University
Open Data for Government and UniversityIrina Radchenko
 
Что надо знать о HTTP/2
Что надо знать о HTTP/2Что надо знать о HTTP/2
Что надо знать о HTTP/2Badoo Development
 
DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - ...
DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - ...DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - ...
DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - ...it-people
 
JavaScript Базовый. Занятие 08.
JavaScript Базовый. Занятие 08.JavaScript Базовый. Занятие 08.
JavaScript Базовый. Занятие 08.Igor Shkulipa
 
Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Clouds NN
 
Доставка данных в реальном времени.
Доставка данных в реальном времени. Доставка данных в реальном времени.
Доставка данных в реальном времени. beshkenadze
 
07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервераRoman Brovko
 
MIPT Course - DAC and MAC
MIPT Course - DAC and MACMIPT Course - DAC and MAC
MIPT Course - DAC and MACAlexey Vasyukov
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Yandex
 
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковОпенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковYandex
 
Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеbeched
 
Этичный хакинг или пентестинг в действии
Этичный хакинг или пентестинг в действииЭтичный хакинг или пентестинг в действии
Этичный хакинг или пентестинг в действииSQALab
 
Open stack в 2ГИС
Open stack в 2ГИСOpen stack в 2ГИС
Open stack в 2ГИСDenis Honig
 
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...CocoaHeads
 

Similar to Distributed nets (20)

Web осень 2013 лекция 3
Web осень 2013 лекция 3Web осень 2013 лекция 3
Web осень 2013 лекция 3
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7
 
Open Data for Government and University
Open Data for Government and UniversityOpen Data for Government and University
Open Data for Government and University
 
Что надо знать о HTTP/2
Что надо знать о HTTP/2Что надо знать о HTTP/2
Что надо знать о HTTP/2
 
DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - ...
DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - ...DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - ...
DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - ...
 
JavaScript Базовый. Занятие 08.
JavaScript Базовый. Занятие 08.JavaScript Базовый. Занятие 08.
JavaScript Базовый. Занятие 08.
 
Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.
 
Доставка данных в реальном времени.
Доставка данных в реальном времени. Доставка данных в реальном времени.
Доставка данных в реальном времени.
 
The Best Portlet
The Best PortletThe Best Portlet
The Best Portlet
 
HTTP протокол
HTTP протоколHTTP протокол
HTTP протокол
 
07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера
 
MIPT Course - DAC and MAC
MIPT Course - DAC and MACMIPT Course - DAC and MAC
MIPT Course - DAC and MAC
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковОпенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
 
Internet Explorer 8
Internet Explorer 8Internet Explorer 8
Internet Explorer 8
 
Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновение
 
Этичный хакинг или пентестинг в действии
Этичный хакинг или пентестинг в действииЭтичный хакинг или пентестинг в действии
Этичный хакинг или пентестинг в действии
 
WWW
WWWWWW
WWW
 
Open stack в 2ГИС
Open stack в 2ГИСOpen stack в 2ГИС
Open stack в 2ГИС
 
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Миха...
 

Distributed nets

  • 1. Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий lvee
  • 2. 11 апреля - судный день Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 3. SkyNet Goes Online Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 4. 11 апреля Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 5. 11 апреля Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 6. foursquare - down социальная сеть с функцией геопозиционирования Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 7. hotsuite - down "панель управления" социальными сервисами Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 8. quora - down социальный сервис обмена знаниями Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 9. reddit - down социальный новостной сайт Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 10. FriendFeed - down агрегатор информации из различных социальных сетей Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 11. Тут были мои заметки Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 12. Так сохранился сайт в кэше Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 13. Интернет не работает В ожидании когда заработает Internet Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 14. Сервисы могут быть куплены Письмо от Yahoo! о продаже Delicious Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 15. Сервисы могут неожиданно закрыться Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 16. Распределенные сети Основные черты программное обспечение установлено на доверенном сервере контроль над распространением информации безопасный обмен информацией между узлами данные сохраняются на персональном сервере собственные группы пользователей и политика распространения информации никаких пользовательских соглашений. Ваша информация остается вашей :-) Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 17. Протоколы и форматы О чем пойдет речь: Atom/RSS WebFinger OpenID/OAuth Pubsubhubbub ActivityStreams Salmon XMPP Portable Contacts Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 18. Atom Формат синдикации Atom позволяет описывать наборы веб-ресурсов основан на XML и расширяем современная замена RSS является контейнером для других форматов Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 19. Пример 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> ¦ ¥ Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 20. ActivityStreams - cоциальная активность Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 21. Иван Васильевич меняет профессию Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 22. WebFinger Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 23. WebFinger - набор технологий и форматов The Hammer Stack Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 24. Webfinger - цель профиль пользователя LRRD - Link-based Resource Descriptor Discovery protocol Начнем с адреса: zag@status.net Определяем LRDD адрес: http://status.net/.well-known/host-meta Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 25. 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} Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 26. Webfinger - цель профиль пользователя Берем: zag@status.net Добавляем acct: acct:zag@status.net Адрес для запроса XRD: http://status.net/xrd?uri=acct:zag@status.net Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 27. Extensible Resource Descriptor (XRD) curl http://status.net/xrd?uri=acct:zag@status.net § ¤ 1 <?xml version="1.0" encoding="UTF-8"?> 2 <XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0"> 3 <Subject>acct:zag@status.net</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> ¦ ¥ Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 28. XRD XRD содержит много полезной информации о пользователе: адрес openid сервера публичный ключ данные для других протоколов Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 29. OpenID/OAuth - протоколы аутентификации и авторизации Позволяют повысить безопасность при взаимодействии нескольких независимых сервисов. Пример openid адреса: http://zag.myopenid.com/ Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 30. Адрес 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:zag@status.net</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"/> ¦ ¥ Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 31. Простой способ ввода OpenID Из исходного: zag@status.net Получили адрес OpenID сервера: http://zag.status.net/zag Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 32. pubsubhubbub - протокол подписки/публикации обновлений Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 33. Опрос ресурсов для обновлений Обычная структура Недостаток: излишняя нагрузка на источник Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 34. Снижение нагрузки на исходный сайт Уведомления о новых записях Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 35. Возможные схемы распределенных структур Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 36. Salmon protocol Salmon - протокол обмена сообщениями с проверкой подлинности отправителя Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 37. Определение 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"/> ¦ ¥ Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 38. Salmon - алгоритм взаимодействия Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 39. XMPP и Portable Contacts Также: XMPP Выступает в качестве транспорта Portable Contacts Сервис доступа к адресной книге ( OAuth ) Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 40. Открытые распределенные сети С чего начать знакомство ? StatusNet Платформа для микроблоггинга StatusNet. http://status.net/ Diaspora Социальная сеть Diaspora. http://www.joindiaspora.com/ OneSocialWeb Социальная сеть OneSocialWeb, построенная на основе протокола XMPP. http://onesocialweb.org/ Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий
  • 41. Вопросы Вопросы ? 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 Открытые протоколы - основа распеределеннх социальных сетей. Александр Загацкий