Mag es in einem abgegrenzten und überschaubaren System wie CSILE oder SEPIA noch möglich sein, alle Dokumente und Annotationen zentral zu speichern, ist es für das WWW sinnvoller, Annotationen getrennt vom Dokument verteilt zu verwalten. Der PAN-BROWSER und BRIO halten deswegen auch alle Annotationen eines Sets auf eigenen Annotations-Servern, BRIO erlaubt noch die lokale Speicherung von privaten Sets.
Das führt zu der Frage, wie zu einem Dokument die Annotation(en) gefunden werden. schlägt vor, daß für öffentliche Annotationen der Web-Server des jeweiligen Dokuments die Information, auf welchen Annotations-Servern die zugehörigen Annotationen liegen, in den HTML-Metadaten mitschickt. Im Falle von gruppeninternen Annotationen würde dagegen für jeden Benutzer vermerkt sein, zu welchen Gruppen der Benutzer Zugang hat und wo die Gruppen-Server sind. Jeder Gruppen-Server kann, nach erfolgreicher Authentifizierung, eine Beschreibung der Dokumente liefern, für die er Annotationen bereithält. Somit kann ein Client später zu einem Dokument die entsprechenden Gruppen-Server nach Annotationen befragen.
Diese Lösung hat einen Nachteil. Web-Server müssen so modifiziert werden, daß sie mit den Dokumenten einen Verweis auf die zugehörigen öffentlichen Annotations-Server mitliefern, bzw. die Dokumente müssen verändert werden. Der Ansatz bei BRIO umgeht dies. Er entspricht dem von LaLiberte, nur erfolgt auch für öffentliche Annotations-Server eine Art Anmeldung und der Fokus liegt auf den Annotationen. Ein Benutzer sucht Annotations-Server nach ihn interessierenden Angeboten (Sammlungen von Annotationen) ab und abonniert sie. Für nur gewissen Gruppen zugängliche Sets ist eine Authentifizierung nötig. Der Synthese-Teil in BRIO fordert später von allen abonnierten Annotations-Servern deren Annotationen an. Mitgegeben werden die aktiven, d.h. vom Benutzer z.zt. gewünschten Sets, die Dokumenten-URL und eventuell Benutzer-ID und -Paßwort.
Dieses Abonnementskonzept ermöglicht die weitgehend einfache Integration in das bestehende WWW. Der Proxy kann dann die Verwaltung der abonnierten Server erledigen. Nur scheint uns die alleinige Sicht auf die Sets, gerade bei öffentlichen Annotations-Servern, nicht sehr nützlich. Werden diese nicht koordiniert, kann es leicht zu mehrfach eingerichteten Sets wie ,,Sekundärliteratur`` oder ,,Verbesserungsvorschlag`` kommen. Hier bieten sich eher Server für bestimmte Dokumentenarten oder Domänen wie z.B. ,,informatik.uni-hamburg.de`` an.
Die Zuordnung, welcher Benutzer Zugang zu welchen Annotationen hat, sollte von den Annotations-Servern gehandhabt werden. Beim PAN-BROWSER wurde dies dagegen anfänglich vom Proxy geregelt. Dieser Ansatz hat aber einige Nachteile. Nicht nur, daß das Abonnementskonzept eine Authentifizierung auf der Serverseite benötigt. Der Benutzer kann auch nicht über verschiedene Proxys, z.B. zu Hause lokal und in der Firma installierte, auf geschützte Annotationen zugreifen, es sei denn, die Hinweise auf erlaubte Server werden überall gespeichert. Eine Problematik, die viele wohl von den Bookmarks kennen.
In unserem System werden wir, da wir uns auf öffentlich lesbare Annotationen beschränken, die Authentifizierung ausklammern.
Übrig bleibt noch die Modellierung und Speicherung von Annotationen.
Eine Annotation sollte zumindest den Autor, das Datum, natürlich den Inhalt und die Dokumentenstelle enthalten, auf die sie sich bezieht. Letzteres stellt ein Problem dar: Merkt man sich die Stelle anhand einer semantischen Klassifizierung (,,Axiom X``, ,,Fazit Y``), der Dokumentenstruktur (,,zweiter Absatz, Wort vier bis zehn``), der räumlichen Position auf dem zweidimensionalen Text (,,rechts oben``) oder begibt man sich auf die syntaktische Ebene?
Ersteres wäre optimal, auch im Hinblick auf die mit diesem Problem zusammenhängende Versionsverwaltung, auf die wir noch im nächsten Abschnitt eingehen, aber nur für formalistische Texte denkbar. Wir wählen die letzte, pragmatische Form und ordnen eine Annotation einem Abschnitt im linearen Text zu.
Die Beschreibung einer Annotation könnte für den Browser in der Standard Generalized Markup Language (SGML) oder, etwas einfacher, in der Extensible Markup Language (XML) erfolgen. Gerade letzteres, obwohl erst im November 1996 vorgestellt und noch in der Entwicklungsphase, wird wohl in Zukunft auch direkt von den Browsern verarbeitet werden, wie dies ein vor kurzem fertig gestellter, in Java implementierter Netscape Communicator demonstriert. HTML bietet leider kein eigenes ,,Annotation`` Element und läßt sich auch nicht um ein solches erweitern.
Alternativ könnte das auf SGML aufbauende HYTIME benutzt werden. HYTIME stellt bereits Strukturen mit einer festgelegten Semantik bereit, um Hypermedia-Objekte zu repräsentieren. Diese Strukturen können dann in SGML-Dokumente eingebunden werden.
Für eine reine Java-Lösung würde sich SUNs Remote Method Invocation (RMI) anbieten.
Letztendlich würde sich auch das CORBA-Objektmodell anbieten, um den plattformunabhängigen Austausch von Annotationen als Informations- oder Bibliotheksobjekte zu ermöglichen.
Wir werden in unserem System die Annotationen als einfache Strings über Socket-Verbindungen verschicken und speichern. Der Vorteil hierbei ist, daß die einzelnen Komponenten unkompliziert und schnell mit allgemein zugänglichen Mitteln zu realisieren sind.
CORBA würde, trotz anderer Vereinfachungen und Vorteile, einen relativ großen Overhead bedeuten (nicht jeder hat einen ORB zur Verfügung) und wahrscheinlich die üblichen Probleme beim Anpassen mitbringen.