XML-ТЕХНОЛОГИИ Лекция 7 RSS и Atom: новостные форматы Web 2.0 Эволюция Веб 2000 год — крах доткомов Тим О’Рейли и Дэйл Дагерти Веб 2.0 — эпоха, ориентированная на пользователей Веб 2.0 не термин, а набор принципов Принципы Веб 2.0 Веб как платформа Использование новейших веб-технологий при создании веб-приложений (RDF, FOAF, RSS, Atom…) Коллективный разум Данные – это следующий Intel Inside Упрощенные модели программирования Конец цикла разработки ПО Программы поверх устройств Обогащенные пользовательские интерфейсы Технология RSS. Предыстория Задача: оповещение пользователей об обновлении контента сайта Решение: рассылка по e-mail Недостатки: угроза спама Новое поколение: Channel Definition Format от Microsoft, PointCast от Netscape и т. д. Результат: RSS Технология RSS. Определение RSS – это акроним от Really Simple Syndication (дословный перевод – «действительно простая синдикация») Синдикация: открытие доступа к материалам веб-сайта для их повторного использования пользователями и другими веб-сайтами объединение контента из разных источников в единый логический объект Технология RSS. Версии Семь версий, наиболее популярные: Netscape: 0.90 UserLand Software 0.91 1.0 2.0 Технология RSS. Назначение Основное назначение RSS – быстрый просмотр новостей и обновлений с веб-сайтов Преимущества: RSS позволяет веб-мастеру привлечь большое количество постоянных читателей его сайта, с возможностью удержания их на своем ресурсе. RSS-лента дает возможность веб-мастеру влиять на поведение постоянных пользователей страниц сайта, а также их количество. Увеличив количество подписчиков, сайт приобретет больше читателей материалов ресурса, что значительно повысит позиции в поисковых системах. Технология RSS. Популярность Используется на сайтах и в программах (например, MS Visual Studio) 1 мая празднуется RSS Awareness Day (День знакомства с RSS), а 1 июля – День RSS в Рунете Технология RSS. XML С технологической точки зрения RSS представляет собой разновидность XML Спецификация : http://feed2.w3.org/docs/rss2.html Технология RSS. Ленты Единица RSS — RSS-лента (RSS feed) Альтернативные названия — RSS-канал, RSS-поток, новостная лента Спецификация W3C определяет порядка 20 XML- элементов и атрибутов ленты, реально используется только половина из них Определяющий элемент RSS-потока — используемая версия RSS Технология RSS. Ленты версии 0.91 <rss version="0.91"> <channel> <title>Название сайта</title> <link>Адрес сайта</link> <description>Краткая характеристика сайта</description> <language>Используемый язык</language> <item> <title>Названия статьи (сообщения, обновления и т.д.) </title> <link>Ссылка на обновление на сайте</link> <description>Краткое описание обновления</description> </item> </channel> </rss> Технология RSS. Ленты версии 1.0 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel rdf:about=" Адрес сайта"> <title>Название сайта</title> <link>Адрес сайта</link> <description>Краткая характеристика сайта</description> <language>Используемый язык</language> <items> <rdf:Seq><rdf:li rdf:resource=" Ссылка на обновление на сайте "/></rdf:Seq> </items> </channel> <item rdf:about=" Ссылка на обновление на сайте"> <title> Названия статьи (сообщения, обновления и т.д.)</title> <link> Ссылка на обновление на сайте </link> <description> Краткое описание обновления </description> <dc:creator>Автор обновления</dc:creator><dc:date>Дата обновления</dc:date> </item></rdf:RDF> Технология RSS. Ленты версии 2.0 <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title> Название сайта</title> <link> Адрес сайта </link> <description> Краткая характеристика сайта </description> <language> Используемый язык </language> <item> <title>Название статьи (сообщения, обновления и т.д.)</title> <link> Ссылка на обновление на сайте </link> <description> Краткое описание обновления </description> <dc:creator> Автор обновления </dc:creator> <dc:date> Дата обновления </dc:date> </item> </channel> </rss> Технология RSS. Разработка лент Простейший вариант — использование текстовых или веб-редакторов (Блокнот, Notepad++, Microsoft Visual Web Developer и т. д.) RSS-редакторы (например, Feed for All) Технология RSS. Разработка лент Использование Интернет-сервисов (например, http://www.rsspect.com — Java-библиотеки для формирования RSS-лент в формате 2.0) Технология RSS. RSS-агрегаторы RSS-агрегатор — клиентское приложение, предназначенное для сбора и сортировки информации с RSS-лент и последующего представления ее в удобном для пользователя виде Этапы работы: Пользователь задает агрегатору адреса интересующих его веб-сайтов Агрегатор с заданным интервалом времени проверяет сайты на наличие обновлений. Если обновления есть, то агрегатор уведомляет пользователя, после чего пользователь может просмотреть интересующие его материалы Технология RSS. Категории RSS-агрегаторов Программы типа «desktop» (FeedDemon, RSSBandit, FeedReader, Synderella): Технология RSS. Категории RSS-агрегаторов Встроенные в веб-браузеры модули (Firefox, Internet Explorer , Opera) Технология RSS. Категории RSS-агрегаторов Web-сервисы – программы, доступные через Интернет (Google Reader, Yandex Lenta) Технология Atom Atom – это XML-ориентированный формат, предназначенный для агрегирования информации с веб-сайтов. Atom используется точно для тех же целей, что и RSS, то есть для представления обновлений с вебсайтов в виде лент (feed) Технология Atom. Стандарты 2005 год — создание стандарта Atom 2006 год — Atom получает поддержку W3C C 2006 года Atom успешно конкурирует с RSS в программах-агрегаторах Технология Atom. Пример ленты <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title> Название сайта</title> <link href=" Адрес сайта "/> <updated> Дата обновления </updated> <author><name> Автор сайта </name></author> <id>Уникальный идентификатор канала</id> <entry> <title> Название статьи (сообщения, обновления и т. д.)</title> <link href=" Ссылка на обновление на сайте "/> <id> Уникальный идентификатор обновления</id> <updated> Дата обновления </updated> <summary> Краткое описание обновления </summary> </entry> </feed> Технология Atom. Параметры ленты id: идентификатор ленты. title: название канала (или веб-сайта). updated: дата и время (при необходимости) последнего обновления на сайте. Технология Atom. Отличия от RSS Возможность использования относительной адресации Возможность проверки лент на валидность Atom – открытый стандарт IETF, который продолжает развиваться и совершенствоваться