RSS - Eine Einführung in Content Syndication mit XML

Kleines Format ganz groß

Matthew Langham

Gerade in der XML-Welt trifft man oft auf Akronyme, die aus drei Buchstaben bestehen und RSS macht da keine Ausnahme. Dennoch ist RSS anders, denn schon bei der Bedeutung der drei Buchstaben streitet sich die RSS-Gemeinde. Je nachdem, wo man nachliest, steht RSS für RDF Site Summary[1], Rich Site Syntax[2] oder neuerdings auch Really Simple Syndication [3]. Eigentlich keine guten Voraussetzungen für die Durchsetzung eines Standards für die Übermittlung von aktuellen Informationen im Web. Dennoch hat das XML-Format RSS inzwischen einen Siegeszug angetreten, von dem andere Formate noch träumen. Durch die Verfügbarkeit von zahlreichen Informationsquellen, die ihre Informationen in RSS anbieten, durch die Veröffentlichung von Weblogs als RSS und durch die Zunahme an RSS-fähigen Clientprodukten, hat dieses Format gerade in den letzten Monaten viele neue Freunde gefunden.

Eine kurze Historie

Doch beginnen wir am Anfang. Die Ursprünge von RSS gehen zurück auf Dave Winer. Bereits 1997 veröffentlichte der heutige CEO von Userland seinen Weblog [4] in einem XML-Format. Als die Mannschaft um Dan Libby bei Netscape 1999 ein XML-Format für My Netscape entwarf, wurden einige Tag-Definitionen aus dem Userland-Format übernommen. Verworfen wurde allerdings der ursprüngliche Ansatz, RSS auf RDF (Resource Description Framework) basieren zu lassen. RDF wurde als zu kompliziert angesehen und RSS sollte ein einfaches Format für die Bereitstellung der Zusammenfassung einer Website sein (summary of a web site). Die erste Version, die dann eine weite Verbreitung fand, war die Version 0.91, die es seit Juni 2000 gibt. Im Dezember 2000 folgte die Version 0.92. Im August 2002, nachdem RSS durch Weblogs wieder ins Gespräch gekommen war, versuchte Dave Winer das Format mit Vorschlägen für 0.93 und 0.94 weiterzuentwickeln, allerdings ohne in der RSS-Welt Akzeptanz zu finden. Daher versuchte er inzwischen einen Neuanfang und veröffentlichte im September 2002 die Spezifikation einer RSS-Version 2.0 [5]. Der Grund für den Versionssprung ist einfach – eine Version 1.0 gab es nämlich inzwischen schon [6].

