|
|||||||||||||||||||||||||||||||||||
![]() |
|
|
|||||||||||||||||||||||||||||||||
| • Концепция • История создания • Современное состояние • Технические аспекты • Применение в образовании |
|
RSS и образовательный процесс О том, что сами
данные и внешнее
представление этих данных нужно разделять, предоставляя тем самым
средства для автоматической обработки, говорят давно. Но инерция
мышления и технических средств, бремя унаследованных систем сводят
результаты к минимуму. Но спрос рождает предложение, и именно профессионалы, работающие в области веб-программирования, разработали средство, обеспечивающее автоматическую обработку контента сайтов. Речь, конечно, не идет о сложных задачах. В первую очередь разработчиков волновала проблема аннотирования сайтов. Динамические сайты развиваются, их контент обновляется, но пользователям сложно следить за ними, регулярно посещать свои любимые сайты в поисках обновлений. Это послужило причиной появления RSS. Есть несколько расшифровок этого термина: RDF Site Summary (содержание сайта в RDF), Rich Site Summary (обогащенная аннотация сайта), Really Simple Syndication (действительно простое объединение в синдикат). Но все эти расшифровки подразумевают одно – технологию описания контента сайта в его развитии. С точки зрения пользователя, подобное описание – это некоторая аннотация, резюме к материалам, опубликованным на сайте. Эта аннотация оформлена специальным образом: информация, содержащаяся в ней, формально описана, что позволяет использовать автоматические средства обработки. Можно сказать, что RSS – это всего лишь формат, в котором удобно публиковать краткую информацию, в первую очередь часто обновляемую. Это могут быть новости, личные электронные дневники и другие веб-сайты с динамично изменяющимся контентом. Хотя RSS традиционно считается ориентированной на новости, эта технология хорошо масштабируется и может быть использована для разных вещей, – начиная с сообщений в форумах и заканчивая статьями. КонцепцияС точки зрения RSS контент
состоит из одного или нескольких каналов
(channels - названы они так по историческим причинам). В свою очередь
канал состоит из одного или нескольких пунктов (items).
Канал и пункт канала содержат метаданые, то есть данные о контенте. Поскольку RSS ориентирован на аннотирование контента, то наиболее важными метаданными являются заголовок и URL с ссылкой на контент. Но в зависимости от версии RSS допускаются и другие виды метаданных, вплоть до изображений и гипертекста. То, как разбивается контент на каналы и пункты зависит от самого контента и его вида. Например, для новостей принято считать каналом блок новостей, объединенных одной тематикой, а пунктами – элементы списка новостей. Для других видов контента в роли каналов и пунктов могут выступать другие виды данных. История созданияИстория развития
спецификаций RSS является весьма показательной для
мира информационных систем, поэтому коснемся этого более подробно.
Удивительно, но под термином RSS скрывается несколько различных
форматов представления. Для того чтобы понять о причинах этого, нужно
обратиться к истории RSS.
Отсчетом начала истории RSS можно считать 1997 год, когда Дейв Винер (Dave Winer), основатель компании UserLand, разработал формат описания новостей, основанный на языке XML. Этот формат носил название ScriptingNews и был предельно простым, первоначально используясь для описания новостей на персональном сайте Дэйва. Весной 1999 году появляется первая версия RSS – это формат RSS 0.90 от фирмы Netscape. Он предназначался для портала «My Netscape Network», хотя портал также поддерживал ScriptingNews. RSS 0.90 был основан на языке XML, кроме того, он заявлялся как базирующийся на RDF – об этом говорит даже расшифровка названия формата: RDF Site Summary. Хотя в RSS 0.90 действительно использовался корневой элемент RDF, но по сути RSS 0.90 базировался на ранних версиях RDF и не совместим с современным стандартом. Возможности RSS 0.90 были сильно ограничены. В одном файле можно описывать не более одного канала, который мог состоять не более чем из 15 пунктов. Были и другие ограничения, вызванные скорее ограничением самого портала. После выхода RSS 0.90 Дейв Винер расширил формат ScriptingNews, выпустив версию 2.0b1. Новая версия не только включала в себя новые возможности RSS 0.90, но и дополнительные возможности. Хотя о совместимости на уровне синтаксиса речи не шло. Позднее стала появляться информация, что Дейв лично контактировал с Netscape, предлагая добавить новые возможности ScriptingNews 2.0b1 в RSS 0.90. Результат не заставил себя ждать. В июле 1999 года появилась версия RSS 0.91 от фирмы Netscape. Эта новинка позиционировалась как совместное движение Netscape и UserLand к единому формату, потому в нее были включены некоторые возможности ScriptingNews 2.0b1, отсутствовавшие в RSS 0.90. Кроме того, был сделан важный шаг по отказу от RDF в пользу своего собственного XML-формата. Как заявлялось в спецификации, главным автором которой был Дэн Либби (Dan Libby), причиной стало сложность RDF и маленькая инфраструктура программных средств ориентированных в то время на поддержку RDF. Отказавшись от RDF, тем не менее, авторы решили не трогать название RSS. Ответным шагом UserLand навстречу сотрудничеству c Netscape стала поддержка RSS 0.91, а ScriptingNews был заявлен как устаревший формат. В свою очередь через некоторое время Netscape, «наигравшись» со своим открытым порталом, сворачивает программу поддержки RSS. К счастью для этого формата, он был официально передан на поддержку фирме UserLand, которая продолжала заниматься им. После принятия в свои руки RSS, UserLand в 2000 году перевыпустила спецификацию RSS 0.91. Особо она не отличалась от спецификации Netscape, но теперь название RSS заявлено как не имеющее расшифровки. «Это не акроним, это имя» – писалось в спецификации. В это время другая, некоммерческая организация, отходя от общего течения, разрабатывает новую версию RSS под названием RSS 1.0. В составе организации не было специалистов UserLand, потому версия получилась совершенно самостоятельной. Теперь она стала базироваться на полноценном RDF. Была возвращена старая расшифровка названия RSS: RDF Site Summary. Первая версия RSS 1.0 была представлена на обсуждение в августе 2000 года. Тем не менее, UserLand продолжала свое развитие RSS. В конце 2000 года появляется версия RSS 0.92, которая представляет собой RSS 0.91 с незначительными изменениями. Наконец-то были сняты давние ограничение на количество пунктов в блоке новостей, которые шли еще с RSS 0.90. В это время вносились минимальные исправления в спецификацию RSS 1.0, но они касались в основном текста спецификации, особо не затрагивая технические вопросы. В 2001 году UserLand предложила версию RSS 0.93, которая имела минимальные отличия от RSS 0.92. Но эта версия распространение не получила, так и оставшись на стадии обсуждения. В дальнейшем разработка линии RSS 0.91-0.93 велась Дейвом Винером, как частным лицом, не связанным с UserLand. Во время разработки новая версия носила рабочее название RSS 0.94. Новая версия RSS 2.0, как результат развития RSS 0.94, была практически готова в 2002 году, но официально спецификация вышла в июле 2003 года. RSS 2.0 является обратно совместимой с RSS 0.91 и RSS 0.92 и не имеет отношения к RDF. Примечательно, что Дейв для противопоставления сложности синтаксиса версии RSS 1.0, базирующейся на RDF, дал новую расшифровку названия RSS: Really Simple Syndication. Важной особенностью RSS 2.0 является разрешение на использование сторонних элементов XML в собственных пространствах имен. Такими элементами могут быть, например, элементы Dublin Core в XML-записи. Современное состояниеНесмотря на путаницу с
версиями RSS, ситуация не так страшна, как может
показаться. В настоящий момент существует три базовых версии RSS,
принятых для массового использования. RSS 0.91 используется там, где
нужна максимальная простота. RSS 2.0 используется как развитие линейки
0.91 и в случае, когда нет необходимости использовать RDF. RSS 1.0
используется в RDF-мире.
Технические аспектыRSS формат представляет
собой язык, основанный либо сразу на XML, либо
на RDF. Для начала рассмотрим RSS 2.0, который базируется на XML. Ниже
приведен урезанный пример новостей с http://www.grandprix.com/,
посвященные миру автогонок «Формула-1».
<rss version="2.0"> <channel> <title>GrandPrix.com Current News</title> <link>http://www.grandprix.com/</link> <description> The source for Grandprix news </description> <item> <title> Race Report - Michael drinks the milk </title> <link> http://www.grandprix.com/race/r722racereport.html </link> <description> Michael Schumacher scored his eighth
win in nine races at Indianapolis
(Please don't stop reading at this point!) in a race which was one of
great drama, excitement and more than a little intrigue as well.
</description>
<pubDate>Mon, 21 Jun 2004 06:55:6 GMT</pubDate> </item> <item> <title>Minardi celebrates a point</title> <link> http://www.grandprix.com/ns/ns13087.html </link> <description> You could have made a fortune on
Sunday if you had put money on Zsolt
Baumgartner to score a point in the United States Grand Prix, but the
Hungarian kept going and although he finished three laps behind the
winners, he managed to get home in eighth place.
</description>
<pubDate>Mon, 21 Jun 2004 05:36:40 GMT</pubDate> </item> <item> <title>Microsoft, Sony and Toyota</title> <link> http://www.grandprix.com/ns/ns13085.html </link> <description> The German press is reporting rumours
that Microsoft is to become the
title sponsor of the Toyota F1 team, paying as much as $40m a year. The
stories have been linked to a deal involving Sony and, if true, are
probably related to F1 computer games as much as the publicity involved.
</description>
<pubDate>Mon, 21 Jun 2004 05:20:00 GMT</pubDate> </item> </channel> </rss> Хорошо видно структуру контента: в качестве канала выступает блок новостей, а в качестве пунктов канала – каждая новость. Для этого используется XML-элементы rss, channel, item. Элемент rss является корневым, он содержит один или несколько элементов channel. Каждый элемент channel задает один канал. Внутри channel содержатся элементы item, задающие пункты. При помощи элементов title, link, description задаются метаданные канала. Они состоят из заголовка, ссылки на контент и краткого описания, соответственно. Стоит отметить, что все три этих значения метаданных являются обязательными для канала в RSS 2.0. Аналогично, при помощи элементов title, link, description описывается каждая новость. На уровне пункта канала должен присутствовать как минимум заголовок (title) либо описание (description). Кроме того, в данном примере для каждого пункта указывает дата публикации при помощи элемента pubDate. Рассмотрим другой пример описания контента в формате RSS 2.0. Это урезанный пример описания публикаций Microsoft Research. <rss version="2.0"> <channel> <title>Microsoft Research Publications</title> <description> Keep
current with all the latest Microsoft Research Publications and
Technical Reports
</description>
<link>http://research.microsoft.com/research/pubs/</link> <item> <title> Media Center Buddies: Instant
Messaging around a Media Center
</title>
<pubDate>Tue, 01 Jun 2004 00:00:00 GMT</pubDate> <description> In
this
paper we present a prototype instant messaging system that
allows multiple simultaneous users to access their instant messaging
whilst watching TV together in the same room. Three key factors led the
design presented in this paper:
1) Some of the devices on which people watch TV are now capable of simultaneously performing personal communications functions. 2) People often watch TV with their friends and family present in the room. 3) Both TV viewing and instant messaging are popular,...
</description>
<link> http://research.microsoft.com/research/pubs/view.aspx?tr_id=751 </link> </item> <item> <title> Seamless Stitching using Multi-Perspective Plane Sweep </title> <pubDate>Tue, 01 Jun 2004 00:00:00 GMT</pubDate> <description> A
major
problem in stitching a partially overlapping set of images
taken from different viewpoints is the presence of parallax, which causes ghosting. We propose a new technique, Multi-Perspective Plane Sweep (MPPS), to handle this problem. Given a pair of images to stitch, we rectify them, find their area of intersection, and estimate a disparity map by plane sweeping different columns referenced at different virtual camera positions. This minimizes object distortion across the stitche...
</description>
<link> http://research.microsoft.com/research/pubs/view.aspx?tr_id=752 </link> </item> </channel> </rss> Используется аналогичный синтаксис RSS 2.0. Стоит отметить, что в данном примере в качестве канала выступает блок публикаций, а в качестве пункта канала – одна публикация. Как и в предыдущем примере, публикация содержит метаданные. Это заголовок, описание, ссылка, дата публикации. Приведенные примеры хотя и записаны с использованием RSS 2.0, но использованный набор XML-элементов присутствовал и в RSS 0.91, потом для записи этих примеров можно было использовать RSS 0.91. Для этого достаточно изменить атрибут version у элемента rss. Как было сказано ранее, версия RSS 2.0 является совместимым продолжением линейки RSS 0.91. Она отличается присутствием новых элементов для описания дополнительных метаданных каналов и пунктов, а также снятием ограничений на содержимое и его объем. Что касается RSS 1.0, то он базируется на RDF, потому имеет несколько более громоздкий синтаксис. Ниже приведен сокращенный пример новостей сайта http://xml.com в формате RSS 1.0: <rdf:RDF> <channel rdf:about="http://meerkat.oreillynet.com/"> <title>XML.com</title> <link>http://www.xml.com/</link> <description> XML.com
features a rich mix of information and services for the XML
community.
</description>
<items> <rdf:Seq> <rdf:li rdf:resource= "http://www.xml.com/pub/a/2004/06/23/standards.html"/> <rdf:li rdf:resource= "http://www.xml.com/pub/a/2004/06/23/kowari.html"/> <rdf:li rdf:resource= "http://www.xml.com/pub/a/2004/06/23/genx.html"/> </rdf:Seq> </items> </channel> <item rdf:about= "http://www.xml.com/pub/a/2004/06/23/standards.html"> <title> Standards Lowdown: Standards Selection is Vendor Selection </title> <link> http://www.xml.com/pub/a/2004/06/23/standards.html </link> <description> Just
as
the open source movement has changed
attitudes to software and software vendors, so phenomena like RSS may
be changing attitudes to the creation and maintenance of industry
standards.
</description>
</item> <item rdf:about= "http://www.xml.com/pub/a/2004/06/23/kowari.html"> <title> Features: A First Look at the Kowari Triplestore </title> <link> http://www.xml.com/pub/a/2004/06/23/kowari.html </link> <description> An introduction to the Kowari open source RDF store. </description> </item> <item rdf:about= "http://www.xml.com/pub/a/2004/06/23/genx.html"> <title> Features: Creating XML with Genx </title> <link> http://www.xml.com/pub/a/2004/06/23/genx.html </link> <description> GenX
is
an easy-to-use C library for generating
well-formed XML output. Learn how to use it in our introduction.
</description>
</item> </rdf:RDF> Структура описания в RSS 1.0 аналогична структурам в других версиях RSS, отличие в использовании механизмов RDF. В данном примере каналом считается блок анонсов статей, а пунктами канала – краткие описания статей. Для более подробной информации о форматах RSS 0.91, RSS 1.0, RSS 2.0 рекомендуется обратиться к соответствующим спецификациям. Применение в образованииКак и веб-сайты в других областях, сайты в сфере образования являются хорошей основой для применения RSS. Наиболее перспективным является использование RSS совместно с портальными технологиями. Поскольку порталы задают единые механизмы для работы с самой различной информацией, использование механизмов описания контента портала просто необходимо.В первую очередь, это может касаться традиционного применения RSS – описания новостей. Но применение RSS на этом не завершается. Можно использовать RSS для описания самой различной информации: аннотирования публикаций, статей, учебных материалов в электронной библиотеке портала, а также для описания контента на персональных страницах преподавателей и студентов, и даже описания сообщений в форумах на порталах. Механизмы RSS можно использовать и для межпортального обмена информацией. Это особенно важно, когда выстраивается сложная сеть портальных систем.
![]() |
|
|
|||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||