Exchange und Syndication

01.05.2006 von Holger Kattner
Syndication-Protokolle wie RSS und Atom haben in den letzten Jahren einen festen Platz in der IT-Welt gefunden. Auch mit Outlook und Exchange gibt es verschiedene Integrationsmöglichkeiten. Zudem plant Microsoft, diese Art der Informationsbereitstellung zunehmend in die verschiedenen Produktlinien zu integrieren.

Der Erfolg von Technologien und Konzepten hängt von zahlreichen Faktoren ab. Die Genialität eines Entwurfs ist dabei häufig weniger entscheidend, als zum rechten Zeitpunkt die richtige Idee zu haben. Aber auch der Ursprung eines Konzepts kann sich gravierend auswirken. Die unter dem Begriff Syndication zusammengefassten Technologien tun im Grunde bisher nicht viel mehr, als kurze Informations-Extrakte eines Webangebots im Textformat für Clients zum Abruf bereitzuhalten. Ein solches Konzept verfolgte auch das von Microsoft entwickelte Channel Definition Format (CDF) und die darauf aufbauenden Channels, die mit dem Internet Explorer 4.0 eingeführt wurden. Diese sollten es großen kommerziellen Anbietern ermöglichen, dem PC-Anwender Informationen auf den Desktop zu liefern. Dies wurde allerdings damals von den Anwendern nicht angenommen. Heutzutage bieten die meisten Informationsanbieter, angefangen vom Nachrichtenmagazin über Boulevardzeitungen bis zu Fernsehsendern, in Form von RSS-Feeds einen solchen Service an. Somit wurde der Idee auch im kommerziellen Bereich ein später Erfolg beschert, wenn auch nicht auf Basis von Microsofts CDF.

Genau genommen wurde RSS ursprünglich von Netscape nicht zuletzt als Reaktion auf das Channel Description Format von Microsoft entwickelt, um Angebote vom eigenen Internetportal auf den Client-Desktop zu bringen. Als zweiter Urheber werden Dave Winer und seine Firma Userland angesehen, der bereits vorher eine Beschreibungssprache namens ScriptingNews entwickelt hatte. ScriptingNews floss später in die RSS-Spezifikation ein. Mit dem Ende der Firma Netscape als eigenständigem Technologieunternehmen wurde RSS dann von Dave Winer und anderen weitergeführt. Interessanterweise finden sich heute unter den Portalen der Marke Netscape keine RSS-Angebote mehr. Microsoft wiederum will RSS in vielen kommenden Softwareprodukten als eine der zentralen neuen Technologien unterstützen.

Funktionsweise

Syndication, in den verschiedenen dafür verwendeten Formaten und Standards, baut immer auf Textdateien im XML-Format auf. Listing 1 zeigt ein einfaches, generisches Beispiel einer RSS 0.91- Datei. Sie besteht aus der Beschreibung eines Informationskanals (Channel). Nach einigen Tags, die allgemeine Informationen zum Thema, Urheber oder die unvermeidliche Werbung für die verwendete Software enthalten, folgt eine Liste mit Meldungen (Items). Die Items beinhalten in der einfachsten Formatvariante nur einen Titel (Title), Webverweis (Link) und gegebenenfalls eine Beschreibung (Description). Die allgemeinen Tags des Channels können auch komplexere Formate wie ein Logo-Bild beinhalten.

Die XML-Datei muss laufend vom verwendeten Content-Management des Webservers aktualisiert werden. Ein Client, der dann den betreffenden RSS-Feed abonniert, ruft in regelmäßigen Abständen die XML-Datei ab und zeigt gegebenenfalls Änderungen, d.h. neue Nachrichten an. Diese Client-Pull-Technik hat die gleichen Nachteile, wie man sie vom entsprechenden Vorgehen im E-Mail-Bereich kennt, beispielsweise bei Verwendung von POP3. Der Client muss häufig umsonst die XML-Datei abrufen, und wenn diese tatsächlich geändert wird, bemerkt der Client es erst mit einiger Verzögerung. Die Einführung von Push-Techniken wird von verschiedenen Anbietern immer mal wieder versucht, zum Beispiel bei MSN. Dies beruht aber zwangsläufig auf individuellen Ansätzen.

