DAV – Die große Hassliebe

Die Realisation einer Verknüpfung zwischen Stand-Alone Applikationen  und einer Web-Applikation, wie sie zum Beispiel zwischen einem auf dem Rechner installierten Kalender und einem Online-Kalender passieren kann, scheint nur auf den ersten Blick einfach.

Die Idee: Ein offener Standard, welcher plattformunabhängig Web und herkömmliche Programme verbindet. Dazu zählt das calDAV, cardDAV und webDAV Protokoll. Inhalte bzw. Verzeichnisse werden virtuell ausgetauscht und können somit von verschiedenen Positionen aus bearbeitet werden ohne auf den Vorteil der Synchronisation zu verzichten. Unter der Haube von Chrontab arbeitet ab der Version 3.5 ein calDav-, cardDav-, und webDAV-Server. Damit diese Synchronisierung allerdings reibungslos funktioniert, ist einiges zu tun. Ein Auszug aus unserem Tagebuch monatelanger Torturen:

Chrontab benötigt für alle DAV-Funktionen eine Anbindung:

  • Kalender
  • Kontaktverwaltung
  • Datenverwaltung

Damit verbinden wir die Projekte von Chrontab mit den verschiedensten Programmen am Desktop-Computer bzw. Smartphone.

Trial & Error = Testen, Testen, Testen

Allein das Debuggen bzw. Testen der Verbindung ist eine sehr aufwendige Sache. Da die Betriebssysteme an sich ihre Vorgänge gerne im Verborgenen abwickeln, bedeutet das für uns Entwickler sehr viel trial and error. Wir verwenden das  Java-Tool WireShark, welches uns Einblicke hinter die Kulissen der Netzwerkvorgänge eines Betriebssystems gewährt. »Go Deep« lautet der Slogan von WireShark und treffender könnte man die Fähigkeiten dieses Programmes wohl nicht formulieren. Die Handhabung ist etwas umständlich, was aufgrund der unglaublich vielen Einsatzmöglichkeiten nicht weiter verwundert. Nun ist es uns möglich, Verbindungsaufbauten und Datenströme aufzuzeichnen und zu analysieren. Damit können wir Fehlerquellen lokalisieren und beseitigen.

Richtlinien
RFC 4791 (CalDAV), RFC 6352 (CartDAV) und RFC 2518 (webDAV) sind die Protokolle, welche es hier zu beachten gilt. Eine ganze Menge Text also. Natürlich muss man diese Gesetze nicht auswendig lernen um mit der Entwicklung zu starten. Allerdings sei jedem Entwickler ans Herz gelegt, genau auf die Richtlinien zu achten. Wer hier zu schnell drauflos arbeitetet verpulvert wochenlange Testphasen und landet zum Schluss tatsächlich in der Irrenanstalt.

Weniger ist mehr
Aus Erfahrung kann ich hier festhalten: Alle Möglichkeiten zwar offen halten, aber noch lange nicht alle anbieten. Die Erstveröffentlichung bzw. jedes Roll-Out einer neuen Version, welche mit einer DAV Funktion im Zusammenhang steht, muss zu 100% funktionstüchtig sein. Sobald Programme wie iCal, Adressbuch, Thunderbird oder sonstige Applikationen auf dem Smartphone erst einmal die Synchronisation gestartet haben, kann ein auftretender Fehler nicht mehr so einfach ausgemerzt werden. Das liegt daran, dass die Programme diese Informationen von Kontakt- oder Kalendereinträgen in einer lokalen Datenbank speichern und selbständig festlegen wann und wie Daten synchronisiert werden. Besonders heikel sind hier die Kalendereinträge mit Einladungen von Teilnehmern oder Wiederholbare Events. So geben wir unseren Kunden von Chrontab ein Feature nach dem nächsten frei, wohlwissend, dass diese in allen Lebens- und Computerlagen getestet wurden und eine dementsprechende Lebensdauer mit sich bringen.

Einschränkungen
Leider spielt Windows bei der genialen DAV-Geschichte nicht überall mit. Zwar funktioniert das WebDAV Protokoll um Welten besser als auf OSX, die restlichen - und unserer Meinung nach die wichtigsten – Protokolle können aber nur über Software von Drittanbieter genutzt werden. So unterstützt Outlook weder das CalDAV noch das CardDAV Protokoll.

Zukunft
Natürlich arbeiten wir stets an Verbesserungen und Erweiterungen. So haben wir für die nächste Versions-Veröffentlichung von Chrontab bereits neue Ideen, wie wir Projektmanagement und die Kommunikation zwischen Computer und Web noch einfacher gestalten können.

Wenn Sie mehr über Crontab erfahren möchten, dürfen Sie gerne hier weiterlesen.


Stefan Hagspiel
Über den Autor: Stefan Hagspiel

Stefan Hagspiel ist Entwickler bei Mayr Record Scan.
Auf Google+ findet man ihn .

Inhaber
Mayr Record Scan GmbH
Abteilung: Web Semantic
Kirchstraße 13a
6922 Wolfurt

Verantwortlich
Stefan Hagspiel
Tel: 0043 664 831 99 08
Mobil: 0043 5574 75945 13
Mail: mrs.to:::s.hagspiel