Rework:PaketeAnnotationsdienst
From Wiki
| « Komponentenaufbau | Übersicht | Verwendungsbeispiele » |
Annotationsdienst: Packages und Klassen
Übersicht
Die Klassen des Annotationsdienstes sind verteilt auf:
- Subpackage von de.unidu.is.annotation.rework
- Package backend - Enthält die Backend-Annotationskomponente und den dazugehörigen Proxy (Kommunikationskomponente)
- Package database - Hilfsmethoden für die Datenbankanbindung
- Package frontend - Beinhaltet die Frontend-Annotationskomponente
- Package ontology - Stellt Klassen für den Zugriff auf das Jena-Modell und die Frontend-Annotationskomponente zur Verfügung
- Package de.unido.daffodil.services
- Enthält die Klassen für den Daffodil-Agenten (Annotationsdienst)
Packages
Package backend und Subpackage proxy
Das Interface BackendAnnotationService beschreibt alle Methoden, die die Backend-Annotationskomponente zur Verfügung stellt. Dazu gehören Methoden zur Verwaltung und Suche von Annotationen und zum Laden der Ontologie. JenaAnnotationService ist eine Implementierung dieses Interfaces, die das Jena-Framework verwendet. Für den Zugriff auf die Annotations-Ontologie werden Klassen des Packages ontology verwendet.
Im Subpackage proxy befinden sich die Klassen, die die Kommunikation über das Daffodil-Framework zwischen der Frontend- und Backend-Komponente übernehmen. Die Klasse BackendAnnotationServiceProxy[1] implementiert das Interface und kann auf Frontend-Seite verwendet werden, um auf die Backend-Komponente zuzugreifen. Die Methodenaufrufe werden als XML-Nachricht über das Daffodil-Framework an die Backend-Komponente geschickt und das Ergebnis zurückgegeben. Zum Erzeugen der XML-Nachricht und zum Entnehmen der Daten wird die Klasse AnnotationRequestMessage verwendet.
Package database
Die Klasse DatabaseUtils enthält eine Methode, um die Verbindungsdaten zur Datenbank zu laden, die für das persistente Jena-Modell benötigt werden.
Package frontend
Der Zugriff auf den Annotationsdienst auf Frontend-Seite erfolgt über die Klasse AnnotationService. Beispiele für die Verwendung der wichtigsten Methoden gibt es hier.
Package ontology
Die Klasse JenaModel bietet grundlegende Methoden (wie z.B. das Importieren oder Exportierten von OWL-Serialisierungen), um auf ein speicherbasiertes oder ein persistentes Jena-Modell zuzugreifen. Den Zugriff auf die Instanzen der Annotations-Ontologie übernehmen die Klassen des Subpackages classes/OntologyObjects. Diese repräsentieren jeweils die wichtigsten Ontologie-Klassen und stellen Methoden zum Verwalten der Instanzen zur Verfügung. Dazu gehören Methoden zum Erstellen der Kopie und Methoden zum Schreiben und Lesen der Eigenschaften. Das Subpackage classes/ServiceObjects, enthält entsprechende Klassen, die die Ontologie-Klassen repräsentieren und für die Verwendung der Klasse AnnotationService benutzt werden.
Package services
Das Package de.unido.daffodil.services enthält u.a. die beiden Klassen AnnotationAgent und AnnotationRequest, die für die Verarbeitung der Anfragen auf Backend-Seite zuständig sind. Die Klasse AnnotationRequest nimmt die XML-Nachrichten entgegen (entpackt sie mit Hilfe der Klasse AnnotationRequestMessage), ruft die entsprechenden Methoden der Backend-Annotationsklasse (JenaAnnotationsService über das Interface BackendAnnotationService) auf und sendet die Ergebnisse als XML-Nachricht zurück.
| « Komponentenaufbau | Übersicht | Verwendungsbeispiele » |