Listing 1: RSS-Beispiel im Formatversion 0.91
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="0.91">
<channel>
<title>RSS Beispiel</title>
<link>http://www.experts-inside.de</link>
<description>RSS-Beispiel</description>
<managingEditor>inside@holgerkattner.de</managingEditor>
<image>
<title>RSS Beispiel</title>
<url>http://www.experts-inside.de/images/logo.jpg</url>
<link>http://www.experts-inside.de</link>
<description>RSS-Beispiel</description>
</image>
<item>
<title>RSS Meldung 82</title>
<link>http://www.experts-inside.de/shw.php?i=82</link>
<description>Beispieleintrag</description>
</item>
<item>
<title>RSS Meldung 81</title>
<link>http://www.experts-inside.de/shw.php?i=81</link>
<description>Beispieleintrag</description>
</item>
</channel>
</rss>

Häufig wird vom Anbieter der Client-Software eine Serverkomponente dazwischengeschaltet. Sie soll dem Anwender verschiedene Komfortfunktionen bereitstellen, wie beispielsweise die Verwaltung seiner Abonnements unabhängig vom Endgerät oder das einfachere Auffinden von interessanten Feeds.

Protokollvarianten

Leider hat sich im Bereich Syndication eine ganze Reihe paralleler Protokolle entwickelt. Die wechselhafte Geschichte gerade von RSS ist dadurch bedingt, dass das Konzept von verschiedenen Anbietern aufgegriffen und an ihre jeweiligen Bedürfnisse angepasst wurde. Dabei gelang es aber meist nicht, das Protokoll zu einem anerkannten Standard werden zu lassen. RSS ist deshalb keine Folge von aufeinander aufbauenden Versionen, sondern stellt eine Reihe teilweise paralleler Entwicklungen dar. Die verworrene Entwicklungsgeschichte zeigt sich auch daran, dass das Kürzel RSS je nach Version unterschiedlich interpretiert wird. Ursprünglich stand RSS für RDF Site Summary, dann Rich Site Summary und schließlich Really Simple Syndication.

Die wichtigsten Protokolle des Bereichs Syndikation sind:

Für die Anwender stellt sich bei der Vielzahl der Formatvarianten mal wieder die Frage, welche Version jeweils verwendet werden soll. Allerdings beantwortet sie sich meist von allein. Für denjenigen, der einen RSS-Feed bereitstellen will, wird die RSS- oder Atom-Version zumeist von der verwendeten Content Management-Software vorgegeben. Auch wenn die Entscheidung der Softwarebeschaffung noch nicht geklärt ist, wird die Frage der RSS-Versionsunterstützung in den seltensten Fällen hiefür relevant sein.

Auf der Clientseite unterstützt ein Großteil der Lesesoftware alle gängigen Formate. Durch vorhandene XML-Funktionsbibliotheken und Technologien wie XLST lassen sich XML-Formate sehr einfach verarbeiten. Hierdurch können Entwickler von Client-Software die verschiedenen Formate ohne allzu großen Aufwand implementieren.

Bild 1: Unter Syndication versteht man den Abruf von Informationsübersichten in einer XML-Datei.
Bild 2: Häufig schaltet die Clientsoftware einen (kostenpflichtigen) Serverdienst dazwischen, um zusätzliche Komfortmerkmale zu ermöglichen.

Wenn ein Client RSS 2.0 unterstützt, bedeutet dies allerdings noch nicht, dass er auch sämtliche Erweiterungen versteht. Ähnlich wie bei HTML üblich werden auch hier unbekannte Tags einfach ignoriert. Die Erweiterungsmöglichkeit von Version 1.0 und 2.0 erlauben eine schrittweise Fortentwicklung des Formats, ohne dass ein neuer Standard definiert werden muss. Erweiterungen, die von allgemeinem Interesse sind, werden von alleine größere Verbreitung in den verschiedenen Clients finden.

Mittlerweile werden Syndication-Technologien zunehmend zur Verbreitung anderer Medien, jenseits einfachen Textes, eingesetzt. Beispielsweise erfreuen sich Fotoblogs heutzutage großer Beliebtheit. Die Integration von Bildern und anderen Medienarten muss dabei nicht zwangsläufig auf die Verwendung von RSS-Erweiterungen hinauslaufen. Die Verwendung des HTML-Formats unter Verwendung von verknüpften Bildern in der Item-Beschreibung ist mittlerweile üblich, auch wenn dies in der RSS-Spezifikation nicht ausdrücklich vorgesehen ist. Diese Funktion ist nur in Atom im Standard enthalten. In RSS besteht immer die Gefahr, dass die Client-Software nicht klar zwischen HTML- und XML-Tags unterscheiden kann.

Client-Unterstützung

Syndication-Technologien haben ursprünglich durch die Webtagebücher einzelner Internetnutzer Verbreitung gefunden. Client-Software entstand deshalb zuerst bei kleineren Softwarefirmen und einzelnen Entwicklern. Die größeren IT-Firmen greifen diesen Trend erst nach und nach auf. Mittlerweile verfügen beispielsweise die alternativen Browser Firefox, Netscape und Opera über Funktionen zum Abonnieren und Lesen von RSS-Informationen. Der Internet Explorer wird in der kommenden Version 7 nachziehen.

Als zentrale Kommunikations- und Informationsplattform bietet sich Outlook besonders zum Lesen von RSS an. Eine ganze Reihe von Softwareherstellern hat dies erkannt und entsprechende Add-Ins entwickelt. Sie speichern die RSSDaten entweder in einer eigenen Ordnerstruktur oder unter einem bestehenden Ordner ab. Einige beispielhafte Produkte aus diesem Bereich sind:

RSS auf dem Server

RSS-Feeds lassen sich durch die verschiedenen Outlook-Plug-Ins lesen. Was noch fehlt ist die Möglichkeit, Exchange-Daten per RSS abrufbar zu machen. Hierfür würden sich vor allem die öffentlichen Ordner als Kooperationsplattform anbieten. Leider gibt es bisher kaum entsprechende Angebote.

Ein australischer Entwickler namens Glen Scales hat sich dieses Problems angenommen (www.gsexdev.blogspot.com). Er stellt in seinem Blog ein Skript zur Verfügung, das die genannte Funktion liefert. Das Programm arbeitet als ereignisgesteuertes Skript auf Basis des optionalen Event-Scripting für öffentliche Ordner. Jedes Mal, wenn eine Nachricht gespeichert wird, wird eine XMLDatei im RSS-Format in einem Verzeichnis des Internet Information Server generiert, die von RSS-Clients abgerufen werden kann.

Leider ist dieses Skript ist etwas schwierig zu installieren. Zudem ist problematisch, dass neben dem IIS auch das Event-Scripting für öffentliche Ordner auf dem Server installiert sein muss. Diese Komponente kann ein Sicherheitsrisiko sein und auch die Verfügbarkeit des Servers beeinträchtigen. Weitere Informationen zu diesem Thema finden sich beispielsweise in dem Artikel „VBScript in öffentlichen Ordnern“ in Inside Windows NT/2000+Exchange 1/2005.

Im genannten Entwickler-Blog finden sich noch eine ganze Reihe anderer Anwendungen von RSS, zum Beispiel eine Abwandlung des oben beschriebenen Skripts zur Bereitstellung von Kalenderinformationen oder ein Feed-Generator für Message-Tracking-Protokolle oder ausgehende E-Mails.

Microsofts Pläne zu RSS

Blogs von Microsoft-Mitarbeitern gibt es bereits seit langem. Seit geraumer Zeit ist diese Art der Herausgabe inoffizieller Informationen wohl auch Teil der eigenen Marketing-Maschinerie geworden, die präzise steuert, über welche Themen geschrieben werden darf. In den Produkten von Microsoft wird RSS von Haus aus dagegen noch nicht unterstützt. Für die nächsten Softwareversionen wird das Unternehmen dies aber nachholen. Die Pläne sehen eine sehr umfassende Unterstützung von Syndication vor. Vieles, was sich in Listen darstellen lässt, soll dann auch über RSS abrufbar werden. Zu diesem Zweck wurde eine Zusammenarbeit mit Dave Winer gestartet, um die eigenen Vorstellungen möglichst allgemein zugänglich zu machen. Nebenher wurden beispielsweise mit den List Extensions eigene Erweiterungen geschaffen.

Bild 3: Mit Hilfe von Add-Ins wie RSS Popper lassen sich RSS- und Atom-Feeds auch in Outlook 2003 lesen.

Bild 4: Langsam hält Syndication-Technologie in bekannte Clientanwendungen Einzug.

Die kommende Version 7 des Internet Explorer wird deshalb einerseits die Funktionen der Konkurrenzprodukte übernehmen, gleichzeitig wird er wohl eine umfangreiche Unterstützung von RSS-Erweiterungen zur Bereitstellung multimedialer Feeds bieten.

Da RSS-Informationen von verschiedenen Anwendungen genutzt werden können, hat Microsoft die Funktionen zur Verwaltung, Synchronisation und Speicherung von RSS-Abonnements auf Betriebssystemebene verlagert. Windows Vista wird über eine Komponente namens RSS Platform verfügen, die diese Aufgabe übernimmt. Diese Softwarekomponente wurde als Teil der neuen Internet Explorer-Version entwickelt und wird damit wahrscheinlich als Teil von IE7 auch für Windows XP verfügbar sein.

Auf der Serverseite wird Exchange 12 nach heutigem Stand wohl keine RSS-Funktionen mitbringen. Die öffentlichen Ordner, die sich als Workflow-Technologie hierfür anbieten würden, sollen eingemottet werden. Sie werden deshalb nicht mehr weiterentwickelt. An deren Stelle soll Sharepoint als primäre Plattform der Online-Zusammenarbeit treten. Dieses Produkt wird in seiner nächsten Version dann auch RSS-Unterstützung im Lieferumfang enthalten. Nutzer können sich dann über Änderungen an Sharepoint-Sites über RSS-Feeds auf dem Laufenden halten. Diese Funktion wird nach aktuellen Plänen wohl Bestandteil der Basisversion, also der Windows Sharepoint Services v3 sein.

Outlook wird mit der kommenden Office-Version 2007 ebenfalls von Haus aus über eine RSSLesefunktion verfügen. Da Microsoft bei Entwicklung der RSS Platform recht viel Aufwand betrieben hat, wird die darauf aufbauende Outlook-Funktion hinsichtlich Komfort und Umfang mit den heute verfügbaren kommerziellen Add-Ins vergleichbar sein.

Zusammenfassung

Syndication findet langsam seinen Weg aus den privaten Web-Tagebüchern in die betriebliche ITUmgebung. Nachdem die Browserkonkurrenz mittlerweile über RSS-Lesefunktionen verfügt, hat auch Microsoft die Technologie für sich entdeckt. RSS wird als zentrale neue Funktion direkt in das Windows Vista-Betriebssystem integriert sein.

Für Exchange-Anwender ist Syndication vor allem als Client-Anwendung interessant. Zum jetzigen Zeitpunkt ermöglichen verschiedene Add-Ins von Drittanbietern das Abonnieren und Lesen von RSS-Feeds im Internet. Die kommende Outlook-Version wird bereits über einen integrierten RSS-Leser verfügen.

Auf Seiten des Servers gibt es im Lieferumfang keine RSS-Unterstützung, wohl auch nicht in der nächsten Version. Das Bereitstellen von RSS-Feeds bleibt anderen Produkten wie beispielsweise den kommenden Windows Sharepoint Services v3 vorbehalten. Exchange-Daten lassen sich nur durch Zusatzprogramme per RSS anbieten.