Bereits Ende 2000 begannen die Anhänger des ursprünglich vorgesehenen Formats RDF mit dem Versuch, RSS wieder in diese Richtung zu entwickeln. Dafür definierten sie das Format RSS 1.0 auf Basis von RDF. Eine ausführliche Beschreibung der RSS-Evolution findet man in [2]. Die unterschiedlichen Formate und Ansätze tragen nicht unbedingt zu einer großen Harmonie in der RSS-Gemeinde bei (wie oft auf dem IRC-Kanal #rss-dev mitverfolgt werden kann). Entsprechend heftig geraten dann auch teilweise die Diskussionen, wenn es um neue Erweiterungen oder Anpassungen geht.

Der Aufbau aller RSS-Dateien ist – zum Glück – identisch. Innerhalb einer RSS Datei werden die einzelnen Nachrichten (Items) in einem so genannten Kanal (Channel) angegeben. Man spricht auch oft von einem RSS-Feed – in Anlehnung an die verbreitete Verwendung von RSS für Nachrichtenübermittlung. In den Einzelheiten unterscheiden sich dann allerdings die Formate – wie wir jetzt sehen werden.

Not the News Channelhttp://www.example.com/
Lots of nice newsMatthew strikes againhttp://www.example.com/001
Matthew announces new product based on CocoonSebastian goes for morehttp://www.example.com/002

Aus diesem Beispiel ist zu erkennen, dass der description-Tag nicht zwingend enthalten sein muss. So bestehen viele RSS-Feeds nur aus einer kurzen Überschrift. Über den Link erhält der Leser dann die Möglichkeit, auf die eigentliche Nachricht zu navigieren, wie in dem Teilausschnitt in Listing 1 zu sehen ist.

Listing 1

...
In Opening the Gates of Its Gulag, Iraq Unleashes Pain and Protesthttp://www.newsisfree.com/click/-3,9234555,164/
Moroccan Tells German Court of His Ties With Sept. 11th Plottershttp://www.newsisfree.com/click/-3,9248997,164/
U.S. Envoy Arrives in Jerusalem for Mideast Talkshttp://www.newsisfree.com/click/-3,9248998,164/
Unmanned U.S. Planes Comb Arabian Desert for Suspectshttp://www.newsisfree.com/click/-3,9235641,164/

...

Neben den hier aufgeführten Tags gibt es noch einige mehr, die dann entsprechend von den verfügbaren RSS-Aggregatoren ausgewertet werden. Eine ausführliche Beschreibung der Version 0.92 findet man in [7]. Zum Vergleich zeigt Abpictureung 1 das neue Format 2.0 – sozusagen der direkte Nachfolger der 0.9x Serie.

Abb. 1: RSS 2.0

Ein oft angesprochenes Manko der 0.9x Familie ist das Problem der Erweiterbarkeit. Da diese Version das in XML verbreitete Konzept der Namespaces nicht unterstützt, erfordert eine Änderung des Formats immer zwingend eine neue Version und somit auch Anpassungen in den verschiedenen RSS-Produkten. Anders dagegen das Konzept der RSS-Version 1.0.

RSS 1.0

Die Unterschiede zwischen den Formatfamilien 0.9x und 1.0 werden deutlich, wenn wir uns das – gekürzte – Beispiel in Listing 2 anschauen. Auffällig bereits zu Beginn des Formats ist die Verwendung von Namespaces, um das RSS-Format nach den eigenen Wünschen anpassen zu können.

Listing 2

Aaron Swartz: The Webloghttp://www.aaronsw.com/weblog/
Aaron writesen-usAaron Swartz
  • Bernstein ReportsHere is the descriptionhttp://www.aaronsw.com/weblog/000677 PoliticsAaron Swartz2002-10-19T20:31:49-06:00Here is the news item ]]>

    Trotz dieser Vielzahl an Versionen hat sich RSS im Laufe der letzten Jahre als Format für die Bereitstellung von Informationen etabliert. Da die verfügbaren Produkte meist in der Lage sind, beide RSS-Familien zu verstehen, ergeben sich für den RSS-Anwender in der Regel keine Probleme. Bei der Bereitstellung eigener Inhalte muss man sich allerdings für ein Format entscheiden – oder aber verschiedene Feeds anbieten.

    Gerade die Bereitstellung von RSS ist sehr einfach möglich und es existieren auch einige Lösungen, die es erlauben, aus vorhandenen Daten RSS zu generieren. Als Wandler zwischen den Welten kann man z.B. das Apache-Projekt Cocoon [8] einsetzen. Cocoon ermöglicht es, aus Daten mittels der vorhandenen Komponenten und eines XSLT-Stylesheets einen RSS-Feed zu generieren. Ebenfalls eignet sich das Cocoon Portal dazu, vorhandene RSS-Feeds z.B. auf einem Abteilungsserver zusammenzuführen. Neben einer serverbasierten Lösung gibt es eine Vielzahl von Clientprodukten, die das Abonnieren von RSS-Feeds unterstützen.

    Übersicht mit RSS

    Das tägliche Surfen im Web nach interessanten Informationen kann recht aufwändig werden, wenn man viele verschiedene Websites besucht. Oft wünscht man sich eine zentrale Stelle, wo die persönlichen Informationsquellen regelmäßig abgeholt und angezeigt werden. Genau hier kommen RSS und die vorhandenen Clientprodukte ins Spiel. Anwendungen wie AmphetaDesk [9] oder NetNewsWire Lite [10] sind RSS-Aggregatoren, die eine Konfiguration mit RSS-Feeds erlauben. Aus einer bereitgestellten Liste wählt man diejenigen Quellen aus, für die man sich interessiert, oder trägt von Hand die URI entsprechen ein (z.B.: http://radio.weblogs.com/0103021/rss.xml). Die Clientanwendungen holen dann regelmäßig alle RSS-Feeds ab und man erhält eine Übersicht.

    Abb. 2: Der RSS-Aggregator NetNewsWire Lite

    Bei der Suche nach geeigneten RSS-Quellen gibt es verschiedene Möglichkeiten. So findet man häufig auf den entsprechenden Webseiten einen Link zur RSS-Version. Neben Einzelangeboten existieren aber auch so genannte Broker wie Syndic8.com, meerkat.oreillynet.com oder moreover.com. Diese Anbieter sammeln Nachrichten aus den unterschiedlichsten Quellen und bieten sie dann als RSS-Feed an. Die private Nutzung ist meist ohne Kosten gestattet.

    Weblogs – der neue Motor für RSS

    Dave Winer hat mit seinem Produkt Radio sicherlich auch einen großen Teil zum Erfolg von Weblogs beigetragen. Betrachtet man seine Historie, so ist es nicht verwunderlich, dass gerade er RSS als Format für Weblogs vorantreibt. So erlaubt es Radio, einen Weblog als RSS zu veröffentlichen, und beinhaltet gleichzeitig einen Aggregator.

    Gerade die Popularität von Weblogs sorgt derzeit für neue Entwicklungen im RSS-Umfeld, über die sicherlich in Zukunft noch zu reden sein wird.

    Kommerzielle Nutzung

    Bisher haben wir über Nachrichten und Weblogs als Quelle für RSS-Daten geredet. Doch eignet sich das Format auch für die Veröffentlichung von kommerziellen Daten. Betrachtet man den Webauftritt eines Reiseanbieters, so würden sich z.B. die Last-Minute-Reisen (klassifiziert in unterschiedlichen Channels) als mögliche Quelle anbieten. Setzt man voraus, dass Aggregatoren sich zunehmend verbreiten, so könnte es sich als sehr lukrativ herausstellen, solche tagesaktuellen Angebote als RSS-Feed anzubieten. Der Benutzer kann dann innerhalb von z.B. NetNewsWire Lite auch solche Informationen abonnieren, so wie er heute z.B. die Nachrichten der BBC abholt.

    Auch die Bereitstellung von RSS-Funktionalität (sowohl Publikation als auch Aggregierung) innerhalb kommerzieller Anwendungen dürfte in absehbarer Zukunft stark zunehmen. Groupware- und Office-Produkte würden sich hierfür besonders gut eignen.

    Geschrieben von
    Matthew Langham
    Kommentare

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht.