Herr der eigenen Daten
Online-Kalender und andere Cloud-Dienste, wie sie Google, Apple & Co. anbieten, leisten endlich das, was man sich von Notebook, Mobiltelefon und PDA schon immer gewĂĽnscht, aber nur selten bekommen hat. E-Mails, Termine, Kontakte, Notizen und sogar Dateien sind immer dabei und stets aktuell. Wir zeigen, was technisch hinter den Diensten steckt, und wie Sie ohne Komfortverlust Ihre Daten unter Ihrer Kontrolle auf den eigenen Server bekommen, anstatt sie Apple, Google oder Microsoft anzuvertrauen.
Je mehr Rechner und Gadgets man besitzt, desto schwieriger wird es, E-Mail- und Postadressen, Telefonnummern und Termine auf allen synchron zu halten. Viele gehen den Weg des geringsten Widerstands und vertrauen ihre Kontaktdaten einem Webdienst wie Google Mail, Apples iCloud oder DropBox an. Das bietet weitere Vorteile, etwa einen gemeinsamen Kalender für die ganze Familie oder Arbeitsgruppe und auch über Hunderte von Kilometern bequemen Fotoaustausch. Aber nicht jedem ist wohl dabei, seine persönlichen Daten irgendwo auf dem Server eines Anbieters zu lagern, der womöglich laxen US-Datenschutz praktiziert und bei dem man sich fragt: Womit verdient der eigentlich das Geld für die ganze Infrastruktur?
Technisch spricht nichts dagegen, die beliebten Cloud-Dienste auf einem eigenen Server zu betreiben. Ob das ein eher teurer Root-Server, ein günstiger V-Server oder ein zu Hause laufender PC ist, für dessen Zugänglichkeit man Ausnahmeregeln im Router definieren muss, spielt keine Rolle. Wichtig ist, dass man auf diesem System Dienste betreibt, die zu den Clients passen. Und genau hier liegt das eigentliche Problem: Je nach Abstammung bevorzugt ein Client das eine oder andere Protokoll für den Zugriff auf Kalender- und Adressdaten oder erwartet spezielle Vorkehrungen, damit eingehende Nachrichten nicht nur lesbar sind, sondern sich schon beim Eintreffen bemerkbar machen (Push-Dienste).
Die perfekte Lösung, die unter Linux-, Mac- und Windows-Clients die Spezialprogramme Evolution, iCal und Outlook bedient, ein vernünftiges Browser-Frontend als Alternative anbietet und die gängigen Mobilgeräte wie Android, iPhone und Windows-Phone versorgt, muss man lange suchen. Aber man kommt nahe heran. Eine Möglichkeit wäre es, einen eigenen Exchange-Server an den Start zu bringen. Günstiger geht das mit Linux und den in den beiden folgenden Artikel vorgestellten Lösungen aus dem Open-Source-Umfeld: Zarafa als Rundumsorglospaket, das es eigentlich jedem Client recht machen kann, und DAViCal für diejenigen, die vornehmlich Apple-Clients haben oder lediglich einen bestehenden Server um einen Kalender- und Adressbuchserver ergänzen wollen, der schon andere Rollen wie E-Mail und Blog ausfüllt.
Dienste en détail
Wer lediglich seine E-Mail überall erreichen möchte, kommt allein mit IMAP (Internet Message Access Protocol) über die Runden. Jeder gängige E-Mail-Client beherrscht dieses Protokoll. Er zeigt die Nachrichten an, die auf einem Server liegen. In Ordnern lassen sie sich dort organisieren. Egal ob Smartphone, PC oder Notebook zugreifen, alle sehen und bearbeiten denselben Datenbestand. Je nachdem wie aggressiv die Client-Software die Daten in einem lokalen Cache aufbewahrt, ist ein sinnvoller Zugriff aber nur dann möglich, wenn eine Verbindung zum Server besteht.
Eine Alternative für den Zugriff auf E-Mail-Nachrichten von mobilen Clients aus stellt Microsofts Exchange ActiveSync-Protokoll (EAS) dar (nicht zu verwechseln mit der alten „ActiveSync“-Software). Es baut langlebige TCP-Verbindungen zum Server auf und erhält darüber Bescheid, wenn neue Nachrichten eintreffen (Push). Auch wenn sich Microsoft das Verfahren ausgedacht hat, ist es längst auch auf anderen Systemen verbreitet.
EAS behandelt nicht nur E-Mail, sondern alle von einem Exchange-Server verwalteten Datenarten, also Notizen, Todo-Listen, Adressen und Termine. Clients, die EAS sprechen, speisen diese Daten normalerweise in ihre Anwendungen ein und speichern sie dort, das heißt, in der jeweilige Applikation für E-Mail, Kalender et cetera. Entsprechend lässt sich mit diesen Daten auch dann noch arbeiten, wenn gerade mal keine Netzwerkverbindung besteht.
Wenn mobile Clients nach Zugangsdaten für einen Exchange-Server oder eine kompatible Lösung wie Zarafa fragen, kommunizieren sie in der Regel via EAS. Vollwertige, stationäre Clients hingegen nutzen für den Zugriff auf Exchange andere Protokolle, so verwendet Outlook Microsofts MAPI (Messaging Application Programming Interface) und Apples Anwendungen iCal, Mail und Adressbuch sprechen EWS (Exchange Web Services).
Auch wenn Apple seiner Software die Microsoft-Welt nahe gebracht hat, bäckt das Unternehmen nebenbei an eigenen Standards: Die Apple-Entwickler haben viele Erweiterungen am WebDAV-Protokoll (Web-based Distributed Authoring and Versioning), das für den Dateizugriff via HTTP gedacht ist, initiiert oder mitverfasst. Dabei ist mit CalDAV ein Zugriffsprotokoll für Kalenderdaten herausgekommen.
CalDAV macht sich ein bereits spezifiziertes Format für die Darstellung der Daten zunutze: iCalendar, den Nachfolger des Datenformats vCalendar, das auch als iCal oder ICS-Format bekannt ist (dass Apples Kalenderanwendung iCal heißt, ist sicher purer Zufall …). Dateien dieses Formats helfen, Daten zwischen verschiedenen Clients auszutauschen und sind auch als ICS-Feed im Web zu haben, etwa für Ferien- und Feiertage.
Eng verwandt ist CardDAV, das für den Zugriff auf Adressbuchdaten entworfen wurde. Es nutzt für die Darstellung der Daten das bestehende vCard-Format. Das heißt, auch hier ist es möglich, bestehende Daten leicht zu ex- und importieren. GroupDAV, das die Entwickler alternativer Groupware-Produkte als entfettete Alternative zu Cal- und CardDAV initiiert haben, scheint bis jetzt nicht in die Hufe gekommen zu sein. Einer der Mitentwickler ist inzwischen bei Apple in Lohn und Brot und die Mailinglisten sind verwaist.
Schattenseiten
Generell sind manche Ansätze, Daten auf mehreren Geräten synchron zu halten, inzwischen aus der Mode gekommen. SyncML (Synchronization Markup Language) war sowohl Protokoll als auch Beschreibung von Daten. Es ist im Unterschied zu den anderen kein Protokoll für Echtzeitzugriffe, sondern ausschließlich zum Datenabgleich auf explizite Anforderung gedacht. Entsprechend ist es inzwischen keine Alternative mehr zu den vorgenannten Methoden. Womöglich ist SyncML aber nützlich, um einem alten Gerät noch Daten zu entlocken, um sie auf den eigenen Server umzuziehen.
Apropos Umziehen: Wer einen eigenen Server in Betrieb nimmt, beginnt in der Regel nicht bei Null. Bei unseren Experimenten haben sich drei unabhängige Dateiformate bewährt, mit denen die gängigen Clients etwas anfangen können: ICS-Dateien für Termine und CSV- und vCard-Dateien für Adressdaten; für den Massenimport von Adressdaten eignet sich auch LDIF, das LDAP-eigene Data Interchange Format für die Bearbeitung von in der Datenbank gespeicherten Daten. Ein LDAP-Server als Adressspeicher ist für den privaten Server in der Regel ein zu großes Kaliber.
Bleibt für den Schluss der Versuch einer Antwort auf die Frage, warum heute funktioniert, was früher bei der Synchronisation hakte: Mit einem Server als Datenquelle für alle Daten sind die Zuständigkeiten klar; dabei erlaubt es EAS sogar, den Daten auf einem Client Vorrang einzuräumen, während CalDAV es dem Client überlässt, adäquat auf Konflikte zu reagieren. Natürlich ist es heute auch einfacher, Kontakt zu halten: Früher war es die Ausnahme, online zu sein – heute ist es die Regel.
Den vollständigen Artikel finden Sie in c't 15/2011.
(ps)