Administrative Interfaces
jAugment hat basierend auf JINI angefangen (mittlerweile giebt es Unterstützung
für andere Netzwerk-Technologien und wir abstrahieren weiter stärker von JINI)
und in JINI könen alle Dienste, seien es HaVi-Video-Recorder oder Text-Editoren,
durch ein Objekt, welches bekannte adminstrative Schnittstellen implementiert
administriert werden. Dies erlaubt das schreiben von administrativen Werkzeugen,
welche neue Dienste sicher verwalten können, die sie niemals gesehen haben.
Der Proxy eines Dienstes implementiert das Interface Administratable, welches genau eine
Funktion implementiert, welche das adminstrative Objetk liefert.
Wenn dieses Objekt eine GUI-Komponente oder ein UIDescriptor ist,
kann es direkt dargestellt werden (nicht empfohlen, da keine AWT/Swing/...-Unterstützung
vorausgesetzt werden kann und die Interaktion eventuell auch nicht durch einen Nutzer, sondern
ein Script erfolgt, wodurch hier unnötiger Overhead erzeugt wird.). Der
Service-Browser (in jAugment sind die Nutzer-Schnittstellen im Grunde solche)
kann sich aber auch die Interfaces ansehen und seine eigene Representation anzeigen.
In jAugment passiert beides in der SwingUI.
Die Interfaces enthalten Funktionen wie: Anhalten und Neu-Starten eines Dienstes,
setzen des Ortes (hier: Datei), an dem der persistente Zustand gespeichert wird, Anhängen neuer
Attribute oder das modifizieren existierender,... .
Sie erlauben auch das Einstellen der Gruppen, zu denen ein Dienst gehört. Dienste sehen
sich gegenseitig nur, wenn sie mindestens eine Gruppe teilen. (Sie sind in jAugment immer Mittglied der
pubnlic-Gruppe, das kann aber anders konfiguruert werden.).